diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4634569cd..0500dd057 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,9 +5,9 @@ name: CI-Pipeline on: push: - branches: [ main, test ] + branches: [ main, test, test-qwennext ] pull_request: - branches: [ main, test ] + branches: [ main, test, test-qwennext ] permissions: contents: read @@ -73,9 +73,34 @@ jobs: - name: Run Mocked Hardware Discovery Tests run: | - python -m pytest tests/runtime/test_dispatch.py -v + python -m pytest tests/runtime/test_dispatch.py tests/validation/common/test_file_digest.py -v PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 python -m pytest tests/ops/attention/test_attention_correctness.py -q -rs - python -m pytest tests/validation/operators/test_forward_invariance.py tests/contracts/test_tolerance_contract.py tests/validation/operators/test_ws1_workload.py tests/validation/operators/test_gradient_invariance.py tests/validation/operators/test_elementwise_inventory.py tests/validation/operators/test_four_judgment_matrix.py tests/validation/operators/test_op_checks.py tests/validation/operators/test_operator_inputs.py tests/benchmarks/test_profiler.py tests/validation/operators/test_kv_consistency.py tests/models/qwen3/test_ws1_qwen3_dense.py tests/validation/models/test_ws1_chain_integration.py -q + python -m pytest tests/validation/operators/test_forward_invariance.py tests/contracts/test_tolerance_contract.py tests/validation/operators/test_ws1_workload.py tests/validation/operators/test_gradient_invariance.py tests/validation/operators/test_elementwise_inventory.py tests/validation/operators/test_four_judgment_matrix.py tests/validation/operators/test_op_checks.py tests/validation/operators/test_operator_inputs.py tests/benchmarks/test_profiler.py tests/validation/operators/test_kv_consistency.py tests/models/qwen3/test_ws1_qwen3_dense.py tests/validation/models/test_ws1_chain_integration.py tests/models/qwen3_next/test_qwen3_next_norm.py tests/models/qwen3_next/test_gdn_state_contract.py tests/validation/common/test_tensor_identity.py tests/models/qwen3_next/test_qwen3_next_forward_contract.py tests/models/qwen3_next/test_qwen3_next_tp_blocks.py tests/models/qwen3_next/test_qwen3_next_tp_gdn.py -q + python -m pytest -q \ + tests/models/qwen3_next/test_qwen3_next_binary_evidence.py \ + tests/models/qwen3_next/test_qwen3_next_case_manifest.py \ + tests/models/qwen3_next/test_qwen3_next_checkpoint.py \ + tests/models/qwen3_next/test_qwen3_next_engine_weights.py \ + tests/models/qwen3_next/test_qwen3_next_environment_identity.py \ + tests/models/qwen3_next/test_qwen3_next_failure.py \ + tests/models/qwen3_next/test_qwen3_next_imported_binary.py \ + tests/models/qwen3_next/test_qwen3_next_installed_provider_identity.py \ + tests/models/qwen3_next/test_qwen3_next_l2.py \ + tests/models/qwen3_next/test_qwen3_next_layers.py \ + tests/models/qwen3_next/test_qwen3_next_logprob_adapter.py \ + tests/models/qwen3_next/test_qwen3_next_native_recompute.py \ + tests/models/qwen3_next/test_qwen3_next_operator_gates.py \ + tests/models/qwen3_next/test_qwen3_next_profile.py \ + tests/models/qwen3_next/test_qwen3_next_rl_fixture.py \ + tests/models/qwen3_next/test_qwen3_next_rotary_dtype.py \ + tests/models/qwen3_next/test_qwen3_next_storage.py \ + tests/models/qwen3_next/test_qwen3_next_training_audit.py \ + tests/models/qwen3_next/test_qwen3_next_training_closeout.py \ + tests/models/qwen3_next/test_qwen3_next_training_export.py \ + tests/models/qwen3_next/test_qwen3_next_subnode.py \ + tests/models/qwen3_next/test_qwen3_next_chain_report.py \ + tests/models/qwen3_next/test_qwen3_next_run.py \ + tests/models/qwen3_next/test_qwen3_next_evidence_redaction.py - name: Run Cross-Configuration Contract Tests (CPU-safe) run: | diff --git a/.github/workflows/qwen3-next-provider-gpu.yml b/.github/workflows/qwen3-next-provider-gpu.yml new file mode 100644 index 000000000..896f077bc --- /dev/null +++ b/.github/workflows/qwen3-next-provider-gpu.yml @@ -0,0 +1,96 @@ +# SPDX-License-Identifier: Apache-2.0 +# RFC #428 Qwen3-Next provider comparisons: the C1/C3/C4 norm providers, the C6 +# GDN decode-step goldens, the shared GEMM/MoE route-combine provider and the TP4 +# GDN/convolution/attention mixers, each checked against the real vLLM 0.30.0 provider. +# +# These check_ files import vLLM, so the default pytest collection never runs them +# (tests/integrations/common/test_framework_operator_integrations.py asserts vLLM is not imported). This +# workflow runs them in their own process on a self-hosted runner that a maintainer +# registers with the labels below and keeps on the audited runtime (CUDA 13, +# torch 2.13.0+cu130, vLLM 0.30.0). Without such a runner the job queues rather than +# reporting a false pass. +# +# Security: do not use pull_request_target. Fork PRs never reach the self-hosted +# runner; a maintainer dispatches the reviewed commit from a trusted branch. + +name: Qwen3-Next-provider-GPU + +on: + pull_request: + branches: [main, test-qwennext] + paths: + - "rl_engine/backends/**" + - "rl_engine/reference/**" + - "csrc/cuda/attention/**" + - "rl_engine/models/qwen3_next/**" + - "rl_engine/integrations/engines/train/vllm/qwen3_next*" + - "rl_engine/validation/models/qwen3_next*" + - "tools/validation/models/*qwen3_next*" + - "tests/models/qwen3_next/**" + - "tests/models/qwen3_next/check_gdn_recurrent_golden.py" + - ".github/workflows/qwen3-next-provider-gpu.yml" + workflow_dispatch: + +concurrency: + group: qwen3-next-provider-gpu-${{ github.ref }} + cancel-in-progress: false + +permissions: + contents: read + +jobs: + fork-pr-notice: + if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository + runs-on: ubuntu-latest + steps: + - name: Report required trusted execution + run: | + echo "Fork code does not run on the self-hosted Qwen3-Next provider runner." + echo "A maintainer must dispatch this workflow from a trusted upstream branch." + echo "source_repository=${{ github.event.pull_request.head.repo.full_name }}" + echo "source_sha=${{ github.event.pull_request.head.sha }}" + + provider: + if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository + runs-on: [self-hosted, linux, x64, rl-kernel-qwen3-next] + timeout-minutes: 30 + steps: + - uses: actions/checkout@v4 + with: + persist-credentials: false + - name: Require the audited runtime + run: | + python3 - <<'PY' + import torch, vllm + assert torch.__version__ == "2.13.0+cu130" + assert vllm.__version__ == "0.30.0" + assert torch.cuda.is_available() + PY + - name: Build the extension against that runtime + run: python3 setup.py build_ext --inplace + - name: Require the extension built from this checkout + # A stale editable install elsewhere on the runner would otherwise satisfy the + # import and test some other tree's _C. + run: | + python3 - <<'PY' + import os + from pathlib import Path + + from rl_engine import _C + + workspace = Path(os.environ["GITHUB_WORKSPACE"]).resolve() + loaded = Path(_C.__file__).resolve() + assert workspace in loaded.parents, f"rl_engine._C loaded from {loaded}, outside {workspace}" + print("rl_engine._C:", loaded) + PY + - name: Check pinned providers in their own process + # The FP32 router needs IEEE Triton dots from process start. + env: + TRITON_F32_DEFAULT: ieee + run: | + python3 -m pytest -q tests/models/qwen3_next/check_qwen3_next_norm_providers.py tests/models/qwen3_next/check_gdn_recurrent_golden.py \ + tests/models/qwen3_next/check_qwen3_next_forward.py tests/models/qwen3_next/check_qwen3_next_attention.py \ + tests/models/qwen3_next/check_qwen3_next_gdn_bridge.py tests/models/qwen3_next/check_qwen3_next_gdn_sequence.py \ + tests/models/qwen3_next/check_qwen3_next_conv_bridge.py tests/models/qwen3_next/check_qwen3_next_core_matrix.py \ + tests/models/qwen3_next/check_qwen3_next_shared_core.py \ + tests/models/qwen3_next/check_qwen3_next_paged_attention.py tests/models/qwen3_next/check_qwen3_next_batch_invariance.py diff --git a/.github/workflows/ws1-gtest-gpu.yml b/.github/workflows/ws1-gtest-gpu.yml index a0d8ac0c4..b853b9df0 100644 --- a/.github/workflows/ws1-gtest-gpu.yml +++ b/.github/workflows/ws1-gtest-gpu.yml @@ -10,7 +10,7 @@ name: WS1-gtest-GPU on: pull_request: - branches: [ main ] + branches: [ main, test-qwennext ] paths: - "rl_engine/validation/**" - "rl_engine/backends/**" @@ -28,6 +28,7 @@ on: - "tools/validation/operators/ws1_candidate_evidence.py" - "tests/validation/**" - "tests/models/**" + - "tests/ops/norm/**" - "tests/validation/operators/test_forward_invariance.py" - "tests/validation/operators/test_gradient_invariance.py" - "tests/validation/operators/test_four_judgment_matrix.py" @@ -36,7 +37,7 @@ on: - "ci/scripts/run_gpu_ci.sh" - ".github/workflows/ws1-gtest-gpu.yml" push: - branches: [ main ] + branches: [ main, test-qwennext ] paths: - "rl_engine/validation/**" - "rl_engine/backends/**" @@ -54,6 +55,7 @@ on: - "tools/validation/operators/ws1_candidate_evidence.py" - "tests/validation/**" - "tests/models/**" + - "tests/ops/norm/**" - "tests/validation/operators/test_forward_invariance.py" - "tests/validation/operators/test_gradient_invariance.py" - "tests/validation/operators/test_four_judgment_matrix.py" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3e37f8bd1..9ef274150 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -4,9 +4,10 @@ repos: hooks: - id: trailing-whitespace # Unified diffs include significant context markers and pinned hashes. - exclude: '(\.patch$|^reports/archive/)' + # Published Qwen3-Next chain evidence is byte-exact (SHA256SUMS). + exclude: '(\.patch$|^reports/archive/|^docs/usage/evidence/qwen3-next-chain-b200/)' - id: end-of-file-fixer - exclude: ^reports/archive/ + exclude: '^(reports/archive/|docs/usage/evidence/qwen3-next-chain-b200/)' - id: check-yaml exclude: 'mkdocs\.yaml$' - id: check-added-large-files diff --git a/ci/scripts/run_qwen3_next_chain_gate.sh b/ci/scripts/run_qwen3_next_chain_gate.sh new file mode 100755 index 000000000..8c042ea64 --- /dev/null +++ b/ci/scripts/run_qwen3_next_chain_gate.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +# SPDX-License-Identifier: Apache-2.0 +# Qwen3-Next chain-report adapter checks; with a report path, also validate that report. +# bash ci/scripts/run_qwen3_next_chain_gate.sh [chain-report.json] +set -euo pipefail +ROOT="$(cd "$(dirname "$0")/.." && pwd)" +cd "$ROOT" +PY="${PY:-python3}" +export PYTHONPATH="$ROOT${PYTHONPATH:+:$PYTHONPATH}" +"$PY" -m pytest -q tests/models/qwen3_next/test_qwen3_next_chain_report.py +if [ "$#" -ge 1 ]; then + "$PY" - "$1" <<'PY' +import dataclasses, json, sys + +from rl_engine.validation.models.chain_gate import ChainGateReport +from rl_engine.validation.models.qwen3_next_chain_report import COMPATIBLE_SCHEMA, SCHEMA_VERSION + +report = json.load(open(sys.argv[1])) +missing = {f.name for f in dataclasses.fields(ChainGateReport)} - set(report) +assert not missing, f"chain report lacks ChainGateReport fields: {sorted(missing)}" +assert report["schema_version"] == SCHEMA_VERSION, report["schema_version"] +assert report["compatible_schema"] == COMPATIBLE_SCHEMA, report["compatible_schema"] +print(f"passed={report['passed']} first_drift={report['first_drift']} " + f"family={report['first_drift_family']} cells={len(report['cells'])}") +sys.exit(0 if report["passed"] else 1) +PY +fi diff --git a/ci/scripts/run_qwen3_next_operator_gates.sh b/ci/scripts/run_qwen3_next_operator_gates.sh new file mode 100644 index 000000000..ceba42dd5 --- /dev/null +++ b/ci/scripts/run_qwen3_next_operator_gates.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +# Required operator acceptance and diagnostics use separate declared case sets. +set -euo pipefail +ROOT="$(cd "$(dirname "$0")/.." && pwd)" +cd "$ROOT" +PY="${PY:-python3}" +OUT="${QWEN3_NEXT_EVIDENCE_DIR:?Set QWEN3_NEXT_EVIDENCE_DIR to an artifact directory}" +export PYTHONPATH="$ROOT${PYTHONPATH:+:$PYTHONPATH}" +exec "$PY" tools/validation/models/qwen3_next_operator_gates.py --out "$OUT" \ + --suite "${QWEN3_NEXT_OPERATOR_SUITE:-all}" diff --git a/ci/scripts/run_ws1_gtest.sh b/ci/scripts/run_ws1_gtest.sh index cc47dd678..1c5a2be53 100755 --- a/ci/scripts/run_ws1_gtest.sh +++ b/ci/scripts/run_ws1_gtest.sh @@ -19,6 +19,7 @@ echo "[ws1-gtest] interpreter=$PY out=$OUT" "$PY" -m pytest -q \ tests/validation/operators/test_ws1_gtest_gpu.py \ + tests/models/qwen3_next/test_qwen3_next_norm.py \ tests/ops/attention/test_triton_batch_invariant_attention.py \ tests/validation/operators/test_four_judgment_matrix.py \ tests/validation/operators/test_ws1_candidate_evidence.py \ @@ -75,3 +76,14 @@ for cell in required: ) print("[ws1-gtest] C8 gate passed") PY + +echo "[ws1-gtest] Qwen3-Next C3/C4 norms (operator scope)" +QWEN3_NEXT_NORM_MANIFEST=rl_engine/validation/models/qwen3_next_norm_manifest.json +"$PY" tools/validation/operators/check_forward_invariance.py --manifest "$QWEN3_NEXT_NORM_MANIFEST" \ + --op qwen3_next_rms_norm --candidate cuda --backend-profile cuda_bf16 --hidden 2048 --head-dim 128 +"$PY" tools/validation/operators/check_gradient_invariance.py --manifest "$QWEN3_NEXT_NORM_MANIFEST" \ + --op qwen3_next_rms_norm --candidate cuda --backend-profile cuda_bf16 --hidden 2048 --head-dim 128 +"$PY" tools/validation/operators/check_forward_invariance.py --manifest "$QWEN3_NEXT_NORM_MANIFEST" \ + --op rms_norm_gated --candidate cuda --backend-profile cuda_bf16 --hidden 2048 --head-dim 128 +"$PY" tools/validation/operators/check_gradient_invariance.py --manifest "$QWEN3_NEXT_NORM_MANIFEST" \ + --op rms_norm_gated --candidate cuda --backend-profile cuda_bf16 --hidden 2048 --head-dim 128 diff --git a/csrc/bindings/ops.cpp b/csrc/bindings/ops.cpp index 0c7c3e7f4..a6e0d52f0 100644 --- a/csrc/bindings/ops.cpp +++ b/csrc/bindings/ops.cpp @@ -263,14 +263,36 @@ void rmsnorm_forward_cuda( torch::Tensor weight, torch::Tensor y, torch::Tensor rstd, - double eps); + double eps, + double weight_offset); void rmsnorm_backward_dx_cuda( torch::Tensor dy, torch::Tensor x, torch::Tensor weight, torch::Tensor rstd, - torch::Tensor dx); + torch::Tensor dx, + double weight_offset); + +void rmsnorm_gated_forward_cuda( + torch::Tensor x, + torch::Tensor weight, + torch::Tensor gate, + torch::Tensor y, + torch::Tensor rstd, + double eps, + double weight_offset, + int64_t activation); + +void rmsnorm_gated_backward_dx_cuda( + torch::Tensor dy, + torch::Tensor x, + torch::Tensor weight, + torch::Tensor gate, + torch::Tensor rstd, + torch::Tensor dx, + double weight_offset, + int64_t activation); void rmsnorm_backward_partial_dw_cuda( torch::Tensor dy, @@ -296,23 +318,39 @@ static void rmsnorm_check_input(const torch::Tensor& x, const char* name) { TORCH_CHECK(x.is_contiguous(), name, " must be contiguous"); } +static void rmsnorm_check_weight(const torch::Tensor& x, const torch::Tensor& weight) { + TORCH_CHECK(x.dim() == 2 && x.size(1) > 0, "x must be 2D with positive hidden size"); + TORCH_CHECK(x.scalar_type() == torch::kFloat32 || x.scalar_type() == torch::kFloat16 || + x.scalar_type() == torch::kBFloat16, "x must be float32, float16 or bfloat16"); + TORCH_CHECK(weight.dim() == 1 && weight.size(0) == x.size(1), "weight must be [H]"); + TORCH_CHECK(weight.device() == x.device(), "weight must be on the same device as x"); + TORCH_CHECK(weight.scalar_type() == x.scalar_type() || weight.scalar_type() == torch::kFloat32, + "weight must have x dtype or float32"); +} + +static void rmsnorm_check_backward(const torch::Tensor& dy, const torch::Tensor& x, + const torch::Tensor& rstd) { + TORCH_CHECK(dy.device() == x.device() && rstd.device() == x.device(), + "dy and rstd must be on the same device as x"); + TORCH_CHECK(dy.scalar_type() == x.scalar_type(), "dy must have the same dtype as x"); + TORCH_CHECK(rstd.scalar_type() == torch::kFloat32, "rstd must be float32"); +} + std::vector rmsnorm_forward( torch::Tensor x, torch::Tensor weight, - double eps) + double eps, + double weight_offset) { rmsnorm_check_input(x, "x"); rmsnorm_check_input(weight, "weight"); - - TORCH_CHECK(x.dim() == 2, "x must be 2D [T, H]"); - TORCH_CHECK(weight.dim() == 1, "weight must be 1D [H]"); - TORCH_CHECK(x.size(1) == weight.size(0), "x.size(1) must equal weight.size(0)"); + rmsnorm_check_weight(x, weight); auto T = x.size(0); auto y = torch::empty_like(x); auto rstd = torch::empty({T}, x.options().dtype(torch::kFloat32)); - rmsnorm_forward_cuda(x, weight, y, rstd, eps); + rmsnorm_forward_cuda(x, weight, y, rstd, eps, weight_offset); return {y, rstd}; } @@ -321,22 +359,89 @@ torch::Tensor rmsnorm_backward_dx( torch::Tensor dy, torch::Tensor x, torch::Tensor weight, - torch::Tensor rstd) + torch::Tensor rstd, + double weight_offset) { rmsnorm_check_input(dy, "dy"); rmsnorm_check_input(x, "x"); rmsnorm_check_input(weight, "weight"); + rmsnorm_check_weight(x, weight); rmsnorm_check_input(rstd, "rstd"); + rmsnorm_check_backward(dy, x, rstd); TORCH_CHECK(dy.sizes() == x.sizes(), "dy and x must have same shape"); - TORCH_CHECK(x.dim() == 2, "x must be 2D [T, H]"); - TORCH_CHECK(weight.dim() == 1, "weight must be 1D [H]"); TORCH_CHECK(rstd.dim() == 1, "rstd must be 1D [T]"); TORCH_CHECK(rstd.size(0) == x.size(0), "rstd.size(0) must equal x.size(0)"); auto dx = torch::empty_like(x); - rmsnorm_backward_dx_cuda(dy, x, weight, rstd, dx); + rmsnorm_backward_dx_cuda(dy, x, weight, rstd, dx, weight_offset); + + return dx; +} + +static void rmsnorm_gated_check( + const torch::Tensor& x, + const torch::Tensor& weight, + const torch::Tensor& gate, + int64_t activation) +{ + rmsnorm_check_input(x, "x"); + rmsnorm_check_input(weight, "weight"); + rmsnorm_check_weight(x, weight); + rmsnorm_check_input(gate, "gate"); + TORCH_CHECK(gate.device() == x.device(), "gate must be on the same device as x"); + TORCH_CHECK(gate.sizes() == x.sizes(), "gate must have the same shape as x"); + TORCH_CHECK( + gate.scalar_type() == x.scalar_type(), + "gate must have the same dtype as x"); + // 0 = silu/swish, 1 = sigmoid. Anything else fails closed rather than + // silently computing a different activation (RFC #428 section 6, item 7). + TORCH_CHECK( + activation == 0 || activation == 1, + "activation must be 0 (silu) or 1 (sigmoid), got ", activation); +} + +std::vector rmsnorm_gated_forward( + torch::Tensor x, + torch::Tensor weight, + torch::Tensor gate, + double eps, + double weight_offset, + int64_t activation) +{ + rmsnorm_gated_check(x, weight, gate, activation); + + auto T = x.size(0); + auto y = torch::empty_like(x); + auto rstd = torch::empty({T}, x.options().dtype(torch::kFloat32)); + + rmsnorm_gated_forward_cuda(x, weight, gate, y, rstd, eps, weight_offset, activation); + + return {y, rstd}; +} + +torch::Tensor rmsnorm_gated_backward_dx( + torch::Tensor dy, + torch::Tensor x, + torch::Tensor weight, + torch::Tensor gate, + torch::Tensor rstd, + double weight_offset, + int64_t activation) +{ + rmsnorm_gated_check(x, weight, gate, activation); + rmsnorm_check_input(dy, "dy"); + rmsnorm_check_input(rstd, "rstd"); + rmsnorm_check_backward(dy, x, rstd); + + TORCH_CHECK(dy.sizes() == x.sizes(), "dy must have the same shape as x"); + TORCH_CHECK(rstd.dim() == 1 && rstd.size(0) == x.size(0), "rstd must be [T]"); + + auto dx = torch::empty_like(x); + + rmsnorm_gated_backward_dx_cuda( + dy, x, weight, gate, rstd, dx, weight_offset, activation); return dx; } @@ -350,6 +455,7 @@ torch::Tensor rmsnorm_backward_dw( rmsnorm_check_input(dy, "dy"); rmsnorm_check_input(x, "x"); rmsnorm_check_input(rstd, "rstd"); + rmsnorm_check_backward(dy, x, rstd); rmsnorm_check_input(mask, "mask"); TORCH_CHECK(dy.sizes() == x.sizes(), "dy and x must have same shape"); @@ -357,6 +463,8 @@ torch::Tensor rmsnorm_backward_dw( TORCH_CHECK(rstd.dim() == 1, "rstd must be 1D [T]"); TORCH_CHECK(mask.dim() == 1, "mask must be 1D [T]"); TORCH_CHECK(mask.scalar_type() == torch::kBool, "mask must be bool"); + TORCH_CHECK(mask.device() == x.device(), "mask must be on the same device as x"); + TORCH_CHECK(x.size(1) > 0, "hidden size must be positive"); TORCH_CHECK(rstd.size(0) == x.size(0), "rstd.size(0) must equal x.size(0)"); TORCH_CHECK(mask.size(0) == x.size(0), "mask.size(0) must equal x.size(0)"); @@ -718,9 +826,24 @@ PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { &det_gemm_db_transposed, "Batch-invariant deterministic GEMM backward in canonical [N,K] layout"); // registry RMSNorm - m.def("rmsnorm_forward", &rmsnorm_forward, "Batch-invariant RMSNorm forward CUDA"); - m.def("rmsnorm_backward_dx", &rmsnorm_backward_dx, "Batch-invariant RMSNorm backward dx CUDA"); + // API version 2 includes weight_offset in both entry points. + m.attr("rmsnorm_api_version") = 2; + m.def("rmsnorm_forward", &rmsnorm_forward, "Batch-invariant RMSNorm forward CUDA", + py::arg("x"), py::arg("weight"), py::arg("eps"), + py::arg("weight_offset") = 0.0); + m.def("rmsnorm_backward_dx", &rmsnorm_backward_dx, "Batch-invariant RMSNorm backward dx CUDA", + py::arg("dy"), py::arg("x"), py::arg("weight"), py::arg("rstd"), + py::arg("weight_offset") = 0.0); m.def("rmsnorm_backward_dw", &rmsnorm_backward_dw, "Deterministic RMSNorm backward dweight CUDA"); + m.def("rmsnorm_gated_forward", &rmsnorm_gated_forward, + "Batch-invariant gated RMSNorm forward CUDA", + py::arg("x"), py::arg("weight"), py::arg("gate"), py::arg("eps"), + py::arg("weight_offset") = 0.0, py::arg("activation") = 0); + m.def("rmsnorm_gated_backward_dx", &rmsnorm_gated_backward_dx, + "Batch-invariant gated RMSNorm backward dx CUDA", + py::arg("dy"), py::arg("x"), py::arg("weight"), py::arg("gate"), + py::arg("rstd"), py::arg("weight_offset") = 0.0, + py::arg("activation") = 0); #if !defined(USE_ROCM) m.def( "reduce_rows_fp32_left_fold", diff --git a/csrc/cuda/attention/deterministic_attention.cu b/csrc/cuda/attention/deterministic_attention.cu index 82ec824db..aeae9231c 100644 --- a/csrc/cuda/attention/deterministic_attention.cu +++ b/csrc/cuda/attention/deterministic_attention.cu @@ -17,7 +17,6 @@ namespace { -constexpr int64_t kDeterministicAttentionHeadDim = 128; constexpr int kSoftmaxThreads = 256; // --------------------------------------------------------------------------- @@ -220,15 +219,18 @@ void check_deterministic_attention_inputs( const int64_t Hkv = k.size(1); const int64_t Skv = k.size(2); - TORCH_CHECK(D == kDeterministicAttentionHeadDim, - "deterministic_attention: head dim D must be ", - kDeterministicAttentionHeadDim, - ", got ", - D); +#if defined(USE_ROCM) + TORCH_CHECK(D == 128, "deterministic_attention: ROCm head dim D must be 128, got ", D); +#else + TORCH_CHECK(D == 128 || D == 256, + "deterministic_attention: CUDA head dim D must be 128 or 256, got ", D); +#endif TORCH_CHECK(k.size(0) == B && v.size(0) == B, "deterministic_attention: batch size mismatch between q/k/v"); TORCH_CHECK(v.size(1) == Hkv && v.size(2) == Skv && k.size(3) == D && v.size(3) == D, "deterministic_attention: k/v shape mismatch"); + TORCH_CHECK(B > 0 && Hq > 0 && Hkv > 0, + "deterministic_attention: batch size and head counts must be positive"); TORCH_CHECK(Hq % Hkv == 0, "deterministic_attention: Hq (", Hq, @@ -573,6 +575,17 @@ std::vector deterministic_attention_backward( double scale, torch::optional key_padding_mask) { + check_deterministic_attention_inputs(q, k, v, key_padding_mask); + TORCH_CHECK(grad_output.device() == q.device() && grad_output.scalar_type() == q.scalar_type(), + "deterministic_attention_backward: grad_output must match q device and dtype"); + TORCH_CHECK(grad_output.sizes() == q.sizes(), + "deterministic_attention_backward: grad_output must have q shape"); + TORCH_CHECK(P.device() == q.device() && P.scalar_type() == at::kFloat, + "deterministic_attention_backward: P must be FP32 on the input device"); + TORCH_CHECK(P.dim() == 4 && P.size(0) == q.size(0) && P.size(1) == q.size(1) && + P.size(2) == q.size(2) && P.size(3) == k.size(2), + "deterministic_attention_backward: P must have shape [B, Hq, Sq, Skv]"); + const at::cuda::OptionalCUDAGuard device_guard(at::device_of(q)); auto dO = grad_output.contiguous(); diff --git a/csrc/cuda/norm/rmsnorm.cu b/csrc/cuda/norm/rmsnorm.cu index b32bc5af4..81a02cd2d 100644 --- a/csrc/cuda/norm/rmsnorm.cu +++ b/csrc/cuda/norm/rmsnorm.cu @@ -108,7 +108,8 @@ __global__ void rmsnorm_fwd_kernel( float* __restrict__ rstd, int T, int H, - float eps + float eps, + float weight_offset ) { int row = blockIdx.x; int tid = threadIdx.x; @@ -135,10 +136,17 @@ __global__ void rmsnorm_fwd_kernel( __syncthreads(); - // Write y = x * rstd * weight. + // Write y = x * rstd * (weight_offset + weight). The offset is added in + // fp32 after the upcast: a zero-centred weight (Qwen3-Next, Gemma) must not + // have its "+1" folded into the low-precision weight beforehand, which would + // round the offset and break the bitwise contract. for (int col = tid; col < H; col += blockDim.x) { float xv = load_as_float(x_row + col); float wv = load_as_float(weight + col); + // Guarded: `-0.0f + 0.0f` is +0.0f, so an unconditional add would flip the + // sign bit of -0.0 weights on the plain path. Pinned by + // tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved. + if (weight_offset != 0.0f) wv += weight_offset; float out = xv * row_rstd * wv; store_from_float(y_row + col, out); } @@ -153,7 +161,8 @@ __global__ void rmsnorm_bwd_dx_kernel( const float* __restrict__ rstd, scalar_t* __restrict__ dx, int T, - int H + int H, + float weight_offset ) { int row = blockIdx.x; int tid = threadIdx.x; @@ -168,6 +177,7 @@ __global__ void rmsnorm_bwd_dx_kernel( float dyv = load_as_float(dy_row + col); float xv = load_as_float(x_row + col); float wv = load_as_float(weight + col); + if (weight_offset != 0.0f) wv += weight_offset; local_dot += dyv * wv * xv; } @@ -180,6 +190,7 @@ __global__ void rmsnorm_bwd_dx_kernel( float dyv = load_as_float(dy_row + col); float xv = load_as_float(x_row + col); float wv = load_as_float(weight + col); + if (weight_offset != 0.0f) wv += weight_offset; float out = r * dyv * wv - xv * coeff; store_from_float(dx_row + col, out); @@ -187,6 +198,133 @@ __global__ void rmsnorm_bwd_dx_kernel( } +// --------------------------------------------------------------------------- +// Gated RMSNorm (Qwen3-Next GDN block). +// +// y = x * rstd * (weight_offset + weight) * act(gate) +// +// The gate activation and the weight multiply are both evaluated in fp32 and +// there is exactly one cast, at the store. This mirrors vLLM's RMSNormGated +// with norm_before_gate=True, which is how the GDN block constructs it. +// +// ACT selects the gate activation: 0 = silu/swish, 1 = sigmoid. expf (not the +// __expf intrinsic) is used deliberately -- the fast intrinsic trades accuracy +// for speed and would put the result further from the fp32 reference. +// --------------------------------------------------------------------------- + +template +__device__ __forceinline__ float gate_activation(float z) { + const float sigma = 1.0f / (1.0f + expf(-z)); + return (ACT == 0) ? z * sigma : sigma; +} + +template +__device__ __forceinline__ float gate_activation_grad(float z) { + const float sigma = 1.0f / (1.0f + expf(-z)); + // d/dz [z * sigma] = sigma * (1 + z * (1 - sigma)); d/dz [sigma] = sigma * (1 - sigma) + return (ACT == 0) ? sigma * (1.0f + z * (1.0f - sigma)) : sigma * (1.0f - sigma); +} + + +template +__global__ void rmsnorm_gated_fwd_kernel( + const scalar_t* __restrict__ x, + const weight_t* __restrict__ weight, + const scalar_t* __restrict__ gate, + scalar_t* __restrict__ y, + float* __restrict__ rstd, + int T, + int H, + float eps, + float weight_offset +) { + int row = blockIdx.x; + int tid = threadIdx.x; + + const scalar_t* x_row = x + row * H; + const scalar_t* gate_row = gate + row * H; + scalar_t* y_row = y + row * H; + + float local_sum = 0.0f; + + // The statistic is over x only; the gate never enters the reduction, so + // rstd here is bit-identical to the ungated kernel's for the same x. + for (int col = tid; col < H; col += blockDim.x) { + float xv = load_as_float(x_row + col); + local_sum += xv * xv; + } + + float sum = block_reduce_sum(local_sum); + + float row_rstd = rsqrtf(sum / static_cast(H) + eps); + + if (tid == 0) { + rstd[row] = row_rstd; + } + + __syncthreads(); + + for (int col = tid; col < H; col += blockDim.x) { + float xv = load_as_float(x_row + col); + float wv = load_as_float(weight + col); + if (weight_offset != 0.0f) wv += weight_offset; + float zv = load_as_float(gate_row + col); + float out = xv * row_rstd * wv * gate_activation(zv); + store_from_float(y_row + col, out); + } +} + + +template +__global__ void rmsnorm_gated_bwd_dx_kernel( + const scalar_t* __restrict__ dy, + const scalar_t* __restrict__ x, + const weight_t* __restrict__ weight, + const scalar_t* __restrict__ gate, + const float* __restrict__ rstd, + scalar_t* __restrict__ dx, + int T, + int H, + float weight_offset +) { + int row = blockIdx.x; + int tid = threadIdx.x; + + const scalar_t* dy_row = dy + row * H; + const scalar_t* x_row = x + row * H; + const scalar_t* gate_row = gate + row * H; + scalar_t* dx_row = dx + row * H; + + float local_dot = 0.0f; + + // Identical to the ungated dx, with the per-column scale (w + offset) + // replaced by (w + offset) * act(gate): the gate is a constant wrt x. + for (int col = tid; col < H; col += blockDim.x) { + float dyv = load_as_float(dy_row + col); + float xv = load_as_float(x_row + col); + float wv = load_as_float(weight + col); + if (weight_offset != 0.0f) wv += weight_offset; + float zv = load_as_float(gate_row + col); + local_dot += dyv * (wv * gate_activation(zv)) * xv; + } + + float dot = block_reduce_sum(local_dot); + + float r = rstd[row]; + float coeff = dot * r * r * r / static_cast(H); + + for (int col = tid; col < H; col += blockDim.x) { + float dyv = load_as_float(dy_row + col); + float xv = load_as_float(x_row + col); + float wv = load_as_float(weight + col); + if (weight_offset != 0.0f) wv += weight_offset; + float zv = load_as_float(gate_row + col); + + float out = r * dyv * (wv * gate_activation(zv)) - xv * coeff; + store_from_float(dx_row + col, out); + } +} + template __global__ void rmsnorm_partial_dw_kernel( const scalar_t* __restrict__ dy, @@ -247,12 +385,14 @@ void rmsnorm_forward_cuda( torch::Tensor weight, torch::Tensor y, torch::Tensor rstd, - double eps + double eps, + double weight_offset ) { // Launch on x's device: the current CUDA stream belongs to the current // device, which need not be x's. const at::cuda::OptionalCUDAGuard device_guard(device_of(x)); int T = x.size(0); + if (T == 0) return; int H = x.size(1); int threads = choose_threads(H); size_t smem = threads * sizeof(float); @@ -270,10 +410,12 @@ void rmsnorm_forward_cuda( rstd.data_ptr(), T, H, - static_cast(eps) + static_cast(eps), + static_cast(weight_offset) ); }); }); + C10_CUDA_KERNEL_LAUNCH_CHECK(); } @@ -282,10 +424,12 @@ void rmsnorm_backward_dx_cuda( torch::Tensor x, torch::Tensor weight, torch::Tensor rstd, - torch::Tensor dx + torch::Tensor dx, + double weight_offset ) { const at::cuda::OptionalCUDAGuard device_guard(device_of(x)); int T = x.size(0); + if (T == 0) return; int H = x.size(1); int threads = choose_threads(H); size_t smem = threads * sizeof(float); @@ -303,13 +447,94 @@ void rmsnorm_backward_dx_cuda( rstd.data_ptr(), dx.data_ptr(), T, - H + H, + static_cast(weight_offset) ); }); }); + C10_CUDA_KERNEL_LAUNCH_CHECK(); +} + + +void rmsnorm_gated_forward_cuda( + torch::Tensor x, + torch::Tensor weight, + torch::Tensor gate, + torch::Tensor y, + torch::Tensor rstd, + double eps, + double weight_offset, + int64_t activation +) { + const at::cuda::OptionalCUDAGuard device_guard(device_of(x)); + int T = x.size(0); + if (T == 0) return; + int H = x.size(1); + int threads = choose_threads(H); + size_t smem = threads * sizeof(float); + + cudaStream_t stream = at::cuda::getCurrentCUDAStream(); + + AT_DISPATCH_FLOATING_TYPES_AND2(at::kHalf, at::kBFloat16, x.scalar_type(), "rmsnorm_gated_forward_cuda", [&] { + using x_t = scalar_t; + AT_DISPATCH_FLOATING_TYPES_AND2(at::kHalf, at::kBFloat16, weight.scalar_type(), "rmsnorm_gated_forward_weight_cuda", [&] { + using w_t = scalar_t; + if (activation == 0) { + rmsnorm_gated_fwd_kernel<<>>( + x.data_ptr(), weight.data_ptr(), gate.data_ptr(), + y.data_ptr(), rstd.data_ptr(), + T, H, static_cast(eps), static_cast(weight_offset)); + } else { + rmsnorm_gated_fwd_kernel<<>>( + x.data_ptr(), weight.data_ptr(), gate.data_ptr(), + y.data_ptr(), rstd.data_ptr(), + T, H, static_cast(eps), static_cast(weight_offset)); + } + }); + }); + C10_CUDA_KERNEL_LAUNCH_CHECK(); } +void rmsnorm_gated_backward_dx_cuda( + torch::Tensor dy, + torch::Tensor x, + torch::Tensor weight, + torch::Tensor gate, + torch::Tensor rstd, + torch::Tensor dx, + double weight_offset, + int64_t activation +) { + const at::cuda::OptionalCUDAGuard device_guard(device_of(x)); + int T = x.size(0); + if (T == 0) return; + int H = x.size(1); + int threads = choose_threads(H); + size_t smem = threads * sizeof(float); + + cudaStream_t stream = at::cuda::getCurrentCUDAStream(); + + AT_DISPATCH_FLOATING_TYPES_AND2(at::kHalf, at::kBFloat16, x.scalar_type(), "rmsnorm_gated_backward_dx_cuda", [&] { + using x_t = scalar_t; + AT_DISPATCH_FLOATING_TYPES_AND2(at::kHalf, at::kBFloat16, weight.scalar_type(), "rmsnorm_gated_backward_dx_weight_cuda", [&] { + using w_t = scalar_t; + if (activation == 0) { + rmsnorm_gated_bwd_dx_kernel<<>>( + dy.data_ptr(), x.data_ptr(), weight.data_ptr(), + gate.data_ptr(), rstd.data_ptr(), dx.data_ptr(), + T, H, static_cast(weight_offset)); + } else { + rmsnorm_gated_bwd_dx_kernel<<>>( + dy.data_ptr(), x.data_ptr(), weight.data_ptr(), + gate.data_ptr(), rstd.data_ptr(), dx.data_ptr(), + T, H, static_cast(weight_offset)); + } + }); + }); + C10_CUDA_KERNEL_LAUNCH_CHECK(); +} + void rmsnorm_backward_partial_dw_cuda( torch::Tensor dy, torch::Tensor x, @@ -319,6 +544,7 @@ void rmsnorm_backward_partial_dw_cuda( ) { const at::cuda::OptionalCUDAGuard device_guard(device_of(x)); int T = x.size(0); + if (T == 0) return; int H = x.size(1); int chunks = (T + RMSNORM_DW_ROWS_PER_CHUNK - 1) / RMSNORM_DW_ROWS_PER_CHUNK; @@ -338,6 +564,7 @@ void rmsnorm_backward_partial_dw_cuda( H ); }); + C10_CUDA_KERNEL_LAUNCH_CHECK(); } @@ -360,6 +587,7 @@ void rmsnorm_backward_reduce_dw_cuda( chunks, H ); + C10_CUDA_KERNEL_LAUNCH_CHECK(); } #if !defined(USE_ROCM) diff --git a/docs/.nav.yml b/docs/.nav.yml index 29b5ead37..4e04fd061 100644 --- a/docs/.nav.yml +++ b/docs/.nav.yml @@ -29,6 +29,8 @@ nav: - operators/sampling.md - operators/det-gemm.md - operators/embedding.md + - operators/qwen3-next-rms-norm.md + - operators/qwen3-next-rms-norm-gated.md - Developer Guide: - contributing/README.md - Contributor Guide: contributing/contributor-guide.md diff --git a/docs/archive/design/rfc428-c6-gdn-recurrent-replay.md b/docs/archive/design/rfc428-c6-gdn-recurrent-replay.md new file mode 100644 index 000000000..84a977547 --- /dev/null +++ b/docs/archive/design/rfc428-c6-gdn-recurrent-replay.md @@ -0,0 +1,303 @@ +# RFC #428 C6 — Qwen3-Next Gated DeltaNet recurrent replay + +Design notes for RFC #428 work item C6 (GDN recurrent response replay) on the CUDA +track. Measured on 2× B200 (sm_100), torch 2.13.0+cu130, vllm 0.30.0, +transformers 5.17.0. vLLM paths below are relative to the installed `vllm` 0.30.0 +package; two files are named `causal_conv1d.py`, and each citation says whether it +means vLLM's (`model_executor/layers/mamba/ops/causal_conv1d.py`) or the golden's +(`rl_engine/reference/linear_attn/causal_conv1d.py`). + +Claim level reached: **L0 repeatable, L1 batch-invariant**. L2 is not claimed. + +## 1. Which provider a rollout decode actually takes + +vLLM 0.30.0 picks the GDN decode path per engine step. The choice depends on env +defaults, on what else the step contains, and on how the model constructs the layer: + +| step contains | conv | recurrence | +|---|---|---| +| decodes only, no draft tokens | `causal_conv1d_update` | `fused_recurrent_gated_delta_rule_packed_decode` | +| decodes and at least one prefill, no draft tokens | `causal_conv1d_fn` | `fused_sigmoid_gating_delta_rule_update` for the cached decode rows | +| draft tokens (speculative decode / MTP) | `causal_conv1d_update` with `num_accepted_tokens` | `fused_sigmoid_gating_delta_rule_update`; plain decodes in the step are reclassified as prefills | + +- **Decode-only.** With `VLLM_ENABLE_FLA_PACKED_RECURRENT_DECODE` at its default of on + (`build_tools/envs.py:1199-1200`), a decode-only step returns early at + `model_executor/layers/mamba/gdn/qwen_gdn_linear_attn.py:1295-1307` into + `_forward_core_decode_non_spec`, which calls the packed kernel (`:1697-1708`). **The + goldens target this path.** With the variable off, the same step goes through + `fused_sigmoid_gating_delta_rule_update` instead (`:1553-1572`). +- **Mixed decode and prefill.** `_forward_core` runs the conv for the whole non-spec + batch through `causal_conv1d_fn` (branch at `:1373`, call at `:1378-1388`) and the + cached decode rows through `fused_sigmoid_gating_delta_rule_update` + (`split_non_spec` defined at `:1408-1412`, branch at `:1493`, call at `:1497-1512`). + See §5 for what that does to the claim. +- **Draft tokens.** Spec rows go through `causal_conv1d_update` with + `num_accepted_tokens` (`:1357-1370`) and `fused_sigmoid_gating_delta_rule_update` + (`:1470-1487`). Plain decodes in the same step are reclassified as prefills + (`v1/attention/backends/gdn_attn.py:283-289`). A step with speculative decoding + enabled but zero draft tokens sets `spec_sequence_masks` to `None` + (`gdn_attn.py:236-243`) and is treated as decode-only. + +`VLLM_GDN_DECODE_KERNEL` defaults to `"cuda"`, but that is not what Qwen3-Next runs. +`model_executor/models/qwen3_next.py:495` constructs the layer with +`gqa_interleaved_layout=True`, which makes `_fused_gdn_decode_unsupported_reason` +(`qwen_gdn_linear_attn.py:535-554`) return a reason. The layer then logs a fallback +to `"triton"` (`:520-523`), or raises `ValueError` if `VLLM_GDN_DECODE_KERNEL` was +explicitly set to `cuda` (`:516-519`). As a consequence the fused +`torch.ops._C.fused_gdn_decode_post_conv_mtp` path is unreachable for Qwen3-Next: +`_can_use_fused_gdn_mtp_decode` requires `gdn_decode_kernel == "cuda"` (`:1834`). +This section is read from the source. + +`tests/models/qwen3_next/check_qwen3_next_norm_providers.py` asserts both env defaults (`:129-142`). For +`VLLM_ENABLE_FLA_PACKED_RECURRENT_DECODE` that is a useful guard: a vLLM bump that +flips it fails loudly. For `VLLM_GDN_DECODE_KERNEL` it guards nothing for Qwen3-Next, +because the interleaved layout, not the default, decides the kernel. Neither +assertion checks which kernel actually runs. + +## 2. How the golden relates to the kernel + +The golden follows the kernel's arithmetic, not `modeling_qwen3_next.py`'s. Checked +line by line against `third_party/flash_linear_attention/ops/fused_recurrent.py:288-335`, +three places where the kernel and the HF model differ: + +1. **The gating is fused, in fp32.** `beta = sigmoid(b)` and + `g = -exp(A_log) * softplus(a + dt_bias)` are computed inside the Triton kernel, + with a `softplus` threshold branch at 20. HF computes them as separate PyTorch + ops — a different rounding path. +2. **No `repeat_interleave`.** The kernel indexes `i_h = i_hv // (HV // H)`, so q/k + stay at 16 heads while v has 32. HF materializes the repeat. +3. **The QK norm is an L2 norm over a plain sum**, `x / sqrt(sum(x*x) + 1e-6)` — not + an RMSNorm, not `F.normalize`, and dividing by `sqrt` rather than multiplying by + `rsqrt`, which differs in the last bit. `scale` is applied to `q` *after* the + norm; `k` is never scaled. + +Where the golden is **not** a transcription: + +- softplus: the kernel computes `tl.log(1.0 + tl.exp(x))` (`fused_recurrent.py:327`); + the golden computes `torch.log1p(torch.exp(safe))`, where `safe` is `x` on the taken + branch (`gated_delta_rule.py:110-112`). These round differently. +- The kernel's `exp`/`log` become `fast_expf`/`fast_logf` when `FLA_USE_FAST_OPS=1` + (`third_party/flash_linear_attention/ops/op.py:16-25`). The golden models the + default. + +Checked and found **not** to be a divergence: prefill passes +`use_qk_l2norm_in_kernel=False` (`qwen_gdn_linear_attn.py:1542`) only because +`fused_post_conv_prep(apply_l2norm=True)` (`:1450`) already normalized q/k. Decode +passes `True` (`:1707`). Both paths normalize exactly once. + +## 3. State ABI + +Mirrored rather than reinvented: + +- recurrent state `[num_blocks, HV, V, K]`, V-major, addressed by `ssm_state_indices` +- conv state `[num_blocks, dim, width-1]`, layout chosen by the global + `is_conv_state_dim_first()`; the golden takes it as an argument and both are tested +- the accumulator is fp32 for the whole step; the store rounds to the state tensor's + dtype, which `FUSED_GDN_STATE_DTYPES` (`qwen_gdn_linear_attn.py:91`) allows to be + fp32 **or** bf16 +- `causal_conv1d_update` casts `x` to the cache dtype before computing + +`NULL_BLOCK_ID` is **not** one contract across the two providers: + +| | recurrent provider | conv provider | both goldens | +|---|---|---|---| +| which indices skip | `<= 0` (`fused_recurrent.py:300`) | `== null_block_id` only, default `NULL_BLOCK_ID` = 0 (vLLM `causal_conv1d.py:835`; `v1/attention/backends/utils.py:47`) | `<= 0` | +| output for a skipped row | zeros (`fused_recurrent.py:301-302`) | not written (vLLM `causal_conv1d.py:835-839` returns before any store) | zeros | +| state block | not touched | not touched | not touched | + +A negative conv index is therefore inactive in the golden +(`tests/models/qwen3_next/test_gdn_state_contract.py:54-59`) but a real, out-of-range index to the conv +provider. + +Contractions use `_chunked_sum` (`gated_delta_rule.py:76-90`): fixed 32-wide chunks, +so the reduction shape per row does not depend on the batch size, rather than +`torch.matmul`, whose reduction order is unspecified. That is the argument for the +L1 claim; L1 itself is established empirically by `test_golden_is_batch_invariant`. +The same choice is why the golden is not bitwise against the kernel's reduction. + +## 4. Agreement with the provider + +Qwen3-Next dims (H=16, HV=32, K=V=128), bf16 I/O, `use_qk_l2norm_in_kernel=True`, +random inputs, B ∈ {1, 4, 17, 64}, one seed per batch. Bounds asserted by +`tests/models/qwen3_next/check_gdn_recurrent_golden.py` (`_RECURRENT_BOUNDS`). They, and every other +bound in that file, are **regression bounds against the provider, not gate evidence**; +they do not go through `resolve_tolerance`. For scale, the gate contract's +`forward_accuracy/by_op_class/reduction` row in +`rl_engine/contracts/profiles/precision/ws1.json` is atol = rtol = 1e-4 for float32 +and atol = 5e-2, rtol = 2e-2 for bfloat16. + +| | max\|diff\| out | max\|diff\| state | +|---|---|---| +| fp32 state | ≤ 1e-3 | ≤ 1e-5 | +| bf16 state | ≤ 1e-3 | ≤ 5e-3 | + +Measured values for the same inputs, from `tools/validation/models/ws1_gdn_provider_agreement.py` on +B200 at commit `acf38b6` (clean checkout). The last column counts output elements +whose bits differ: + +| state | B | max\|diff\| out | max\|diff\| state | out elements differing | +|---|---|---|---|---| +| fp32 | 1 | 1.49e-08 | 1.19e-07 | 1 / 4096 | +| fp32 | 4 | 9.54e-07 | 1.79e-07 | 2 / 16384 | +| fp32 | 17 | 3.81e-06 | 2.38e-07 | 10 / 69632 | +| fp32 | 64 | 6.10e-05 | 2.98e-07 | 40 / 262144 | +| bf16 | 1 | 3.73e-09 | 9.77e-04 | 2 / 4096 | +| bf16 | 4 | 1.53e-05 | 9.77e-04 | 2 / 16384 | +| bf16 | 17 | 3.05e-05 | 1.95e-03 | 14 / 69632 | +| bf16 | 64 | 3.05e-05 | 1.95e-03 | 36 / 262144 | + +This reproduces the figures an earlier version of this note quoted without a runner +(out 1.5e-08 .. 6.1e-05 and state ≤ 3.0e-07 for fp32; out 3.7e-09 .. 3.1e-05 and +state ≤ 2.0e-03 for bf16). It is one seed per batch on one device. + +Causal conv uses sequential FP32 accumulation **starting from bias**, with +products first rounded to the operand dtype (golden `causal_conv1d.py:167-177`; +the provider initialises from bias at vLLM `causal_conv1d.py:960-967`, `1000`). The +previous BF16 path incorrectly promoted both operands to FP32; its disagreements +were not limited to one BF16 ULP. The CPU tests in `tests/models/qwen3_next/test_gdn_state_contract.py` +cover bias order and bf16 product rounding, and +`test_conv_provider_preserves_bf16_product_cancellation` checks the provider on a +constructed cancellation input. Provider comparisons limit mismatches to 32 elements +on the checked fixtures (a regression bound, not gate evidence). This is not a bitwise claim. + +Measured with the same runner and commit: the rolled conv state is bitwise equal in +all 8 (batch, cache dtype) cases. Output elements differing, with an fp32 cache: +0 / 8192 (B=1), 0 / 32768 (B=4), 1 / 139264 (B=17, max|diff| 2.44e-04) and +5 / 524288 (B=64, max|diff| 3.91e-03). With a bf16 cache: 0 at B=1, 4 and 17, and +3 / 524288 at B=64 (max|diff| 1.56e-02). + +**Why a few fp32-cache outputs differ.** There are two mechanisms, both on the provider +side, and which one applies depends on the Triton specialization. Measured by +`tools/validation/models/ws1_gdn_provider_agreement.py` (`conv_silu`, `conv_noact_bf16`) on B200 at commit +`bb89750`: + +*With SiLU -- Qwen3-Next's configuration and the check file's -- the activation's +implementation.* + +- With the activation off and the output kept in fp32, provider and golden agree bitwise + on every element at B = 1, 4, 17 and 64: the cast to the cache dtype, the bias start, + the product rounding and the tap order all match. +- Both sides compute `acc / (1 + exp(-acc))` (vLLM `causal_conv1d.py:1085`), but Triton + lowers the exp and the fp32 division to `ex2.approx` and `div.full.f32`, while the + golden's PyTorch result equals the same expression with `libdevice.exp` and IEEE + division (`div_rn`). Applying Triton's `x / (1 + tl.exp(-x))` to the golden's + pre-activation values reproduces the provider's fp32 output bitwise; replacing only the + exp, or only the division, reproduces neither side. +- In fp32 about 38% of outputs differ: 86% of those by 1 ULP, 12% by 2, 3% by 3 or 4, + 0.2% by more. Only values on opposite sides of a bf16 rounding midpoint survive the bf16 + store: 0, 0, 1 and 5 elements, each one bf16 ULP apart. +- FP contraction plays no part on this path. These specializations compute the tap + products as packed `mul.f32x2` with separate adds and contain no `FFMA`; recompiling + with `TRITON_DEFAULT_FP_FUSION=0` leaves every count unchanged. + +*Without an activation and with a bf16 output -- FP contraction.* + +- With fusion at its default, this specialization contracts each tap's multiply-add + (`fma.rn.f32x2` in the PTX, `FFMA` in the SASS). Its fp32-output twin computes the same + values (the provider casts x to the fp32 cache dtype first) but is not contracted, and + matches the golden bitwise. +- The bf16 outputs differ in 1, 0, 4 and 14 elements (max |diff| 3.9e-3). 18 of the 19 + have |out| < 0.11, where the taps nearly cancel; there the gap can span several bf16 + ULPs (up to 96 at |out| ≈ 2.4e-7) while staying at most 2.4e-7 in absolute terms. +- With `TRITON_DEFAULT_FP_FUSION=0` this specialization compiles to separate multiplies + and adds, and the mismatches drop to 0. The golden is self-consistent across output + dtypes. Qwen3-Next's conv applies SiLU, so this specialization is not on its decode + path. + +*Open:* the recurrent provider computes `exp(g)` and `sigmoid(b)` with Triton (`tl.exp` +via the vendored FLA `op.py`), the golden with PyTorch; the same kind of difference may +account for part of the recurrent output mismatches in the table above. Not +investigated. + +## 5. Decode versus chunked prefill + +The earlier 1024-step drift and prefill tables did not have a checked-in runner; +they are withdrawn as acceptance evidence. The existing 128-step synthetic test +only bounds its fixed seed and gate inputs. It does not establish a universal +plateau, prefill/decode equality, or any bound on model logits. + +**Mixed decode-and-prefill steps (provider side).** The goldens target the +decode-only path (§1). In a step that also holds a prefill, vLLM 0.30.0 sends the +cached decode rows through `causal_conv1d_fn` and +`fused_sigmoid_gating_delta_rule_update` instead, so in those steps the recurrent +golden does not target what rollout runs. + +*The numbers in the rest of this subsection are a reported observation with no +checked-in runner in this repository. By the same rule that withdrew the tables above, +they are not acceptance evidence.* + +A measurement on B200 drove the real `GDNAttentionMetadataBuilder.build()` and +`_forward_core` of **one standalone layer** built from the checkpoint's +`config.json`. Its limits: parameters and cache were synthetic (no weights loaded); it +ran in a single process, with no engine, scheduler or CUDA graph; and the test, not the +scheduler, built the attention metadata (decode rows first). For one target decode +request with an fp32 recurrent state, three prefill-bearing step compositions gave +identical numbers: + +| head counts | step's bf16 output | fp32 state | +|---|---|---| +| TP1 (H=16, HV=32) | matched | 75,146 of 524,288 elements differ (8.8e-08 relative) | +| TP4 per-rank (H=4, HV=8) | 1 element differs (4.8e-05 relative) | 32,663 of 131,072 differ (1.7e-07) | + +The convolution output and conv state matched bitwise in every composition, so the +difference comes from the recurrent kernels, not from `causal_conv1d_fn`. At TP1 the +state difference reached a bf16 output within the next 16 plain decode steps in 4 of +20 seeds; that was measured at TP1 only, and with synthetic parameters the frequency +does not carry over to real weights. At TP4 per-rank head counts it appears in the +same step's output. This is a provider-side batch-composition dependence: whether a +prefill shares the step changes a decode row's state, and at TP4 per-rank head counts +its output too, which no golden can fix. The measurement was made outside this change +and is not yet published. + +vllm-project/vllm#49827, open and unmerged, routes mixed-step *recurrent* decodes +through the packed kernel too. Its two commits, applied to 0.30.0, closed the gap to 0 +at both head counts above; its scheduler part was not tested. It does not change the +conv path in mixed steps, which stays `causal_conv1d_fn`, and its own validation is on +Qwen3.5 (non-interleaved), H100, TP1. Disabling +`VLLM_ENABLE_FLA_PACKED_RECURRENT_DECODE` instead sends every non-speculative decode +row through `fused_sigmoid_gating_delta_rule_update`; the same measurement found the +decode row's output and state bitwise equal in every step composition in that +configuration, and the recurrent golden's target would then have to change. + +The strict profile uses FP32 recurrent state. BF16 state remains a differential +experiment. Full checkpoint prefill, response replay, optimizer updates and +reload all remain required before L2 can pass. + +Cache indices must be int32/int64, on the input device, and positive active +indices must be unique and in range. Nonpositive sentinels may repeat. The golden +validates before any cache update. Raw provider calls remain the caller's +responsibility: neither provider checks index values. `causal_conv1d_update`'s +`validate_data=True` adds only shape and stride asserts and a +`null_block_id is not None` assert (vLLM `causal_conv1d.py:1151-1153`, `1188-1201`), +so an out-of-range index is an unchecked memory access in either mode (read from +the source, not exercised). + +## 6. Current boundary + +Not covered, with reasons: + +| deferred | why | +|---|---| +| Speculative decode / MTP | RFC #428 §2.2 excludes speculative decoding from the first claim. Qwen3-Next's MTP head ships in the checkpoint (`mtp.*`, loaded by `model_executor/models/qwen3_next_mtp.py`) and is full attention (`qwen3_next_mtp.py:90-92`). Enabling it changes the target model's GDN path in steps that carry draft tokens (§1); `fused_gdn_decode_post_conv_mtp` is unreachable for Qwen3-Next | +| Backward for the recurrent step | RFC #428 §2.2 item 4: backward need not match rollout, only be correct for the replayed forward. RFC §9.1 makes it a separate work item, **RFC #428 C7** (GDN backward/recompute adapter including prompt-state gradient). `supports_backward=false` here; `_softplus`'s NaN-gradient fix (`08969ac`) adds no backward claim | +| Provider bridge / registry entry | the golden should survive a drift sweep against a real checkpoint first | +| Paged block allocation policy | the ABI is mirrored; the allocator is not modelled | +| TP sharding of `A_log` / `dt_bias` | single card only | +| ROCm / Ascend | CUDA first, per the WS1 order | + +`runtime_verified=false` (no checkpoint), `supports_backward=false`, +`checkpoint=absent`. Op-level agreement says nothing about 48 composed layers. + +## 7. Accepted execution boundaries + +Use a shared, explicitly pinned vLLM-compatible forward provider on both sides, +with independent VIME recomputation. Disable MTP and prefix reuse. Keep FP32 +recurrent state for strict acceptance; BF16 is experimental. Require bitwise +logits/logprobs at a common topology, at least two real optimizer updates, weight +synchronization and checkpoint reload. No operator-level test closes these gates. + +The 2026-09-30 real-checkpoint startup attempt with vLLM 0.30.0 failed before +inference: `VLLM batch_invariant mode is not supported for GDN_ATTN`. A shared +provider integration must resolve this; disabling the check is not L2 evidence. *This +failure is a reported observation: the attempt's log and launcher are not checked into +this repository, so it is not acceptance evidence either.* diff --git a/docs/operators/README.md b/docs/operators/README.md index 00f4cbb45..be74cb6d0 100644 --- a/docs/operators/README.md +++ b/docs/operators/README.md @@ -32,4 +32,7 @@ Every operator page should include: - [Matmul](matmul.md) - [Sampling](sampling.md) - [Token Embedding](embedding.md) +- [Qwen3-Next RMSNorm (zero-centred)](qwen3-next-rms-norm.md) +- [Qwen3-Next Gated RMSNorm](qwen3-next-rms-norm-gated.md) +- [Qwen3-Next MoE route / combine](qwen3-next-moe-route-combine.md) - [Operator Doc Template](../contributing/operator-doc-template.md) diff --git a/docs/operators/attention.md b/docs/operators/attention.md index 52f8517ea..be71c7e7e 100644 --- a/docs/operators/attention.md +++ b/docs/operators/attention.md @@ -265,7 +265,7 @@ for measured peak memory at representative shapes. ## Known Limitations -- First version: `D=128` only (Qwen3-8B alignment). +- Head dim: `D=128` (Qwen3-8B) on CUDA and ROCm; `D=256` (Qwen3-Next full attention) on CUDA only. - Supported dtypes: BF16, FP16. - Full materialization of scores/P limits practical sequence length. - `Hq` must be divisible by `Hkv` (raises `ValueError` otherwise). diff --git a/docs/operators/qwen3-next-moe-route-combine.md b/docs/operators/qwen3-next-moe-route-combine.md new file mode 100644 index 000000000..07804b8bc --- /dev/null +++ b/docs/operators/qwen3-next-moe-route-combine.md @@ -0,0 +1,146 @@ +# Qwen3-Next MoE route / combine contract + +## Summary + +Qwen3-Next's sparse MoE block routes every token to 10 of 512 experts (expert +width 512, TP4-local width 128) and adds a gated shared expert. RFC #428 row +`moe_route_combine_contract` asks for a routed MoE whose output for a token is a +pure function of that token: the same bits whatever else is in the batch, in +training replay and in rollout. This page states the contract and how +`rl_engine.models.qwen3_next.qwen3_next_forward.shared_moe` meets it. + +Upstream references: `transformers` `Qwen3NextSparseMoeBlock` (5.17.0) and vLLM +0.30.0 `fused_topk` + `fused_experts`. + +## Entry Point + +```python +from rl_engine.models.qwen3_next.qwen3_next_forward import shared_moe, stable_top10_routes +from rl_engine.models.qwen3_next.qwen3_next_tp_blocks import TP4MoE + +routed, routes = shared_moe(x, router_weight, gate_up, down) # TP-local, not reduced +block = TP4MoE(group=tp_group, device="cuda") # routed + shared, reduced +block.load_hf_weights(hf_layer_mlp_weights) +y = block(hidden) +``` + +`TRITON_F32_DEFAULT=ieee` must be set before the process starts: the FP32 router +GEMM refuses to run on TF32 Triton dots. + +## Contract + +| Stage | Order and dtype | Atomics | +| --- | --- | --- | +| Router | BF16 `x`, `W` upcast to FP32; one pinned vLLM batch-invariant GEMM (IEEE FP32) | none | +| Softmax | max subtraction, `exp`, row sum by a fixed pairwise tree (`fixed_order_row_sum`) | none | +| Selection | `argsort(logits, descending, stable)[:, :10]`: score descending, equal scores to the lower expert id | none | +| Weights | the ten selected FP32 probabilities divided by their fixed-tree sum | none | +| Experts | per (token, route) row: `gate_up` GEMM (BF16 in, FP32 accumulate, BF16 out), SwiGLU in FP32, BF16 cast, `down` GEMM | none: one writer per row | +| Combine | `out = e0*w0`, then `out += e_k*w_k` for k = 1..9 in route order, FP32; one BF16 cast | none | +| Shared expert (TP4 block) | `routed + shared * sigmoid(gate)` in BF16, then one TP all-reduce | collective as configured | + +Payload dtype between stages: BF16 expert outputs, FP32 route weights, BF16 +block output. The expert GEMMs are vLLM 0.30.0's `fused_moe` Triton kernel with +the tile vLLM itself uses under `VLLM_BATCH_INVARIANT=1` +(`BLOCK_SIZE_M/N/K = 64/64/32`, `GROUP_SIZE_M = 8`, `SPLIT_K = 1`), passed +explicitly so no environment variable, tuned-config file or token count can +change it. The routed weight is *not* multiplied inside the kernel and the +kernel does not sum over routes; that stays in the combine above. + +Fail-closed checks: CUDA tensors only (no CPU fallback, no ROCm), BF16 weights of +the exact `[512, 2*I, H]` / `[512, H, I]` shapes, finite FP32 router logits, +vLLM exactly 0.30.0, `VLLM_TRITON_USE_TD` off (the tensor-descriptor path is a +different instruction stream), and IEEE Triton FP32. + +### Backward + +`_RoutedExperts.backward` recomputes the `[gate, up]` projection with the same +grouped kernel, then visits experts in ascending id. Each expert's `dgate_up` +and `ddown` slice is one pinned GEMM written once into a dense buffer; `dx` is +accumulated per token in ascending expert order (a token's ten experts are +distinct, so each launch has unique rows). Router-weight gradients flow through +the selected probabilities; the indices are discrete. + +## Reuse decision + +| Implementation | Routes BI | Output BI | Backward | Why not reused as is | +| --- | --- | --- | --- | --- | +| vLLM `fused_topk` + `fused_experts`, `VLLM_BATCH_INVARIANT=0` | no | no | none | tuned configs and the BF16 router GEMM depend on the token count | +| vLLM, `VLLM_BATCH_INVARIANT=1` | yes | yes | none | no VJP for training; BF16 router logits (Qwen3-Next and VIME route in FP32); routed weight applied in the expert GEMM epilogue on the BF16 output, then routes summed by `moe_sum` | +| HF `Qwen3NextExperts` (eager) | yes | yes | autograd | `dx`/`dW` change with batch size (cuBLAS shape heuristics); BF16 router; `index_add_` combine in BF16 | +| FlashInfer `cutlass_fused_moe` | (torch routing) | no | none | output changes with batch size; no VJP | +| Megatron-core 0.16 `MoELayer` + TE 2.16 grouped GEMM, as VIME configures Qwen3-Next | no (256+) | no (1024) | autograd, not BI | FP32 router routes like FP64, but the routing, output, dx and dW change with batch size | +| SGLang 0.5.21 Triton `fused_moe`, default | no (256+) | no (256+) | none | tuned configs and the BF16 router GEMM depend on the token count | +| SGLang, deterministic inference | yes | yes | none | inference only; BF16 router logits; its deterministic tile (64/64/32) is the one vLLM uses in batch-invariant mode | + +What RL-Kernel reuses: vLLM's batch-invariant GEMM for the router and the +backward, and vLLM's `fused_moe` Triton kernel for the forward expert GEMMs, +which is batch-invariant per route at the fixed tile. What it implements: the +FP32 fixed-order routing, the stable tie rule, the atomic-free FP32 combine, the +deterministic backward and the TP4 boundaries. The grouped kernel's per-route +output is bitwise equal to the per-expert pinned GEMM loop it replaced +(`tests/models/qwen3_next/check_qwen3_next_forward.py::test_grouped_*`), so this is a speed change +with no change in bits. + +## Results + +Measured on B200 with `tools/validation/models/qwen3_next_moe_prior_art.py` and the TP4 gate +`tools/validation/models/qwen3_next_tp_moe_check.py`; the reports, the figure and the exact +commands are in +[`docs/usage/evidence/qwen3-next-moe-route-b200/`](../usage/evidence/qwen3-next-moe-route-b200/README.md). + +![Qwen3-Next routed MoE prior art](../usage/evidence/qwen3-next-moe-route-b200/figure.png) + +TP1 shape (H=2048, 512 experts, top-10, width 512), random weights, BF16: + +| | routes / output BI (16-1024 tokens) | dx / dW BI | rel. L2 vs FP64 | tokens routed unlike FP64 (of 256) | forward, 1 / 64 / 1024 / 4096 tokens (ms) | fwd + bwd, 64 / 1024 (ms) | +| --- | --- | --- | --- | --- | --- | --- | +| **RL-Kernel `shared_moe`** | **yes / yes** | **yes / yes** | **3.9e-3** | **0** | 1.39 / 1.69 / 2.04 / 3.05 | 114 / 169 | +| Megatron-core + TE (VIME config) | no / no | no / no (1024) | 4.6e-3 | 0 | 3.8 / 9.7 / 11.7 / 12.1 | 45 / 51 | +| vLLM BI=1 | yes / yes | no backward | 7.0e-2 | 11 | 0.39 / 0.66 / 0.87 / 1.05 | - | +| SGLang deterministic | yes / yes | no backward | 7.0e-2 | 11 | 0.35 / 0.66 / 0.84 / 1.37 | - | +| vLLM BI=0 | no / no | no backward | 7.0e-2 | 11 | 0.38 / 0.66 / 0.87 / 1.06 | - | +| SGLang default | no / no | no backward | 7.0e-2 | 11 | 0.34 / 0.61 / 0.83 / 1.35 | - | +| FlashInfer CUTLASS | no / no | no backward | 7.0e-2 | 11 | 0.37 / 0.72 / 0.90 / 1.12 | - | +| HF eager | yes / yes | no / no (1024) | 7.0e-2 | 11 | 2.1 / 62 / 89 / 87 | 877 / 1284 | + +* The accuracy gap is the router: every candidate with BF16 router logits sends + 11 of 256 tokens to a different expert set than FP64 routing does. RL-Kernel + and Megatron-core (VIME's training path) route in FP32 and select the same + experts as FP64. +* The only batch-invariant candidates are RL-Kernel and the inference-only + modes of vLLM and SGLang; of these, only RL-Kernel has a backward, so only it + can run the same forward on the training and the rollout side. +* RL-Kernel's forward is 2-4x slower than vLLM's. About 0.5 ms of it, at any + token count, is the FP32 IEEE router GEMM, which is part of the contract. + The expert GEMMs themselves run in vLLM's kernel. The per-expert GEMM loop + they replace (same bits) took 47 / 66 / 71 ms at 64 / 1024 / 4096 tokens in + a local B200 run of the same runner; that run is not part of this evidence. +* The backward is still a per-expert loop of pinned GEMMs (512 experts x 4 + GEMMs): 169 ms at 1024 tokens, against 51 ms for Megatron-core + TE, which is + not batch-invariant. It dominates a training step's MoE time. + +TP4 gate on the real layer-0 weights (`tp4-moe/rank-*.json`): all twelve cases +pass on all four ranks, including the round trip of all 512 experts, identical +routes on every rank, full == chunked and reordered batches at 8-1024 tokens, +and identical replicated router gradients. The TP4 block forward (routed + +shared expert + all-reduce) takes 1.9-2.4 ms at 8-1024 tokens. + +## Tests + +| File | Device | Covers | +| --- | --- | --- | +| `tests/models/qwen3_next/test_qwen3_next_forward_contract.py` | CPU | CPU rejection, vLLM pin, fixed-order sum/softmax row independence | +| `tests/models/qwen3_next/test_qwen3_next_tp_blocks.py` | CPU | HF shard/assemble round trips, replica drift rejection, TP4 parameter ownership | +| `tests/validation/common/test_tensor_identity.py` | CPU | raw-bit identity (signed zero, NaN/Inf, dtype) | +| `tests/models/qwen3_next/check_qwen3_next_forward.py` | CUDA + vLLM | GEMM batch/chunk/reorder, route ties, combine order, MoE VJP vs FP64, route and output batch invariance, grouped == per-expert bitwise, fail-closed TD path | +| `tools/validation/models/qwen3_next_tp_moe_check.py` | 4 x CUDA | real layer-0 weights: HF round trip, replicated routes, chunk/reorder, training forward, gradients | + +The `check_` file imports vLLM, so it runs in the `Qwen3-Next-provider-GPU` +workflow rather than the default collection. + +## Scope + +TP4 with EP1 (all 512 experts on every rank) on CUDA B200. ROCm, EP > 1 and +other TP sizes are separate claims. Model-level parity uses this block but is +the `full_model_chain` row. diff --git a/docs/operators/qwen3-next-rms-norm-gated.md b/docs/operators/qwen3-next-rms-norm-gated.md new file mode 100644 index 000000000..217fa45ed --- /dev/null +++ b/docs/operators/qwen3-next-rms-norm-gated.md @@ -0,0 +1,164 @@ +# Qwen3-Next Gated RMSNorm + +## Summary + +The norm inside Qwen3-Next's Gated DeltaNet block: + +``` +out = x * rstd * weight * silu(gate) +``` + +It is a different operator from the decoder norm, not a variant of it: the weight is +plain rather than zero-centred (upstream initializes it to ones), it takes a second +input tensor, and — critically — `transformers` and vLLM disagree about where the +weight multiply happens. See [Qwen3-Next RMSNorm](qwen3-next-rms-norm.md) for the +decoder-norm convention. + +Added for RFC #428 C1 on the Qwen3-Next rollout-vs-replay path. + +## Entry Point + +```python +from rl_engine.reference.norm.qwen3_next_rms_norm import ( + Qwen3NextRMSNormGatedOp, # strict / vLLM convention + Qwen3NextRMSNormGatedHFOp, # transformers convention, kept as a witness +) +from rl_engine.backends.cuda.norm.rmsnorm import ( + Qwen3NextRMSNormGatedCudaOp, + rmsnorm_gated_cuda, +) + +y = Qwen3NextRMSNormGatedCudaOp().forward(x, weight, gate, eps=1e-6) +y = Qwen3NextRMSNormGatedCudaOp(activation="sigmoid").forward(x, weight, gate, eps=1e-6) +y = rmsnorm_gated_cuda(x, weight, gate, eps=1e-6, activation="sigmoid") +``` + +## Backends + +| Backend | Wrapper | Native symbol | Status | +| --- | --- | --- | --- | +| CUDA | `Qwen3NextRMSNormGatedCudaOp` | `rl_engine._C.rmsnorm_gated_forward` | Supported | +| ROCm | — | — | Not implemented | +| PyTorch fallback | `Qwen3NextRMSNormGatedOp` | — | Supported (WS1 gold) | + +The CUDA op is deliberately **not** a subclass of `RMSNormCudaOp`: it takes an extra +required tensor, so it cannot stand in for one. + +## Tensor Contract + +| Argument | Shape | Dtype | Requirements | +| --- | --- | --- | --- | +| `x` | `[..., H]` | fp32 / bf16 / fp16 | H > 0; wrapper makes contiguous copies | +| `weight` | `[H]` | matches `x` or fp32 | plain, NOT zero-centred | +| `gate` | same as `x` | same as `x` | shape, dtype and device must match before flattening | +| `eps` | scalar | float | `1e-6` for Qwen3-Next | +| `activation` | — | `"silu"`/`"swish"`/`"sigmoid"` | constructor argument; `"swish"` is an alias for `"silu"`, as in vLLM; anything else is rejected | + +All tensors must share a device. Low-level CUDA bindings require contiguous +2-D inputs, and validate backward gradient dtype and FP32 statistics. Empty +batches are supported by the bindings. + +Only `norm_before_gate=True` and `group_size=None` are implemented — the +configuration vLLM's GDN block constructs. The op has no parameter for either, so +other configurations are not implemented rather than rejected at runtime. + +## Dispatch Behavior + +Registered as `rms_norm_gated`. CUDA prefers the kernel; every other platform +resolves to the PyTorch reference. `__init__` validates the compiled symbols, so on a +build without the extension the registry falls through instead of returning an op +that raises at call time. + +## Accuracy + +Claim levels: + +- **L1** for `Qwen3NextRMSNormGatedCudaOp`: prefix slices in + `tests/models/qwen3_next/test_qwen3_next_norm.py`, and batch size, chunking, padding and permutation + in the C3/C4 gates (`ci/scripts/run_ws1_gtest.sh`). +- **L0** is not separately tested for the CUDA op; no test repeats it. +- L2 is not claimed. + +Accuracy tests resolve their tolerances from `tolerance_contract.json` +(`forward_accuracy`, `reduction` × dtype). The bounds in +`tests/models/qwen3_next/check_qwen3_next_norm_providers.py` are provider-gap bounds, not contract +thresholds. + +`transformers` casts the normalized value back to the input dtype *before* the weight +multiply; vLLM keeps it in fp32. `Qwen3NextRMSNormGatedOp` follows vLLM and +`Qwen3NextRMSNormGatedHFOp` keeps the transformers convention as a witness. +`test_gated_conventions_diverge_in_low_precision` asserts that the two differ in bf16 +(by more than `1e-3`) and agree bitwise in fp32. One earlier measurement, with no +committed script, found them differing on 35% of elements with `max|diff| = 6.25e-2` +(one seed, B200, bf16, `head_v_dim=128`, 512 rows, direct eager calls). That is a +one-off observation, not an assertion. Which convention the strict profile should use +is an open question for RFC #428. + +"Bitwise equal to vLLM" is undefined until a provider is named. Over 40 seeds (bf16, +`head_v_dim=128`, 512 rows, B200), vLLM's eager `forward_native` and `forward_cuda` +disagreed on 21, worst `1.56e-2`; in fp32 they stay within the asserted `1e-5`. These +figures come from `tests/models/qwen3_next/check_qwen3_next_norm_providers.py`, which imports real vLLM +and must be run explicitly. The PyTorch reference reproduces the convention, not +vLLM's reduction tree. + +`rstd` is bitwise identical to the ungated kernel's for the same `x`, asserted over +fp32/fp16/bf16 × H ∈ {128, 2048, 5120} × {silu, sigmoid} × offset ∈ {0, 1}, so a gate +leaking into the statistic would fail. + +Backward is assembled from deterministic pieces: `dx` from a row-local kernel, +`dweight` from fp32 row contributions reduced by the ascending-row left fold, and +`dgate` elementwise in fp32 with no reduction. + +## Performance Notes + +Reuses the existing `block_reduce_sum` / `choose_threads(H)` reduction, so the gate +costs one extra load and one fp32 multiply per element. + +```bash +python tools/validation/operators/check_operator.py --op rms_norm_gated --candidate cuda \ + --device cuda --dtype bf16 --check-grad +``` + +## Evidence + +![gated RMSNorm vs existing implementations on B200](../usage/evidence/qwen3-next-rms-norm-gated-b200/figure-gated_rmsnorm.png) + +[`report.json`](../usage/evidence/qwen3-next-rms-norm-gated-b200/report.json) was written by +`tools/validation/models/qwen3_next_norm_evidence.py` from a clean tree at `822b085`, on an otherwise idle +B200 (torch 2.13.0+cu130, transformers 5.17.0, vLLM 0.30.0). Head dim 128, BF16; the FP64 +golden uses vLLM's convention. The same report re-measures the zero-centred op +([figure](../usage/evidence/qwen3-next-rms-norm-gated-b200/figure-zero_centred_rmsnorm.png)). + +| | rl-kernel CUDA | PyTorch reference | transformers (cast-first) | vLLM `RMSNormGated`* | +|---|---|---|---|---| +| rows differing alone vs in a batch, forward / `dx`,`dgate` (of 768) | **0 / 0** | 0 / 0 | 0 / 0 | 0 / n/a | +| forward elements correctly rounded vs the golden | **99.999%** | 99.999% | 65.6% | 99.999% | +| forward, 262144 rows | 235 µs | 774 µs | 697 µs | **81 µs** | +| backward, 262144 rows | 114 ms | **1.4 ms** | 1.5 ms | n/a | + +\* forward only, no backward. + +- **Every implementation is row-invariant** for this op. +- **transformers computes a different function:** it casts to BF16 before the weight + multiply, so 34% of its forward elements differ from vLLM's convention, and its gradients + are about twice as far from the golden. +- **The backward is about 75× slower than transformers at 262144 rows**, for the same reason + as the zero-centred op: `dweight` (128 columns here) is folded over the rows in ascending + order, one thread per column, so that it meets the gradient-invariance contract's + singleton-aggregate check bitwise. + +## Tests + +```bash +python -m pytest tests/models/qwen3_next/test_qwen3_next_norm.py -v +# imports real vLLM, so it is not collected by default: +python -m pytest tests/models/qwen3_next/check_qwen3_next_norm_providers.py -v +``` + +## Known Limitations + +- CUDA only; no ROCm, Ascend or Triton backend. +- `norm_before_gate=False` and grouped norms are not implemented. +- Not bitwise against either vLLM path (see Accuracy). +- Measured on sm_100 (B200); RFC #428 §2.2 forbids carrying the claim across + H100/H200/B100/B200. diff --git a/docs/operators/qwen3-next-rms-norm.md b/docs/operators/qwen3-next-rms-norm.md new file mode 100644 index 000000000..2fbd8baa5 --- /dev/null +++ b/docs/operators/qwen3-next-rms-norm.md @@ -0,0 +1,145 @@ +# Qwen3-Next RMSNorm (zero-centred) + +## Summary + +Qwen3-Next's decoder and final norms store a **zero-centred** weight and compute +`x * rstd * (1 + w)` rather than `x * rstd * w`. The `1 +` is applied in fp32, +after the upcast — folding it into a low-precision weight beforehand rounds the +offset away and silently breaks any bitwise claim. + +This operator exists for RFC #428 C1 (Embedding / RMSNorm / residual / final norm +exactness) on the Qwen3-Next rollout-vs-replay path. The Gated DeltaNet block uses +a *different* weight convention and a different cast order; see +[Gated RMSNorm](qwen3-next-rms-norm-gated.md). + +Upstream references: `transformers` `Qwen3NextRMSNorm`, and vLLM's `GemmaRMSNorm`, +which `vllm/model_executor/models/qwen3_next.py` aliases as `Qwen3NextRMSNorm`. + +## Entry Point + +```python +from rl_engine.reference.norm.qwen3_next_rms_norm import Qwen3NextRMSNormOp +from rl_engine.backends.cuda.norm.rmsnorm import Qwen3NextRMSNormCudaOp, rmsnorm_cuda + +y = Qwen3NextRMSNormOp().forward(x, weight, eps=1e-6) # reference +y = Qwen3NextRMSNormCudaOp().forward(x, weight, eps=1e-6) # CUDA + +# The offset is a kernel parameter, not a pre-pass: +y = rmsnorm_cuda(x, weight, eps=1e-6, weight_offset=1.0) +``` + +## Backends + +| Backend | Wrapper | Native symbol | Status | +| --- | --- | --- | --- | +| CUDA | `Qwen3NextRMSNormCudaOp` | `rl_engine._C.rmsnorm_forward` (`weight_offset=1.0`) | Supported | +| ROCm | — | — | Not implemented | +| PyTorch fallback | `Qwen3NextRMSNormOp` | — | Supported (WS1 gold) | + +`Qwen3NextRMSNormOp` subclasses `NativeRMSNormOp` and overrides only +`weight_offset`; the base applies it in fp32. + +## Tensor Contract + +| Argument | Shape | Dtype | Requirements | +| --- | --- | --- | --- | +| `x` | `[..., H]` | fp32 / bf16 / fp16 | CUDA path requires contiguous | +| `weight` | `[H]` | matches `x` | zero-centred (upstream inits to zeros) | +| `eps` | scalar | float | inside the sqrt; `1e-6` for Qwen3-Next | + +## Dispatch Behavior + +Registered as the `qwen3_next_rms_norm` gtest operator. On CUDA the registry +prefers `Qwen3NextRMSNormCudaOp`; every other platform resolves to the PyTorch +reference. The CUDA op validates the compiled symbols in `__init__`, so on a build +without the extension construction raises and the registry falls through to the +reference rather than handing out an op that fails at call time. + +## Accuracy + +Claim levels: + +- **L1** (prefix-slice and concurrency) for `Qwen3NextRMSNormCudaOp`; padding, + packing and order are not tested for the CUDA op. +- **L1** (slice, concurrency and padding) for `Qwen3NextRMSNormOp`. +- **L0** for `Qwen3NextRMSNormOp` only (CPU, fp32); no test repeats the CUDA op. +- L2 is not claimed. + +The PyTorch reference uses the repo's fixed 32-wide chunked sum +(`shape_invariant_rstd`, introduced in `8ed1693` as a device-agnostic reference). +On B200, over 20 seeds at `H=2048` in bf16, a plain `mean(-1)` broke slice +invariance on 1 of 20 seeds (slices `x[3:5]` and `x[:1]` of 64 rows; which one +failed was not recorded), and the chunked reduction broke on none. That is a recorded +observation, not an assertion. + +The CUDA kernel has its own fixed-order reduction (per-thread strided partial sums, +then `block_reduce_sum`). It is not bitwise equal to the PyTorch reference. + +Neither is bitwise equal to vLLM. In one-off probes (not committed checks), the +reference differed from every vLLM path tried (eager, inductor-compiled, and eager +under `VLLM_BATCH_INVARIANT=1`) on 36–39 of 40 seeds, `max|diff| <= 1.56e-2` +(bf16, `H=2048`, 512 rows). The difference is attributed to reduction order, but that +has not been isolated. Only the no-residual call was compared; vLLM's +`fused_add_rms_norm` path (every decoder norm except layer 0's input norm) has no +reference here. + +The in-kernel offset is exact, not an approximation: `weight_offset=1.0` is bitwise +equal to passing an explicit fp32 `1 + w` weight, and differs from a bf16-folded +`1 + w`, both asserted. + +Accuracy tests resolve their tolerances from `tolerance_contract.json` +(`forward_accuracy`, `reduction` × dtype). The bounds in +`tests/models/qwen3_next/check_qwen3_next_norm_providers.py` are provider-gap bounds, not contract +thresholds. + +## Performance Notes + +The CUDA path reuses the existing `rmsnorm_fwd_kernel` reduction +(`block_reduce_sum` over `choose_threads(H)`), so the offset costs one fp32 add per +element and no extra memory traffic. + +## Evidence + +![zero-centred RMSNorm vs existing implementations on B200](../usage/evidence/qwen3-next-rms-norm-b200/figure.png) + +[`report.json`](../usage/evidence/qwen3-next-rms-norm-b200/report.json) was written by +`tools/validation/models/qwen3_next_norm_evidence.py` from a clean tree at `3d0bae7`, on an otherwise idle +B200 (torch 2.13.0+cu130, transformers 5.17.0, vLLM 0.30.0, FlashInfer 0.6.18). Hidden 2048, +BF16. + +| | rl-kernel CUDA | PyTorch reference | transformers | vLLM `GemmaRMSNorm`* | FlashInfer `gemma_rmsnorm`* | +|---|---|---|---|---|---| +| rows differing alone vs in a batch, forward / `dx` (of 768) | **0 / 0** | 0 / 12 | 2 / 11 | 2 / n/a | 0 / n/a | +| forward, 65536 rows | 425 µs | 2148 µs | 1449 µs | 1449 µs | **90 µs** | +| backward, 65536 rows | 30.9 ms | **3.0 ms** | 3.1 ms | n/a | n/a | + +\* forward only, no backward. + +- **Accuracy is the same for every implementation:** forward max error 1.56e-2 against the + FP64 golden (BF16 output rounding; 99.999% of elements correctly rounded), `dx` and + `dweight` within 2.8e-3 and 2.1e-3 of their maximum. +- **Row invariance:** only this op and FlashInfer give every row the same bits alone and in a + batch; FlashInfer has no backward. transformers and vLLM differ on 2 forward rows in 768. +- **The backward is about 10× slower than transformers at 65536 rows.** `dweight` is folded + over rows in ascending order by `reduce_rows_fp32_left_fold`, one thread per column, so + that the batch `dweight` equals the in-order sum of single-row contributions bitwise (the + gradient-invariance contract's singleton-aggregate check). That serial fold over rows is + the cost; a faster tree fold would not pass that check. + +## Tests + +```bash +python -m pytest tests/models/qwen3_next/test_qwen3_next_norm.py -v +python tools/validation/operators/check_operator.py --op qwen3_next_rms_norm --candidate cuda \ + --device cuda --dtype bf16 --check-grad +``` + +## Known Limitations + +- CUDA only; no ROCm, Ascend or Triton backend. +- Not bitwise against vLLM (see Accuracy). An L2 claim needs a single source of + truth for the forward on both sides, per RFC #428 §0 item 1. +- The gated pair (`Qwen3NextRMSNormGatedOp`, `Qwen3NextRMSNormGatedHFOp`) is + documented with its CUDA kernel on [Gated RMSNorm](qwen3-next-rms-norm-gated.md). +- Measured on sm_100 (B200). Per RFC #428 §2.2 no claim carries across + H100/H200/B100/B200. diff --git a/docs/usage/evidence/qwen3-next-chain-b200/README.md b/docs/usage/evidence/qwen3-next-chain-b200/README.md new file mode 100644 index 000000000..c46986e28 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/README.md @@ -0,0 +1,44 @@ +# Qwen3-Next full-model chain (B200) + +Measured at commit `c67ec14` (`measured-commit.txt`) from clean clones, one +stage after another on nodes with four B200 GPUs, in one environment +(`environment_sha256` `118384371a88…` in every `run.json`), on the official +`Qwen/Qwen3-Next-80B-A3B-Instruct` revision +`9c7f2fbe84465e40164a94cc16cd30b6999b0cc7`. Each stage was launched with the +launcher, `python tools/validation/models/qwen3_next_run.py --stage +--previous --runs-root --checkpoint +--cuda-home --python /bin/python` (see +`docs/usage/qwen3-next-chain.md`), and the reports were made with: + +```bash +python tools/validation/models/qwen3_next_chain_report.py --last /<...-train-...> --out chain-report.json +bash ci/scripts/run_qwen3_next_chain_gate.sh chain-report.json +python tools/validation/models/qwen3_next_publish_evidence.py --last /<...-train-...> \ + --chain-report chain-report.json --out docs/usage/evidence/qwen3-next-chain-b200 +``` + +| Directory | Stage | Result | +| --- | --- | --- | +| `preflight/` | operator gates, device guards, TP4 NCCL probe, checkpoint, rollout smoke | passed | +| `layers/` | per-layer TP4 contracts on real weights | passed | +| `l2/` | vLLM rollout vs VIME recompute, 16 cases, raw bits | passed, 16/16 | +| `train1/`, `train2/` | one RL update each, L2 on the updated weights | passed, 16/16 each | +| `train/` | checkpoint reload, L2 on the reloaded weights, continuous and resumed controls | passed, 16/16; reload == update 2 | +| `chain-report.json` | chain-gate report (`qwen3-next-chain-v1`, compatible with `ws1-c10-c11-v5`) | passed, 64 cells, `first_drift: null` | + +Commands use the current repository layout; at `c67ec14` these runners were +in `scripts/` and `ci/`. The stages ran the code of `c67ec14`; the copy in this directory was made by +the publisher of `3025497`, which only adds redaction rules (`redaction.json` +counts the placeholders) and changes no measured byte. `SHA256SUMS` covers +every file except this README and `figure.png`, which +`python tools/validation/models/plot_qwen3_next_chain.py docs/usage/evidence/qwen3-next-chain-b200` +draws from the published files. + +`train` was preempted and restarted several times. The training journal lets a +restarted run continue from its last durable step, and one restarted run reused +the final reload of an interrupted run; the chain report rejected it +(`Tensor artifact escaped its current attempt`). Before the run published here, +the journal's reload, continuous and resumed entries were retired, so this run +repeated all three itself; `train/reload.json` lists the retirements under +`recovery` (`repeat_final_reload_and_controls_in_fresh_train_run`). Updates 1 +and 2 are the ones `train1/` and `train2/` recorded in the journal. diff --git a/docs/usage/evidence/qwen3-next-chain-b200/SHA256SUMS b/docs/usage/evidence/qwen3-next-chain-b200/SHA256SUMS new file mode 100644 index 000000000..15115a6d3 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/SHA256SUMS @@ -0,0 +1,44 @@ +7dc93415fddc7563d6765ab623d43a63c76dd367b62eaf36d42ea59cf9ca9134 chain-report.json +44cac38375a7598919a6d00d3bcc1651d8da5b04be767d53dc9aa1694f817879 l2/environment.json +b3fdae63b71cd3aba8ff7377f0ac9c952603ed96b782519fee3981c222f155c5 l2/l2_matrix.json +dedb24b6ac2a01d37eb795a001376ca0b200a03e417f8131688aac67c19c2ebd l2/operators.json +256c03b084be2a675d0fa5e3c1e0358ab886f5cb9a9efde6b7d800fdef872929 l2/predecessor.json +c0de3b51184ddbc5d70b5daa29338262a1a89566b61b59a2d92f156ede1dcbd4 l2/provider_binary.json +3b1b55c213eb4d603ff8219f47e1f7d857e603d3cde9dbd20e8e83ebb3f83e64 l2/result.json +1bf5b07ef6214059f86570e575ee411debf5ca77fc6582179d99d8ba536543e7 l2/run.json +7ceb9dab2ce8c0a2551a970819f9f0adbb538f04c4124982458a42f997d7c934 layers/checkpoint.json +c216d22c95381ae9b29b79d13f2d8526ac7d226e344647de88df6813baa705b0 layers/environment.json +3ba9e95e849d354493a0761ad9f2d6b4c607794157333ed8f7dbd2577e4132ff layers/layers.json +dedb24b6ac2a01d37eb795a001376ca0b200a03e417f8131688aac67c19c2ebd layers/operators.json +b893cad3217c16e2ae22005c8028b5f9d55abf3430eb74f3569d4149700dcb27 layers/provider_binary.json +9721e5ce53f8184212ec64e91a952fed7d6ae8ab8a56c3d43a9852b622ebe002 layers/result.json +1a28f2c1d94b6d0986747d8f307ea8dc0ac8726bc664e862d662f97d3b28453c layers/run.json +9612782ae5dfd1da2f3988d60f36ba405d898f94c3851945ecf94917a572c202 measured-commit.txt +7ceb9dab2ce8c0a2551a970819f9f0adbb538f04c4124982458a42f997d7c934 preflight/checkpoint.json +1fad0394e524c3bb702bc866f495f746fdaf3465ae3a033cf18aaffb00e03f81 preflight/device_guards.xml +e3784f094ccc050f0b9168d6fd251638cab7def8732fc03bbc53de9f97a0ec62 preflight/environment.json +dedb24b6ac2a01d37eb795a001376ca0b200a03e417f8131688aac67c19c2ebd preflight/operators.json +bffe360300b86f54755fc18f9fcc8363c9a6368f5d0e8e78cd483867e35e8979 preflight/result.json +b27fdae3f96fc89c5246657c17f53cb2941c2f07214d2e3ec4aef317b8b4b927 preflight/rollout_smoke.json +e21d45657ad2a47bd7a5c0329e978cdef66bde6d730b5629d881bfa05d9fac9a preflight/run.json +94b8471a1b6c0c75c0af44a25f62b50d633bce4429a8f5de40cc7ab3ef721a9e preflight/tp4.json +2090609649a0cfca82e3cc823adfa97ab9f5d32f7aa11aabb0f5ce44c6a5098f redaction.json +80bc8407bbd00e1852df9c73346ee658efd645051fe3cfd7e97cbe5203382df7 train/environment.json +018ae2be601ebfce5bf5d43b952f23cd50d0987e3e8af1918ea173cf310a4bf9 train/l2_matrix.json +dedb24b6ac2a01d37eb795a001376ca0b200a03e417f8131688aac67c19c2ebd train/operators.json +91efc770eba238c07def9faac2f5138c3847e31fc14b781691b6243abf046678 train/reload.json +05a7c339793dd344734bdc7c2708ec87bbd71825eab2e2f7b745a89e8d241030 train/result.json +c0cf601dd79146b44256bfca0c00a96162f4b49a7d10aac67c92ede0fd47bdc8 train/run.json +91efc770eba238c07def9faac2f5138c3847e31fc14b781691b6243abf046678 train/updates.json +28cfd5043ba88280ccb85fd642920b995ef2888bc52d401a2431cb1e17131131 train1/environment.json +18ef0e29d8a3adc87e0482162c1ecfe33b58ac8a985b76505d91017b42d7b772 train1/l2_matrix.json +dedb24b6ac2a01d37eb795a001376ca0b200a03e417f8131688aac67c19c2ebd train1/operators.json +5fd653158cad11fcfb9b5424743e86c630aa32d7bc9d606bcf6888fa4e5710bd train1/result.json +44392b740187a454ccd99d89789b6708c73d1beaa59557d358a15f9edcd3e180 train1/run.json +369290bd5aa16cf358a5f22222140a961e6d8317934331ea9707e336f8307c44 train1/updates.json +b710aec83c12a1b6f5e889a78e378dc1331b436f55db37d794f0513599e3aea6 train2/environment.json +8e655ccd1b7d8e35d562c7386a53bd6bb80a7bd62fb8b19ad37308e53211d0fd train2/l2_matrix.json +dedb24b6ac2a01d37eb795a001376ca0b200a03e417f8131688aac67c19c2ebd train2/operators.json +4823c3ac8f2433cb6669914ba7ba775e693113480a623ee7a94f80c3c2deb82f train2/result.json +63b0930ae74cd467b200dc5acc17e62fe7e629bea0b035a7bb6377ef025cbdb9 train2/run.json +fb58d7c38d85e96e6d94fce46c24b2b5a8afcfe25b8399eb5f281d826c9ad4ae train2/updates.json diff --git a/docs/usage/evidence/qwen3-next-chain-b200/chain-report.json b/docs/usage/evidence/qwen3-next-chain-b200/chain-report.json new file mode 100644 index 000000000..729ecd2ac --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/chain-report.json @@ -0,0 +1,8083 @@ +{ + "accuracy": [], + "accuracy_aggregates": [], + "accuracy_executed": false, + "aggregates": { + "aggregates": { + "active_token_count": 2560, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + "all_parameter_gradients": false, + "backend_profile": "qwen3_next_tp4_shared_eager_v1", + "backend_provenance": { + "accumulation_dtype": "fp32", + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "backend_profile": "qwen3_next_tp4_shared_eager_v1", + "candidate_tf32_enabled": false, + "execution_dtype": "bf16", + "output_dtype": "bf16", + "reference_dtype": "bf16", + "reference_tf32_enabled": false, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "backward_executed": true, + "backward_runtime_observations": {}, + "c8_evidence_path": "", + "c8_source_commit": null, + "cells": { + "baseline/p0008-b1-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "baseline/p0008-b1-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "5dcefedce9eec0602f525293ce812f806a37b1c41bd1dcd1870d9b93c81645b8", + "layer0": "f48903cec22fc97f965f326686975101312ee8e0bc33944f35e1ec80f524bb34", + "layer1": "1472ee2f34ebbe1ac687bba49cbfda89e40cc57c0d2ff1266e4b9c91f012fc46", + "layer10": "f4b74c35b097be6e7b93fbd1b6ff7b2a010b4e0af7e677ab6c6e4d977a8bd5e7", + "layer11": "035b5e56d1cf3eb9519856c0def55a293cc89d4992635ce2020097bde5e24b59", + "layer12": "f53f4d58b165913772497d8314c56d5abff372518802df27ecd3105f02c8cd73", + "layer13": "f3776349e9079b850a975d0cf5810b873f967dc727f5e37106ad3a8195c3dacb", + "layer14": "78fef2e3e056c5ec1df8d712bd3be0782a37c01534826e53d9c20e16dfa699fc", + "layer15": "4651447f27ba16396a09af2934ab04ddebcc07ce22602687be8e5cb3a81bae1c", + "layer16": "b71919ea0f452e6e96628708e9710f4ebc85a1996b2ee8c2f8782a9d45e8053e", + "layer17": "990a1a30d074970cd4150bcdeb4c94c9b0ad22e407964a8bce72f4ac497107d0", + "layer18": "fb0cf1b0484cfb619cd92172112392f8a979d1a8346be48910276cf90ef2c9bb", + "layer19": "7ebb43f5641931ffda4d7ef4d1ceff5337f33f303cfadb347290bddfeaef816c", + "layer2": "ebb0fd7eba8481b6c66e9cd49c0acc7b8d9225fb0665386a679fb8e5027e268d", + "layer20": "0e683c98f23546a0b08cc0e5a892a1402329e4f476c2bd50d1fbbe7789e918c9", + "layer21": "755f6ce27dac3fc5569dbdb6a46bcbfc2a41b34ef0bb474a1172f7c2e141979c", + "layer22": "89d6e9d48ef75a85a1c61631c214449fe2f7953e371b74a4262eda4b9fce6728", + "layer23": "f8a49146a657d3dae60ace3bcf5936a53e6a0ea84f5079d12b71bd6f9bbd11e9", + "layer24": "9a3d005412924ea64649461e4c9144abb3c1ff03ee405eda47c5396195b8b5e9", + "layer25": "587db8fe58631b0dc17425e227cf271a22c0b72455e160544d2827d65545a49c", + "layer26": "fb9c49bafda77cc14f43994331901b3bd13a6f74b6749ef2c9dab57ef4e70652", + "layer27": "254cb9ef96a7c2353313f8860ea82e503b6729bdb23f5f30594fa843843e225d", + "layer28": "7c24980ce971422ade4407f081fd40c72abf38e42405c58756fe812f9e36777e", + "layer29": "5742c82893b178b8810be6042ee3a0a7c4922922f9a77c2d99b3f8d147614c92", + "layer3": "3a0da370f7e4bc255dad7f022621acd77564908f52c9f036f24f99d90fb126ed", + "layer30": "bea5516a9cdc987fe3fa4e065f93ec6d8edeaa7b7d9c043fff308a8c44b355c4", + "layer31": "3d8477f0866822edcdd7c14a75e212dfd51dfe5d5820fccc22876c9dd5258e0a", + "layer32": "4895c073f408812ba90b12aa9c6acfb4efd3d86f4cd9644b190ea39d41517237", + "layer33": "fdbf1bd71f1fe2bd0afd1f66269713be0337be8ee3309a193c803da08032910c", + "layer34": "e45d25f43b44b2dc4de64d20d1e18a3f739ae9990896fe8911c3c4ef3853b1f6", + "layer35": "f8a0d2b2af8d829bdbda260fef93790e5d03c5ed3234e2e61481f0c6e5f3c100", + "layer36": "e9f403bc583f32669285d6dc70b150138a58d40bff2a9127a52478b9467c9a2c", + "layer37": "8db5c27e1c596ea559eabee54351305d1b22afa3cc6c30fb51fcc9ab06d22060", + "layer38": "54cf5317fdf58c6003a8dd5dc0f65ed085a53bbdcbef60ec801851faabd0c73c", + "layer39": "fcdb6aab646e9e364244fb5b726308360e728ee3f68ef150af0367e051ff202b", + "layer4": "20f5a2d7373da9a8035677e81dc160b6ae8161b098a29d734744e055099aa1fa", + "layer40": "3c5c9673e348b7157764e0ef50241f732aff1721fb093f260667ce327714782b", + "layer41": "652dd9ad74c5d27a7436024c339d16ad8cf17c5af6fd0cc0c1801d78aeeba48b", + "layer42": "81a607c404264b7b20a49338e76c007d9ba6523b813e7d288ccf080f2c70ea1a", + "layer43": "8d2f6a995940e926d8b3247ba1154b59979f8f423d4ea96fb61683b38a5a4f2b", + "layer44": "8fe08b0c6ddf3c36cb0f77c8c4b01ae2c98c4b7bdd1eb79f70c65fd8d38d85cd", + "layer45": "a1839dd6bd8a54f67e98ede7d2d49bac88f655b8cb6ff5754996e1b4d240132c", + "layer46": "a354818401baed90019a940560355a02feb22d93b51bb65dd5049117ffc73e30", + "layer47": "5b27d3d758a1520a0fec1f60e8efd4647791f51f6e22401c7d15ecce79847c84", + "layer5": "9b03a638a8da24cd588294c5586b41160d1e51e8d3f644d22ab0dde2a26a7405", + "layer6": "05e36af84deed9814952b8be6b27cc64a853cbec2731758e4c0eb98facce7c4e", + "layer7": "bfaa96f913e7cd39b1b8f135918e32acfe22a905d2d68c522162de9de42ed223", + "layer8": "57d852129e14e29c89a1780e08fc7ec183222a0b52ed2be0a2c17bd0661f265f", + "layer9": "74e68131689abf3417308cf8b21239c8e6a8e4ac88510711712f72f4c48d18f1" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "baseline/p0008-b1-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "baseline/p0008-b1-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "5dcefedce9eec0602f525293ce812f806a37b1c41bd1dcd1870d9b93c81645b8", + "layer0": "f48903cec22fc97f965f326686975101312ee8e0bc33944f35e1ec80f524bb34", + "layer1": "1472ee2f34ebbe1ac687bba49cbfda89e40cc57c0d2ff1266e4b9c91f012fc46", + "layer10": "f4b74c35b097be6e7b93fbd1b6ff7b2a010b4e0af7e677ab6c6e4d977a8bd5e7", + "layer11": "035b5e56d1cf3eb9519856c0def55a293cc89d4992635ce2020097bde5e24b59", + "layer12": "f53f4d58b165913772497d8314c56d5abff372518802df27ecd3105f02c8cd73", + "layer13": "f3776349e9079b850a975d0cf5810b873f967dc727f5e37106ad3a8195c3dacb", + "layer14": "78fef2e3e056c5ec1df8d712bd3be0782a37c01534826e53d9c20e16dfa699fc", + "layer15": "4651447f27ba16396a09af2934ab04ddebcc07ce22602687be8e5cb3a81bae1c", + "layer16": "b71919ea0f452e6e96628708e9710f4ebc85a1996b2ee8c2f8782a9d45e8053e", + "layer17": "990a1a30d074970cd4150bcdeb4c94c9b0ad22e407964a8bce72f4ac497107d0", + "layer18": "fb0cf1b0484cfb619cd92172112392f8a979d1a8346be48910276cf90ef2c9bb", + "layer19": "7ebb43f5641931ffda4d7ef4d1ceff5337f33f303cfadb347290bddfeaef816c", + "layer2": "ebb0fd7eba8481b6c66e9cd49c0acc7b8d9225fb0665386a679fb8e5027e268d", + "layer20": "0e683c98f23546a0b08cc0e5a892a1402329e4f476c2bd50d1fbbe7789e918c9", + "layer21": "755f6ce27dac3fc5569dbdb6a46bcbfc2a41b34ef0bb474a1172f7c2e141979c", + "layer22": "89d6e9d48ef75a85a1c61631c214449fe2f7953e371b74a4262eda4b9fce6728", + "layer23": "f8a49146a657d3dae60ace3bcf5936a53e6a0ea84f5079d12b71bd6f9bbd11e9", + "layer24": "9a3d005412924ea64649461e4c9144abb3c1ff03ee405eda47c5396195b8b5e9", + "layer25": "587db8fe58631b0dc17425e227cf271a22c0b72455e160544d2827d65545a49c", + "layer26": "fb9c49bafda77cc14f43994331901b3bd13a6f74b6749ef2c9dab57ef4e70652", + "layer27": "254cb9ef96a7c2353313f8860ea82e503b6729bdb23f5f30594fa843843e225d", + "layer28": "7c24980ce971422ade4407f081fd40c72abf38e42405c58756fe812f9e36777e", + "layer29": "5742c82893b178b8810be6042ee3a0a7c4922922f9a77c2d99b3f8d147614c92", + "layer3": "3a0da370f7e4bc255dad7f022621acd77564908f52c9f036f24f99d90fb126ed", + "layer30": "bea5516a9cdc987fe3fa4e065f93ec6d8edeaa7b7d9c043fff308a8c44b355c4", + "layer31": "3d8477f0866822edcdd7c14a75e212dfd51dfe5d5820fccc22876c9dd5258e0a", + "layer32": "4895c073f408812ba90b12aa9c6acfb4efd3d86f4cd9644b190ea39d41517237", + "layer33": "fdbf1bd71f1fe2bd0afd1f66269713be0337be8ee3309a193c803da08032910c", + "layer34": "e45d25f43b44b2dc4de64d20d1e18a3f739ae9990896fe8911c3c4ef3853b1f6", + "layer35": "f8a0d2b2af8d829bdbda260fef93790e5d03c5ed3234e2e61481f0c6e5f3c100", + "layer36": "e9f403bc583f32669285d6dc70b150138a58d40bff2a9127a52478b9467c9a2c", + "layer37": "8db5c27e1c596ea559eabee54351305d1b22afa3cc6c30fb51fcc9ab06d22060", + "layer38": "54cf5317fdf58c6003a8dd5dc0f65ed085a53bbdcbef60ec801851faabd0c73c", + "layer39": "fcdb6aab646e9e364244fb5b726308360e728ee3f68ef150af0367e051ff202b", + "layer4": "20f5a2d7373da9a8035677e81dc160b6ae8161b098a29d734744e055099aa1fa", + "layer40": "3c5c9673e348b7157764e0ef50241f732aff1721fb093f260667ce327714782b", + "layer41": "652dd9ad74c5d27a7436024c339d16ad8cf17c5af6fd0cc0c1801d78aeeba48b", + "layer42": "81a607c404264b7b20a49338e76c007d9ba6523b813e7d288ccf080f2c70ea1a", + "layer43": "8d2f6a995940e926d8b3247ba1154b59979f8f423d4ea96fb61683b38a5a4f2b", + "layer44": "8fe08b0c6ddf3c36cb0f77c8c4b01ae2c98c4b7bdd1eb79f70c65fd8d38d85cd", + "layer45": "a1839dd6bd8a54f67e98ede7d2d49bac88f655b8cb6ff5754996e1b4d240132c", + "layer46": "a354818401baed90019a940560355a02feb22d93b51bb65dd5049117ffc73e30", + "layer47": "5b27d3d758a1520a0fec1f60e8efd4647791f51f6e22401c7d15ecce79847c84", + "layer5": "9b03a638a8da24cd588294c5586b41160d1e51e8d3f644d22ab0dde2a26a7405", + "layer6": "05e36af84deed9814952b8be6b27cc64a853cbec2731758e4c0eb98facce7c4e", + "layer7": "bfaa96f913e7cd39b1b8f135918e32acfe22a905d2d68c522162de9de42ed223", + "layer8": "57d852129e14e29c89a1780e08fc7ec183222a0b52ed2be0a2c17bd0661f265f", + "layer9": "74e68131689abf3417308cf8b21239c8e6a8e4ac88510711712f72f4c48d18f1" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "baseline/p0008-b4-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "baseline/p0008-b4-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "9330cfbfea9b0ecd067000ade8d63d21740ee1bed61d9969de450f0888d9e4d6", + "layer0": "007cb395b58999377bda435f91affc27d3fe4cc2f8ee12e86e1075521c679b79", + "layer1": "92a7a5c07e70612ecc72efddf05dd6abc7c94c6a8b67eb82eba74be96b3893fd", + "layer10": "62c91e079e06a85c82309d2078d06920768594e1648627869eba14f2845216eb", + "layer11": "de248056a90c7b9d51568a48aa66b4349811c32e250ce376a3c5ba59ff1a9c6a", + "layer12": "38a8faf33e5bb83cff57483c1373a8b12919d5cb09b1b992f674f112f633359d", + "layer13": "cf63c5012f9493601967333e29d419288ceb2cd203615cc00619b6ec1619c643", + "layer14": "2cefaa1894918ba22f1cb2461d965ba0bd2edf2ada260186b695d975cfaad9d9", + "layer15": "5920cfbdf854d1b71f0697dbf4e3400b30d85dd5e4be818cfcb00cd4ceeabc90", + "layer16": "b8223029ce655f20f9cf77bfa32be0b7de7bcc9165c6fb75e7b493b1c546c6ff", + "layer17": "e2b257c2d0678100ccd476b56b444c2b86d657f3ae46d9cac6933cfc09eb22ef", + "layer18": "76fe643e8b07f67fa933fd8497651364e9e5b4083c75ae084e3252c85bb81aee", + "layer19": "7cd3f567cba1a103a1f33d7fb055cd4f4a230217fc3b0ce2be468f748920f4eb", + "layer2": "85ea056f9a0087ab172a83e6c8361569e35fc14f846fa0e701efeb6781c66094", + "layer20": "d17a212462aa9675f1e828332318f08c1c5486ca07ce5e9e4d9519b705b0d4f5", + "layer21": "b24e5ee55dc7a92ab5a2d4189a4c1a3294ec5987a11597cd8bc69f1c1962d84d", + "layer22": "7c6e0bdcd92a6ae019e7c980a4a72e2ddd02b31c1e2569734da8367defa12625", + "layer23": "eaf764b807fd281c88a9661c6a108670030deff0ac84b6907664bb5bc92923a6", + "layer24": "ae6454c38b7a156186aae9e6485342a81e9215ba2f037106f610456547185282", + "layer25": "d0a03bfe6249b6ce4ce9a44033ad0885f0cb7db256e74a2a985c855fa91f876a", + "layer26": "13ad8bc8a8da22c34cc796ae7183ab1c1414a95c454391f3aae72eecd51ac4b9", + "layer27": "ee28f0af95f077bef4b8592e18b860962e33efe89af526e91b2f94a7a31f1706", + "layer28": "f9c9b57d798317f438cb1c3bfa61cb5878d0c70263df90adc030468fca74f0c5", + "layer29": "f3428557e60c420c4827c922941201d42c3e359ca2da59fd41a1a32b19aec28f", + "layer3": "933994054ee0e56a06ee10a101216292f009b8986924a5df8322651faaeb9d42", + "layer30": "2b0dbe4b4b9cc17517a95ffc8b14f5f8458b0d7ffc763f5fe117e2a73d6d772f", + "layer31": "ceb0a9c2b41f8329e9055f012e0c9d70d2e7d1d8eeed63a828cdd7a237b4b20d", + "layer32": "01e4aa607492a860698bd04e185b68d59979054203514ad8132215073ea3501a", + "layer33": "cc246fa6f13f5401f45e5dd2f4896262ce77bb9f271bf90386e86d4b5f5c95dc", + "layer34": "050ccb132e36197da641b69a9d55f9437de9238550c3e58697fac1cbed082071", + "layer35": "0ed33735035b81291030fec2bef407696a0a1980d836c58087002b6d960ad5a8", + "layer36": "bcf4358fd097fa12a6cf2194b054a8475ac2dadd93e4975374710690f3cbef45", + "layer37": "774e5c17d476709bccabcf64640253a42139bfc368268c25279f338364ce097a", + "layer38": "a6788d214f1788020ac6459fb10b464da702db2998e70cf1e7817e9be64f5d1e", + "layer39": "e35899c72c8c8f0e0c24580012c53dc0230790d9545170c9883a148851895010", + "layer4": "cce7f158e01f763bda4559642730eb1b76213baab1542629a58cfd80ea6e7337", + "layer40": "d046881d0b7ab44d351f6b924186e31a1dcd0750b0a04b5e90dc4072e4ced7d1", + "layer41": "bbad96f4574a82893a198534632f36533f8ab89d9adbe9f625246a498504eb6b", + "layer42": "428df67a8db79cf37f2bc866f838a48765a8a30153cf632d76455435316a15a8", + "layer43": "02b06d2b1564c1710d11fff2e4274539549d27a36442ebf13bebb677087371a2", + "layer44": "2ae6de9870c02048a4cebb2b1d97879cd16e4731947400cd8c2bc04b93779fe4", + "layer45": "de347e930f2a81297bc877415b7e0d58e90cab89515ae32080b4f60847eb1f22", + "layer46": "acb8853fcebe0e0dd1daf49ce9ab8ab4638662e6c6c570813f4da061a27701f8", + "layer47": "a42d2595a8c1966c24e4ec9ffb1ec8568fe0af400026070b81efb0ff98c0f1e0", + "layer5": "a0f56a4df1ddb26eb363b2374afdea4d433b15dc26007dfc8f56c6771fb340e3", + "layer6": "63378d169197c9c099390007cc2a6bc773e240fbff028145a63aa07da7eb4a2f", + "layer7": "c7747dd4c86a30a49292c64a39886e515d281b926e714d1c0f785a6777fd7505", + "layer8": "326b71590c3ce49716ce6fa69bf12043e0a61c10fbf8d4666e6809b2bd6289b3", + "layer9": "df022442ff4b6f0faffa5c467af433f13370cdd3fec86d8aab677285750506c8" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "baseline/p0008-b4-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "baseline/p0008-b4-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "9330cfbfea9b0ecd067000ade8d63d21740ee1bed61d9969de450f0888d9e4d6", + "layer0": "007cb395b58999377bda435f91affc27d3fe4cc2f8ee12e86e1075521c679b79", + "layer1": "92a7a5c07e70612ecc72efddf05dd6abc7c94c6a8b67eb82eba74be96b3893fd", + "layer10": "62c91e079e06a85c82309d2078d06920768594e1648627869eba14f2845216eb", + "layer11": "de248056a90c7b9d51568a48aa66b4349811c32e250ce376a3c5ba59ff1a9c6a", + "layer12": "38a8faf33e5bb83cff57483c1373a8b12919d5cb09b1b992f674f112f633359d", + "layer13": "cf63c5012f9493601967333e29d419288ceb2cd203615cc00619b6ec1619c643", + "layer14": "2cefaa1894918ba22f1cb2461d965ba0bd2edf2ada260186b695d975cfaad9d9", + "layer15": "5920cfbdf854d1b71f0697dbf4e3400b30d85dd5e4be818cfcb00cd4ceeabc90", + "layer16": "b8223029ce655f20f9cf77bfa32be0b7de7bcc9165c6fb75e7b493b1c546c6ff", + "layer17": "e2b257c2d0678100ccd476b56b444c2b86d657f3ae46d9cac6933cfc09eb22ef", + "layer18": "76fe643e8b07f67fa933fd8497651364e9e5b4083c75ae084e3252c85bb81aee", + "layer19": "7cd3f567cba1a103a1f33d7fb055cd4f4a230217fc3b0ce2be468f748920f4eb", + "layer2": "85ea056f9a0087ab172a83e6c8361569e35fc14f846fa0e701efeb6781c66094", + "layer20": "d17a212462aa9675f1e828332318f08c1c5486ca07ce5e9e4d9519b705b0d4f5", + "layer21": "b24e5ee55dc7a92ab5a2d4189a4c1a3294ec5987a11597cd8bc69f1c1962d84d", + "layer22": "7c6e0bdcd92a6ae019e7c980a4a72e2ddd02b31c1e2569734da8367defa12625", + "layer23": "eaf764b807fd281c88a9661c6a108670030deff0ac84b6907664bb5bc92923a6", + "layer24": "ae6454c38b7a156186aae9e6485342a81e9215ba2f037106f610456547185282", + "layer25": "d0a03bfe6249b6ce4ce9a44033ad0885f0cb7db256e74a2a985c855fa91f876a", + "layer26": "13ad8bc8a8da22c34cc796ae7183ab1c1414a95c454391f3aae72eecd51ac4b9", + "layer27": "ee28f0af95f077bef4b8592e18b860962e33efe89af526e91b2f94a7a31f1706", + "layer28": "f9c9b57d798317f438cb1c3bfa61cb5878d0c70263df90adc030468fca74f0c5", + "layer29": "f3428557e60c420c4827c922941201d42c3e359ca2da59fd41a1a32b19aec28f", + "layer3": "933994054ee0e56a06ee10a101216292f009b8986924a5df8322651faaeb9d42", + "layer30": "2b0dbe4b4b9cc17517a95ffc8b14f5f8458b0d7ffc763f5fe117e2a73d6d772f", + "layer31": "ceb0a9c2b41f8329e9055f012e0c9d70d2e7d1d8eeed63a828cdd7a237b4b20d", + "layer32": "01e4aa607492a860698bd04e185b68d59979054203514ad8132215073ea3501a", + "layer33": "cc246fa6f13f5401f45e5dd2f4896262ce77bb9f271bf90386e86d4b5f5c95dc", + "layer34": "050ccb132e36197da641b69a9d55f9437de9238550c3e58697fac1cbed082071", + "layer35": "0ed33735035b81291030fec2bef407696a0a1980d836c58087002b6d960ad5a8", + "layer36": "bcf4358fd097fa12a6cf2194b054a8475ac2dadd93e4975374710690f3cbef45", + "layer37": "774e5c17d476709bccabcf64640253a42139bfc368268c25279f338364ce097a", + "layer38": "a6788d214f1788020ac6459fb10b464da702db2998e70cf1e7817e9be64f5d1e", + "layer39": "e35899c72c8c8f0e0c24580012c53dc0230790d9545170c9883a148851895010", + "layer4": "cce7f158e01f763bda4559642730eb1b76213baab1542629a58cfd80ea6e7337", + "layer40": "d046881d0b7ab44d351f6b924186e31a1dcd0750b0a04b5e90dc4072e4ced7d1", + "layer41": "bbad96f4574a82893a198534632f36533f8ab89d9adbe9f625246a498504eb6b", + "layer42": "428df67a8db79cf37f2bc866f838a48765a8a30153cf632d76455435316a15a8", + "layer43": "02b06d2b1564c1710d11fff2e4274539549d27a36442ebf13bebb677087371a2", + "layer44": "2ae6de9870c02048a4cebb2b1d97879cd16e4731947400cd8c2bc04b93779fe4", + "layer45": "de347e930f2a81297bc877415b7e0d58e90cab89515ae32080b4f60847eb1f22", + "layer46": "acb8853fcebe0e0dd1daf49ce9ab8ab4638662e6c6c570813f4da061a27701f8", + "layer47": "a42d2595a8c1966c24e4ec9ffb1ec8568fe0af400026070b81efb0ff98c0f1e0", + "layer5": "a0f56a4df1ddb26eb363b2374afdea4d433b15dc26007dfc8f56c6771fb340e3", + "layer6": "63378d169197c9c099390007cc2a6bc773e240fbff028145a63aa07da7eb4a2f", + "layer7": "c7747dd4c86a30a49292c64a39886e515d281b926e714d1c0f785a6777fd7505", + "layer8": "326b71590c3ce49716ce6fa69bf12043e0a61c10fbf8d4666e6809b2bd6289b3", + "layer9": "df022442ff4b6f0faffa5c467af433f13370cdd3fec86d8aab677285750506c8" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "baseline/p0064-b1-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "baseline/p0064-b1-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "2103a7ecdb753bab5aa53770623a6edee88dd41c69c99a6d332273343636bc26", + "layer0": "e9684275c85eca0fa7f77e6ca497c659c55506974235bb1e83ee8f1676a0b98e", + "layer1": "497450f1cd49b0663ffb88553935c68320009dc6a76651c377184ce26547e3a2", + "layer10": "dbfa621f00ac6bb40be236999508d4345b57022d633207f7e2a2885511f13c7f", + "layer11": "83ef553ecadab44d289fd7871fcbb96e05986eca3ebc1cc75c5754bcee0fea27", + "layer12": "03dc6b89ddf27ddfa682d9d60990149efe2904839a619ae63b2d476da077f61a", + "layer13": "0bbfa1680231027d8babab601c8961e070a7116d29ddbcd482ca4c8be1fcb040", + "layer14": "dc2d6b92c6c9e7bc49d858b5bcb631a81b516b6204fa5a315dafd48151404d18", + "layer15": "0d76fc8cb336b185b9fa46420935a3cd21cb18f42af90cd59f5c986269f650d5", + "layer16": "e6b2de2d6f4b59461f3a0c9c2df8f6f0ab22459d94a877cdb73bf1c6f37f56ae", + "layer17": "db96458aa486d7a78dd31939c4471ba734dd4e7cbe64e9ddf9429091072fdee8", + "layer18": "b5b85c15ef27c983bc1a0de67b58d3238c8587cb41782bc31ddab58ee77e7482", + "layer19": "9539f7201598071d3858b640ed9fb83248ee17b5e3ddbacdde96224432c756bb", + "layer2": "166add13932791a0b186e0e248161cc249ec3be75b71934fce0d7affb04ec609", + "layer20": "d49160c2926d1b3756029cae7b5ff91c96465772a1e1782d66292f6e855e4f0e", + "layer21": "5c1ebdeeddddb5e282801cfc4faae40d21bf09d132631ba0194638a0d619ea2b", + "layer22": "b3070ad9ddd311bf57762fbb185c0d6d47490c70580325ebd70290c93328d019", + "layer23": "9d0c6f46d8ddf5290a25be4bbca60662e39fbb6f3dd9975c20e0247818407883", + "layer24": "2b447f31b9093f42954e509165d3ad88079813ce5a4401e99607153a68c4dc97", + "layer25": "953f9caa45bddb76e08ba38abad518aac3ffe55edee147c0959165a22d1b3c1d", + "layer26": "d8d8a4ec3ddd4f5811c3a8a002aed130bbca0f8a94198c64483a4ab809136bfb", + "layer27": "f107da3c54e97550ad53d68b6b3c1daa0b825705e91939e3cc232ece9c09457f", + "layer28": "d227472b4d14af7e0d6b93ce06781505239d975bc255ec680fd272cc3fc12780", + "layer29": "e056874b6de3477593ee243b90b34658cca20ed943caeca835512bada739208f", + "layer3": "f2362face2bf9458748b6d8da4e33ceee6f52f1d4f2513ac955f076a275076ef", + "layer30": "072e569bb0bd979f2cc7ed87f8b68649418570d60c31c78f413968a75fc9c5b8", + "layer31": "92486de2ccf48a0b3e556d68d0e718cc6dcb1637fe4748af5b11ecb83a60e7f3", + "layer32": "6d11506a66c4b9f4cea48f71b19eb60aa5f4ddf13f7e4dc3935f2bdad7258fdd", + "layer33": "ebf8d8c3534f8a8d7bdeaa677c3750d52fc17a1cf796ed7c7fdff4ef3e95d3ac", + "layer34": "55405ed12e72c43abe543d55758fc42d236fd3c61493d1c7ff6ae40eaf7fa502", + "layer35": "bff2ae45b89598d748d4226b5561936e7a6864683e2bae899e8509ff12bae31b", + "layer36": "92db2aaf748c9f95e8df030b47b26321492f62ad46c1df9cc4005b4724a693ac", + "layer37": "77ca2847b6fdfa385e0111ea25db316fa2986ec6e84f6e4fbfc30ab76e8bc7ed", + "layer38": "88ddf6ee32902b03eef06c3f475c1d3f8b6e04f97b0b62ebb63706d8b47e7479", + "layer39": "d9ba7d0ba445ff684483b2ca61b692cb7cd7ee6fc3dbb701c3c126da919d565a", + "layer4": "58f9312200f23da5a0c4a03f468a8429d67863b57b688a68eb28801ee051fc23", + "layer40": "27a854931b1d9c6c5760179804c583d3291efe27dc947b436bf1ea2e02991d1f", + "layer41": "90acfe0ad7f1426de8a3c8d7ce75ebd038ae7e28c23f99558730456bd578acad", + "layer42": "aed73f50dfe098882f6e259596feaf57b0a3e9585d019a4ef366da9dfce2db00", + "layer43": "bf6a3f59f2bdda1672a5f133ddfbc72cfac95cf29e250bc242378c98d0acaf82", + "layer44": "f823a38f7ac7cb4311c0083a413c4326083d649d100ccda2fc11cd447c895bb9", + "layer45": "0cfb5407942d8e694b5ac6f3367947700e36e91db3447e93f7e0ea1806bf5207", + "layer46": "d27dc815230df8c1bdf12407dc9ebee88005320c8a71834e3628de4de61d98d8", + "layer47": "a3cf298e8cfb5c7cd3db91341c545db9fc377d68c867c0c0c02cc9963ebb3781", + "layer5": "959a1f213733eb5036623d9de750afb8d96d931037ab8d79e6ea86f3165ff740", + "layer6": "0af5fb0fe8889723490d919d44da64ed34347421020be17b0d1c1a61d0e91e2c", + "layer7": "4878416361b610adc87125d7b8f364c09931d8c9c3ff8fb40a9f82b7204af591", + "layer8": "dc552095fd0625ddc19e4b6f48469ecc167883f935644c3a3c99a0b80c1d5a6a", + "layer9": "8c85d6559929773cb5b08fd3b32d12aac255562df7940b343691d652db8d834a" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "baseline/p0064-b1-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "baseline/p0064-b1-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "2103a7ecdb753bab5aa53770623a6edee88dd41c69c99a6d332273343636bc26", + "layer0": "e9684275c85eca0fa7f77e6ca497c659c55506974235bb1e83ee8f1676a0b98e", + "layer1": "497450f1cd49b0663ffb88553935c68320009dc6a76651c377184ce26547e3a2", + "layer10": "dbfa621f00ac6bb40be236999508d4345b57022d633207f7e2a2885511f13c7f", + "layer11": "83ef553ecadab44d289fd7871fcbb96e05986eca3ebc1cc75c5754bcee0fea27", + "layer12": "03dc6b89ddf27ddfa682d9d60990149efe2904839a619ae63b2d476da077f61a", + "layer13": "0bbfa1680231027d8babab601c8961e070a7116d29ddbcd482ca4c8be1fcb040", + "layer14": "dc2d6b92c6c9e7bc49d858b5bcb631a81b516b6204fa5a315dafd48151404d18", + "layer15": "0d76fc8cb336b185b9fa46420935a3cd21cb18f42af90cd59f5c986269f650d5", + "layer16": "e6b2de2d6f4b59461f3a0c9c2df8f6f0ab22459d94a877cdb73bf1c6f37f56ae", + "layer17": "db96458aa486d7a78dd31939c4471ba734dd4e7cbe64e9ddf9429091072fdee8", + "layer18": "b5b85c15ef27c983bc1a0de67b58d3238c8587cb41782bc31ddab58ee77e7482", + "layer19": "9539f7201598071d3858b640ed9fb83248ee17b5e3ddbacdde96224432c756bb", + "layer2": "166add13932791a0b186e0e248161cc249ec3be75b71934fce0d7affb04ec609", + "layer20": "d49160c2926d1b3756029cae7b5ff91c96465772a1e1782d66292f6e855e4f0e", + "layer21": "5c1ebdeeddddb5e282801cfc4faae40d21bf09d132631ba0194638a0d619ea2b", + "layer22": "b3070ad9ddd311bf57762fbb185c0d6d47490c70580325ebd70290c93328d019", + "layer23": "9d0c6f46d8ddf5290a25be4bbca60662e39fbb6f3dd9975c20e0247818407883", + "layer24": "2b447f31b9093f42954e509165d3ad88079813ce5a4401e99607153a68c4dc97", + "layer25": "953f9caa45bddb76e08ba38abad518aac3ffe55edee147c0959165a22d1b3c1d", + "layer26": "d8d8a4ec3ddd4f5811c3a8a002aed130bbca0f8a94198c64483a4ab809136bfb", + "layer27": "f107da3c54e97550ad53d68b6b3c1daa0b825705e91939e3cc232ece9c09457f", + "layer28": "d227472b4d14af7e0d6b93ce06781505239d975bc255ec680fd272cc3fc12780", + "layer29": "e056874b6de3477593ee243b90b34658cca20ed943caeca835512bada739208f", + "layer3": "f2362face2bf9458748b6d8da4e33ceee6f52f1d4f2513ac955f076a275076ef", + "layer30": "072e569bb0bd979f2cc7ed87f8b68649418570d60c31c78f413968a75fc9c5b8", + "layer31": "92486de2ccf48a0b3e556d68d0e718cc6dcb1637fe4748af5b11ecb83a60e7f3", + "layer32": "6d11506a66c4b9f4cea48f71b19eb60aa5f4ddf13f7e4dc3935f2bdad7258fdd", + "layer33": "ebf8d8c3534f8a8d7bdeaa677c3750d52fc17a1cf796ed7c7fdff4ef3e95d3ac", + "layer34": "55405ed12e72c43abe543d55758fc42d236fd3c61493d1c7ff6ae40eaf7fa502", + "layer35": "bff2ae45b89598d748d4226b5561936e7a6864683e2bae899e8509ff12bae31b", + "layer36": "92db2aaf748c9f95e8df030b47b26321492f62ad46c1df9cc4005b4724a693ac", + "layer37": "77ca2847b6fdfa385e0111ea25db316fa2986ec6e84f6e4fbfc30ab76e8bc7ed", + "layer38": "88ddf6ee32902b03eef06c3f475c1d3f8b6e04f97b0b62ebb63706d8b47e7479", + "layer39": "d9ba7d0ba445ff684483b2ca61b692cb7cd7ee6fc3dbb701c3c126da919d565a", + "layer4": "58f9312200f23da5a0c4a03f468a8429d67863b57b688a68eb28801ee051fc23", + "layer40": "27a854931b1d9c6c5760179804c583d3291efe27dc947b436bf1ea2e02991d1f", + "layer41": "90acfe0ad7f1426de8a3c8d7ce75ebd038ae7e28c23f99558730456bd578acad", + "layer42": "aed73f50dfe098882f6e259596feaf57b0a3e9585d019a4ef366da9dfce2db00", + "layer43": "bf6a3f59f2bdda1672a5f133ddfbc72cfac95cf29e250bc242378c98d0acaf82", + "layer44": "f823a38f7ac7cb4311c0083a413c4326083d649d100ccda2fc11cd447c895bb9", + "layer45": "0cfb5407942d8e694b5ac6f3367947700e36e91db3447e93f7e0ea1806bf5207", + "layer46": "d27dc815230df8c1bdf12407dc9ebee88005320c8a71834e3628de4de61d98d8", + "layer47": "a3cf298e8cfb5c7cd3db91341c545db9fc377d68c867c0c0c02cc9963ebb3781", + "layer5": "959a1f213733eb5036623d9de750afb8d96d931037ab8d79e6ea86f3165ff740", + "layer6": "0af5fb0fe8889723490d919d44da64ed34347421020be17b0d1c1a61d0e91e2c", + "layer7": "4878416361b610adc87125d7b8f364c09931d8c9c3ff8fb40a9f82b7204af591", + "layer8": "dc552095fd0625ddc19e4b6f48469ecc167883f935644c3a3c99a0b80c1d5a6a", + "layer9": "8c85d6559929773cb5b08fd3b32d12aac255562df7940b343691d652db8d834a" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "baseline/p0064-b4-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "baseline/p0064-b4-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "b6f90e09a20a53772513a4b600371a17c30a670eb8b78ce14f3fa997e72f1c62", + "layer0": "5e86f46b86042b3befddc9e3cf614782b90921d911deb1a0277eb3a6d5e0c117", + "layer1": "316031fc5922a711d626eb51d3d8bf85beb104f936c96006f826558d728ce91c", + "layer10": "56329904bd137f4e1f99e8fc07c4524bcd1102b1628151e60c7198923641c3dc", + "layer11": "ebfeaefb303cd0d41cbb507dab031b124df374683f18e2c31b94f9130ecfa630", + "layer12": "cfba9fa270035f36ed0946b6d2f81f1599ea2aa8329347d7027b20eea0d53435", + "layer13": "675b22e6b39b9902fff67784fcc372671cdf7f45e15b11ecd194074db98259db", + "layer14": "2a38b28823a6fdcbdfe5ee9b6738f2419b6e051806310556ad793abb298448ee", + "layer15": "39e3dcbe117d6f882428537a61484b1015906ec9f64c73695c35e7898181c4c8", + "layer16": "cdd35fe7f57343d9d8044dfcfa2c3ec4f196cbed95b7478f218e5259c2af698b", + "layer17": "6d37b67894d0fc5519dc61fc2bf8a721e0e678ca2854de1488aa235d79ea95c2", + "layer18": "cbc359dc919d8e001a515ec3b5c3829a88b0195e6829eb4f2944e877a571339c", + "layer19": "21afd4ffebbf5dc304e92d8d2df03ae7bf7bf80715dbd950c4f07797baca378a", + "layer2": "aa9e2830a632410821028776aca979356442da9cbceb050c6ef49e7ebed84b48", + "layer20": "0ebb6e3bf30afe0df987fb3cdb3a893b7f4f792250e068b2c13c67d4244f03f3", + "layer21": "9883227ba5d29127765158f0d1da0658f24458d9668b7fd252172a0eab0563d6", + "layer22": "8917c3b454bcd68d1a2fbe630f0484f196f4ce0e2d11e322e6dc2ec5443748ce", + "layer23": "07a035ca6c42381d26b1ced490bcea73366f8c879b064033525c0f71d230f0e9", + "layer24": "4419fffe351852328e0e0a5e7852db183949f763bbfd78ce1e9e389c277e7bb6", + "layer25": "fd971525eaef15a6dd122a1942736c83a97b423bfdcdefda4bedd6f942170c17", + "layer26": "c32a396a33d597d6e0a175727233f6ede8465e9810c0703d0e3f08478eb3a8db", + "layer27": "921838011bd70e05f22578081a779eb8e134bd86ea38badb2cbb1b2974812dc7", + "layer28": "a0e246e7f23e239ed3aa86b695e41ee19b5e5b125e7221eb10f6419177015687", + "layer29": "0fc4eaf56e1284a8af483185a343fb2bda24a38ffaf87e6688b7cbc2bfbed937", + "layer3": "9bac16f649c286635cbf8fcede8bba5c1cb61d36516058f11370b810fb072e36", + "layer30": "f2dfe05e0d81bb91bfb109cf2e92e131177f2bf6e88f665e1e276df9fd3c8aad", + "layer31": "f4381e59b694346b25f822a031232d6296c4e897a9866694f0385945429ea345", + "layer32": "a43c7ea4a99376018cd3410e36aa7ff5946601ae60227a4f752093ccee513b52", + "layer33": "6c2416fe97dfa911fc3db240d477a2558c614f272a76aefb0c129e1ff982211f", + "layer34": "4718fb1f6f482f005b9af231c8c43773e428c7a8d1e7d5913f9a73a90f48781e", + "layer35": "d48c9a49005a33dd760bc3f18e38c835c80ff5ef0371856b082d901a992a9f8d", + "layer36": "0c7ee3ef5dd7a1cb99df9b17b45f1a48db7dfbfb98372b9498fe923a34d59c48", + "layer37": "560b9cea75682bf2180aa08ded7ea83cd2c8d8139893301c7a8342b48f9122b0", + "layer38": "81e9ac48af216a64d627585c335db294a9409c05270e9d31abd6d5f1e96968ea", + "layer39": "504f5034efde268ab8e49fde7e19799ad7b571c50a94afbde49a18ae2d34dd08", + "layer4": "50b43448b34a040403d6937a236de2ef8e0fccefd98545c12ac36dac8a70fcaf", + "layer40": "0ac6d17c33cca1bacaaf5bad8b6543aad2ce025218834402a8e6640e666955c7", + "layer41": "8b20544a888fafe987688c5ca45b3c64a0ad7bf72dc59f45aac598a330a08b0c", + "layer42": "ab104136f3228dfbceae2930ff9e31c99f34c2dd539541e7482c47fea55e3d72", + "layer43": "f2b43d327a1002cc0365f2a45dfc7c3afc9f38f82ba87c2cb93eabe0b291e03e", + "layer44": "a445bad88b31c6602a768bc7d5ed1b354823559841bcca1d6526402460aec839", + "layer45": "9faa5bfdcea51a143df40a047a434816a6c571a1a4b9de560d0e3020ff95f03b", + "layer46": "1a80391137d78d9ca2c14678915ec0707e4829684264a73fc426209f10603cb6", + "layer47": "337c2887a9488cfc8ac22a8def008d340e56d9a8d86f7a8b7ae941c6e3c8f3a0", + "layer5": "90eca74a5e89fe68fd13f470e7ae0bedf8266380b185ec855b5d96c2bfe5519e", + "layer6": "b7d46e2a7fd2e67999fcbd3021b3af6159f40d85012b50af5eb953f323216af0", + "layer7": "e29657d0917f95f1c3b9f6cf470219638b896fe4529ca7e320c074219cc12998", + "layer8": "ac7a99abba73073ab330b26e9d8a506c5495e3b3bdd690d5df361294707df33e", + "layer9": "038485209612b9350c2fb6a599b1e7b414039caa3481753ee68c41b3915fe673" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "baseline/p0064-b4-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "baseline/p0064-b4-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "b6f90e09a20a53772513a4b600371a17c30a670eb8b78ce14f3fa997e72f1c62", + "layer0": "5e86f46b86042b3befddc9e3cf614782b90921d911deb1a0277eb3a6d5e0c117", + "layer1": "316031fc5922a711d626eb51d3d8bf85beb104f936c96006f826558d728ce91c", + "layer10": "56329904bd137f4e1f99e8fc07c4524bcd1102b1628151e60c7198923641c3dc", + "layer11": "ebfeaefb303cd0d41cbb507dab031b124df374683f18e2c31b94f9130ecfa630", + "layer12": "cfba9fa270035f36ed0946b6d2f81f1599ea2aa8329347d7027b20eea0d53435", + "layer13": "675b22e6b39b9902fff67784fcc372671cdf7f45e15b11ecd194074db98259db", + "layer14": "2a38b28823a6fdcbdfe5ee9b6738f2419b6e051806310556ad793abb298448ee", + "layer15": "39e3dcbe117d6f882428537a61484b1015906ec9f64c73695c35e7898181c4c8", + "layer16": "cdd35fe7f57343d9d8044dfcfa2c3ec4f196cbed95b7478f218e5259c2af698b", + "layer17": "6d37b67894d0fc5519dc61fc2bf8a721e0e678ca2854de1488aa235d79ea95c2", + "layer18": "cbc359dc919d8e001a515ec3b5c3829a88b0195e6829eb4f2944e877a571339c", + "layer19": "21afd4ffebbf5dc304e92d8d2df03ae7bf7bf80715dbd950c4f07797baca378a", + "layer2": "aa9e2830a632410821028776aca979356442da9cbceb050c6ef49e7ebed84b48", + "layer20": "0ebb6e3bf30afe0df987fb3cdb3a893b7f4f792250e068b2c13c67d4244f03f3", + "layer21": "9883227ba5d29127765158f0d1da0658f24458d9668b7fd252172a0eab0563d6", + "layer22": "8917c3b454bcd68d1a2fbe630f0484f196f4ce0e2d11e322e6dc2ec5443748ce", + "layer23": "07a035ca6c42381d26b1ced490bcea73366f8c879b064033525c0f71d230f0e9", + "layer24": "4419fffe351852328e0e0a5e7852db183949f763bbfd78ce1e9e389c277e7bb6", + "layer25": "fd971525eaef15a6dd122a1942736c83a97b423bfdcdefda4bedd6f942170c17", + "layer26": "c32a396a33d597d6e0a175727233f6ede8465e9810c0703d0e3f08478eb3a8db", + "layer27": "921838011bd70e05f22578081a779eb8e134bd86ea38badb2cbb1b2974812dc7", + "layer28": "a0e246e7f23e239ed3aa86b695e41ee19b5e5b125e7221eb10f6419177015687", + "layer29": "0fc4eaf56e1284a8af483185a343fb2bda24a38ffaf87e6688b7cbc2bfbed937", + "layer3": "9bac16f649c286635cbf8fcede8bba5c1cb61d36516058f11370b810fb072e36", + "layer30": "f2dfe05e0d81bb91bfb109cf2e92e131177f2bf6e88f665e1e276df9fd3c8aad", + "layer31": "f4381e59b694346b25f822a031232d6296c4e897a9866694f0385945429ea345", + "layer32": "a43c7ea4a99376018cd3410e36aa7ff5946601ae60227a4f752093ccee513b52", + "layer33": "6c2416fe97dfa911fc3db240d477a2558c614f272a76aefb0c129e1ff982211f", + "layer34": "4718fb1f6f482f005b9af231c8c43773e428c7a8d1e7d5913f9a73a90f48781e", + "layer35": "d48c9a49005a33dd760bc3f18e38c835c80ff5ef0371856b082d901a992a9f8d", + "layer36": "0c7ee3ef5dd7a1cb99df9b17b45f1a48db7dfbfb98372b9498fe923a34d59c48", + "layer37": "560b9cea75682bf2180aa08ded7ea83cd2c8d8139893301c7a8342b48f9122b0", + "layer38": "81e9ac48af216a64d627585c335db294a9409c05270e9d31abd6d5f1e96968ea", + "layer39": "504f5034efde268ab8e49fde7e19799ad7b571c50a94afbde49a18ae2d34dd08", + "layer4": "50b43448b34a040403d6937a236de2ef8e0fccefd98545c12ac36dac8a70fcaf", + "layer40": "0ac6d17c33cca1bacaaf5bad8b6543aad2ce025218834402a8e6640e666955c7", + "layer41": "8b20544a888fafe987688c5ca45b3c64a0ad7bf72dc59f45aac598a330a08b0c", + "layer42": "ab104136f3228dfbceae2930ff9e31c99f34c2dd539541e7482c47fea55e3d72", + "layer43": "f2b43d327a1002cc0365f2a45dfc7c3afc9f38f82ba87c2cb93eabe0b291e03e", + "layer44": "a445bad88b31c6602a768bc7d5ed1b354823559841bcca1d6526402460aec839", + "layer45": "9faa5bfdcea51a143df40a047a434816a6c571a1a4b9de560d0e3020ff95f03b", + "layer46": "1a80391137d78d9ca2c14678915ec0707e4829684264a73fc426209f10603cb6", + "layer47": "337c2887a9488cfc8ac22a8def008d340e56d9a8d86f7a8b7ae941c6e3c8f3a0", + "layer5": "90eca74a5e89fe68fd13f470e7ae0bedf8266380b185ec855b5d96c2bfe5519e", + "layer6": "b7d46e2a7fd2e67999fcbd3021b3af6159f40d85012b50af5eb953f323216af0", + "layer7": "e29657d0917f95f1c3b9f6cf470219638b896fe4529ca7e320c074219cc12998", + "layer8": "ac7a99abba73073ab330b26e9d8a506c5495e3b3bdd690d5df361294707df33e", + "layer9": "038485209612b9350c2fb6a599b1e7b414039caa3481753ee68c41b3915fe673" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "baseline/p0256-b1-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "baseline/p0256-b1-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "d45b13953a6723e1432c10560b12fc3a17df46be807636260ad47ca262b8f7df", + "layer0": "ba7bef60950f50bb784bdbcbf6756d14f478afb2056ee0097cb8620c1e3cb06d", + "layer1": "cb78298093a80d0e15e4fd051af782ef76395db19918bef90ef5b88a962b0888", + "layer10": "993c5ceb97eab2a34dcdd8bf36bc467c43392925b8b3b10574d9bea2f5e88a0c", + "layer11": "0ace185b37799008a2578f7a068d3ff63de95086bda1d9724d12695c3e0ef1ce", + "layer12": "35b21add3d724dc592ca71f132efcb58968abd2829857087bbc80eb94d648e1c", + "layer13": "c95980d6b8bb2a05da09f8c49bafc177b9d0cb4946dd5f18389abd10bd3d7d85", + "layer14": "6d142aef4ad626d72d96a8465f7bb2e532ce9e855b721c55ffc4c6dbc9891e5e", + "layer15": "0f8f96e698a22cab4f523b7feb0c2636d216447b62c189cdc434e7e2b0f28403", + "layer16": "49ace30bd51a4d3d5ab90c8ccab6709ce1ce9e1c8c125c904184cfdeae8997d4", + "layer17": "343f065a873afd3ae012097413e56fb4c75f7e9fb8288f3412fd0b8212b1635f", + "layer18": "f58b2a2482a2fc638b4a130e2df45b012c095e471c740f3a5f3571e5e67750ec", + "layer19": "40d9527ae47c8ba74cdefd698ad7f8199922b2e293f2a82b41862555db639d7c", + "layer2": "1755bb03edc9109fc07a6a9bc8ebc6865e24b32e1719d7f47acbfcb2241e92ee", + "layer20": "ee33cb92f8c00894ee80c59685f3da1dd988fb35433f21aaf2c20278e6534b74", + "layer21": "f91ddc49837180ddf156d479032805a9ee2a84902168f6a6a1adfd8a9724948c", + "layer22": "e4645e911ddcc5b8c9d0dffd7f9673f6d7c0b90531b06346d5dbdbcf0d6b99bd", + "layer23": "09fc780a575d37f786efa1551b02781716acba6f35f8b556c0e1cd7265a045da", + "layer24": "b1a4b06722bcb20347e76650e51054f4cca7be7129fe4e599a3147bfd2fe2b2a", + "layer25": "1e45777af5a55e0908d5021a9a2f2ce50e79a2a009fb9093a418909d5533a6c8", + "layer26": "6f5cb0bb0bd68d6d760a809838d574353dc3053aa783f52dc76831cde5fc1ef9", + "layer27": "e5ea9eb45be2dcad437465bdaeb89336f20dc30f4c97e4c12b79dea7b93b6b36", + "layer28": "c2f7e456363dac0a2aa298135c3e4b855538ed82f3f2428505926602c2de298d", + "layer29": "b8c680a3f5a99e0835eb90d4fcbf3e5c31e054acab88e5d1714070940c5efe7a", + "layer3": "8c2e2976a31a382482c3fc579fd93357850e64f1797415630fc8d9b2989cba7b", + "layer30": "ea173a758a3cf770e7630f290d2cec966d227d19f82322754190f0499773d15e", + "layer31": "f8679e012f6fce5ec4510bf26b1cfdd664c38b4c05e7558f8812eae13285854e", + "layer32": "d375b093ecc1a1b965ccebdba0462fdd95b6457bfea0118877a7734c01b8bfca", + "layer33": "0bb90cde221c40e60955501f45f82bcabe90b328cf50cea4da9f3b3a83c034de", + "layer34": "b1aecdcc8b0772e93323a32738c5c827b330fa08b99df4e624eae9e4a33c8b3a", + "layer35": "1b06a40737c60063c471f47398004bd5a526009c21a7047c2b258e77828e0912", + "layer36": "d403b709be3507c20ffac0e5d64eeed8d8fd6a9a136c4af6d1ada6236543fe2e", + "layer37": "ea79c1449f1abfd5fc16036e59a739ef860948264b51958ff2e6e7a0d3dc2182", + "layer38": "ecbbf1b3b2e75a8483efb5bf7c8cfc5bd7861e7ada6c242838de382a3c699fdd", + "layer39": "6d3f82a5f60fe1e9d238e9102fcf29586dfce0758457241e599f91ee8ccbaeb8", + "layer4": "51be3c5dc9fc65645254557fe3e6c405ab62390d6ca63f6ccb246957a2c62967", + "layer40": "476c70adfeecef8dd01f28f5255631b074923111bb2c61e2cbec74b427d71609", + "layer41": "849bf1b58ef3dda94bc8742f369a1e388cb1031ca30b70991e16fe1630d6501a", + "layer42": "1f5e9d03b45e40d867ab69a5157d668c9c0a683630c0f10f6723da53888bc115", + "layer43": "134eabb978af2204d6b9b6aac23164cccdcfce3407cd8b5d79bb1e76154cd76a", + "layer44": "a38dd2518110fd851409084dcefefcb6a1faf92fe957cde4f59b7e229ceb494f", + "layer45": "fb60fb10d3eff59a42d051cf4a4a6975bcb31d5f9e5729c74a026ab9cbed130d", + "layer46": "64184aff8faf9d15a5799b95e35525a9926eacd52d97f381bb8762af6ab8c600", + "layer47": "7a52d411e17db146820d58a713f4a836394319ec747b84c486806efa287fdb12", + "layer5": "c33833472b7c961796d448933920b546a329d4ec65722964e779b8b3a804eae5", + "layer6": "bddb50159cd1268a2ecaf23cffdc338d479888a87d112f9f51d3c85efdb30004", + "layer7": "a7a11676faea1b17536aa65bce9505ce923fedf22fc59c0d78df90903a9ae15b", + "layer8": "4085339183dbb82500bc7173c9224a3a12288d210fa83c04073cda184cdee37d", + "layer9": "a1335b980d119a17e7bc7c3542e05027a0d361d756cd3687518f2a04cb2f732f" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "baseline/p0256-b1-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "baseline/p0256-b1-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "d45b13953a6723e1432c10560b12fc3a17df46be807636260ad47ca262b8f7df", + "layer0": "ba7bef60950f50bb784bdbcbf6756d14f478afb2056ee0097cb8620c1e3cb06d", + "layer1": "cb78298093a80d0e15e4fd051af782ef76395db19918bef90ef5b88a962b0888", + "layer10": "993c5ceb97eab2a34dcdd8bf36bc467c43392925b8b3b10574d9bea2f5e88a0c", + "layer11": "0ace185b37799008a2578f7a068d3ff63de95086bda1d9724d12695c3e0ef1ce", + "layer12": "35b21add3d724dc592ca71f132efcb58968abd2829857087bbc80eb94d648e1c", + "layer13": "c95980d6b8bb2a05da09f8c49bafc177b9d0cb4946dd5f18389abd10bd3d7d85", + "layer14": "6d142aef4ad626d72d96a8465f7bb2e532ce9e855b721c55ffc4c6dbc9891e5e", + "layer15": "0f8f96e698a22cab4f523b7feb0c2636d216447b62c189cdc434e7e2b0f28403", + "layer16": "49ace30bd51a4d3d5ab90c8ccab6709ce1ce9e1c8c125c904184cfdeae8997d4", + "layer17": "343f065a873afd3ae012097413e56fb4c75f7e9fb8288f3412fd0b8212b1635f", + "layer18": "f58b2a2482a2fc638b4a130e2df45b012c095e471c740f3a5f3571e5e67750ec", + "layer19": "40d9527ae47c8ba74cdefd698ad7f8199922b2e293f2a82b41862555db639d7c", + "layer2": "1755bb03edc9109fc07a6a9bc8ebc6865e24b32e1719d7f47acbfcb2241e92ee", + "layer20": "ee33cb92f8c00894ee80c59685f3da1dd988fb35433f21aaf2c20278e6534b74", + "layer21": "f91ddc49837180ddf156d479032805a9ee2a84902168f6a6a1adfd8a9724948c", + "layer22": "e4645e911ddcc5b8c9d0dffd7f9673f6d7c0b90531b06346d5dbdbcf0d6b99bd", + "layer23": "09fc780a575d37f786efa1551b02781716acba6f35f8b556c0e1cd7265a045da", + "layer24": "b1a4b06722bcb20347e76650e51054f4cca7be7129fe4e599a3147bfd2fe2b2a", + "layer25": "1e45777af5a55e0908d5021a9a2f2ce50e79a2a009fb9093a418909d5533a6c8", + "layer26": "6f5cb0bb0bd68d6d760a809838d574353dc3053aa783f52dc76831cde5fc1ef9", + "layer27": "e5ea9eb45be2dcad437465bdaeb89336f20dc30f4c97e4c12b79dea7b93b6b36", + "layer28": "c2f7e456363dac0a2aa298135c3e4b855538ed82f3f2428505926602c2de298d", + "layer29": "b8c680a3f5a99e0835eb90d4fcbf3e5c31e054acab88e5d1714070940c5efe7a", + "layer3": "8c2e2976a31a382482c3fc579fd93357850e64f1797415630fc8d9b2989cba7b", + "layer30": "ea173a758a3cf770e7630f290d2cec966d227d19f82322754190f0499773d15e", + "layer31": "f8679e012f6fce5ec4510bf26b1cfdd664c38b4c05e7558f8812eae13285854e", + "layer32": "d375b093ecc1a1b965ccebdba0462fdd95b6457bfea0118877a7734c01b8bfca", + "layer33": "0bb90cde221c40e60955501f45f82bcabe90b328cf50cea4da9f3b3a83c034de", + "layer34": "b1aecdcc8b0772e93323a32738c5c827b330fa08b99df4e624eae9e4a33c8b3a", + "layer35": "1b06a40737c60063c471f47398004bd5a526009c21a7047c2b258e77828e0912", + "layer36": "d403b709be3507c20ffac0e5d64eeed8d8fd6a9a136c4af6d1ada6236543fe2e", + "layer37": "ea79c1449f1abfd5fc16036e59a739ef860948264b51958ff2e6e7a0d3dc2182", + "layer38": "ecbbf1b3b2e75a8483efb5bf7c8cfc5bd7861e7ada6c242838de382a3c699fdd", + "layer39": "6d3f82a5f60fe1e9d238e9102fcf29586dfce0758457241e599f91ee8ccbaeb8", + "layer4": "51be3c5dc9fc65645254557fe3e6c405ab62390d6ca63f6ccb246957a2c62967", + "layer40": "476c70adfeecef8dd01f28f5255631b074923111bb2c61e2cbec74b427d71609", + "layer41": "849bf1b58ef3dda94bc8742f369a1e388cb1031ca30b70991e16fe1630d6501a", + "layer42": "1f5e9d03b45e40d867ab69a5157d668c9c0a683630c0f10f6723da53888bc115", + "layer43": "134eabb978af2204d6b9b6aac23164cccdcfce3407cd8b5d79bb1e76154cd76a", + "layer44": "a38dd2518110fd851409084dcefefcb6a1faf92fe957cde4f59b7e229ceb494f", + "layer45": "fb60fb10d3eff59a42d051cf4a4a6975bcb31d5f9e5729c74a026ab9cbed130d", + "layer46": "64184aff8faf9d15a5799b95e35525a9926eacd52d97f381bb8762af6ab8c600", + "layer47": "7a52d411e17db146820d58a713f4a836394319ec747b84c486806efa287fdb12", + "layer5": "c33833472b7c961796d448933920b546a329d4ec65722964e779b8b3a804eae5", + "layer6": "bddb50159cd1268a2ecaf23cffdc338d479888a87d112f9f51d3c85efdb30004", + "layer7": "a7a11676faea1b17536aa65bce9505ce923fedf22fc59c0d78df90903a9ae15b", + "layer8": "4085339183dbb82500bc7173c9224a3a12288d210fa83c04073cda184cdee37d", + "layer9": "a1335b980d119a17e7bc7c3542e05027a0d361d756cd3687518f2a04cb2f732f" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "baseline/p0256-b4-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "baseline/p0256-b4-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "5795c5c90d91c336a0375a4af6634aed1251c4094f93d18a9411a4f3f5421730", + "layer0": "bf0f44e41560572a645003483e9e5d6b4c13fbdd26f770d248037384af5d8410", + "layer1": "0eb88d0b44b6090036260e31912ed484b27ec140b0258f72fa05074216a0c471", + "layer10": "782476829ab747d1b2fef3f31fc889feabb48635d6c22286d15973b7db938aaa", + "layer11": "db2076bc5204c5a904e3ed127327dc17ccd3de3316bc0f6f2e7be6d29ac65596", + "layer12": "3ed1a1a9b925aa24eae8b8150d63910cb8134b68b591d58252fc82b836b02467", + "layer13": "2c183315e98a5a629b643427cae6ff89bfb3802bc770a378c32a576e05b2504b", + "layer14": "3be88c4913d88e72388047a95ff0c35f83fa756c2581b76214eeb5e8a83da6c3", + "layer15": "e6264b38dedbd7cbc4fb209baf37432e546b2f13d25ce5cf2d6e1cf9edfea957", + "layer16": "93b6c673d6cdfeeb26490b8fd72e17f8125dcc5255c6f0e1024c9129f59776c3", + "layer17": "b7064a1e3fd3a341e6a4907bda810660f750cf44256c603d90a49893c0c43d6b", + "layer18": "26867d73636914e2d708a8d67129d3a30fae38cc10cda47ebee5590ecc7b966f", + "layer19": "d2e00e7fb22ef26ae8154a5f12c9c68240ca755e27864c5aafad2ab4c93b24ce", + "layer2": "05cebc4844223e9ffd1ff405a3e5b4158f4df9ad31de36801446aa67ebc41186", + "layer20": "ef372c386871d523fd803d52df2f327d4a1b116b539fb86050f5ef0f9ea2dbd9", + "layer21": "0a2cfb46da47f4ea967372002f09a91c5cc404cd7ac54ee866e928da971e5422", + "layer22": "c1acd5a1d3f1311739c3b5f5c5788294e1552b649148e3c97d58fff76b9ee36f", + "layer23": "d426390612260db0378518f9b68bb47f1df82a14d7e66bd317e33995d4e1feeb", + "layer24": "3a01dd605c57d1767a6f69fee85f09d1f4d6580286f6459e1089468ffa8033f5", + "layer25": "86f096f1ead50da5da2218568baa8663afff740fd4dda3ab1ad14f0b7955e9f9", + "layer26": "cd16aaf20000032aa760e95f2a11731c20d972aa732312b451b29b9baa01ef65", + "layer27": "d4819d0c61ab5bebf1fc4f883e14a438bf42cf6b5b979779ee6944f31b788218", + "layer28": "af59217a0c3f7db71c2fd1cf4afcb2efcc493127f126874f776fb12289e2d1f5", + "layer29": "f5bbeee1fb280368568381af51e583c2d7bd80507ca2804a636e1925a2ba4a1c", + "layer3": "50207662369255cef314fec8b48b6884fc2c7afae72027295f3fdec3e7a6f338", + "layer30": "80801633ac967a1a7d7992f6caf40dbbb7949667bf4389a89520b284b856d3ec", + "layer31": "c5729b8135a09a3f87c0d790136f1dbf09f795c8761de938a78ab0cf17f60f7d", + "layer32": "048b6cccc0ae49efedf0555fe24c97023b02c0cf7396998e65d303f850b5fce7", + "layer33": "c4d6cf94da4cf69b55cba2ffb8e4b2fe7fc2231d56fe832835d4319e987c29a4", + "layer34": "3619bed1a76d39b6a9682e1c2b92df38062c7e122c7cddc7f1470d252a69ffca", + "layer35": "81c96ee7023e9bf0b366701b64a1f69034aec5f6ca8b884797cb3ff0cf1356ad", + "layer36": "b1204028af1aebdb8333467e6da7b4c53eabe225e3b540afaa92cf098852d3b5", + "layer37": "ce34c65a85f273bc3e8943c1de29155792df9fe1c87ab9740f9383475af624d6", + "layer38": "6eb8fc7dee23c1f0157751b9434e9f0b504f44c2a5d3906ce07ad36c4a5d4e6d", + "layer39": "0be5a19a04972297fabf820c7c35e74b533b9a80c660188698d33449115f9f1c", + "layer4": "c816410e6aa96b7b94b564286bf2354f08811e7732073bd3a58a5594aeeb6e25", + "layer40": "30ad7a3b53e1dd8b70fa7ec9bfb3c79d59c6ee4a0c3a76c6dafefe56c3b917fb", + "layer41": "7db35d5a79904c01078666ca824654336a888f189dbee51e873729b5fa9c6bc4", + "layer42": "532c45343d85afcd536033eb6f8e26fb8c6b4406f6b885d06c4b9417e8281e59", + "layer43": "a927ddaa75414de84aea577f7233f08051e675406a9c16b5931292eda2690cea", + "layer44": "8f7a32688a502af77e5b3348c76452d3071a3899ff39b38ad5d1651e996b78ae", + "layer45": "3ecbd3790f77a2916529aef0477dd2fe1d0274522c77502af3adc16fecfc820c", + "layer46": "46e760f836d17d6d2799de04d246446dffe6f444792028452cff62cf5dee3101", + "layer47": "483653f8e4fbcd2766057318a2dce44298d34dafb0f7c44c9c64fcd6e3ade4e9", + "layer5": "1a872f109ded785e75a0c4c95f6401ad93c143409ab0098c21e5fd73087df185", + "layer6": "bdfcc3a8427ddf195659ca3676e5ef75fcba101c0d4eddb48142710066699115", + "layer7": "fabead5e7d861916a643c8623df69439fcbb118752c59a59a96ca1938cba0e10", + "layer8": "5a2bc574743ee8a7a66a8cbfce49f0c047e1eed0df99da3659fb3d4daa887c33", + "layer9": "9b8f80614167f1037acd649cd35a031e5138a0b6a59913c82dd536e91718665e" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "baseline/p0256-b4-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "baseline/p0256-b4-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "5795c5c90d91c336a0375a4af6634aed1251c4094f93d18a9411a4f3f5421730", + "layer0": "bf0f44e41560572a645003483e9e5d6b4c13fbdd26f770d248037384af5d8410", + "layer1": "0eb88d0b44b6090036260e31912ed484b27ec140b0258f72fa05074216a0c471", + "layer10": "782476829ab747d1b2fef3f31fc889feabb48635d6c22286d15973b7db938aaa", + "layer11": "db2076bc5204c5a904e3ed127327dc17ccd3de3316bc0f6f2e7be6d29ac65596", + "layer12": "3ed1a1a9b925aa24eae8b8150d63910cb8134b68b591d58252fc82b836b02467", + "layer13": "2c183315e98a5a629b643427cae6ff89bfb3802bc770a378c32a576e05b2504b", + "layer14": "3be88c4913d88e72388047a95ff0c35f83fa756c2581b76214eeb5e8a83da6c3", + "layer15": "e6264b38dedbd7cbc4fb209baf37432e546b2f13d25ce5cf2d6e1cf9edfea957", + "layer16": "93b6c673d6cdfeeb26490b8fd72e17f8125dcc5255c6f0e1024c9129f59776c3", + "layer17": "b7064a1e3fd3a341e6a4907bda810660f750cf44256c603d90a49893c0c43d6b", + "layer18": "26867d73636914e2d708a8d67129d3a30fae38cc10cda47ebee5590ecc7b966f", + "layer19": "d2e00e7fb22ef26ae8154a5f12c9c68240ca755e27864c5aafad2ab4c93b24ce", + "layer2": "05cebc4844223e9ffd1ff405a3e5b4158f4df9ad31de36801446aa67ebc41186", + "layer20": "ef372c386871d523fd803d52df2f327d4a1b116b539fb86050f5ef0f9ea2dbd9", + "layer21": "0a2cfb46da47f4ea967372002f09a91c5cc404cd7ac54ee866e928da971e5422", + "layer22": "c1acd5a1d3f1311739c3b5f5c5788294e1552b649148e3c97d58fff76b9ee36f", + "layer23": "d426390612260db0378518f9b68bb47f1df82a14d7e66bd317e33995d4e1feeb", + "layer24": "3a01dd605c57d1767a6f69fee85f09d1f4d6580286f6459e1089468ffa8033f5", + "layer25": "86f096f1ead50da5da2218568baa8663afff740fd4dda3ab1ad14f0b7955e9f9", + "layer26": "cd16aaf20000032aa760e95f2a11731c20d972aa732312b451b29b9baa01ef65", + "layer27": "d4819d0c61ab5bebf1fc4f883e14a438bf42cf6b5b979779ee6944f31b788218", + "layer28": "af59217a0c3f7db71c2fd1cf4afcb2efcc493127f126874f776fb12289e2d1f5", + "layer29": "f5bbeee1fb280368568381af51e583c2d7bd80507ca2804a636e1925a2ba4a1c", + "layer3": "50207662369255cef314fec8b48b6884fc2c7afae72027295f3fdec3e7a6f338", + "layer30": "80801633ac967a1a7d7992f6caf40dbbb7949667bf4389a89520b284b856d3ec", + "layer31": "c5729b8135a09a3f87c0d790136f1dbf09f795c8761de938a78ab0cf17f60f7d", + "layer32": "048b6cccc0ae49efedf0555fe24c97023b02c0cf7396998e65d303f850b5fce7", + "layer33": "c4d6cf94da4cf69b55cba2ffb8e4b2fe7fc2231d56fe832835d4319e987c29a4", + "layer34": "3619bed1a76d39b6a9682e1c2b92df38062c7e122c7cddc7f1470d252a69ffca", + "layer35": "81c96ee7023e9bf0b366701b64a1f69034aec5f6ca8b884797cb3ff0cf1356ad", + "layer36": "b1204028af1aebdb8333467e6da7b4c53eabe225e3b540afaa92cf098852d3b5", + "layer37": "ce34c65a85f273bc3e8943c1de29155792df9fe1c87ab9740f9383475af624d6", + "layer38": "6eb8fc7dee23c1f0157751b9434e9f0b504f44c2a5d3906ce07ad36c4a5d4e6d", + "layer39": "0be5a19a04972297fabf820c7c35e74b533b9a80c660188698d33449115f9f1c", + "layer4": "c816410e6aa96b7b94b564286bf2354f08811e7732073bd3a58a5594aeeb6e25", + "layer40": "30ad7a3b53e1dd8b70fa7ec9bfb3c79d59c6ee4a0c3a76c6dafefe56c3b917fb", + "layer41": "7db35d5a79904c01078666ca824654336a888f189dbee51e873729b5fa9c6bc4", + "layer42": "532c45343d85afcd536033eb6f8e26fb8c6b4406f6b885d06c4b9417e8281e59", + "layer43": "a927ddaa75414de84aea577f7233f08051e675406a9c16b5931292eda2690cea", + "layer44": "8f7a32688a502af77e5b3348c76452d3071a3899ff39b38ad5d1651e996b78ae", + "layer45": "3ecbd3790f77a2916529aef0477dd2fe1d0274522c77502af3adc16fecfc820c", + "layer46": "46e760f836d17d6d2799de04d246446dffe6f444792028452cff62cf5dee3101", + "layer47": "483653f8e4fbcd2766057318a2dce44298d34dafb0f7c44c9c64fcd6e3ade4e9", + "layer5": "1a872f109ded785e75a0c4c95f6401ad93c143409ab0098c21e5fd73087df185", + "layer6": "bdfcc3a8427ddf195659ca3676e5ef75fcba101c0d4eddb48142710066699115", + "layer7": "fabead5e7d861916a643c8623df69439fcbb118752c59a59a96ca1938cba0e10", + "layer8": "5a2bc574743ee8a7a66a8cbfce49f0c047e1eed0df99da3659fb3d4daa887c33", + "layer9": "9b8f80614167f1037acd649cd35a031e5138a0b6a59913c82dd536e91718665e" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "baseline/p1024-b1-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "baseline/p1024-b1-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "58eb9aed2ac599729103717be0e2bf3129602daed8c80dae7f54d75d1c626bc2", + "layer0": "28e67b926c4b05495af5e152ff9dd63fc7ca4a61114f94588250cf97af84e117", + "layer1": "54fb6e2eff64749b8bb26e5c58bb44fdfc5dd40eea529538a5679d3ac5f73275", + "layer10": "eb80bcd18f0f67b9ab6a9ea4ce5a957a47a724ca8f1528278f0d9ca950cb3642", + "layer11": "10196684c66ec4106726cd2d37bdad0cae333bf7ed6a6664b4f3f12335bfa317", + "layer12": "439b088fa691d19a7c5316219b01680a6bac03921179b035604d264fcd481482", + "layer13": "076d15310e5c82dff2b7de3be04cb073e441c79ecd842e0ca106e03bc8fca557", + "layer14": "520d7f330e19e23c794df46528144d5c27cc979e2b27247e6d6d2c1ae6839a59", + "layer15": "146a492a4e9852b3c54301d12fb481e1f1ff795538ded40005771fb00cc4793d", + "layer16": "549588774658bef489c130fbce0ac39181797dc80b623e0334930194dd1c3380", + "layer17": "4feb38011e3264ecae15ee115bee84e2094189d52935f176b124c07be0ae673d", + "layer18": "9085b1bce83f6193eb5f3031a1e127332f43a5b7461104fc81854661da8c6bdf", + "layer19": "e80fac9189bc8a1e56875f7ac5602122a9c4e520ced7316c2a78f320671d5fe2", + "layer2": "397a3bd53f0e380a988f3b86f24bed240d20b3f030379349ceedf7da3613487b", + "layer20": "94985b16331fae29e2feb3442f9c4838444f2908daf63df97f12c55d24c9472d", + "layer21": "632e0674f61c1d7d9d427e34225a89e503d2ed6602164204a5971f3494565f14", + "layer22": "02623b13cc475ee3b182bb9583ec950e272e7f32b463ab6ecc6f4c8c8dd30f3a", + "layer23": "54fbc497aa2bae601dd3ba230110fe3834ac515d8402953bd373eac5867425c5", + "layer24": "9a2b84b7ab3e0f51f8e3801b8a78c6e8cdb66d475badea5bb64bc0f2d5cec32d", + "layer25": "23c2aafbbdc441eaa7c5d5bfeddd46419f77625f6b89d3c98384678311e03df6", + "layer26": "516a26fbbb61797989a659991f043e39d812d464a81c48ffd339adfb14a3744f", + "layer27": "bf12649f7001466c337d2853098b9832b132155875f7b96a27d7aecf31a7154c", + "layer28": "625b8d2ef04da553f2ba344f14de1e013b171704d09e036fc07712cd08c2a1b7", + "layer29": "bf09aca419ecdabda4a8c8283aadfa29192f52f0738aeea118e40080d663f100", + "layer3": "29159de09eea1e92172618404e676105ed41445f95144262b658f9047370a760", + "layer30": "7a38125a677747c3320f6a669e480cf00e4337b73b74cb27a37f284d08e8bae9", + "layer31": "b7c18a9a642ed4bc52dd6c9bf25c01a83040397a0eddf0e22a9abda237b4a622", + "layer32": "ca5fb56b122f3cc20a5e94abd7c74df3ec6b9adfd50990042e12b0e20e0137b2", + "layer33": "57e17ce86c19f351e595e9f61801bea070c000f3aec4a1ebf2a8a85533075862", + "layer34": "80201d7d8a1b8f8a49a38ceb659f5399ab25713acfde47d5d5c7b29c38672530", + "layer35": "d4b87d0b7f825b0b4f36da983ae9fa9526fc4573f676934bc7ea9957c3233dcb", + "layer36": "4b297a8ae56d08a7914b4f53cef9e0f68cc205e36a9a6d8971b8e239ed5c8808", + "layer37": "f5714317aa12f96aa8430686cb2c9cfcc6f903721f8d66223f6879e99e02629d", + "layer38": "30b6cd9b1e425570488bd6756202e193785c7d6ebea2106a2a35b04ca92a7b98", + "layer39": "88505ca02b61a1e45b5a81019cd10f017578ef1584b51850631d6ceb40ec04a0", + "layer4": "b74c8be48ce9c3f2a2fdaa767798764d2d5c713402f72622f4c68ed5d176342d", + "layer40": "217556023d4b629229ae0d3469fa56bec14a49a5a253ad765992141622f1e9f8", + "layer41": "a6cdfa8c2a8e5d211660d5252569ba9ee412b35bcea75ab1a6bac2f2bdecd46e", + "layer42": "ef55fbeb6458522f06d927879d10725632da8435655645893e3f69083b936758", + "layer43": "670ae0654f0ec1c8872665bc3a2a766652c4e583803eba53b846542ed5aa3ef7", + "layer44": "14c9752e1365152c0f1251e99cbe3eb2f6df04ddc9c359ac11429333a0a3bc66", + "layer45": "67d47ea1be00a516ddf3e67526bdd3147e51879f6b9df738c6e225e29931d4cf", + "layer46": "de38b02d5fa732198834e017911f01143c6c63fe08f0d881f1c37109f9117de5", + "layer47": "d59b0d37267a459b0204d5fd229c1c939140b9ebfa3daabf62149bd4dd150d53", + "layer5": "98b4f0cac36424f550303eb76522e3688ff7faad30eb89e213558460f09e79b7", + "layer6": "736254d2c4c8f566d97e7d144a4ad68a97f3ef53664ad4ab4186caceb6904ef6", + "layer7": "72efba9c748ab6bd0c7bbecdd21b144252fb6ffc1b42fc150b6024fa504db8a0", + "layer8": "f0233c964362c88172f8ab8902d34653b8ee38a253f3728802a81d18f091a707", + "layer9": "dd773e17960cc7a4563d67655b53d9f7e2dad4043b91d0b033f38ac1b042806d" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "baseline/p1024-b1-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "baseline/p1024-b1-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "58eb9aed2ac599729103717be0e2bf3129602daed8c80dae7f54d75d1c626bc2", + "layer0": "28e67b926c4b05495af5e152ff9dd63fc7ca4a61114f94588250cf97af84e117", + "layer1": "54fb6e2eff64749b8bb26e5c58bb44fdfc5dd40eea529538a5679d3ac5f73275", + "layer10": "eb80bcd18f0f67b9ab6a9ea4ce5a957a47a724ca8f1528278f0d9ca950cb3642", + "layer11": "10196684c66ec4106726cd2d37bdad0cae333bf7ed6a6664b4f3f12335bfa317", + "layer12": "439b088fa691d19a7c5316219b01680a6bac03921179b035604d264fcd481482", + "layer13": "076d15310e5c82dff2b7de3be04cb073e441c79ecd842e0ca106e03bc8fca557", + "layer14": "520d7f330e19e23c794df46528144d5c27cc979e2b27247e6d6d2c1ae6839a59", + "layer15": "146a492a4e9852b3c54301d12fb481e1f1ff795538ded40005771fb00cc4793d", + "layer16": "549588774658bef489c130fbce0ac39181797dc80b623e0334930194dd1c3380", + "layer17": "4feb38011e3264ecae15ee115bee84e2094189d52935f176b124c07be0ae673d", + "layer18": "9085b1bce83f6193eb5f3031a1e127332f43a5b7461104fc81854661da8c6bdf", + "layer19": "e80fac9189bc8a1e56875f7ac5602122a9c4e520ced7316c2a78f320671d5fe2", + "layer2": "397a3bd53f0e380a988f3b86f24bed240d20b3f030379349ceedf7da3613487b", + "layer20": "94985b16331fae29e2feb3442f9c4838444f2908daf63df97f12c55d24c9472d", + "layer21": "632e0674f61c1d7d9d427e34225a89e503d2ed6602164204a5971f3494565f14", + "layer22": "02623b13cc475ee3b182bb9583ec950e272e7f32b463ab6ecc6f4c8c8dd30f3a", + "layer23": "54fbc497aa2bae601dd3ba230110fe3834ac515d8402953bd373eac5867425c5", + "layer24": "9a2b84b7ab3e0f51f8e3801b8a78c6e8cdb66d475badea5bb64bc0f2d5cec32d", + "layer25": "23c2aafbbdc441eaa7c5d5bfeddd46419f77625f6b89d3c98384678311e03df6", + "layer26": "516a26fbbb61797989a659991f043e39d812d464a81c48ffd339adfb14a3744f", + "layer27": "bf12649f7001466c337d2853098b9832b132155875f7b96a27d7aecf31a7154c", + "layer28": "625b8d2ef04da553f2ba344f14de1e013b171704d09e036fc07712cd08c2a1b7", + "layer29": "bf09aca419ecdabda4a8c8283aadfa29192f52f0738aeea118e40080d663f100", + "layer3": "29159de09eea1e92172618404e676105ed41445f95144262b658f9047370a760", + "layer30": "7a38125a677747c3320f6a669e480cf00e4337b73b74cb27a37f284d08e8bae9", + "layer31": "b7c18a9a642ed4bc52dd6c9bf25c01a83040397a0eddf0e22a9abda237b4a622", + "layer32": "ca5fb56b122f3cc20a5e94abd7c74df3ec6b9adfd50990042e12b0e20e0137b2", + "layer33": "57e17ce86c19f351e595e9f61801bea070c000f3aec4a1ebf2a8a85533075862", + "layer34": "80201d7d8a1b8f8a49a38ceb659f5399ab25713acfde47d5d5c7b29c38672530", + "layer35": "d4b87d0b7f825b0b4f36da983ae9fa9526fc4573f676934bc7ea9957c3233dcb", + "layer36": "4b297a8ae56d08a7914b4f53cef9e0f68cc205e36a9a6d8971b8e239ed5c8808", + "layer37": "f5714317aa12f96aa8430686cb2c9cfcc6f903721f8d66223f6879e99e02629d", + "layer38": "30b6cd9b1e425570488bd6756202e193785c7d6ebea2106a2a35b04ca92a7b98", + "layer39": "88505ca02b61a1e45b5a81019cd10f017578ef1584b51850631d6ceb40ec04a0", + "layer4": "b74c8be48ce9c3f2a2fdaa767798764d2d5c713402f72622f4c68ed5d176342d", + "layer40": "217556023d4b629229ae0d3469fa56bec14a49a5a253ad765992141622f1e9f8", + "layer41": "a6cdfa8c2a8e5d211660d5252569ba9ee412b35bcea75ab1a6bac2f2bdecd46e", + "layer42": "ef55fbeb6458522f06d927879d10725632da8435655645893e3f69083b936758", + "layer43": "670ae0654f0ec1c8872665bc3a2a766652c4e583803eba53b846542ed5aa3ef7", + "layer44": "14c9752e1365152c0f1251e99cbe3eb2f6df04ddc9c359ac11429333a0a3bc66", + "layer45": "67d47ea1be00a516ddf3e67526bdd3147e51879f6b9df738c6e225e29931d4cf", + "layer46": "de38b02d5fa732198834e017911f01143c6c63fe08f0d881f1c37109f9117de5", + "layer47": "d59b0d37267a459b0204d5fd229c1c939140b9ebfa3daabf62149bd4dd150d53", + "layer5": "98b4f0cac36424f550303eb76522e3688ff7faad30eb89e213558460f09e79b7", + "layer6": "736254d2c4c8f566d97e7d144a4ad68a97f3ef53664ad4ab4186caceb6904ef6", + "layer7": "72efba9c748ab6bd0c7bbecdd21b144252fb6ffc1b42fc150b6024fa504db8a0", + "layer8": "f0233c964362c88172f8ab8902d34653b8ee38a253f3728802a81d18f091a707", + "layer9": "dd773e17960cc7a4563d67655b53d9f7e2dad4043b91d0b033f38ac1b042806d" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "baseline/p1024-b4-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "baseline/p1024-b4-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "075873ff5d8cea35b8c2067d26abee0fca32cf3f9b7e63ee3dc80696dbe95f9c", + "layer0": "c9da7c58870f90bb507c70add20544731424d252b0439f1bb7193038bfbdd221", + "layer1": "531d69e122acf30ef37eb48819d1022efcd55d1ced140b7346c65a5e293d1e27", + "layer10": "10f922b7b87bd4225e9a8e45399c9e621b7dcb49f59f0ebb64bccfa1bc6a7df6", + "layer11": "c61045bf166ca144291b3426b14e677b9abe853b74a6f92c35b3639c9ea0fb5b", + "layer12": "853bd9b930493219171d93e6cbdbdaafcc3d22d41ee52bebc59eb0ffb5067dcc", + "layer13": "6ea64c91a9ae18f471b9d30cb673144b2507c26bcfc7f807523ba9508129cd92", + "layer14": "7e3523ce84c0c79ed2db54600a399ce4685fd28f0fe85f891d0c8bdebc811db7", + "layer15": "1676af889edbda17ccad57a54ac9f6cf1dca8fdb68f2d4c96d425216ef0f763e", + "layer16": "b0092b21f989097c1b60d1dd1205bedccd86f63f43123e2581879e49dd7cd5fd", + "layer17": "692a47a7dbc558235b5ee84d34c160c107e3639beff0453f896d9ea68784ff14", + "layer18": "4a56e759234ce4983c86b3cf8c479a1d8ac3fa667c9226295677901d717eb76a", + "layer19": "59a4e24234402198a2d122387509a9cec4f03a0c4fb366807f37b58492ff1fd9", + "layer2": "b28293ee6f402908748b82035869d110fdc41c2fa53765335ef37914ffe12777", + "layer20": "f9b4e59d78a54dc404a0e92231a5e091990e186ae92eff1667d584769dd9d2be", + "layer21": "75ac14d11ab2c8df06dac211e36ecd1c2d8129b6dead55d4246bb452e7cbd1e1", + "layer22": "b26631507047c40ed36264da58f2dc00bfe91b04782b17b09e91955857d27d03", + "layer23": "e4f0267f28abec0a7e9d4ab8743ef6ed12f6a02412ad72d84b603c0e9cca6904", + "layer24": "5ed9aaf2870edc82691bf9b3fcf7bdc598c8760f14119e1f888002d426e3f81a", + "layer25": "fae52df93e8b93985fb11ba27a14986ef0b95a03b96e5cc9447fe8a47cc23e44", + "layer26": "7bdad3d733ac7484b6f812d15bb7dc26e92202f6d23051d011aa17f70527b41c", + "layer27": "5b868fb33607eccb66434925a5e58c7a39e7032f5f07f3f5cf47371037239dde", + "layer28": "824d183a14a2dd39584a63b0d9255fd7f0234c14e679e830c7f196a16e60356c", + "layer29": "bdca32d9c4c45e842e518e8186d2f8db92c514bae203d3778c43592d6456c710", + "layer3": "4ecc2328d21227530ae630804a8522e6a5431985f6dee6cb0eef5301a76ba85c", + "layer30": "a659c1391d04dffbc6c5522aa8ea2e25302ff64cfd7c41eb55279495382e58d0", + "layer31": "88e2c6d3706c47a27f8c7cfbf9bb6e89955569cd1e6d1e52a014be8c77bf9fda", + "layer32": "72902db64dadc3b53664f49fdb069cda17a9cd8f2a417961ddd57f8bde5dbf18", + "layer33": "aaf47c22fa2dbd85d712dd979fa5297eabd58e02a7fbf5a8f5d5a74fb80586e1", + "layer34": "1e98a0a4312178a00d173042fff9a94184235a7d564347740af8f564dba7e0ab", + "layer35": "8c78f43c305220df38b9036d4d815f75329cad3d1d78e8838bf4fdcee350ce0a", + "layer36": "c74b7a95a07a6865ce0984327d147546b082eac05b4d9faf76cbe2a059c5fe7d", + "layer37": "bebaf9798168745bbd750bd87d77800c664598eec5ddaa4cdb056b9450f3ef77", + "layer38": "4a66582a43381a0bdf29f21f15cb7aeae5e54ab180536e5abb0774ae3ca103e8", + "layer39": "adf6fcdebf286dbf4b6707fba72617a8b8428878c74fa5d8ca56bf4d651cac0a", + "layer4": "9bb7c6650a70088ba525efa5bbe8b25d01ced414f7b9f15b393c331f6df8d1f6", + "layer40": "f919a20f530eb925dc5dd6c8d64b0128fc034f3c6f89ce86c409a139565e0790", + "layer41": "c7fed92a3c611e132971423afe50738f4764dd4d868f9fe3f47a79dbbaac606a", + "layer42": "9b8fe098d18b0b5276316763e50cc10bff8c96f63a67df16004d6e1ddfcbab87", + "layer43": "7640785dba714afa15d043e01cec1139ea508a55222015731039dec5138c45b5", + "layer44": "3d42fee55df4d75475162148703c43a011af305fb09ae0c6f899e068d7f9ce85", + "layer45": "8bb0c75d8fc0ad90a29aabfb0723802063e47bf8808fe7403b970efb61c9fddf", + "layer46": "6b30161bd4481658ed86d5495db36964a08b238891aed9e6a31f79d38f06d65d", + "layer47": "214b87cc29fed3c62c37ca2c3499e2f399ee1bb5467dde134b1f51ed59c80184", + "layer5": "ec2605ed9bc0587b9922ab67e0ce1fbaa1ac8f88625fa60a20dc17d7301d1d92", + "layer6": "0a3a13fb4d7a3b7cc03021907ea1696093c4678a309dd233abe4dfb746868345", + "layer7": "209329b03cc3969d96ff5095e6dd9bdbaa632663825787d4bbacab1a737056eb", + "layer8": "9b42d17c2a1c889ebe1881a4b525ae32a6ffdd31759834e043421769ce7be225", + "layer9": "7f8c69e2cfe1e10043499758d2a690d3fb8145d8ffa23343a20a00f49fc33e5f" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "baseline/p1024-b4-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "baseline/p1024-b4-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "075873ff5d8cea35b8c2067d26abee0fca32cf3f9b7e63ee3dc80696dbe95f9c", + "layer0": "c9da7c58870f90bb507c70add20544731424d252b0439f1bb7193038bfbdd221", + "layer1": "531d69e122acf30ef37eb48819d1022efcd55d1ced140b7346c65a5e293d1e27", + "layer10": "10f922b7b87bd4225e9a8e45399c9e621b7dcb49f59f0ebb64bccfa1bc6a7df6", + "layer11": "c61045bf166ca144291b3426b14e677b9abe853b74a6f92c35b3639c9ea0fb5b", + "layer12": "853bd9b930493219171d93e6cbdbdaafcc3d22d41ee52bebc59eb0ffb5067dcc", + "layer13": "6ea64c91a9ae18f471b9d30cb673144b2507c26bcfc7f807523ba9508129cd92", + "layer14": "7e3523ce84c0c79ed2db54600a399ce4685fd28f0fe85f891d0c8bdebc811db7", + "layer15": "1676af889edbda17ccad57a54ac9f6cf1dca8fdb68f2d4c96d425216ef0f763e", + "layer16": "b0092b21f989097c1b60d1dd1205bedccd86f63f43123e2581879e49dd7cd5fd", + "layer17": "692a47a7dbc558235b5ee84d34c160c107e3639beff0453f896d9ea68784ff14", + "layer18": "4a56e759234ce4983c86b3cf8c479a1d8ac3fa667c9226295677901d717eb76a", + "layer19": "59a4e24234402198a2d122387509a9cec4f03a0c4fb366807f37b58492ff1fd9", + "layer2": "b28293ee6f402908748b82035869d110fdc41c2fa53765335ef37914ffe12777", + "layer20": "f9b4e59d78a54dc404a0e92231a5e091990e186ae92eff1667d584769dd9d2be", + "layer21": "75ac14d11ab2c8df06dac211e36ecd1c2d8129b6dead55d4246bb452e7cbd1e1", + "layer22": "b26631507047c40ed36264da58f2dc00bfe91b04782b17b09e91955857d27d03", + "layer23": "e4f0267f28abec0a7e9d4ab8743ef6ed12f6a02412ad72d84b603c0e9cca6904", + "layer24": "5ed9aaf2870edc82691bf9b3fcf7bdc598c8760f14119e1f888002d426e3f81a", + "layer25": "fae52df93e8b93985fb11ba27a14986ef0b95a03b96e5cc9447fe8a47cc23e44", + "layer26": "7bdad3d733ac7484b6f812d15bb7dc26e92202f6d23051d011aa17f70527b41c", + "layer27": "5b868fb33607eccb66434925a5e58c7a39e7032f5f07f3f5cf47371037239dde", + "layer28": "824d183a14a2dd39584a63b0d9255fd7f0234c14e679e830c7f196a16e60356c", + "layer29": "bdca32d9c4c45e842e518e8186d2f8db92c514bae203d3778c43592d6456c710", + "layer3": "4ecc2328d21227530ae630804a8522e6a5431985f6dee6cb0eef5301a76ba85c", + "layer30": "a659c1391d04dffbc6c5522aa8ea2e25302ff64cfd7c41eb55279495382e58d0", + "layer31": "88e2c6d3706c47a27f8c7cfbf9bb6e89955569cd1e6d1e52a014be8c77bf9fda", + "layer32": "72902db64dadc3b53664f49fdb069cda17a9cd8f2a417961ddd57f8bde5dbf18", + "layer33": "aaf47c22fa2dbd85d712dd979fa5297eabd58e02a7fbf5a8f5d5a74fb80586e1", + "layer34": "1e98a0a4312178a00d173042fff9a94184235a7d564347740af8f564dba7e0ab", + "layer35": "8c78f43c305220df38b9036d4d815f75329cad3d1d78e8838bf4fdcee350ce0a", + "layer36": "c74b7a95a07a6865ce0984327d147546b082eac05b4d9faf76cbe2a059c5fe7d", + "layer37": "bebaf9798168745bbd750bd87d77800c664598eec5ddaa4cdb056b9450f3ef77", + "layer38": "4a66582a43381a0bdf29f21f15cb7aeae5e54ab180536e5abb0774ae3ca103e8", + "layer39": "adf6fcdebf286dbf4b6707fba72617a8b8428878c74fa5d8ca56bf4d651cac0a", + "layer4": "9bb7c6650a70088ba525efa5bbe8b25d01ced414f7b9f15b393c331f6df8d1f6", + "layer40": "f919a20f530eb925dc5dd6c8d64b0128fc034f3c6f89ce86c409a139565e0790", + "layer41": "c7fed92a3c611e132971423afe50738f4764dd4d868f9fe3f47a79dbbaac606a", + "layer42": "9b8fe098d18b0b5276316763e50cc10bff8c96f63a67df16004d6e1ddfcbab87", + "layer43": "7640785dba714afa15d043e01cec1139ea508a55222015731039dec5138c45b5", + "layer44": "3d42fee55df4d75475162148703c43a011af305fb09ae0c6f899e068d7f9ce85", + "layer45": "8bb0c75d8fc0ad90a29aabfb0723802063e47bf8808fe7403b970efb61c9fddf", + "layer46": "6b30161bd4481658ed86d5495db36964a08b238891aed9e6a31f79d38f06d65d", + "layer47": "214b87cc29fed3c62c37ca2c3499e2f399ee1bb5467dde134b1f51ed59c80184", + "layer5": "ec2605ed9bc0587b9922ab67e0ce1fbaa1ac8f88625fa60a20dc17d7301d1d92", + "layer6": "0a3a13fb4d7a3b7cc03021907ea1696093c4678a309dd233abe4dfb746868345", + "layer7": "209329b03cc3969d96ff5095e6dd9bdbaa632663825787d4bbacab1a737056eb", + "layer8": "9b42d17c2a1c889ebe1881a4b525ae32a6ffdd31759834e043421769ce7be225", + "layer9": "7f8c69e2cfe1e10043499758d2a690d3fb8145d8ffa23343a20a00f49fc33e5f" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "reload/p0008-b1-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "reload/p0008-b1-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "c3fdfa4919e8fb1e301c0d3bdab3942f0380f9b88a86b372dde99bb0b5dddaf7", + "layer0": "60138117a904ac6a6a55cadf19f313494fab7e200ab8eda9c8f01dc81532cffb", + "layer1": "55820fd513bd648bc40205e6eb57ed2e5710caa9f8b4fc18f8b011f4317786b2", + "layer10": "f29f1a9a2357d83044e2803b6fa87c7368c429512560ce9cc5755748872f1ee0", + "layer11": "6c47b697cb4c3d2ad1e536d3f2d848df268856478d73c4aa6d7860f996e3cf4b", + "layer12": "6de5cc04fef5be2d76dcb0cb771a6f2a5d8b5623a3c4953cf67cd0d698de4e2b", + "layer13": "23303aef74e437bbf7eb8fe81e8292c45a1e9f192be42f787765c79e3e558a75", + "layer14": "ec6a6d2ba47d8cd918db8e575f17e82fad793046b3150e4679854fafefb42def", + "layer15": "4d471489ff78342e981bd684aeddc8e2fa336e6e2a6ffd537bbbf1d4589360cf", + "layer16": "30bf47b568ef128f2f6a3ee463c3bbe009561d82fdb48c06becf3bd5aa1982f4", + "layer17": "41110efa741b8856b8a65dbbafc5d71c5fe914c9ce6958e9a744cee83ea70348", + "layer18": "4f3b5c6a7d4e58385e3f036ac741f027722e63215fa76527f7cb87f09b9e133b", + "layer19": "8868e733ac9c12789087548112ae023dba723f3d166c6ef33c2e1f93e587c160", + "layer2": "6e724749dc641e9a32594e0a65fd7d5d3c9d5761a12c9bad808dc40ea1404dba", + "layer20": "8fa65f9c6dd4db836db41efe9e04ec2008eff75357f8f2cab561fbd0c0febc0f", + "layer21": "7ac50917cd8131d245aa771dfe70a21d3533ef8e7674eaaeb76ca07feb787d51", + "layer22": "6810a2b2c0ca115a361ef24df57a70923b4571bcd3023ffd0ed59e7fe27d620b", + "layer23": "9f90ebd715affe7e2bc7f1031f2b3bbd2125bde1599fcad62071847c05206666", + "layer24": "5baeee3e64be23fe20a9609550511eddccd2b209a26e0985f2b30514caa344af", + "layer25": "fd24e7ffc6dc39aabacf2f4fce0a0b163dab9bdd1fb55f321a369caf9674c145", + "layer26": "2ee6fe2c1fba8ee3812af747900bf5928bbc3234f99e259eae7d120352e35803", + "layer27": "1200f57dcbf6801b06a5d5bc28e6f9411f26c7476e00b6b7bc4f355fb15ac895", + "layer28": "f0f5634cfface2fea5db3eafb98f8ecca0136dc13f27480312931deeb6703b09", + "layer29": "f0a98000a2da710dbf59fabcd777fa835111cef5a3063b36af421c4e471b58d7", + "layer3": "8b20b186d59458aa317b1463f734e58096730f9da06c500f0446fa84a053ba00", + "layer30": "d5537bed7fd86e244cec0d8f4eafa16b03d9f80d197f54ed4dd7b9043a173d4b", + "layer31": "21b38dcb6037f3bc2806731ccf6271db698469f1a885be040e259e8e42117bee", + "layer32": "529ddd35057913cdd92f8534f31ae63ccd8925b375d5fd4dcea0dbc26ab932da", + "layer33": "f8a2272587acf1b5a3e76a3c5f80840149ab89c3c71828d7fcf48bd9583fc004", + "layer34": "de91f4e35da49d5fe02069fe5591a055a9ed5ad17e7f24fc6e772bca86c6c5f0", + "layer35": "5727c47637ac68b7247ef830bfc8b9610fd2aef6bb34a32f6248278cb414b0ce", + "layer36": "8130181cdbb476faee1a8716cf3623f63200b66a73b4c752e86680f2e2161a55", + "layer37": "d70efe26e5513fbe04f4986e93d5089638854f5091806d2b88b294b9f0c784ba", + "layer38": "86810157b12fe5701664334f62aacf41bed88a2f4e07f0057506fd152168497f", + "layer39": "f92782dfdeba18ab3673ba01f648c19a76449cce76f58fe94e97c14020f04b9c", + "layer4": "81494b115184f3efbf4fbcaddf5436bd64e45d41a53c8a102c5c1d68778187c2", + "layer40": "41fd76bc352cded3f4fb98d414fe550233b3bdb7c5b7562f8483ca8e4a1e2d52", + "layer41": "c535e8ddae417096ee1f50cde759d33d6a62d863cc9a4d4cf01900ceabe8ab5c", + "layer42": "148c44c217b78405f3afaf91568691bdb6fe71408d2404d67d6f7946734c10bb", + "layer43": "c2f66c2b845ab836a31c59bb9590f02be7d80477f0745db3f9c8d68fe0b42645", + "layer44": "f666c71245cfdc4abcddc3b70cfaa6bc9bc81d99ab08df56f871ef49bede9505", + "layer45": "4d671bb364472be41d5c7d8b63c219963de6a451e07e322f78b975821e00008d", + "layer46": "fd57dc1dcf412ba71bf9f3c540613dbdbf47f9f1eef71e1dfae320f52e415169", + "layer47": "3a17a3e3720662a4f671b3399d0a0d55eede4d873fc1ed2f8200a3f32c3a8c97", + "layer5": "5dc9c6756a52d92f3174612a649559423306f951a1d98bf367bda087612f8253", + "layer6": "3485bce83da9e22180997e84d008dc301fe6d4fb9b4655f6e4c3c1c3fdc76111", + "layer7": "e83e46867bbe2a09dc27340aadcd261284e78a44eb967b5bcca5488e8599fec6", + "layer8": "93f788032ca4a142163df13c38673820f063d030ceebadbeacc94e22a696e239", + "layer9": "6b6d3e7576527459d8a485603cf2fd6abb622fb0929ac8f3e915d339fbbc2d1a" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "reload/p0008-b1-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "reload/p0008-b1-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "c3fdfa4919e8fb1e301c0d3bdab3942f0380f9b88a86b372dde99bb0b5dddaf7", + "layer0": "60138117a904ac6a6a55cadf19f313494fab7e200ab8eda9c8f01dc81532cffb", + "layer1": "55820fd513bd648bc40205e6eb57ed2e5710caa9f8b4fc18f8b011f4317786b2", + "layer10": "f29f1a9a2357d83044e2803b6fa87c7368c429512560ce9cc5755748872f1ee0", + "layer11": "6c47b697cb4c3d2ad1e536d3f2d848df268856478d73c4aa6d7860f996e3cf4b", + "layer12": "6de5cc04fef5be2d76dcb0cb771a6f2a5d8b5623a3c4953cf67cd0d698de4e2b", + "layer13": "23303aef74e437bbf7eb8fe81e8292c45a1e9f192be42f787765c79e3e558a75", + "layer14": "ec6a6d2ba47d8cd918db8e575f17e82fad793046b3150e4679854fafefb42def", + "layer15": "4d471489ff78342e981bd684aeddc8e2fa336e6e2a6ffd537bbbf1d4589360cf", + "layer16": "30bf47b568ef128f2f6a3ee463c3bbe009561d82fdb48c06becf3bd5aa1982f4", + "layer17": "41110efa741b8856b8a65dbbafc5d71c5fe914c9ce6958e9a744cee83ea70348", + "layer18": "4f3b5c6a7d4e58385e3f036ac741f027722e63215fa76527f7cb87f09b9e133b", + "layer19": "8868e733ac9c12789087548112ae023dba723f3d166c6ef33c2e1f93e587c160", + "layer2": "6e724749dc641e9a32594e0a65fd7d5d3c9d5761a12c9bad808dc40ea1404dba", + "layer20": "8fa65f9c6dd4db836db41efe9e04ec2008eff75357f8f2cab561fbd0c0febc0f", + "layer21": "7ac50917cd8131d245aa771dfe70a21d3533ef8e7674eaaeb76ca07feb787d51", + "layer22": "6810a2b2c0ca115a361ef24df57a70923b4571bcd3023ffd0ed59e7fe27d620b", + "layer23": "9f90ebd715affe7e2bc7f1031f2b3bbd2125bde1599fcad62071847c05206666", + "layer24": "5baeee3e64be23fe20a9609550511eddccd2b209a26e0985f2b30514caa344af", + "layer25": "fd24e7ffc6dc39aabacf2f4fce0a0b163dab9bdd1fb55f321a369caf9674c145", + "layer26": "2ee6fe2c1fba8ee3812af747900bf5928bbc3234f99e259eae7d120352e35803", + "layer27": "1200f57dcbf6801b06a5d5bc28e6f9411f26c7476e00b6b7bc4f355fb15ac895", + "layer28": "f0f5634cfface2fea5db3eafb98f8ecca0136dc13f27480312931deeb6703b09", + "layer29": "f0a98000a2da710dbf59fabcd777fa835111cef5a3063b36af421c4e471b58d7", + "layer3": "8b20b186d59458aa317b1463f734e58096730f9da06c500f0446fa84a053ba00", + "layer30": "d5537bed7fd86e244cec0d8f4eafa16b03d9f80d197f54ed4dd7b9043a173d4b", + "layer31": "21b38dcb6037f3bc2806731ccf6271db698469f1a885be040e259e8e42117bee", + "layer32": "529ddd35057913cdd92f8534f31ae63ccd8925b375d5fd4dcea0dbc26ab932da", + "layer33": "f8a2272587acf1b5a3e76a3c5f80840149ab89c3c71828d7fcf48bd9583fc004", + "layer34": "de91f4e35da49d5fe02069fe5591a055a9ed5ad17e7f24fc6e772bca86c6c5f0", + "layer35": "5727c47637ac68b7247ef830bfc8b9610fd2aef6bb34a32f6248278cb414b0ce", + "layer36": "8130181cdbb476faee1a8716cf3623f63200b66a73b4c752e86680f2e2161a55", + "layer37": "d70efe26e5513fbe04f4986e93d5089638854f5091806d2b88b294b9f0c784ba", + "layer38": "86810157b12fe5701664334f62aacf41bed88a2f4e07f0057506fd152168497f", + "layer39": "f92782dfdeba18ab3673ba01f648c19a76449cce76f58fe94e97c14020f04b9c", + "layer4": "81494b115184f3efbf4fbcaddf5436bd64e45d41a53c8a102c5c1d68778187c2", + "layer40": "41fd76bc352cded3f4fb98d414fe550233b3bdb7c5b7562f8483ca8e4a1e2d52", + "layer41": "c535e8ddae417096ee1f50cde759d33d6a62d863cc9a4d4cf01900ceabe8ab5c", + "layer42": "148c44c217b78405f3afaf91568691bdb6fe71408d2404d67d6f7946734c10bb", + "layer43": "c2f66c2b845ab836a31c59bb9590f02be7d80477f0745db3f9c8d68fe0b42645", + "layer44": "f666c71245cfdc4abcddc3b70cfaa6bc9bc81d99ab08df56f871ef49bede9505", + "layer45": "4d671bb364472be41d5c7d8b63c219963de6a451e07e322f78b975821e00008d", + "layer46": "fd57dc1dcf412ba71bf9f3c540613dbdbf47f9f1eef71e1dfae320f52e415169", + "layer47": "3a17a3e3720662a4f671b3399d0a0d55eede4d873fc1ed2f8200a3f32c3a8c97", + "layer5": "5dc9c6756a52d92f3174612a649559423306f951a1d98bf367bda087612f8253", + "layer6": "3485bce83da9e22180997e84d008dc301fe6d4fb9b4655f6e4c3c1c3fdc76111", + "layer7": "e83e46867bbe2a09dc27340aadcd261284e78a44eb967b5bcca5488e8599fec6", + "layer8": "93f788032ca4a142163df13c38673820f063d030ceebadbeacc94e22a696e239", + "layer9": "6b6d3e7576527459d8a485603cf2fd6abb622fb0929ac8f3e915d339fbbc2d1a" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "reload/p0008-b4-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "reload/p0008-b4-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "cf2ae0d9dd78d825b1134d6995a0c738b48f6d9205d28c60264684dde7ab44bd", + "layer0": "4b1040227752ee0a44273bf2d94629161fa03a1338bd81e79fb9075c17f7152b", + "layer1": "82e95996f390763442fc7276076fabbeb542e031795ede3cd2e215baa79e070b", + "layer10": "b451bd55ad28b742da84556662d4bb5a68e74ce2f19ec20e50ad32a5ce1c03b2", + "layer11": "41575d765c59f26b81f91be322394c7eef1104a7b5aef38022b31860153c8c2c", + "layer12": "7d0acda9a56efd25489496855377631dc1c7adea27a7fc5b0bf4353b5922e76e", + "layer13": "baf8909b621e63887cfc90f452cc7a6eb830050a1f228e97deeef61a3006281c", + "layer14": "06096e8611e148e26c9ba5c9f38c76c89ccd1c555db290971e09dd8e0dddbec5", + "layer15": "d5225bbc0dab2f5c3db42a60675a8d2331360b1fe4ba881169f28fda75ec11f6", + "layer16": "b5bf99fb55cf2cdf26f3a68063d190d0f4aaba8fa21aef998fcfaab25bc95bfc", + "layer17": "e41ecbe7b52414279c832a41c0e9fd886deaa85a33a7a77d3a0085480027894a", + "layer18": "07ecc000211e972a050b6f4407f0c0964409d18c4a2a83165624e3ab7816b712", + "layer19": "05db02ac66ee73dbe9f2cfc78666c14b2f4e32eacab3ae6bb9f6752997a57c3d", + "layer2": "2a4ceebe36e817a6de311b041ea332c7bbf5ae4f98d93c059d88f840d2de83d8", + "layer20": "e8f1d8446996b5bc30cd081f4b23395ab53d3214141cc3fbf9c3251267ed1355", + "layer21": "7697410a56b3bd9b7b38274d7e2ec3ebcc40a33ed3d716538d2685a0f0e1cdf4", + "layer22": "054ab2fc3c419b236ecf21a2fcc4281fec6d64700c4eb7f3184a01d49df6d539", + "layer23": "bc17e027f49723571e423a188163fd26ed706406d63fb55439b255d204df9e20", + "layer24": "ae983c653ffe94381518c415b32eb180387291f3c28ea2df3e55f568fd3c2b6e", + "layer25": "aa065d90d7e65708083d167ac05c7c2ececaf766fd01bb6306aa49228852b693", + "layer26": "61bb49b7b55e4fe8c1d075925e62ebecc94b2f094baa672248bb415d042a1899", + "layer27": "5882782916bf74d9fb41b7cecd7277f4e11df554a68a2fa29f969e5f3b95cdd1", + "layer28": "6fcfb30538bdd5adc41e751e26e9558e37ffbac0c7913300d36f1927bf2c3170", + "layer29": "799f07bead837d256020bd5d10d57cadc0c9d0c2e7b7461e140db3b40e3f770a", + "layer3": "782bbd66a5532ed552951f46e7c56eef027645783b65215834daff181d7d9318", + "layer30": "ffb179aea6b713a84a767e6f877dd3a264418f18c96cde8b0d62d1084634c53d", + "layer31": "0835adbecf4dc2624572cf0f4fe40631a60fc20916db0ad8a7fd3cfa81514076", + "layer32": "4795cbfb256d624a452b160c3a4d8cc5336c0a6701acb34e71e84453db4a3954", + "layer33": "13799d8e8d300bb010008b3848894922b5ddc59bb9cd7f4f5b95215be7238b85", + "layer34": "392e4e1ca04aab016d4ed9c57c27796880770866b1f562e07df40b0c93129345", + "layer35": "1c8df100247c23edef3fb66c63e60b68d4dc54e5539415fbf9d988e5dc821dc0", + "layer36": "c051082620119487bb232bad52c50fe070797527a0b27136b25ca16f601b51a7", + "layer37": "b9e7a3d55aa5f4072143dd21f21f2c44452232f1712be360bda4b005cab2eca7", + "layer38": "f4a35b17c9e15dcf470fb0a33731e6249d1ed234ed8c16b0115188a5346ee253", + "layer39": "b8cc7ebdf86ebdbba6cc5b3fc8f3faae6de78c99e2e6bcf3c7c22a3f55590356", + "layer4": "0edb0572693dd8c12cc95aeaf05b256452ad8e413110941833b2c93593c7e582", + "layer40": "8f9ef2c607edb26db56af4c097a7a7afa233c1d33efbaf043cb46b8ff0698c42", + "layer41": "9fcfbed8abc5ad342366c7ecfba56678d216eb530fcea7724a3bd06e0641f333", + "layer42": "1d563dbbc732c808d034bfe4581a721cf17079fe62f42b5b367afed1aa29a1d3", + "layer43": "2446de19cad7351b97fadc45aebaa90ab5544ba3c23107ab03912bde1f778b06", + "layer44": "ab8525f3fff126359fe58bbb6565c3bff7158cf4e19428c19866559d586a91d0", + "layer45": "7b3318a19008cd52c1b9882aa5c76070418385e9684e71ff48692283ea7267ec", + "layer46": "b1552e26e7a3b6bfbe38a65cc315e01efc6b2253a181e6cc55040c1789f4870f", + "layer47": "1cb3e7d72dff524840ec72043e6b892805645ca04dea3236772c6e9cfd178cab", + "layer5": "d5af3a1d56b99320110a6b67b4c0ef02da4f5aac31a0be2d955a64ee06933dc8", + "layer6": "0e85f5c507dd7cdc061c4081c5df19d240881745bf208463d929ecfd1a43799e", + "layer7": "55b8ec5182d7f7e34a2cc7766f1124a69534eabcc4279933fd4673a0a44a4899", + "layer8": "3d14c684e6777580910cdf444b897f807ac5029e65641837b7610f877db825a6", + "layer9": "e9decc46bf9a469550a30cacfeb442bd9cc1b87d20e6505a4516f6e7d37c87e1" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "reload/p0008-b4-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "reload/p0008-b4-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "cf2ae0d9dd78d825b1134d6995a0c738b48f6d9205d28c60264684dde7ab44bd", + "layer0": "4b1040227752ee0a44273bf2d94629161fa03a1338bd81e79fb9075c17f7152b", + "layer1": "82e95996f390763442fc7276076fabbeb542e031795ede3cd2e215baa79e070b", + "layer10": "b451bd55ad28b742da84556662d4bb5a68e74ce2f19ec20e50ad32a5ce1c03b2", + "layer11": "41575d765c59f26b81f91be322394c7eef1104a7b5aef38022b31860153c8c2c", + "layer12": "7d0acda9a56efd25489496855377631dc1c7adea27a7fc5b0bf4353b5922e76e", + "layer13": "baf8909b621e63887cfc90f452cc7a6eb830050a1f228e97deeef61a3006281c", + "layer14": "06096e8611e148e26c9ba5c9f38c76c89ccd1c555db290971e09dd8e0dddbec5", + "layer15": "d5225bbc0dab2f5c3db42a60675a8d2331360b1fe4ba881169f28fda75ec11f6", + "layer16": "b5bf99fb55cf2cdf26f3a68063d190d0f4aaba8fa21aef998fcfaab25bc95bfc", + "layer17": "e41ecbe7b52414279c832a41c0e9fd886deaa85a33a7a77d3a0085480027894a", + "layer18": "07ecc000211e972a050b6f4407f0c0964409d18c4a2a83165624e3ab7816b712", + "layer19": "05db02ac66ee73dbe9f2cfc78666c14b2f4e32eacab3ae6bb9f6752997a57c3d", + "layer2": "2a4ceebe36e817a6de311b041ea332c7bbf5ae4f98d93c059d88f840d2de83d8", + "layer20": "e8f1d8446996b5bc30cd081f4b23395ab53d3214141cc3fbf9c3251267ed1355", + "layer21": "7697410a56b3bd9b7b38274d7e2ec3ebcc40a33ed3d716538d2685a0f0e1cdf4", + "layer22": "054ab2fc3c419b236ecf21a2fcc4281fec6d64700c4eb7f3184a01d49df6d539", + "layer23": "bc17e027f49723571e423a188163fd26ed706406d63fb55439b255d204df9e20", + "layer24": "ae983c653ffe94381518c415b32eb180387291f3c28ea2df3e55f568fd3c2b6e", + "layer25": "aa065d90d7e65708083d167ac05c7c2ececaf766fd01bb6306aa49228852b693", + "layer26": "61bb49b7b55e4fe8c1d075925e62ebecc94b2f094baa672248bb415d042a1899", + "layer27": "5882782916bf74d9fb41b7cecd7277f4e11df554a68a2fa29f969e5f3b95cdd1", + "layer28": "6fcfb30538bdd5adc41e751e26e9558e37ffbac0c7913300d36f1927bf2c3170", + "layer29": "799f07bead837d256020bd5d10d57cadc0c9d0c2e7b7461e140db3b40e3f770a", + "layer3": "782bbd66a5532ed552951f46e7c56eef027645783b65215834daff181d7d9318", + "layer30": "ffb179aea6b713a84a767e6f877dd3a264418f18c96cde8b0d62d1084634c53d", + "layer31": "0835adbecf4dc2624572cf0f4fe40631a60fc20916db0ad8a7fd3cfa81514076", + "layer32": "4795cbfb256d624a452b160c3a4d8cc5336c0a6701acb34e71e84453db4a3954", + "layer33": "13799d8e8d300bb010008b3848894922b5ddc59bb9cd7f4f5b95215be7238b85", + "layer34": "392e4e1ca04aab016d4ed9c57c27796880770866b1f562e07df40b0c93129345", + "layer35": "1c8df100247c23edef3fb66c63e60b68d4dc54e5539415fbf9d988e5dc821dc0", + "layer36": "c051082620119487bb232bad52c50fe070797527a0b27136b25ca16f601b51a7", + "layer37": "b9e7a3d55aa5f4072143dd21f21f2c44452232f1712be360bda4b005cab2eca7", + "layer38": "f4a35b17c9e15dcf470fb0a33731e6249d1ed234ed8c16b0115188a5346ee253", + "layer39": "b8cc7ebdf86ebdbba6cc5b3fc8f3faae6de78c99e2e6bcf3c7c22a3f55590356", + "layer4": "0edb0572693dd8c12cc95aeaf05b256452ad8e413110941833b2c93593c7e582", + "layer40": "8f9ef2c607edb26db56af4c097a7a7afa233c1d33efbaf043cb46b8ff0698c42", + "layer41": "9fcfbed8abc5ad342366c7ecfba56678d216eb530fcea7724a3bd06e0641f333", + "layer42": "1d563dbbc732c808d034bfe4581a721cf17079fe62f42b5b367afed1aa29a1d3", + "layer43": "2446de19cad7351b97fadc45aebaa90ab5544ba3c23107ab03912bde1f778b06", + "layer44": "ab8525f3fff126359fe58bbb6565c3bff7158cf4e19428c19866559d586a91d0", + "layer45": "7b3318a19008cd52c1b9882aa5c76070418385e9684e71ff48692283ea7267ec", + "layer46": "b1552e26e7a3b6bfbe38a65cc315e01efc6b2253a181e6cc55040c1789f4870f", + "layer47": "1cb3e7d72dff524840ec72043e6b892805645ca04dea3236772c6e9cfd178cab", + "layer5": "d5af3a1d56b99320110a6b67b4c0ef02da4f5aac31a0be2d955a64ee06933dc8", + "layer6": "0e85f5c507dd7cdc061c4081c5df19d240881745bf208463d929ecfd1a43799e", + "layer7": "55b8ec5182d7f7e34a2cc7766f1124a69534eabcc4279933fd4673a0a44a4899", + "layer8": "3d14c684e6777580910cdf444b897f807ac5029e65641837b7610f877db825a6", + "layer9": "e9decc46bf9a469550a30cacfeb442bd9cc1b87d20e6505a4516f6e7d37c87e1" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "reload/p0064-b1-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "reload/p0064-b1-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "74fc357dee08af48a56d775130799a8efee0893d9a543d616910c6c3995c9320", + "layer0": "ea16a603f205f5e5176aee73683355057d85984aef99dcd98619c5dcf71d64b4", + "layer1": "799d344db64615f29691aa528f7ffab168e59aa02b20ce027b259ff4427ba658", + "layer10": "6256599d0e35cba039b5c1b5a5d84da6d526b0b003d535f28e8d4d50b2676313", + "layer11": "85b5529d83ac9b3c3522720e2afa89254b6edc3813e11bd7ebfbb28e89109f28", + "layer12": "65220f7a0480cc59b2e937a587f770b0f1a80960528f8b0cc31aeaf35134a916", + "layer13": "a2c922c2f43a85dfebddf568b45f8fbc913dc292703b1cf39278c45aa55e261d", + "layer14": "9dfed0fc609350c4e315712517124089f56ede9f9a6282528be01c8ac186f2c1", + "layer15": "e7d4feb100d972e04032552147208c4edd4b6f7a92203350c065d0eb4b5d32ba", + "layer16": "dabcb7650a13ef2e452874a62589bc09958ab9b8f023ed22976b584b262a4312", + "layer17": "4eb9583a616dd84f8e9084167b17082028565704b0062f2b63861a840ec3aaa0", + "layer18": "dc1fa5395ca75b8aaaa3fbffe13f60e45628e60093e8662b7cf1495a01ea1de0", + "layer19": "4c15295b4123a6f651d884e31db705ec619fa8109e6f4f452c3f3b7e5caa6ba5", + "layer2": "2958078f9b6f3efce0c6896659e11b24360cc74f2704d4a4de82e96c02807d95", + "layer20": "cc11964cc9dbbb40361072f5e3b8dc05c5559e112a943a0f65c1667c7f17abe8", + "layer21": "04e0a8499dd91a5639a58f1fba47af5b94a0f0e32f313cee439105b05d3a34cd", + "layer22": "1422e4b58602f6c730926792c26df91cc540873f8b77582926d76a5f2b33c2e2", + "layer23": "f80bad40a642ddea5413d477157ee2951b55397f07e9c88bad717f3a036ef11d", + "layer24": "01748dc657a03da262ee80808f12abaaf9f15868fb3fb96b4ef52080d575ae57", + "layer25": "f5db52ba606ed9f9a5f9dd5f691a05ace7533fa2853c2441254db5837cacacfa", + "layer26": "08e12cb9dd79c6cbb0898a12a6955264241421ca8c8f7d9f8e3eb5be2f7a2d9b", + "layer27": "e5fd1acf6ac961964bbfe08502cc032cbfc4a8e777562351f3b7b4b7d85fd625", + "layer28": "40e874ed228954b3d966702870817b41366431fe2be77d9302120150bad102c8", + "layer29": "dc6db07cbd36559198e52b870354ff06610a5f940f4b23f890c6966e97e869bf", + "layer3": "6eede9a3ba3f1c94ddef4aef245908def28eef71468ece81bc67f41c31b47475", + "layer30": "0d7840f7944caad13f37153e7c536711d61d722bc92c49cef9e867d043ce6906", + "layer31": "7d80f05ab51f6918c125e512b8115fc273bc7f537fc3bd7b6e21b219bf921321", + "layer32": "83f46d2e8ea185e3cdfdd13cfa7360959fc72d8b4c0a290150fbd42a7dd25196", + "layer33": "a76ab194685338dadd0cdc5c57c2a8361f1bb217ff22db88538340f8f52c7c13", + "layer34": "aeb104c4791ba3b2f67f5c4f395b60c7fc1f6d2849e56fdbd7b11c364b259d4d", + "layer35": "de502dea04bd5529de5f740477cb7ff741e4454eb91e7c993db9b9d274e316b2", + "layer36": "fdb94d72cb785afe75e27134b5e1484925988010f2540e61cb4ee89dc9737185", + "layer37": "6ca6a90e5c23de7e00279a7147a0e1105f42c164e032ba4029a8707ed860bb44", + "layer38": "b6a15604c47df2252bd3a0914cf246eb524bd1ab3114de690051fe5e8e491322", + "layer39": "9fccb052390da5a8938757187038320cc518312f9d5ca1fe74e47e8c78565f24", + "layer4": "526615e679a2ed85bc8e4f815c65ae11f76cf71f744e463bdfeeaf15f4facbda", + "layer40": "59f8361ce2a630bc1abf2d7da6cae8fd0dd649ac699aa9057dc9b4737a4057cf", + "layer41": "eabe692f214ff6b4cb1bab18e71db97aa9b37bf07bd698d551932af5b0fea9bd", + "layer42": "384baf547cd48d20c0a3a21010daea4e2c61cd31a7889fa7f14ebb85423a1dc5", + "layer43": "6f0e7a8f4db3145b681b0a5fc99b19f2b21464f4ea45bb97e3228645e17ec0ba", + "layer44": "e46e2d487bfc27f46e75940cee078a76a9413b3df5655e4f5f1b45a7a7565481", + "layer45": "184a84437bcc5b7c6ea5604ce867742765bc8f51307f2ec509cdc2c1059341d1", + "layer46": "7b61154fd4c1b74266b4446e41840d25786f1c5b0fad720169fa07de46b35f57", + "layer47": "dd0e1a1198e9ffa3f486e9aad1c749e374f701467d569df7753a063e19e72ca6", + "layer5": "57409294ae3c98e57f803fa0dadc09bd0a6d1a369d1cfa7ff7f6fa5ae4b3f2b3", + "layer6": "801f0bd90a7c08d5a936ebeeaab34120e65eaebff97bf883cfb4f9b927459562", + "layer7": "c9a4b6bd776b86983c1729f4792b116ecc5409aeff582ee2847bae7b23bef44a", + "layer8": "ef926f45c8527a82b62c7e23942dadde2fc919ff0fe83621b1001d9ca612aab6", + "layer9": "848f54519853b869e16bc3ec0cd20930f9850a564445d3bef96b6eb7e10f6642" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "reload/p0064-b1-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "reload/p0064-b1-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "74fc357dee08af48a56d775130799a8efee0893d9a543d616910c6c3995c9320", + "layer0": "ea16a603f205f5e5176aee73683355057d85984aef99dcd98619c5dcf71d64b4", + "layer1": "799d344db64615f29691aa528f7ffab168e59aa02b20ce027b259ff4427ba658", + "layer10": "6256599d0e35cba039b5c1b5a5d84da6d526b0b003d535f28e8d4d50b2676313", + "layer11": "85b5529d83ac9b3c3522720e2afa89254b6edc3813e11bd7ebfbb28e89109f28", + "layer12": "65220f7a0480cc59b2e937a587f770b0f1a80960528f8b0cc31aeaf35134a916", + "layer13": "a2c922c2f43a85dfebddf568b45f8fbc913dc292703b1cf39278c45aa55e261d", + "layer14": "9dfed0fc609350c4e315712517124089f56ede9f9a6282528be01c8ac186f2c1", + "layer15": "e7d4feb100d972e04032552147208c4edd4b6f7a92203350c065d0eb4b5d32ba", + "layer16": "dabcb7650a13ef2e452874a62589bc09958ab9b8f023ed22976b584b262a4312", + "layer17": "4eb9583a616dd84f8e9084167b17082028565704b0062f2b63861a840ec3aaa0", + "layer18": "dc1fa5395ca75b8aaaa3fbffe13f60e45628e60093e8662b7cf1495a01ea1de0", + "layer19": "4c15295b4123a6f651d884e31db705ec619fa8109e6f4f452c3f3b7e5caa6ba5", + "layer2": "2958078f9b6f3efce0c6896659e11b24360cc74f2704d4a4de82e96c02807d95", + "layer20": "cc11964cc9dbbb40361072f5e3b8dc05c5559e112a943a0f65c1667c7f17abe8", + "layer21": "04e0a8499dd91a5639a58f1fba47af5b94a0f0e32f313cee439105b05d3a34cd", + "layer22": "1422e4b58602f6c730926792c26df91cc540873f8b77582926d76a5f2b33c2e2", + "layer23": "f80bad40a642ddea5413d477157ee2951b55397f07e9c88bad717f3a036ef11d", + "layer24": "01748dc657a03da262ee80808f12abaaf9f15868fb3fb96b4ef52080d575ae57", + "layer25": "f5db52ba606ed9f9a5f9dd5f691a05ace7533fa2853c2441254db5837cacacfa", + "layer26": "08e12cb9dd79c6cbb0898a12a6955264241421ca8c8f7d9f8e3eb5be2f7a2d9b", + "layer27": "e5fd1acf6ac961964bbfe08502cc032cbfc4a8e777562351f3b7b4b7d85fd625", + "layer28": "40e874ed228954b3d966702870817b41366431fe2be77d9302120150bad102c8", + "layer29": "dc6db07cbd36559198e52b870354ff06610a5f940f4b23f890c6966e97e869bf", + "layer3": "6eede9a3ba3f1c94ddef4aef245908def28eef71468ece81bc67f41c31b47475", + "layer30": "0d7840f7944caad13f37153e7c536711d61d722bc92c49cef9e867d043ce6906", + "layer31": "7d80f05ab51f6918c125e512b8115fc273bc7f537fc3bd7b6e21b219bf921321", + "layer32": "83f46d2e8ea185e3cdfdd13cfa7360959fc72d8b4c0a290150fbd42a7dd25196", + "layer33": "a76ab194685338dadd0cdc5c57c2a8361f1bb217ff22db88538340f8f52c7c13", + "layer34": "aeb104c4791ba3b2f67f5c4f395b60c7fc1f6d2849e56fdbd7b11c364b259d4d", + "layer35": "de502dea04bd5529de5f740477cb7ff741e4454eb91e7c993db9b9d274e316b2", + "layer36": "fdb94d72cb785afe75e27134b5e1484925988010f2540e61cb4ee89dc9737185", + "layer37": "6ca6a90e5c23de7e00279a7147a0e1105f42c164e032ba4029a8707ed860bb44", + "layer38": "b6a15604c47df2252bd3a0914cf246eb524bd1ab3114de690051fe5e8e491322", + "layer39": "9fccb052390da5a8938757187038320cc518312f9d5ca1fe74e47e8c78565f24", + "layer4": "526615e679a2ed85bc8e4f815c65ae11f76cf71f744e463bdfeeaf15f4facbda", + "layer40": "59f8361ce2a630bc1abf2d7da6cae8fd0dd649ac699aa9057dc9b4737a4057cf", + "layer41": "eabe692f214ff6b4cb1bab18e71db97aa9b37bf07bd698d551932af5b0fea9bd", + "layer42": "384baf547cd48d20c0a3a21010daea4e2c61cd31a7889fa7f14ebb85423a1dc5", + "layer43": "6f0e7a8f4db3145b681b0a5fc99b19f2b21464f4ea45bb97e3228645e17ec0ba", + "layer44": "e46e2d487bfc27f46e75940cee078a76a9413b3df5655e4f5f1b45a7a7565481", + "layer45": "184a84437bcc5b7c6ea5604ce867742765bc8f51307f2ec509cdc2c1059341d1", + "layer46": "7b61154fd4c1b74266b4446e41840d25786f1c5b0fad720169fa07de46b35f57", + "layer47": "dd0e1a1198e9ffa3f486e9aad1c749e374f701467d569df7753a063e19e72ca6", + "layer5": "57409294ae3c98e57f803fa0dadc09bd0a6d1a369d1cfa7ff7f6fa5ae4b3f2b3", + "layer6": "801f0bd90a7c08d5a936ebeeaab34120e65eaebff97bf883cfb4f9b927459562", + "layer7": "c9a4b6bd776b86983c1729f4792b116ecc5409aeff582ee2847bae7b23bef44a", + "layer8": "ef926f45c8527a82b62c7e23942dadde2fc919ff0fe83621b1001d9ca612aab6", + "layer9": "848f54519853b869e16bc3ec0cd20930f9850a564445d3bef96b6eb7e10f6642" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "reload/p0064-b4-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "reload/p0064-b4-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "7e7b3bbff36cfaa8b7440b8f40cc326b66f1fb5f141d6d42a25824bd2ef9a4a1", + "layer0": "0b111e18597d2532702495f2e41312490d15c19e284ee501508e1b4ba1c27435", + "layer1": "ce4b546b8940c5a6fc1e9cb73eee47e3e692a3de511c8380d0cdc756a26b7a67", + "layer10": "8898e19c0649457ce3c6fb9586bf40332e3a271e7f44dd9d46a5c47b0af63a97", + "layer11": "851deb6583105c54aded6d73f72b3763bc89e61e226f43c8c886dbdba8eb6960", + "layer12": "553ba983cbb1ddfff1f5e8c4a48158bbe675fd6895a06b9d7a5f17e235f91fad", + "layer13": "175715734a486f6afddd2225bd12f6a8b803d221e1d2d0fe6803f385d9139761", + "layer14": "f2e75d278ffbee1c42a0555bff0e35a74bd3f6854f4c20e064ff79f3d3bbfa98", + "layer15": "242ed9641d4135462980ce86c6fa2584aae67065cc201169171c72d879a28ccd", + "layer16": "55f48bb288f9b9aba4c25f8a18aea9ca30cfd2b3121d95b4a72eb2bf3adb15f7", + "layer17": "f2e267e4d1a89f8453d43f723e6e8a67c3b79657fba89c70dc661809959be3c7", + "layer18": "08e9f038f3a133fea66944eebada541ccebd8c305d7b68300619fe92f78138f2", + "layer19": "92fca10240a1add3db75a9493837fbdce06df0a095eef1743a84fb33f24d9517", + "layer2": "84ea6669f8a942f3385361fc8ac5445965374a3dbcf02e3981c6ad12526eae30", + "layer20": "8fbccd5befeed56f10e197a011e54083f5e0b48159110188eb8ca9e2ec8106c8", + "layer21": "dc79be6cc34a9709c522eed7a9906167e4274d8e3843d06a5fa59ed871770bf7", + "layer22": "e21815b2779ff59f9494b0f7af24285677585d24a5e14d9302753ce6fe02d4c1", + "layer23": "cb50aca5fc69eb53cbe3fee90b32c1d775f21a83726bfa0577aa5cc52d0d9425", + "layer24": "b4e7c7d1b7e8b8a18e11538f23512deb2fa7f7ee9e3c30521c3e365db5cd0135", + "layer25": "93889f4a3626af62ab4dcbcca6c44b0fad667b0301ffcd576ede0792a2278558", + "layer26": "bd01474fe72c0f12f103b832ec07dca388c63d1c9abb9be71dc3e9ef425e7cb6", + "layer27": "a626f480dedfcade93b743bf20ef40ec549a291a5d9e50102ea6a616b45aa335", + "layer28": "6d9fb01027215693f1f3a23222f120a216d3ff80ce95198f9dbb935fdbb2ee4d", + "layer29": "e9c5e5aaff31eda6363e6b03b501a3068cd87854f58466caa493de3ca44922ed", + "layer3": "846c20e902b56911a51505ac72844d6cdfd0c4ccac8b212de6ad04c6d0e05905", + "layer30": "178b4088eef7a63b8a51482de9d43eebeed70e08ed9139b090619a6864fc717e", + "layer31": "a1287a744d8f6a543e97d8f2cdb88f72787f03cb17366fbc3f9cab6552ec465c", + "layer32": "36e1d936635b0100fc007c417a57e3ec574a32fa581871827d49de8df2d0e781", + "layer33": "3c2214ff64c4fcbfdc308b54861d5358737dc0ccab6420102cae3c4bb3dad1f3", + "layer34": "eee4ae75bb9a4242f81927b21b7c40db300d7144fa5cd160ef51f450c5904760", + "layer35": "affa89cb5a1bd5c8fb5a23e881b0169e039ea1533b48ec1b7368ba677e7f79f2", + "layer36": "1ffc6edc05e895810741c70248e46b5815516becb2539983071bb06ec553ba7d", + "layer37": "d8bf2be62b2f895baa3f0a3766597adc9d5a4c370837f692c2972a6dedc9cfe0", + "layer38": "177e390ae414cdad1b0b0a040b213cfe0dbdeea4593302afcf1b8b7b1be5e507", + "layer39": "6ce23ba4aba9e36be209a05bc397a8dcfb7423005f72ed59ace29b4e12dc6ce1", + "layer4": "a3963f97eabf507ef5d1d229c87030da700c45f4895adf689b43ec1de4ad10c5", + "layer40": "bf5a1c22b086623eaab0e0914904d9316023bf0aa266a363ec37d9e0427f47c4", + "layer41": "411c52ba2b511507bd7d00b527c338115d448124ddcb805920ddf0e05480bee2", + "layer42": "59562130384d9df93bad35a6a6c902ed2b847141c6ef732f797d23b47f8b898d", + "layer43": "f33c672d2aa6f46215e9345883bbfb75fc0b0d2fc26334c334c1cd9c44d9018e", + "layer44": "a760e0077b77bc16244a6f6068e5d46bb2c3210ac46561f1cb6fdce9738e7106", + "layer45": "160c3687571d69721476a6885e31d5fe7299cb288d366465b2f49b68da229836", + "layer46": "82721fc126b033578bfb38db9f12c3caf8f24d9cac12be3733cc26921caf58f9", + "layer47": "8a888f45043d83df5b71687c3487fe2b17083cee6684dd24892b0c1cc6f913e5", + "layer5": "214f8e188db572000c8787d5d07547f48bcdde8e188c7a779295f7b758fd7985", + "layer6": "235736e5028a9d4cb73f226c24936ea51643e75c018af2356db522851b9357e5", + "layer7": "da7797d2265f49e0f42a623740c4095e597cd98ea652cc9d4c6ad3db95f9e753", + "layer8": "034b72b5e05e440a79230b6d53e12c83c90c2d14bc1b048aced4b4d61cfae91e", + "layer9": "a4b21e38585ca4db38c740ba5e7def33157bd5815cfa4be57ce3d883c1d0985d" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "reload/p0064-b4-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "reload/p0064-b4-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "7e7b3bbff36cfaa8b7440b8f40cc326b66f1fb5f141d6d42a25824bd2ef9a4a1", + "layer0": "0b111e18597d2532702495f2e41312490d15c19e284ee501508e1b4ba1c27435", + "layer1": "ce4b546b8940c5a6fc1e9cb73eee47e3e692a3de511c8380d0cdc756a26b7a67", + "layer10": "8898e19c0649457ce3c6fb9586bf40332e3a271e7f44dd9d46a5c47b0af63a97", + "layer11": "851deb6583105c54aded6d73f72b3763bc89e61e226f43c8c886dbdba8eb6960", + "layer12": "553ba983cbb1ddfff1f5e8c4a48158bbe675fd6895a06b9d7a5f17e235f91fad", + "layer13": "175715734a486f6afddd2225bd12f6a8b803d221e1d2d0fe6803f385d9139761", + "layer14": "f2e75d278ffbee1c42a0555bff0e35a74bd3f6854f4c20e064ff79f3d3bbfa98", + "layer15": "242ed9641d4135462980ce86c6fa2584aae67065cc201169171c72d879a28ccd", + "layer16": "55f48bb288f9b9aba4c25f8a18aea9ca30cfd2b3121d95b4a72eb2bf3adb15f7", + "layer17": "f2e267e4d1a89f8453d43f723e6e8a67c3b79657fba89c70dc661809959be3c7", + "layer18": "08e9f038f3a133fea66944eebada541ccebd8c305d7b68300619fe92f78138f2", + "layer19": "92fca10240a1add3db75a9493837fbdce06df0a095eef1743a84fb33f24d9517", + "layer2": "84ea6669f8a942f3385361fc8ac5445965374a3dbcf02e3981c6ad12526eae30", + "layer20": "8fbccd5befeed56f10e197a011e54083f5e0b48159110188eb8ca9e2ec8106c8", + "layer21": "dc79be6cc34a9709c522eed7a9906167e4274d8e3843d06a5fa59ed871770bf7", + "layer22": "e21815b2779ff59f9494b0f7af24285677585d24a5e14d9302753ce6fe02d4c1", + "layer23": "cb50aca5fc69eb53cbe3fee90b32c1d775f21a83726bfa0577aa5cc52d0d9425", + "layer24": "b4e7c7d1b7e8b8a18e11538f23512deb2fa7f7ee9e3c30521c3e365db5cd0135", + "layer25": "93889f4a3626af62ab4dcbcca6c44b0fad667b0301ffcd576ede0792a2278558", + "layer26": "bd01474fe72c0f12f103b832ec07dca388c63d1c9abb9be71dc3e9ef425e7cb6", + "layer27": "a626f480dedfcade93b743bf20ef40ec549a291a5d9e50102ea6a616b45aa335", + "layer28": "6d9fb01027215693f1f3a23222f120a216d3ff80ce95198f9dbb935fdbb2ee4d", + "layer29": "e9c5e5aaff31eda6363e6b03b501a3068cd87854f58466caa493de3ca44922ed", + "layer3": "846c20e902b56911a51505ac72844d6cdfd0c4ccac8b212de6ad04c6d0e05905", + "layer30": "178b4088eef7a63b8a51482de9d43eebeed70e08ed9139b090619a6864fc717e", + "layer31": "a1287a744d8f6a543e97d8f2cdb88f72787f03cb17366fbc3f9cab6552ec465c", + "layer32": "36e1d936635b0100fc007c417a57e3ec574a32fa581871827d49de8df2d0e781", + "layer33": "3c2214ff64c4fcbfdc308b54861d5358737dc0ccab6420102cae3c4bb3dad1f3", + "layer34": "eee4ae75bb9a4242f81927b21b7c40db300d7144fa5cd160ef51f450c5904760", + "layer35": "affa89cb5a1bd5c8fb5a23e881b0169e039ea1533b48ec1b7368ba677e7f79f2", + "layer36": "1ffc6edc05e895810741c70248e46b5815516becb2539983071bb06ec553ba7d", + "layer37": "d8bf2be62b2f895baa3f0a3766597adc9d5a4c370837f692c2972a6dedc9cfe0", + "layer38": "177e390ae414cdad1b0b0a040b213cfe0dbdeea4593302afcf1b8b7b1be5e507", + "layer39": "6ce23ba4aba9e36be209a05bc397a8dcfb7423005f72ed59ace29b4e12dc6ce1", + "layer4": "a3963f97eabf507ef5d1d229c87030da700c45f4895adf689b43ec1de4ad10c5", + "layer40": "bf5a1c22b086623eaab0e0914904d9316023bf0aa266a363ec37d9e0427f47c4", + "layer41": "411c52ba2b511507bd7d00b527c338115d448124ddcb805920ddf0e05480bee2", + "layer42": "59562130384d9df93bad35a6a6c902ed2b847141c6ef732f797d23b47f8b898d", + "layer43": "f33c672d2aa6f46215e9345883bbfb75fc0b0d2fc26334c334c1cd9c44d9018e", + "layer44": "a760e0077b77bc16244a6f6068e5d46bb2c3210ac46561f1cb6fdce9738e7106", + "layer45": "160c3687571d69721476a6885e31d5fe7299cb288d366465b2f49b68da229836", + "layer46": "82721fc126b033578bfb38db9f12c3caf8f24d9cac12be3733cc26921caf58f9", + "layer47": "8a888f45043d83df5b71687c3487fe2b17083cee6684dd24892b0c1cc6f913e5", + "layer5": "214f8e188db572000c8787d5d07547f48bcdde8e188c7a779295f7b758fd7985", + "layer6": "235736e5028a9d4cb73f226c24936ea51643e75c018af2356db522851b9357e5", + "layer7": "da7797d2265f49e0f42a623740c4095e597cd98ea652cc9d4c6ad3db95f9e753", + "layer8": "034b72b5e05e440a79230b6d53e12c83c90c2d14bc1b048aced4b4d61cfae91e", + "layer9": "a4b21e38585ca4db38c740ba5e7def33157bd5815cfa4be57ce3d883c1d0985d" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "reload/p0256-b1-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "reload/p0256-b1-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "ab555ea9aebaa5b427dcd33346863f8746cd93f9f66de06b9928a17c0a96c184", + "layer0": "a62b0d45bd380bd08f29b7da19022b36ecaef464f031293e286ffae53c075b67", + "layer1": "a9b316a6d6c08188efee370fa428f1e69e9327558816a9022dc563c96d974a77", + "layer10": "93ad9f61802844c4c9804d6b70f80f5679db7ae415e0b881813e736fae28f129", + "layer11": "9f25ae28a488060792df5857898a45e9ec58d76015c23c71b9dcd8022195cc65", + "layer12": "2f7c5be78876242ac1940c6b4092f20fd9f66dea8193528479c109e0b7194ac7", + "layer13": "c02c60769e32fcd0facfddd2043e642584a8f3e18828c168e9b2daba004a2313", + "layer14": "648c32ac5875e65c008bac5cd9995b1466083c43e7a0b70f834c7d4541489e62", + "layer15": "f126c3bd8e6f77459d64b29f50eb3622b404d49f6d3b7397dcad8024ff29aab9", + "layer16": "705dee739bd0ac5e55a7a213408b28daad6665ede19b29f8d3336cbfed8cd963", + "layer17": "a11751452eadf7a867922fa2d4e3c6635b6f097e44a0d661ccc34eedc0d67073", + "layer18": "9e7108d493d91254919a141c7fb9e93ddcec0c5a39943458aa4c1c645091cf9a", + "layer19": "32f416e4caf8f78067f4b0cb738191ecb3838922722a926799c1966e1d605399", + "layer2": "6443d9b3465650d88c043b6adf4a5185eb8d81a2585cd7e7b793f6e951def1bb", + "layer20": "30031afeb3f2c82b9a4f0d8c4d04d88e57b4b1a68b299c068681c21df45e024e", + "layer21": "f126ca6ac1861c2b3ec59d13c415b2086e77524bc4f41069c440f2dc506578c0", + "layer22": "2afd50364500543175d5e8c3de74163d664bc33d0df7895bb66b99fb7b7b1afd", + "layer23": "2d0d1609e7d91bbbfcba64bd0e068d412273e1e86f4d99d15ceef29cf8d18fb2", + "layer24": "6fb41b7d9cdaa8e9704ef1eafcd59912be06eff2f4eb5de8d162598e865693bf", + "layer25": "3b7fe90d0636408d2598311f22d57b05d318ceb0442257223aa1ee98a3f29e31", + "layer26": "7ea5fb352dcc0412310ac3ee8c0bd61068881cf04c337466fa158f71b3833ba8", + "layer27": "0d1f55ac91948e7fb3f8795a17ada1a136119ce6914d19a1237f501aae308809", + "layer28": "d23e378ce0c35ac83e3296b356129b1fd9155d83278ea827ce4453e540dcd84f", + "layer29": "4696aa124ab1bb71d9b850d7ffa9f4b56926fb7f2b300cb6999075795454e328", + "layer3": "e53f25f43076e6479f7c6e1c8132c4697f6e8a40a4db860d8fdd72f7e7385d48", + "layer30": "adf7cc84fb6bdbec061a2b79fe771ce2bb4f6acdc5f9a2d35fcdf7aebdd675d1", + "layer31": "a9a2748d09e03a2c7f32674ab79175735b7c70e130ebb3d4f1b63723c1639b77", + "layer32": "32e06a768d131c81375aca8ff5c377d1f6f8865e0797869c20e7738ba3b9bde6", + "layer33": "4c09f1489c7837803d3c19e06d8e03996a2a2f443794b084e087b5da67f9b46d", + "layer34": "68e0e0a9c24740cbaca0d9bee7e3c2ff14c9daa053af14fca343e6d1fc94b366", + "layer35": "1c1f99dffc4eb19f73057ca36046408bd98c0b65e0d2e3b1026c4d5f682e0ec3", + "layer36": "e817e74cfe61a069a06732c4b53f27e48bb0e789455808455972b646df8e15b2", + "layer37": "7a3a49045cfdd551f2714d86157b802d476859b5841a947046fcca5701a400c2", + "layer38": "207c61dd3dd7f06ded0cc81353e33774dae462433c499230afc304656d50fece", + "layer39": "c25d84760e19c2b1b79c354707a670c06842e1e98f2ee237087c49c1e883dbca", + "layer4": "890c7731abad8c8f331aeb0f6af657e987be63a8891e105e4cd867ac96cc8922", + "layer40": "9e175290ae7fc4f5439c25e01b2e13c77a88611da94dd0239609d7d2ac7e4182", + "layer41": "396fc49cfd7b1db318b74ea8d5785ffd6130b028831efa131d7b43f8f1ff990b", + "layer42": "cea65d6d020f180ec4cb87442cd2f9d5c2eace3e8e4cd7f4da78e4b772c89f01", + "layer43": "e91bbf1dca8e3bcab474b32370566e13f3168ea54a79fae90f7e7bd9c8c3a4d7", + "layer44": "fce6d2844dbc15cb4be032beb145aabaa381bfc53b32e671a3136716a790bd77", + "layer45": "1a2966520ed202679efd5fdabb61298eeb368042f5a423f6123a785d2b04b03b", + "layer46": "f466bf709e73bfea49afc7c1dbb313f76876b1f58a099e4431b968de05e8e4b4", + "layer47": "f6eec37f76e38a61135864b698c26aa1477563135bc5825bea762154e497ab06", + "layer5": "2bcfd8d665c6a92c3f533d8872d3bfabc0e459747e530b0f5a90373f27405309", + "layer6": "2ced8740cf3c32293df2e66921b0f454d84aa0e48da9d31037c6658597a25ec7", + "layer7": "02baba38a412110f4990cbffe93837039fac9c67a167ca78f1e6c58dd9d589ad", + "layer8": "1f42151022d02cb7226ccccccd9dc6a20f8ab12f18270b081b6fbd0ee2b4941e", + "layer9": "18dd03338624660c77941f9a2cdf33401479aa9d14f42180ec0a22ee9356d8e4" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "reload/p0256-b1-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "reload/p0256-b1-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "ab555ea9aebaa5b427dcd33346863f8746cd93f9f66de06b9928a17c0a96c184", + "layer0": "a62b0d45bd380bd08f29b7da19022b36ecaef464f031293e286ffae53c075b67", + "layer1": "a9b316a6d6c08188efee370fa428f1e69e9327558816a9022dc563c96d974a77", + "layer10": "93ad9f61802844c4c9804d6b70f80f5679db7ae415e0b881813e736fae28f129", + "layer11": "9f25ae28a488060792df5857898a45e9ec58d76015c23c71b9dcd8022195cc65", + "layer12": "2f7c5be78876242ac1940c6b4092f20fd9f66dea8193528479c109e0b7194ac7", + "layer13": "c02c60769e32fcd0facfddd2043e642584a8f3e18828c168e9b2daba004a2313", + "layer14": "648c32ac5875e65c008bac5cd9995b1466083c43e7a0b70f834c7d4541489e62", + "layer15": "f126c3bd8e6f77459d64b29f50eb3622b404d49f6d3b7397dcad8024ff29aab9", + "layer16": "705dee739bd0ac5e55a7a213408b28daad6665ede19b29f8d3336cbfed8cd963", + "layer17": "a11751452eadf7a867922fa2d4e3c6635b6f097e44a0d661ccc34eedc0d67073", + "layer18": "9e7108d493d91254919a141c7fb9e93ddcec0c5a39943458aa4c1c645091cf9a", + "layer19": "32f416e4caf8f78067f4b0cb738191ecb3838922722a926799c1966e1d605399", + "layer2": "6443d9b3465650d88c043b6adf4a5185eb8d81a2585cd7e7b793f6e951def1bb", + "layer20": "30031afeb3f2c82b9a4f0d8c4d04d88e57b4b1a68b299c068681c21df45e024e", + "layer21": "f126ca6ac1861c2b3ec59d13c415b2086e77524bc4f41069c440f2dc506578c0", + "layer22": "2afd50364500543175d5e8c3de74163d664bc33d0df7895bb66b99fb7b7b1afd", + "layer23": "2d0d1609e7d91bbbfcba64bd0e068d412273e1e86f4d99d15ceef29cf8d18fb2", + "layer24": "6fb41b7d9cdaa8e9704ef1eafcd59912be06eff2f4eb5de8d162598e865693bf", + "layer25": "3b7fe90d0636408d2598311f22d57b05d318ceb0442257223aa1ee98a3f29e31", + "layer26": "7ea5fb352dcc0412310ac3ee8c0bd61068881cf04c337466fa158f71b3833ba8", + "layer27": "0d1f55ac91948e7fb3f8795a17ada1a136119ce6914d19a1237f501aae308809", + "layer28": "d23e378ce0c35ac83e3296b356129b1fd9155d83278ea827ce4453e540dcd84f", + "layer29": "4696aa124ab1bb71d9b850d7ffa9f4b56926fb7f2b300cb6999075795454e328", + "layer3": "e53f25f43076e6479f7c6e1c8132c4697f6e8a40a4db860d8fdd72f7e7385d48", + "layer30": "adf7cc84fb6bdbec061a2b79fe771ce2bb4f6acdc5f9a2d35fcdf7aebdd675d1", + "layer31": "a9a2748d09e03a2c7f32674ab79175735b7c70e130ebb3d4f1b63723c1639b77", + "layer32": "32e06a768d131c81375aca8ff5c377d1f6f8865e0797869c20e7738ba3b9bde6", + "layer33": "4c09f1489c7837803d3c19e06d8e03996a2a2f443794b084e087b5da67f9b46d", + "layer34": "68e0e0a9c24740cbaca0d9bee7e3c2ff14c9daa053af14fca343e6d1fc94b366", + "layer35": "1c1f99dffc4eb19f73057ca36046408bd98c0b65e0d2e3b1026c4d5f682e0ec3", + "layer36": "e817e74cfe61a069a06732c4b53f27e48bb0e789455808455972b646df8e15b2", + "layer37": "7a3a49045cfdd551f2714d86157b802d476859b5841a947046fcca5701a400c2", + "layer38": "207c61dd3dd7f06ded0cc81353e33774dae462433c499230afc304656d50fece", + "layer39": "c25d84760e19c2b1b79c354707a670c06842e1e98f2ee237087c49c1e883dbca", + "layer4": "890c7731abad8c8f331aeb0f6af657e987be63a8891e105e4cd867ac96cc8922", + "layer40": "9e175290ae7fc4f5439c25e01b2e13c77a88611da94dd0239609d7d2ac7e4182", + "layer41": "396fc49cfd7b1db318b74ea8d5785ffd6130b028831efa131d7b43f8f1ff990b", + "layer42": "cea65d6d020f180ec4cb87442cd2f9d5c2eace3e8e4cd7f4da78e4b772c89f01", + "layer43": "e91bbf1dca8e3bcab474b32370566e13f3168ea54a79fae90f7e7bd9c8c3a4d7", + "layer44": "fce6d2844dbc15cb4be032beb145aabaa381bfc53b32e671a3136716a790bd77", + "layer45": "1a2966520ed202679efd5fdabb61298eeb368042f5a423f6123a785d2b04b03b", + "layer46": "f466bf709e73bfea49afc7c1dbb313f76876b1f58a099e4431b968de05e8e4b4", + "layer47": "f6eec37f76e38a61135864b698c26aa1477563135bc5825bea762154e497ab06", + "layer5": "2bcfd8d665c6a92c3f533d8872d3bfabc0e459747e530b0f5a90373f27405309", + "layer6": "2ced8740cf3c32293df2e66921b0f454d84aa0e48da9d31037c6658597a25ec7", + "layer7": "02baba38a412110f4990cbffe93837039fac9c67a167ca78f1e6c58dd9d589ad", + "layer8": "1f42151022d02cb7226ccccccd9dc6a20f8ab12f18270b081b6fbd0ee2b4941e", + "layer9": "18dd03338624660c77941f9a2cdf33401479aa9d14f42180ec0a22ee9356d8e4" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "reload/p0256-b4-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "reload/p0256-b4-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "3547ad963948cd3bcb860aca6f40c65462e2c55cbd3a4c3712d146c410cffd01", + "layer0": "2daf69000c22aaafedd6c53bc7074e4aa4e3c1c98aa503db12e3e223b62c7f2f", + "layer1": "9f9276ac3337c4913f5c4c22e2cbd94069cd90c496f36a5cab5759db23c418cf", + "layer10": "c90f24356152bae63181185c4c17a72f7f95e26e643ec53cbf6cf67a03b75430", + "layer11": "4f2b41e222a8db6e51ebe5e6bffcb50a18a7990d009d3c3828af3328cfc7b1be", + "layer12": "5486b8059004e5cf58d701723c6b1215e91053299ef2ac5785fbbf0e8a6974d8", + "layer13": "a08eef6f0cf5098d43874b8a47e5e79ac9645b2acbfc25605ca02454d97f3bf1", + "layer14": "11c21db606a14d2ca62c4b675d79c668ad1b8353886d6100511610ae6ebef919", + "layer15": "99fd9a5bcb942f32f4ac3c11583e2640e1abb1ca99df0070427c1f2f9e4e061c", + "layer16": "92cabe7ac161829dfd9b57d13d856624a5253790f8fa4f3b33a9a9ab88ae0467", + "layer17": "7fa99aebacbc95ca8bfce9fdc23f92e43a3e728a5c38a9fa6fdd1e473da6f207", + "layer18": "c90369390eb19482f554170b3d199e4aed6eda0a4e033c9100528aafb62f143d", + "layer19": "1c9bd9ca05f4072588512a48c03d6d663bfd2791be6e0ca19ceab99b1f1874a2", + "layer2": "1874eb1d159503e2ebae10a86038bac27beae95e1ac8c78e8079f4ced5d7eb23", + "layer20": "a813b9436f36e902cffc8dcb8d9cdfa019d5b62a63e6b1ae97741040e2258e14", + "layer21": "e23316c313a24ccf8115d3df1ce2cb3789c01dd68a259ac0333861545ad73cb3", + "layer22": "26e8d88066f025e6c1186fcb5fd071a2b78f496a44c3f38d34eda0dde8b9d690", + "layer23": "df25c57041bd78dd46c315e65b989d5da3db0fc6e1fac7390b0472051d305eb8", + "layer24": "2730e50498b85471cd3bffc305ea8a9286490705e3657e16662563b436815b6f", + "layer25": "6cedafbc7bd189c2b1da0fc0c24878ad2cd9b67ea5711259058a1fac488b26eb", + "layer26": "833593aecb9301d3171840f75226b1379de715224b18920f4d21be359716d4f9", + "layer27": "513c0fe524d958e06998e4fbdd601889672bb5d175feec22bd6f425cc95ae9bf", + "layer28": "38e1ac798fa246217788d435e8c7e25e98206e89cdcfcc4507fff13606182a61", + "layer29": "a5e86bf8b42c6d2cbab10c52c3ea18e222f6c8724cc3deaa65b5803dbba5d74d", + "layer3": "8e1c6b7ba30fac0bcc81607334eea991a0d04e5d9c02acfc0274575e183bc5c9", + "layer30": "5dec33a64a0569d9f4d641af779fefe2c527824bcd77cb6b1f4b2570b53cc271", + "layer31": "99b8834ea1cea98434b36c2c45cfd5246429f9f199b929faa51c15f0658a37fa", + "layer32": "9efea28b40528f9db8f89de7a66a0915ac244b67553e9ef0fae1450604df3a4a", + "layer33": "a4fbb3f6d7f93a99c974b884465540e3b47445104e9a25e7e2f3ef86647e7414", + "layer34": "93dd16c8ad84282ac82a6f314ed39768b4bd59f0ea78a07fe955900af538e06a", + "layer35": "e5ffdd32e3516bd99454e923030f1cd79ee8654e422617ff091137577d6e48bd", + "layer36": "058e4cbe9a293901ebe788705c9b605ff4f4c08ddd441d1e491c863a41aab4db", + "layer37": "46815aeb1d2deaf091874375fc8825ccdb13e352294b91f6aac2bb1892b8d1b0", + "layer38": "dd6b0649ab2913169442e7940c7ec8fd79c541661d0107338422e14502898f19", + "layer39": "6fa5682c6945248958d8d23b9389ebf7c9d32c56e78a42e782754f10893ec2a5", + "layer4": "a962e220b11a098343125bd6c1e72e8046b77cf01cf07e8ce1e017f9172dec40", + "layer40": "6620dbca305347d3506d51133f0f1bd17c8f2f273e66a20e68e2c37a318448fe", + "layer41": "69d542304325d81e8993b51e091eb9c640005b3a5d9f2bc53269bbe19725d228", + "layer42": "9eb75c5d8e4a023935afa4226ecd6d5e45a073174592c15f868b5e7c4d40cdf9", + "layer43": "0437745431165a309f415d71c2b5d72b6fffe636125e12548df297c49e02fb32", + "layer44": "9fd94119c31cd46375f3ed48b6c6abc2f4aa9288dd1f126b6e1f6e4952ef4650", + "layer45": "ee55dc4a0774bd68a3437da03757786bf1712f0da5660c14f8f0e8158fcc3416", + "layer46": "592e044e4e076f3d6399fee820d0e0fd2256d5d0229857a4ab816549eaf54d8c", + "layer47": "53b18eeb8f959ee68c1dbe6d7c1a736d9568003ebcc056dab4ccdf642268bf3a", + "layer5": "4e5e5abb6186be0317f3f0340e90805fa648fbb7ffbf3ad995b1aa985934d4ec", + "layer6": "957936c76afb2fcfc011044f7baab6b1c543ed336ff8153bcb4af0d9999b0b20", + "layer7": "227935751930038ee22170fba01eff8ed0c3dc5cce10247f4c3864a5cdf53622", + "layer8": "875baabaf0513bb51f6b3964a7ff05093f64356b1210f5fe414dd8ef9dc2985a", + "layer9": "dc361d2ebfad139d3f516dc4ab004ab2392c1cc894b8965b9a3af726fd1a8485" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "reload/p0256-b4-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "reload/p0256-b4-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "3547ad963948cd3bcb860aca6f40c65462e2c55cbd3a4c3712d146c410cffd01", + "layer0": "2daf69000c22aaafedd6c53bc7074e4aa4e3c1c98aa503db12e3e223b62c7f2f", + "layer1": "9f9276ac3337c4913f5c4c22e2cbd94069cd90c496f36a5cab5759db23c418cf", + "layer10": "c90f24356152bae63181185c4c17a72f7f95e26e643ec53cbf6cf67a03b75430", + "layer11": "4f2b41e222a8db6e51ebe5e6bffcb50a18a7990d009d3c3828af3328cfc7b1be", + "layer12": "5486b8059004e5cf58d701723c6b1215e91053299ef2ac5785fbbf0e8a6974d8", + "layer13": "a08eef6f0cf5098d43874b8a47e5e79ac9645b2acbfc25605ca02454d97f3bf1", + "layer14": "11c21db606a14d2ca62c4b675d79c668ad1b8353886d6100511610ae6ebef919", + "layer15": "99fd9a5bcb942f32f4ac3c11583e2640e1abb1ca99df0070427c1f2f9e4e061c", + "layer16": "92cabe7ac161829dfd9b57d13d856624a5253790f8fa4f3b33a9a9ab88ae0467", + "layer17": "7fa99aebacbc95ca8bfce9fdc23f92e43a3e728a5c38a9fa6fdd1e473da6f207", + "layer18": "c90369390eb19482f554170b3d199e4aed6eda0a4e033c9100528aafb62f143d", + "layer19": "1c9bd9ca05f4072588512a48c03d6d663bfd2791be6e0ca19ceab99b1f1874a2", + "layer2": "1874eb1d159503e2ebae10a86038bac27beae95e1ac8c78e8079f4ced5d7eb23", + "layer20": "a813b9436f36e902cffc8dcb8d9cdfa019d5b62a63e6b1ae97741040e2258e14", + "layer21": "e23316c313a24ccf8115d3df1ce2cb3789c01dd68a259ac0333861545ad73cb3", + "layer22": "26e8d88066f025e6c1186fcb5fd071a2b78f496a44c3f38d34eda0dde8b9d690", + "layer23": "df25c57041bd78dd46c315e65b989d5da3db0fc6e1fac7390b0472051d305eb8", + "layer24": "2730e50498b85471cd3bffc305ea8a9286490705e3657e16662563b436815b6f", + "layer25": "6cedafbc7bd189c2b1da0fc0c24878ad2cd9b67ea5711259058a1fac488b26eb", + "layer26": "833593aecb9301d3171840f75226b1379de715224b18920f4d21be359716d4f9", + "layer27": "513c0fe524d958e06998e4fbdd601889672bb5d175feec22bd6f425cc95ae9bf", + "layer28": "38e1ac798fa246217788d435e8c7e25e98206e89cdcfcc4507fff13606182a61", + "layer29": "a5e86bf8b42c6d2cbab10c52c3ea18e222f6c8724cc3deaa65b5803dbba5d74d", + "layer3": "8e1c6b7ba30fac0bcc81607334eea991a0d04e5d9c02acfc0274575e183bc5c9", + "layer30": "5dec33a64a0569d9f4d641af779fefe2c527824bcd77cb6b1f4b2570b53cc271", + "layer31": "99b8834ea1cea98434b36c2c45cfd5246429f9f199b929faa51c15f0658a37fa", + "layer32": "9efea28b40528f9db8f89de7a66a0915ac244b67553e9ef0fae1450604df3a4a", + "layer33": "a4fbb3f6d7f93a99c974b884465540e3b47445104e9a25e7e2f3ef86647e7414", + "layer34": "93dd16c8ad84282ac82a6f314ed39768b4bd59f0ea78a07fe955900af538e06a", + "layer35": "e5ffdd32e3516bd99454e923030f1cd79ee8654e422617ff091137577d6e48bd", + "layer36": "058e4cbe9a293901ebe788705c9b605ff4f4c08ddd441d1e491c863a41aab4db", + "layer37": "46815aeb1d2deaf091874375fc8825ccdb13e352294b91f6aac2bb1892b8d1b0", + "layer38": "dd6b0649ab2913169442e7940c7ec8fd79c541661d0107338422e14502898f19", + "layer39": "6fa5682c6945248958d8d23b9389ebf7c9d32c56e78a42e782754f10893ec2a5", + "layer4": "a962e220b11a098343125bd6c1e72e8046b77cf01cf07e8ce1e017f9172dec40", + "layer40": "6620dbca305347d3506d51133f0f1bd17c8f2f273e66a20e68e2c37a318448fe", + "layer41": "69d542304325d81e8993b51e091eb9c640005b3a5d9f2bc53269bbe19725d228", + "layer42": "9eb75c5d8e4a023935afa4226ecd6d5e45a073174592c15f868b5e7c4d40cdf9", + "layer43": "0437745431165a309f415d71c2b5d72b6fffe636125e12548df297c49e02fb32", + "layer44": "9fd94119c31cd46375f3ed48b6c6abc2f4aa9288dd1f126b6e1f6e4952ef4650", + "layer45": "ee55dc4a0774bd68a3437da03757786bf1712f0da5660c14f8f0e8158fcc3416", + "layer46": "592e044e4e076f3d6399fee820d0e0fd2256d5d0229857a4ab816549eaf54d8c", + "layer47": "53b18eeb8f959ee68c1dbe6d7c1a736d9568003ebcc056dab4ccdf642268bf3a", + "layer5": "4e5e5abb6186be0317f3f0340e90805fa648fbb7ffbf3ad995b1aa985934d4ec", + "layer6": "957936c76afb2fcfc011044f7baab6b1c543ed336ff8153bcb4af0d9999b0b20", + "layer7": "227935751930038ee22170fba01eff8ed0c3dc5cce10247f4c3864a5cdf53622", + "layer8": "875baabaf0513bb51f6b3964a7ff05093f64356b1210f5fe414dd8ef9dc2985a", + "layer9": "dc361d2ebfad139d3f516dc4ab004ab2392c1cc894b8965b9a3af726fd1a8485" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "reload/p1024-b1-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "reload/p1024-b1-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "8bfa421b3631538ba04f8bd1f670c5485b24aeec8d657b12f15038d440efa266", + "layer0": "6df8d2b361cc8ebfd2fa4bdfb4f25702c24d211e79ef4d93aa106ea82315c129", + "layer1": "92d24c253a17704b7d5e4eb9636172c56d04c5f06b3ab26c5a897bc7ae6a3426", + "layer10": "c830e7ff8f253e88dd6f87822981e930d9741b799498fac87678b8d62ea14241", + "layer11": "0c06ab9dc203276681d3dc626e5405207937d568b4201b95da454eb92d88df96", + "layer12": "bd3e5e77e8057e5d86b5f6a5526651ccda025b73e47b3f32b46af23b505531a5", + "layer13": "1c1f66038d4701ca62a47ecd73f23bb63644db1dca1260c3c56721e5313c69c3", + "layer14": "c6a86951242558ebe5337b4c54e62a3e3f523d02fa373278d6932d0813cc51d7", + "layer15": "dda8b10d632e38d16a53d998a7afa600b8ea0d86634b073878debc0acc040e1f", + "layer16": "2ad615d0d9873212016b488d31460de8b09c0bfa268ff00f8a593c27c5e322b9", + "layer17": "1c61d906b4c33656d14a32842419ffcec2b59b1db8a7800c320ba01a52fc108e", + "layer18": "b01973f9d9f0db61596646d8bf8b3070a30f2c88d62c6bd17275f0654230bda8", + "layer19": "1a7b37911385b7be4c2e8e084bb1a7c4604a6de2d9f3a6bb557f89e0e3dc2409", + "layer2": "e6c32e65028aeb965a04c7aa1440e770df92d3d3e3be6f99bae8f031b8e9ddd1", + "layer20": "ca55e60a8d3511f2973dc71cd4caa52c7d319f64131532fe6d60b869db403813", + "layer21": "af4e9900b21d4ff9ab37f0792e2d35ddc65fdc5331462b7edb89aaed1dfded6c", + "layer22": "a6fd9aa9584590a15a456e4149f000ba3eb197ba9002cc7468510510110181c1", + "layer23": "2b73574ae039e140d7664625fd478e46f1c82a61b4c94ed30fa8398bd50475f6", + "layer24": "027167505fd933bced4bacfd6f4e90b331927376cd631f8ff54ba5e7262bc55a", + "layer25": "5ca69f44e46c37658faf1129c159a719c98486ffa6e1a2b7d55dd2aea3144336", + "layer26": "4838c33504f6dc28e7e8c76578f61130c7d5c61791d81c513e5b85ac86e71658", + "layer27": "f6b7a7797da5c5d17cb409f1f08ef8712c3974fa2ac278e4bbee1ef5ff50891a", + "layer28": "6b9fb34be8284a7cb7db5be7e7405c61c44ef1b46464b1385c6a5c4f4fdc466b", + "layer29": "7e36f0a6e963eae0581040ac2b95cde35f8ee0118ea3cb6b961627e9d7154fd1", + "layer3": "a4f1204b59574af4082b5c7129350562dc074e1fce0dcf7b1bf3b205136b17a2", + "layer30": "fa3b6de067f9944ea54f94472444034b866d7198684bbe125b7828b6e69f795b", + "layer31": "69a05581ff31cb4aa0d0fe10d2c4035686cd240ea6e08702e6b0f665c4dbdf79", + "layer32": "2aca52a5afa6cc2fe6f312fe65e45cf076bc852a320618236db7e444a7af1ec7", + "layer33": "fc1ae9c4b0c5637a5a2becb05a102a824de02089597bfa33e9e8a7aa9ce09191", + "layer34": "d2c23b63ea53ccca726712977bdaec074e152b0fbb37993b743a7ba5d2135c70", + "layer35": "c097b0af8b2a93629d292cd01a69fde34f1439e161a2148d35fda850cc6373f3", + "layer36": "b8fb8d2d5d7d688e590e2f80a2e6618c0d3a38924b849a6209fe660454f8a3db", + "layer37": "2539f8fcfd1d8d21ddd740eeb4326a35b354d090dd2aa11db9e713ae7f6d135a", + "layer38": "5b99d0c25a04a03529213cd2a01735ef47ab6298d2446b79efff97180fa8fcac", + "layer39": "4db2c247e4c1e723c65ae1211c7a6dceb8c7d25b966e653b4c5bb86025de2366", + "layer4": "e615253cb3f9caa31ad4cf605e29ecf632bafd30b3f881a380c0c6749c3d24b9", + "layer40": "7ac219d9dd660a2dadfc782778a624ad2572a32b97011b3273c91c978505c27d", + "layer41": "65b39bd03748da4e93434917ffc1a8754c828bc977d2feb1f942d34d65e17df3", + "layer42": "688694106045c73b4e3aeeaf3affb681dd7338b6b9d4e5de8a667debfa66f639", + "layer43": "14033b7eaf6955dac46b5298f066f0c363cbf627560ac00c91a07cd259aee001", + "layer44": "9c7a1cc083a0bc562fa67a6ee9ab623bec1cef087d25b1cf7807296072cae035", + "layer45": "7c3d922519f492c5a4c8fa475579d98a79913d75117244d2f49cae6a70d5c4a7", + "layer46": "9c1cd3bfa0830fbabd6ed33b4dabbe4d7c13ba347bb73e28a3926462d8e11911", + "layer47": "90d05bb1ad0d1194a9611cf7da60513204e9326e0e9381617ddfcca9b7404ce4", + "layer5": "a9f1b4bbd53a34a5f400c931bbb3b3963024ab90fd8c20da0bc30df64c5e0d3f", + "layer6": "8dd2a6a84d43ab22d206c63c6c2eeca496cd7eb0ea98229957878a4de9c46571", + "layer7": "9a1c29c45835f052080433c01a0fc530e8aa12b43b27f96a75adc056ba37cac2", + "layer8": "be5a6f96b349c962e7a301517e30dc1df70120cf0182e9129078f10e7ea5a6a2", + "layer9": "b36971c8aae515654eb9ab493bf74625fa67ff4bacfe71401817f66ef1e1fa75" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "reload/p1024-b1-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "reload/p1024-b1-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "8bfa421b3631538ba04f8bd1f670c5485b24aeec8d657b12f15038d440efa266", + "layer0": "6df8d2b361cc8ebfd2fa4bdfb4f25702c24d211e79ef4d93aa106ea82315c129", + "layer1": "92d24c253a17704b7d5e4eb9636172c56d04c5f06b3ab26c5a897bc7ae6a3426", + "layer10": "c830e7ff8f253e88dd6f87822981e930d9741b799498fac87678b8d62ea14241", + "layer11": "0c06ab9dc203276681d3dc626e5405207937d568b4201b95da454eb92d88df96", + "layer12": "bd3e5e77e8057e5d86b5f6a5526651ccda025b73e47b3f32b46af23b505531a5", + "layer13": "1c1f66038d4701ca62a47ecd73f23bb63644db1dca1260c3c56721e5313c69c3", + "layer14": "c6a86951242558ebe5337b4c54e62a3e3f523d02fa373278d6932d0813cc51d7", + "layer15": "dda8b10d632e38d16a53d998a7afa600b8ea0d86634b073878debc0acc040e1f", + "layer16": "2ad615d0d9873212016b488d31460de8b09c0bfa268ff00f8a593c27c5e322b9", + "layer17": "1c61d906b4c33656d14a32842419ffcec2b59b1db8a7800c320ba01a52fc108e", + "layer18": "b01973f9d9f0db61596646d8bf8b3070a30f2c88d62c6bd17275f0654230bda8", + "layer19": "1a7b37911385b7be4c2e8e084bb1a7c4604a6de2d9f3a6bb557f89e0e3dc2409", + "layer2": "e6c32e65028aeb965a04c7aa1440e770df92d3d3e3be6f99bae8f031b8e9ddd1", + "layer20": "ca55e60a8d3511f2973dc71cd4caa52c7d319f64131532fe6d60b869db403813", + "layer21": "af4e9900b21d4ff9ab37f0792e2d35ddc65fdc5331462b7edb89aaed1dfded6c", + "layer22": "a6fd9aa9584590a15a456e4149f000ba3eb197ba9002cc7468510510110181c1", + "layer23": "2b73574ae039e140d7664625fd478e46f1c82a61b4c94ed30fa8398bd50475f6", + "layer24": "027167505fd933bced4bacfd6f4e90b331927376cd631f8ff54ba5e7262bc55a", + "layer25": "5ca69f44e46c37658faf1129c159a719c98486ffa6e1a2b7d55dd2aea3144336", + "layer26": "4838c33504f6dc28e7e8c76578f61130c7d5c61791d81c513e5b85ac86e71658", + "layer27": "f6b7a7797da5c5d17cb409f1f08ef8712c3974fa2ac278e4bbee1ef5ff50891a", + "layer28": "6b9fb34be8284a7cb7db5be7e7405c61c44ef1b46464b1385c6a5c4f4fdc466b", + "layer29": "7e36f0a6e963eae0581040ac2b95cde35f8ee0118ea3cb6b961627e9d7154fd1", + "layer3": "a4f1204b59574af4082b5c7129350562dc074e1fce0dcf7b1bf3b205136b17a2", + "layer30": "fa3b6de067f9944ea54f94472444034b866d7198684bbe125b7828b6e69f795b", + "layer31": "69a05581ff31cb4aa0d0fe10d2c4035686cd240ea6e08702e6b0f665c4dbdf79", + "layer32": "2aca52a5afa6cc2fe6f312fe65e45cf076bc852a320618236db7e444a7af1ec7", + "layer33": "fc1ae9c4b0c5637a5a2becb05a102a824de02089597bfa33e9e8a7aa9ce09191", + "layer34": "d2c23b63ea53ccca726712977bdaec074e152b0fbb37993b743a7ba5d2135c70", + "layer35": "c097b0af8b2a93629d292cd01a69fde34f1439e161a2148d35fda850cc6373f3", + "layer36": "b8fb8d2d5d7d688e590e2f80a2e6618c0d3a38924b849a6209fe660454f8a3db", + "layer37": "2539f8fcfd1d8d21ddd740eeb4326a35b354d090dd2aa11db9e713ae7f6d135a", + "layer38": "5b99d0c25a04a03529213cd2a01735ef47ab6298d2446b79efff97180fa8fcac", + "layer39": "4db2c247e4c1e723c65ae1211c7a6dceb8c7d25b966e653b4c5bb86025de2366", + "layer4": "e615253cb3f9caa31ad4cf605e29ecf632bafd30b3f881a380c0c6749c3d24b9", + "layer40": "7ac219d9dd660a2dadfc782778a624ad2572a32b97011b3273c91c978505c27d", + "layer41": "65b39bd03748da4e93434917ffc1a8754c828bc977d2feb1f942d34d65e17df3", + "layer42": "688694106045c73b4e3aeeaf3affb681dd7338b6b9d4e5de8a667debfa66f639", + "layer43": "14033b7eaf6955dac46b5298f066f0c363cbf627560ac00c91a07cd259aee001", + "layer44": "9c7a1cc083a0bc562fa67a6ee9ab623bec1cef087d25b1cf7807296072cae035", + "layer45": "7c3d922519f492c5a4c8fa475579d98a79913d75117244d2f49cae6a70d5c4a7", + "layer46": "9c1cd3bfa0830fbabd6ed33b4dabbe4d7c13ba347bb73e28a3926462d8e11911", + "layer47": "90d05bb1ad0d1194a9611cf7da60513204e9326e0e9381617ddfcca9b7404ce4", + "layer5": "a9f1b4bbd53a34a5f400c931bbb3b3963024ab90fd8c20da0bc30df64c5e0d3f", + "layer6": "8dd2a6a84d43ab22d206c63c6c2eeca496cd7eb0ea98229957878a4de9c46571", + "layer7": "9a1c29c45835f052080433c01a0fc530e8aa12b43b27f96a75adc056ba37cac2", + "layer8": "be5a6f96b349c962e7a301517e30dc1df70120cf0182e9129078f10e7ea5a6a2", + "layer9": "b36971c8aae515654eb9ab493bf74625fa67ff4bacfe71401817f66ef1e1fa75" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "reload/p1024-b4-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "reload/p1024-b4-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "302ec348a85adbcdebc6420319567e8e0e5fa9b9538e3fe963606dacbc3fe670", + "layer0": "5a7291fa69d4f1211a2e703257191a70e5a204e80ec4a7e42add420e215b596c", + "layer1": "bc0baaa404ee0b080881428af9cbd9c4d5bbae8c8abc4955d7fa0f52e8374cb2", + "layer10": "ee34fb954744aa032e6eb97b2041e3a86511534f4b2d5d1ac045a1474c0a88e3", + "layer11": "a8bc69884ce864ad88e56801a83746dd1d4f9df6e93ee128eb2b4c2fafbe6890", + "layer12": "487a16c34a62247221a11b367d1e9319e6a4ea08be7faf79efc83ce0dfe54f44", + "layer13": "a30e0d8ce8b71c2d33a9a54f9a80a727c1f21c23220d4dac81f9ae30b94b45b8", + "layer14": "ace5db1cfd15f3f6c243a70c9c80188838c54d22fa7dffaff9400ba3f6e370c5", + "layer15": "89a41362ba8432590b90c69201e3f604b248ce2d0f875640a8317a6d174f00ad", + "layer16": "a6df8500be57a086a3a45d57382f5b72a8460fc7fad3ffdda1de59d76e7ca7be", + "layer17": "9a870e5a1788047323230b3cf1469f9c504764f4adcca0ec284e6a1b45ec4f8e", + "layer18": "36c01c9abed357afa0ce79a8fb0b19e791ee579f0fd828150750f0553d3cb044", + "layer19": "74e5bc2ff5dc463a440536499e822430453fdfe275495bfa6e590d66cd0f32ab", + "layer2": "de005f416150c3303482f04da51ae032fe2c4d5be9fe9470a2044b26cc226f09", + "layer20": "61204d1b812523da6047d7929e7288e063f65a501e4742a1dc7d6118502df37c", + "layer21": "68b20722225ee59b2e3886ee153b4429108758aceedf819a998ef10119ff64d9", + "layer22": "0608a11b4776a2bef1c9bbcd1f6d3478263c5eedd1fac78b074aefa3eae1f02c", + "layer23": "31b4582ae4fbcf787698e81f17bf8bef8379cbd24b0aa17f31850169a92432a8", + "layer24": "e4e7e51a3e595781486870016e36b7183c257ac62fe9deb7456a007acd46ea1c", + "layer25": "519883c0a80c5b7b328e4bd1abc5c84c439e451aee099665befcf9f40ee8477f", + "layer26": "ef0aca5ece89d7d384cc00490fea822597de24ae78e4df5429aa0f77972bcf40", + "layer27": "31e50d5b8f648636c372a9beb5d1af11bd66a8958ac6a71b66fc8028bdaffa5e", + "layer28": "9b93b3d1acad7221c01f88fb09d4b83e1ebb4bea21c6104414386541f6e7fdbd", + "layer29": "31e68c183ec52e62c707cec980d3f5661049966e3a4a906967f528c481aa6d1b", + "layer3": "c61a8d3c691ac7acb635e2e98b9ade83d03a47d09e7bd1370dbacd431e93d219", + "layer30": "dcdddff9688278aa67235d2b70f5d011779a392230bba2cd6f7070826552e9bc", + "layer31": "6caa901cff50655215b44503a7176addd527c9b918456d1e7bbaeab19513b09c", + "layer32": "34f03fda69153ab04197cac049cef164005f37ef881c784169f25609c9b3e4ff", + "layer33": "4a51ad9fd668c2887ebf10a24b8213eb3f3b4e6b296552446109bf952f9b3f0a", + "layer34": "ac1a24d9daaa0e31e856af0b6690643ddf2f4906ef44bac9de84ca8c10035684", + "layer35": "ea1ffb9dce3bd2aa9736d910b9c208be5968972d7b827ec81189acff2dab893d", + "layer36": "34b7baad0a83838f496d905d58246e9b8221a204ceffeb73ca47d34eb253c9a5", + "layer37": "eab8be8493f17348147ec8f9e0a420b96a690807b7194052efbfeaef39574ec9", + "layer38": "122a54016e8457d867a9268e51065e700e088852094b9e5666cd6b1ffd6fd47c", + "layer39": "93f9a1b6750c2630051f4a434a37780704cc97e4c7020b78cbf61af20d2f8509", + "layer4": "86d032eea933cda1ece710e470ccd0697a19c4d986b84b4beb96e4ba6ccef0e9", + "layer40": "e18067baca7152102a15ce36bceb80fc36030415d35d2e8e60a6307c5669fb7c", + "layer41": "0b0349b0a9e267e1a706035cabbce695f2bc7ca6a7bbbc20533510f49f450835", + "layer42": "f19a1554871560959d17974c5e162d5ae48d3e868ef02d0a34f0ff4287cd68bd", + "layer43": "d0c317402b6720bd56b24a82cb7f6c456946fb812a025d649a5008223f17787c", + "layer44": "b0a5dfd3963a0a808ba11ee21d87eedfb6ec466f99c0e75e4e91d41c15fbc58a", + "layer45": "c63622532152de15d9d8812d10e600a711d1c579c12a9bffd594833ab7455b24", + "layer46": "4dfe34632fdb9515a8227387a216686dbcecc703d99707c89765cfda31e75341", + "layer47": "173fd1a043a64f85ea1e3c1227518e824adaa247ed7914dbb19a30d7875bcb6b", + "layer5": "315184befd2cf3a8028dfae0b41aa45322c3436de0bf22cfcf5effbc0424d732", + "layer6": "8b302a50641b12352603c871735f24558987588ee86d65cc3c477c3fcc8bdb94", + "layer7": "a9c8115b07ae56e0d48e2dc117d29ac93701323b5c5fcf0502bab134b671e3af", + "layer8": "a7f4b357b2ff28cf22c00fb70e103370809dab4d59d2cd1ab3ced9630b45ca64", + "layer9": "adff84c8c8f6da3fee4bf00128359f9daa12d4990a2f8a8a32bb9c3f8f944063" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "reload/p1024-b4-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "reload/p1024-b4-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "302ec348a85adbcdebc6420319567e8e0e5fa9b9538e3fe963606dacbc3fe670", + "layer0": "5a7291fa69d4f1211a2e703257191a70e5a204e80ec4a7e42add420e215b596c", + "layer1": "bc0baaa404ee0b080881428af9cbd9c4d5bbae8c8abc4955d7fa0f52e8374cb2", + "layer10": "ee34fb954744aa032e6eb97b2041e3a86511534f4b2d5d1ac045a1474c0a88e3", + "layer11": "a8bc69884ce864ad88e56801a83746dd1d4f9df6e93ee128eb2b4c2fafbe6890", + "layer12": "487a16c34a62247221a11b367d1e9319e6a4ea08be7faf79efc83ce0dfe54f44", + "layer13": "a30e0d8ce8b71c2d33a9a54f9a80a727c1f21c23220d4dac81f9ae30b94b45b8", + "layer14": "ace5db1cfd15f3f6c243a70c9c80188838c54d22fa7dffaff9400ba3f6e370c5", + "layer15": "89a41362ba8432590b90c69201e3f604b248ce2d0f875640a8317a6d174f00ad", + "layer16": "a6df8500be57a086a3a45d57382f5b72a8460fc7fad3ffdda1de59d76e7ca7be", + "layer17": "9a870e5a1788047323230b3cf1469f9c504764f4adcca0ec284e6a1b45ec4f8e", + "layer18": "36c01c9abed357afa0ce79a8fb0b19e791ee579f0fd828150750f0553d3cb044", + "layer19": "74e5bc2ff5dc463a440536499e822430453fdfe275495bfa6e590d66cd0f32ab", + "layer2": "de005f416150c3303482f04da51ae032fe2c4d5be9fe9470a2044b26cc226f09", + "layer20": "61204d1b812523da6047d7929e7288e063f65a501e4742a1dc7d6118502df37c", + "layer21": "68b20722225ee59b2e3886ee153b4429108758aceedf819a998ef10119ff64d9", + "layer22": "0608a11b4776a2bef1c9bbcd1f6d3478263c5eedd1fac78b074aefa3eae1f02c", + "layer23": "31b4582ae4fbcf787698e81f17bf8bef8379cbd24b0aa17f31850169a92432a8", + "layer24": "e4e7e51a3e595781486870016e36b7183c257ac62fe9deb7456a007acd46ea1c", + "layer25": "519883c0a80c5b7b328e4bd1abc5c84c439e451aee099665befcf9f40ee8477f", + "layer26": "ef0aca5ece89d7d384cc00490fea822597de24ae78e4df5429aa0f77972bcf40", + "layer27": "31e50d5b8f648636c372a9beb5d1af11bd66a8958ac6a71b66fc8028bdaffa5e", + "layer28": "9b93b3d1acad7221c01f88fb09d4b83e1ebb4bea21c6104414386541f6e7fdbd", + "layer29": "31e68c183ec52e62c707cec980d3f5661049966e3a4a906967f528c481aa6d1b", + "layer3": "c61a8d3c691ac7acb635e2e98b9ade83d03a47d09e7bd1370dbacd431e93d219", + "layer30": "dcdddff9688278aa67235d2b70f5d011779a392230bba2cd6f7070826552e9bc", + "layer31": "6caa901cff50655215b44503a7176addd527c9b918456d1e7bbaeab19513b09c", + "layer32": "34f03fda69153ab04197cac049cef164005f37ef881c784169f25609c9b3e4ff", + "layer33": "4a51ad9fd668c2887ebf10a24b8213eb3f3b4e6b296552446109bf952f9b3f0a", + "layer34": "ac1a24d9daaa0e31e856af0b6690643ddf2f4906ef44bac9de84ca8c10035684", + "layer35": "ea1ffb9dce3bd2aa9736d910b9c208be5968972d7b827ec81189acff2dab893d", + "layer36": "34b7baad0a83838f496d905d58246e9b8221a204ceffeb73ca47d34eb253c9a5", + "layer37": "eab8be8493f17348147ec8f9e0a420b96a690807b7194052efbfeaef39574ec9", + "layer38": "122a54016e8457d867a9268e51065e700e088852094b9e5666cd6b1ffd6fd47c", + "layer39": "93f9a1b6750c2630051f4a434a37780704cc97e4c7020b78cbf61af20d2f8509", + "layer4": "86d032eea933cda1ece710e470ccd0697a19c4d986b84b4beb96e4ba6ccef0e9", + "layer40": "e18067baca7152102a15ce36bceb80fc36030415d35d2e8e60a6307c5669fb7c", + "layer41": "0b0349b0a9e267e1a706035cabbce695f2bc7ca6a7bbbc20533510f49f450835", + "layer42": "f19a1554871560959d17974c5e162d5ae48d3e868ef02d0a34f0ff4287cd68bd", + "layer43": "d0c317402b6720bd56b24a82cb7f6c456946fb812a025d649a5008223f17787c", + "layer44": "b0a5dfd3963a0a808ba11ee21d87eedfb6ec466f99c0e75e4e91d41c15fbc58a", + "layer45": "c63622532152de15d9d8812d10e600a711d1c579c12a9bffd594833ab7455b24", + "layer46": "4dfe34632fdb9515a8227387a216686dbcecc703d99707c89765cfda31e75341", + "layer47": "173fd1a043a64f85ea1e3c1227518e824adaa247ed7914dbb19a30d7875bcb6b", + "layer5": "315184befd2cf3a8028dfae0b41aa45322c3436de0bf22cfcf5effbc0424d732", + "layer6": "8b302a50641b12352603c871735f24558987588ee86d65cc3c477c3fcc8bdb94", + "layer7": "a9c8115b07ae56e0d48e2dc117d29ac93701323b5c5fcf0502bab134b671e3af", + "layer8": "a7f4b357b2ff28cf22c00fb70e103370809dab4d59d2cd1ab3ced9630b45ca64", + "layer9": "adff84c8c8f6da3fee4bf00128359f9daa12d4990a2f8a8a32bb9c3f8f944063" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update1/p0008-b1-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update1/p0008-b1-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "e2295f95b6c39e63fc9c01ea5b2c23f0c5d4ae7e6a54e29a16cbf0a7c4e4e185", + "layer0": "a5d9678c6dfefa9adabe750a098af221427ac5ef812cc8a7848b8b958e5f5a49", + "layer1": "a796c8918462ed6cf65feaadea859eff4b19f8eb854549b7390011fbef4dba5a", + "layer10": "21be778a9c9c23f0cf58c0c05185ed952d43bafb2113bed4698a5f15ce4d5ee3", + "layer11": "a63969496b5aa0a2f35a4242138394da493b32a2efb972ce69aa341045ec0f1a", + "layer12": "b5b3ddc7bcf738ea5c1e6a33388df6458c665650d187d4a477c90a9179f6deb3", + "layer13": "dcab632b69a73e66603049159bba4acb7900dc9f0af64521dc8c5c9150b24296", + "layer14": "84fb2114e20621ca1713ce1d104dff56d511f45af14965355a31846babd2da33", + "layer15": "3e1ca35f2e1323551d3aaac8325f94081334d1d1b06fab74989ad1b6abd92bf3", + "layer16": "2341347e070e266483e0c083522096f569821c74c8cee755b12fc80bcf3b1e9e", + "layer17": "61a4be7e7b0b2e80b943c6522b16915054cd3b495b17569cdcc28ec034909b95", + "layer18": "df3f0b40ee2c63e3b6b839d816589332c27707de2b8de797e270502d81a55b28", + "layer19": "bb6f4ce59923c559878f9c04138839ce219290038a3f2e1a3e95b014aee0de4e", + "layer2": "a21b5e973dac170679d0963ca3bce73ec0f51272ce37f1eb2fb7518fb6a9fab1", + "layer20": "48fde67f92bdaec59e27603dba4653466ed38ff0313c962f6ab7e4e9471caed5", + "layer21": "bc1e748742dacf3bde21955d0a3c94489bb11f4d45a2cd7d76f5121be65a8d19", + "layer22": "f4e8407f69b0c6ee5408386b3a35a22bf1544b675747de3150461b691526b5f8", + "layer23": "3b546987df4780aa06cfbc108a4dbd603dd8682aa6338079aba448741b48a088", + "layer24": "4384c2f3457b9ec13b458d7c8a1426d9996f56442da242091b1fca7e1662b5ea", + "layer25": "e4933526ab7ece2dbf4187c6313e8448b56ca56b60a8a69fe5ec32099c0523d1", + "layer26": "1f7ea7fe090fc04b1a91c6d8d26fef02b48c96a0a2c43bbfdba912d4ea8a91a3", + "layer27": "50508542a73d2a530ea56fdfb7f5580bdc1cc439291f0147c68f9ffa14a10d91", + "layer28": "12318112448b2cc73268f003fb31c8cd31bc2120197acaee6daf975f3361de15", + "layer29": "6f76161937530bf20d21b8574b01454d1d9bbc5b1816ca750e870afe0b032582", + "layer3": "1c40578ee2be28eaf4aa26c5070eef6fadb0b67d2ea5706df1e01d60c983b746", + "layer30": "e61e19bb21ca2ef832f08d1587274ebdb77f095b94b43c9b1c94186cef27b5c9", + "layer31": "637776d49d871b6d98f36e64ec2f8a527f122a4ad3f278493b2cecde8d29c95f", + "layer32": "e9eaa28badd91f31254f356dd02cb3c5872edbf705689d26524a97d27f8b97d6", + "layer33": "cc485672b502f866fcb395eacef42e004a214435f90bf91eca7a953f9de2b943", + "layer34": "0e9aaa571d2548d4f185ac95d120ade70ef40f37aa559d51187309bcd097f3ef", + "layer35": "ecc193d7c1d1ceab3b523c9c3b11d9bcc64b49d9d9f40cfac1bf977fce4c955d", + "layer36": "a4357d3a01fe762b8c6359b9db9390a7c2fbfbd79c09a2f02b84847ce5a3e434", + "layer37": "3dcf286cf9853328a72d92cff2c203be9c0e75373fe5d363254107be74b06365", + "layer38": "1a1db18cab4a84411726aabbd3d75ff0929fab60e9b2be90ba7adf861cf11a91", + "layer39": "f7a13cd9e1416fd1df409a4a28652736e964ca3989879eb48c2a04810100bca0", + "layer4": "c609dd0b7b4d1f5702a42849f1e1d95baba9973a6bd7353bfa7c65f4e84d5d14", + "layer40": "4d06129753286284933e57610137d818663461a5517985fe0947def6e46f28c4", + "layer41": "dcc1c083af533d041dda0210fd555e5398f07ff2e42696865ace314ecd98efc6", + "layer42": "090adfe85dbc55f7f132ecfa29f57a24d78845d8dbdd7de82a102cd58887b318", + "layer43": "6c0829423faec331a45d8aca18865c726e797f97fbcaec5aea41ecfccb20304d", + "layer44": "4ae999aa88a50c1015fab984217e2336579e39cd794479e73c8df9204c6d64a9", + "layer45": "79b62554fc385ac51a0a182a10cb1d8286eecb26d26e5c3f6bf711c0a991ec85", + "layer46": "e9488173a843c9f33365873f1122dbd4b60e47f2c390c64bcbe43f2b663a99e1", + "layer47": "51e6dbb88c86486f321d1587bc3b81fa65836e7638e66189c2707316b4ef8ed1", + "layer5": "839fc7b7a45bc3c58c39b59150831d4cf2ba10fb3732b9a32f24b9ccc081fd21", + "layer6": "fdf4c8b25510af36ada654cdadbc83ea7e9a282f167158c1de0e290cf1013900", + "layer7": "24990b4bc4b9d040cad0250418354ada93506ed2c7e87e68222518e24a25495e", + "layer8": "602d2ab6c192e49f6db357f3ddd933e5e545cbb880e064fbc60cb2aca638d978", + "layer9": "2a46d413461312f2cc344f4c73837659bdf533cc99adcb1076e3d6b824fb64d3" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update1/p0008-b1-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update1/p0008-b1-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "e2295f95b6c39e63fc9c01ea5b2c23f0c5d4ae7e6a54e29a16cbf0a7c4e4e185", + "layer0": "a5d9678c6dfefa9adabe750a098af221427ac5ef812cc8a7848b8b958e5f5a49", + "layer1": "a796c8918462ed6cf65feaadea859eff4b19f8eb854549b7390011fbef4dba5a", + "layer10": "21be778a9c9c23f0cf58c0c05185ed952d43bafb2113bed4698a5f15ce4d5ee3", + "layer11": "a63969496b5aa0a2f35a4242138394da493b32a2efb972ce69aa341045ec0f1a", + "layer12": "b5b3ddc7bcf738ea5c1e6a33388df6458c665650d187d4a477c90a9179f6deb3", + "layer13": "dcab632b69a73e66603049159bba4acb7900dc9f0af64521dc8c5c9150b24296", + "layer14": "84fb2114e20621ca1713ce1d104dff56d511f45af14965355a31846babd2da33", + "layer15": "3e1ca35f2e1323551d3aaac8325f94081334d1d1b06fab74989ad1b6abd92bf3", + "layer16": "2341347e070e266483e0c083522096f569821c74c8cee755b12fc80bcf3b1e9e", + "layer17": "61a4be7e7b0b2e80b943c6522b16915054cd3b495b17569cdcc28ec034909b95", + "layer18": "df3f0b40ee2c63e3b6b839d816589332c27707de2b8de797e270502d81a55b28", + "layer19": "bb6f4ce59923c559878f9c04138839ce219290038a3f2e1a3e95b014aee0de4e", + "layer2": "a21b5e973dac170679d0963ca3bce73ec0f51272ce37f1eb2fb7518fb6a9fab1", + "layer20": "48fde67f92bdaec59e27603dba4653466ed38ff0313c962f6ab7e4e9471caed5", + "layer21": "bc1e748742dacf3bde21955d0a3c94489bb11f4d45a2cd7d76f5121be65a8d19", + "layer22": "f4e8407f69b0c6ee5408386b3a35a22bf1544b675747de3150461b691526b5f8", + "layer23": "3b546987df4780aa06cfbc108a4dbd603dd8682aa6338079aba448741b48a088", + "layer24": "4384c2f3457b9ec13b458d7c8a1426d9996f56442da242091b1fca7e1662b5ea", + "layer25": "e4933526ab7ece2dbf4187c6313e8448b56ca56b60a8a69fe5ec32099c0523d1", + "layer26": "1f7ea7fe090fc04b1a91c6d8d26fef02b48c96a0a2c43bbfdba912d4ea8a91a3", + "layer27": "50508542a73d2a530ea56fdfb7f5580bdc1cc439291f0147c68f9ffa14a10d91", + "layer28": "12318112448b2cc73268f003fb31c8cd31bc2120197acaee6daf975f3361de15", + "layer29": "6f76161937530bf20d21b8574b01454d1d9bbc5b1816ca750e870afe0b032582", + "layer3": "1c40578ee2be28eaf4aa26c5070eef6fadb0b67d2ea5706df1e01d60c983b746", + "layer30": "e61e19bb21ca2ef832f08d1587274ebdb77f095b94b43c9b1c94186cef27b5c9", + "layer31": "637776d49d871b6d98f36e64ec2f8a527f122a4ad3f278493b2cecde8d29c95f", + "layer32": "e9eaa28badd91f31254f356dd02cb3c5872edbf705689d26524a97d27f8b97d6", + "layer33": "cc485672b502f866fcb395eacef42e004a214435f90bf91eca7a953f9de2b943", + "layer34": "0e9aaa571d2548d4f185ac95d120ade70ef40f37aa559d51187309bcd097f3ef", + "layer35": "ecc193d7c1d1ceab3b523c9c3b11d9bcc64b49d9d9f40cfac1bf977fce4c955d", + "layer36": "a4357d3a01fe762b8c6359b9db9390a7c2fbfbd79c09a2f02b84847ce5a3e434", + "layer37": "3dcf286cf9853328a72d92cff2c203be9c0e75373fe5d363254107be74b06365", + "layer38": "1a1db18cab4a84411726aabbd3d75ff0929fab60e9b2be90ba7adf861cf11a91", + "layer39": "f7a13cd9e1416fd1df409a4a28652736e964ca3989879eb48c2a04810100bca0", + "layer4": "c609dd0b7b4d1f5702a42849f1e1d95baba9973a6bd7353bfa7c65f4e84d5d14", + "layer40": "4d06129753286284933e57610137d818663461a5517985fe0947def6e46f28c4", + "layer41": "dcc1c083af533d041dda0210fd555e5398f07ff2e42696865ace314ecd98efc6", + "layer42": "090adfe85dbc55f7f132ecfa29f57a24d78845d8dbdd7de82a102cd58887b318", + "layer43": "6c0829423faec331a45d8aca18865c726e797f97fbcaec5aea41ecfccb20304d", + "layer44": "4ae999aa88a50c1015fab984217e2336579e39cd794479e73c8df9204c6d64a9", + "layer45": "79b62554fc385ac51a0a182a10cb1d8286eecb26d26e5c3f6bf711c0a991ec85", + "layer46": "e9488173a843c9f33365873f1122dbd4b60e47f2c390c64bcbe43f2b663a99e1", + "layer47": "51e6dbb88c86486f321d1587bc3b81fa65836e7638e66189c2707316b4ef8ed1", + "layer5": "839fc7b7a45bc3c58c39b59150831d4cf2ba10fb3732b9a32f24b9ccc081fd21", + "layer6": "fdf4c8b25510af36ada654cdadbc83ea7e9a282f167158c1de0e290cf1013900", + "layer7": "24990b4bc4b9d040cad0250418354ada93506ed2c7e87e68222518e24a25495e", + "layer8": "602d2ab6c192e49f6db357f3ddd933e5e545cbb880e064fbc60cb2aca638d978", + "layer9": "2a46d413461312f2cc344f4c73837659bdf533cc99adcb1076e3d6b824fb64d3" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update1/p0008-b4-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update1/p0008-b4-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "9f2022a1c99772982f3a4081148cfb932305c92ac131c405c7202ab60923cef8", + "layer0": "fd9016092e089ff5cf0d51f73b114452fea181b922de2f79baabef4778f5b399", + "layer1": "ad2f4c502a4e41f03fd848fcf831e2c21a98a48d09db1ec55a49b9314aaa45be", + "layer10": "4d503704f61c890b956e5c9e7ef1a4c7fd2ffc37ed516d2383674ce958fc51fb", + "layer11": "a39379c9f2b02c3b0a8dfa3307fc0613dfbdc7072c95b13336a541e74e9f8811", + "layer12": "0066de5364eee6419979b221421f2d3ce2ad0fdb9575c434b62d4ecf12a9b9ef", + "layer13": "1ab2ea8f6a6034e9e5f45f63da8dca76499b746296e8e888766b6f820911f3ac", + "layer14": "417aff1d59193a7729caa7b49b5ea58e968e85482dde2b80495a2dc1169af8df", + "layer15": "9f432deda6bc81cac2346858afb474de795b094ee34a60c3df5c6cab671fa065", + "layer16": "6db19132adf5f6f80adfcc26c3b77e21b3dea9e283e746ad9a4d65faa15ca86c", + "layer17": "b2285e83cde50743b2a241b0c8f4e53a24ea32b98fa72db43cd9535003c75363", + "layer18": "a4f28caea3f30c74becfcd728e90c4ae77568bfafa4e33be386104d64fdd839f", + "layer19": "e5fc1e52124f9f6a97848fb73da1ef35c901e345f8cfa2fcdf55be503bfa051e", + "layer2": "0587825f24c9c55ca716d18f2cfc2d38ec0755d51971d98353a304e08fd7f547", + "layer20": "2c2469255acbfe5c942be25766580cd504421a1fd54b9037fe53f4ec84619143", + "layer21": "cfb889f8b67c7b6bdb2a42568d29ec61d824f18bed8b4e6cd14549d273c3765f", + "layer22": "87155409a65d402414a18d663b655bdbe739401aa7270f826a4af6695f29c37c", + "layer23": "7b5e3cedc9608a2dfb9fa1afb37e146380027213133ed339333c79cb1313e796", + "layer24": "0881648b863e1129460312dc2383110302f2ed542bffc66edc8ccf67bb28ccac", + "layer25": "9fbdb932e61f3e6fb19c3a1b1ddc7fc6f74afbcab2ba44f9f42985a339066467", + "layer26": "867d8716d78629fb7a666b7c2aa8bdc57b22ba2c2365c7c1e3884069edab19ad", + "layer27": "62d9ba50092f778eb60a7e7043949c7093f08e61d5afaace68de9af6f9717f0d", + "layer28": "90e79712385fd4589d625a082407adca5e903d3affac23948a84533381dc50c4", + "layer29": "c39b71af827ad1cc2f019767ddc86a5cd16f06d8bcc023b34889486bff482feb", + "layer3": "d345ebb7ae955d07346a4c2a80e65158411c487cf3a1cb80271e01a25867625a", + "layer30": "4ae4c0bacf57b2e4e6ad206361c2c8e92abdcecb0b8e447c2a3972c40788acf3", + "layer31": "b24f163cc48b89c163c0e495c8266f7125327c111ac80b4ec912f66c23f91436", + "layer32": "d02114dfd036a30115a603ff532df5444348f79a5c878c6ee47ed7a36e3e4556", + "layer33": "0aad83701682459656991383ff30708cb366dff5bb6b09be1932791925fb1515", + "layer34": "d4f75a56328e9e6f0b564ddbebd7b57d7f5f808d32835f8465e66d5a41563bd6", + "layer35": "a602b9219c38177fc837fe7cfc4c3f3eeefb1df479f170c5e30491313359796f", + "layer36": "69d93d94cf8e3e74e5bcd49fb41372bf2fab788694cbaabb647a31d1090d858f", + "layer37": "80270dc32c848ee98f27cda06ba67fc47ea956181f6ab55534d276a164dd3ded", + "layer38": "9aa00aaf8fd84dd607ad94eae74898e2de1c8facf80fc90547424e85888ab907", + "layer39": "9faa35a7b1774b95244d9b65258655a2c06738b4c9d4d1daf28159c04d6a7f84", + "layer4": "7cfb07c996eb1a00d3967313a4242255226b9afb4536d49cb2a0067847be054d", + "layer40": "4e84604fe8a190b108c730ddc6d7115b1c431d342247f33f428abf5db4d1d0cc", + "layer41": "e1258bf2522f20e0c939fdf914d5074f456a29ffed7c9a04a037e6b3939c6ecc", + "layer42": "56bfada41c26db7f7551eee6b858783ea946749b1c67f2f3be664f4b201d47bc", + "layer43": "b6a895583865b8d3416476b4142ab317491cd0b9e9e0b13580ee916a093b58d0", + "layer44": "a600d0d4c1b46ef999280ded7514928ad2f17ec00b78aa207c1994e70b0f381a", + "layer45": "a4839a6b5e7d15e38d989c433d2ae20eee9eee5890114bd98f06d839f719a83d", + "layer46": "bdbea74d807c05e124b34183c5a6e380668b427a601735ef5b4855e5b9bcc2e7", + "layer47": "75911e93e6476379324cfbd93469d747828def43a9febceb8afd0a4b8c0ab2b1", + "layer5": "f6b67be7ba92b2473f32cfca56a02cd982ab6f9a35f5b96031a9ad2da07d90ab", + "layer6": "097e2fe29489ade9fe0a12ef00e1674af231242428002fc7c0b9819e33e4d357", + "layer7": "4638c49bec79d66ce105634af29fca0c2a78311a9a0b059a37e3c9757b7ef038", + "layer8": "f88ccb8f347ddbdef172e9c96a714f5834ae7b557096756b34ad7e8d68d4a59d", + "layer9": "4746b5bfc7d9e059e4be24213915cb180c118cc30547711d3e99cdef09eee272" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update1/p0008-b4-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update1/p0008-b4-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "9f2022a1c99772982f3a4081148cfb932305c92ac131c405c7202ab60923cef8", + "layer0": "fd9016092e089ff5cf0d51f73b114452fea181b922de2f79baabef4778f5b399", + "layer1": "ad2f4c502a4e41f03fd848fcf831e2c21a98a48d09db1ec55a49b9314aaa45be", + "layer10": "4d503704f61c890b956e5c9e7ef1a4c7fd2ffc37ed516d2383674ce958fc51fb", + "layer11": "a39379c9f2b02c3b0a8dfa3307fc0613dfbdc7072c95b13336a541e74e9f8811", + "layer12": "0066de5364eee6419979b221421f2d3ce2ad0fdb9575c434b62d4ecf12a9b9ef", + "layer13": "1ab2ea8f6a6034e9e5f45f63da8dca76499b746296e8e888766b6f820911f3ac", + "layer14": "417aff1d59193a7729caa7b49b5ea58e968e85482dde2b80495a2dc1169af8df", + "layer15": "9f432deda6bc81cac2346858afb474de795b094ee34a60c3df5c6cab671fa065", + "layer16": "6db19132adf5f6f80adfcc26c3b77e21b3dea9e283e746ad9a4d65faa15ca86c", + "layer17": "b2285e83cde50743b2a241b0c8f4e53a24ea32b98fa72db43cd9535003c75363", + "layer18": "a4f28caea3f30c74becfcd728e90c4ae77568bfafa4e33be386104d64fdd839f", + "layer19": "e5fc1e52124f9f6a97848fb73da1ef35c901e345f8cfa2fcdf55be503bfa051e", + "layer2": "0587825f24c9c55ca716d18f2cfc2d38ec0755d51971d98353a304e08fd7f547", + "layer20": "2c2469255acbfe5c942be25766580cd504421a1fd54b9037fe53f4ec84619143", + "layer21": "cfb889f8b67c7b6bdb2a42568d29ec61d824f18bed8b4e6cd14549d273c3765f", + "layer22": "87155409a65d402414a18d663b655bdbe739401aa7270f826a4af6695f29c37c", + "layer23": "7b5e3cedc9608a2dfb9fa1afb37e146380027213133ed339333c79cb1313e796", + "layer24": "0881648b863e1129460312dc2383110302f2ed542bffc66edc8ccf67bb28ccac", + "layer25": "9fbdb932e61f3e6fb19c3a1b1ddc7fc6f74afbcab2ba44f9f42985a339066467", + "layer26": "867d8716d78629fb7a666b7c2aa8bdc57b22ba2c2365c7c1e3884069edab19ad", + "layer27": "62d9ba50092f778eb60a7e7043949c7093f08e61d5afaace68de9af6f9717f0d", + "layer28": "90e79712385fd4589d625a082407adca5e903d3affac23948a84533381dc50c4", + "layer29": "c39b71af827ad1cc2f019767ddc86a5cd16f06d8bcc023b34889486bff482feb", + "layer3": "d345ebb7ae955d07346a4c2a80e65158411c487cf3a1cb80271e01a25867625a", + "layer30": "4ae4c0bacf57b2e4e6ad206361c2c8e92abdcecb0b8e447c2a3972c40788acf3", + "layer31": "b24f163cc48b89c163c0e495c8266f7125327c111ac80b4ec912f66c23f91436", + "layer32": "d02114dfd036a30115a603ff532df5444348f79a5c878c6ee47ed7a36e3e4556", + "layer33": "0aad83701682459656991383ff30708cb366dff5bb6b09be1932791925fb1515", + "layer34": "d4f75a56328e9e6f0b564ddbebd7b57d7f5f808d32835f8465e66d5a41563bd6", + "layer35": "a602b9219c38177fc837fe7cfc4c3f3eeefb1df479f170c5e30491313359796f", + "layer36": "69d93d94cf8e3e74e5bcd49fb41372bf2fab788694cbaabb647a31d1090d858f", + "layer37": "80270dc32c848ee98f27cda06ba67fc47ea956181f6ab55534d276a164dd3ded", + "layer38": "9aa00aaf8fd84dd607ad94eae74898e2de1c8facf80fc90547424e85888ab907", + "layer39": "9faa35a7b1774b95244d9b65258655a2c06738b4c9d4d1daf28159c04d6a7f84", + "layer4": "7cfb07c996eb1a00d3967313a4242255226b9afb4536d49cb2a0067847be054d", + "layer40": "4e84604fe8a190b108c730ddc6d7115b1c431d342247f33f428abf5db4d1d0cc", + "layer41": "e1258bf2522f20e0c939fdf914d5074f456a29ffed7c9a04a037e6b3939c6ecc", + "layer42": "56bfada41c26db7f7551eee6b858783ea946749b1c67f2f3be664f4b201d47bc", + "layer43": "b6a895583865b8d3416476b4142ab317491cd0b9e9e0b13580ee916a093b58d0", + "layer44": "a600d0d4c1b46ef999280ded7514928ad2f17ec00b78aa207c1994e70b0f381a", + "layer45": "a4839a6b5e7d15e38d989c433d2ae20eee9eee5890114bd98f06d839f719a83d", + "layer46": "bdbea74d807c05e124b34183c5a6e380668b427a601735ef5b4855e5b9bcc2e7", + "layer47": "75911e93e6476379324cfbd93469d747828def43a9febceb8afd0a4b8c0ab2b1", + "layer5": "f6b67be7ba92b2473f32cfca56a02cd982ab6f9a35f5b96031a9ad2da07d90ab", + "layer6": "097e2fe29489ade9fe0a12ef00e1674af231242428002fc7c0b9819e33e4d357", + "layer7": "4638c49bec79d66ce105634af29fca0c2a78311a9a0b059a37e3c9757b7ef038", + "layer8": "f88ccb8f347ddbdef172e9c96a714f5834ae7b557096756b34ad7e8d68d4a59d", + "layer9": "4746b5bfc7d9e059e4be24213915cb180c118cc30547711d3e99cdef09eee272" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update1/p0064-b1-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update1/p0064-b1-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "add1f270ea5965fef16e8fdd87cb37646ff2b7e742475987d8b3b4b2ce9e10aa", + "layer0": "8777906adcdb0c6d0fbf2cd31ca2b3790e4352a861c35d850335bb12d6db1cb9", + "layer1": "a4d320a33e4c50775c876eb83d0c922cebb7fa3f2518956c9b8604da70e528c7", + "layer10": "8e15c05f069faf53937946385bae59a6dcfff1e3c7cf83e4cf1e7d98900ba5ef", + "layer11": "8f3ee5ba2f7c13305c5cd164f5f6337c97443a9013761bd5efab7a2577ca0bb9", + "layer12": "9938702de288b5c6a2dff2f046eb614fe31555c8d447389559f45eca939d4728", + "layer13": "a2c34a18bd2894b8eba911e3b2157561490479d01a737c0ccdd3dc913cae7715", + "layer14": "1f8480fcde13ce9eefd9f73b953bbff373652dce737bb8ca14ea355e94be4bcd", + "layer15": "7e9c8b9259f4c4f5e7f31461ef61bea4b95e5ef199ad88e40c41b54a9f6861ce", + "layer16": "58a5ebb53bc7576c70834599adc429a92a84efb306b234f05fbd0f6a98227975", + "layer17": "4d49e751319d1a6e5dba067d7d7fb264a059500e138efe49eb6ffb96bf38340e", + "layer18": "1097ceb63ec557855951f536adcb66e6570cd5474db7383f8ff5a630a4c6ceaa", + "layer19": "ade8f2753da83734fcfe241a1fa28145063a7d9bd9b9bf295406d48a4cc07fd0", + "layer2": "5aae714680124244bef7beab715aee3bf74d16dd839d02cf360e23cb74745e19", + "layer20": "91b672fb7567a3fa275d74792df53cc729d22ad51e39235d4397b4b33534d8ca", + "layer21": "396edc67fd0c82c6d7dc51a4c22b347868804f3fa4989758f45111e2e34458a7", + "layer22": "3d27e50bfb25f3b2f3b31d5ec7deb6e6bd3acb4d49fc7bd8815d21caed988b16", + "layer23": "107594e55beedc960c515bf9ea756e4fd1b35371a6361d93da8e8eff7ee6d87c", + "layer24": "90c10fcb3ac5f818d3655b7c8d76231af6deeb53e4105d229664dc0bcd375028", + "layer25": "4dff207c9fd9ae746138f401dabb0976f1ff41a9c3f652a64e221b0b074c703f", + "layer26": "f5fc21f867451b168ebac8f0c861d9534c10e97306271136da1551ff05b62a0c", + "layer27": "2cd1b25dffb3c1686b896041165f53678976606af348b9f92a5c3d84a52cf2eb", + "layer28": "285f475ff941f1277488ad0246b1e999c65cd9dbde8429b724df4e21f80f90c8", + "layer29": "5187ea85da6a386d0178677db7ba32a696e3eb6177e9dcef85d91e01ac4e49b2", + "layer3": "2dd008c19ca466d8106d4d560626aad2c584c21e5535d58609ecc9408a47bfdf", + "layer30": "8c9367ead82fd4d2c71d5b98fc0bf40660f791b305b2709ef448d42e49477d7c", + "layer31": "ee6d7590dbea966e404277d06f00458f94888f8a4ceec113b2827a6c70b0f505", + "layer32": "585a729d3ff42c0f7a8a68f072cdef8ece97c1f4e5064c2ffb116758dfc1e56a", + "layer33": "601f27f1c7efeb091222eaa868a7482e566e3bc080a2408aa873dd4a10f20bcd", + "layer34": "3dcb8795fd79b45d6d64172e3dd142ce9d98be14b71957a53f1cd45e809db73a", + "layer35": "18cf70830e5267be3848760a35fef16f77af791c2d759085245f42f65b855acf", + "layer36": "4524a189086ca20ac47ed79e03b77bbbed048c6059601af9969cb4807c1a895b", + "layer37": "e7ded776955242f1d08d34e92d1e1558bc3295dc88f760821fe8980a3b9698ca", + "layer38": "0fb210313f68fbb85850f93a9db71378ac0c0450555738823029d372161d7df1", + "layer39": "810b9561c9ed0107a4cc6d8da16fb720df715906204afa7884915206b218937c", + "layer4": "d116b6d57068ee10d0881fa10163568215ed613df7e76952669dcfb541c42343", + "layer40": "9c0154b15c28ef7f0528d6ec68d82e55cdad888673efb8c8346c66433af1d497", + "layer41": "8b96986aab46d6f7db8dad2732728088272fad05ca15cf56a7ecfdc3d4ad5881", + "layer42": "3d6b595a94e742554fb8dba4bbf4264aecf52ab31ffdb4dbf4eaeb4c70c81a5f", + "layer43": "1f985f7c2263e375fe8755023aaae60724f48abeef35ecd2e08a901e9ee04c96", + "layer44": "5b43b5dfe92a4e35a7274f42270c2b0e2a2cc43c782a2339d11e7ffa1f436294", + "layer45": "c4dfd70493687759ab793700176cf609c224e19a62cfeadde4348cef619d898d", + "layer46": "77197f1fe90c7a3c580c8f93e584ff806479a6f8d4090a5702c31adaba79e409", + "layer47": "791b730384b61701fa5c809c1db7b7738f2fbd0c547450bcf66ba49850b03a73", + "layer5": "b76a5933c3737d1bdb57c555e3cfde76bbb3c5c2458592b617d88c27f2836156", + "layer6": "b9c9395c035cdb5b8d7789992fe6ae28412289e456731c58d81a4f955b78f9f0", + "layer7": "f236fe5f70a79462fa390ea69c9a393339d42a17297c33dd233b2c12f6c438f7", + "layer8": "27986a2efa2bb00bbf5d8d596ef9193c71936655c070347f9c5d40f7d6d3c337", + "layer9": "e260e56db1472e8927ee4d3885e3e8ee5052c58b3c705db84c0fbff06a79598a" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update1/p0064-b1-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update1/p0064-b1-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "add1f270ea5965fef16e8fdd87cb37646ff2b7e742475987d8b3b4b2ce9e10aa", + "layer0": "8777906adcdb0c6d0fbf2cd31ca2b3790e4352a861c35d850335bb12d6db1cb9", + "layer1": "a4d320a33e4c50775c876eb83d0c922cebb7fa3f2518956c9b8604da70e528c7", + "layer10": "8e15c05f069faf53937946385bae59a6dcfff1e3c7cf83e4cf1e7d98900ba5ef", + "layer11": "8f3ee5ba2f7c13305c5cd164f5f6337c97443a9013761bd5efab7a2577ca0bb9", + "layer12": "9938702de288b5c6a2dff2f046eb614fe31555c8d447389559f45eca939d4728", + "layer13": "a2c34a18bd2894b8eba911e3b2157561490479d01a737c0ccdd3dc913cae7715", + "layer14": "1f8480fcde13ce9eefd9f73b953bbff373652dce737bb8ca14ea355e94be4bcd", + "layer15": "7e9c8b9259f4c4f5e7f31461ef61bea4b95e5ef199ad88e40c41b54a9f6861ce", + "layer16": "58a5ebb53bc7576c70834599adc429a92a84efb306b234f05fbd0f6a98227975", + "layer17": "4d49e751319d1a6e5dba067d7d7fb264a059500e138efe49eb6ffb96bf38340e", + "layer18": "1097ceb63ec557855951f536adcb66e6570cd5474db7383f8ff5a630a4c6ceaa", + "layer19": "ade8f2753da83734fcfe241a1fa28145063a7d9bd9b9bf295406d48a4cc07fd0", + "layer2": "5aae714680124244bef7beab715aee3bf74d16dd839d02cf360e23cb74745e19", + "layer20": "91b672fb7567a3fa275d74792df53cc729d22ad51e39235d4397b4b33534d8ca", + "layer21": "396edc67fd0c82c6d7dc51a4c22b347868804f3fa4989758f45111e2e34458a7", + "layer22": "3d27e50bfb25f3b2f3b31d5ec7deb6e6bd3acb4d49fc7bd8815d21caed988b16", + "layer23": "107594e55beedc960c515bf9ea756e4fd1b35371a6361d93da8e8eff7ee6d87c", + "layer24": "90c10fcb3ac5f818d3655b7c8d76231af6deeb53e4105d229664dc0bcd375028", + "layer25": "4dff207c9fd9ae746138f401dabb0976f1ff41a9c3f652a64e221b0b074c703f", + "layer26": "f5fc21f867451b168ebac8f0c861d9534c10e97306271136da1551ff05b62a0c", + "layer27": "2cd1b25dffb3c1686b896041165f53678976606af348b9f92a5c3d84a52cf2eb", + "layer28": "285f475ff941f1277488ad0246b1e999c65cd9dbde8429b724df4e21f80f90c8", + "layer29": "5187ea85da6a386d0178677db7ba32a696e3eb6177e9dcef85d91e01ac4e49b2", + "layer3": "2dd008c19ca466d8106d4d560626aad2c584c21e5535d58609ecc9408a47bfdf", + "layer30": "8c9367ead82fd4d2c71d5b98fc0bf40660f791b305b2709ef448d42e49477d7c", + "layer31": "ee6d7590dbea966e404277d06f00458f94888f8a4ceec113b2827a6c70b0f505", + "layer32": "585a729d3ff42c0f7a8a68f072cdef8ece97c1f4e5064c2ffb116758dfc1e56a", + "layer33": "601f27f1c7efeb091222eaa868a7482e566e3bc080a2408aa873dd4a10f20bcd", + "layer34": "3dcb8795fd79b45d6d64172e3dd142ce9d98be14b71957a53f1cd45e809db73a", + "layer35": "18cf70830e5267be3848760a35fef16f77af791c2d759085245f42f65b855acf", + "layer36": "4524a189086ca20ac47ed79e03b77bbbed048c6059601af9969cb4807c1a895b", + "layer37": "e7ded776955242f1d08d34e92d1e1558bc3295dc88f760821fe8980a3b9698ca", + "layer38": "0fb210313f68fbb85850f93a9db71378ac0c0450555738823029d372161d7df1", + "layer39": "810b9561c9ed0107a4cc6d8da16fb720df715906204afa7884915206b218937c", + "layer4": "d116b6d57068ee10d0881fa10163568215ed613df7e76952669dcfb541c42343", + "layer40": "9c0154b15c28ef7f0528d6ec68d82e55cdad888673efb8c8346c66433af1d497", + "layer41": "8b96986aab46d6f7db8dad2732728088272fad05ca15cf56a7ecfdc3d4ad5881", + "layer42": "3d6b595a94e742554fb8dba4bbf4264aecf52ab31ffdb4dbf4eaeb4c70c81a5f", + "layer43": "1f985f7c2263e375fe8755023aaae60724f48abeef35ecd2e08a901e9ee04c96", + "layer44": "5b43b5dfe92a4e35a7274f42270c2b0e2a2cc43c782a2339d11e7ffa1f436294", + "layer45": "c4dfd70493687759ab793700176cf609c224e19a62cfeadde4348cef619d898d", + "layer46": "77197f1fe90c7a3c580c8f93e584ff806479a6f8d4090a5702c31adaba79e409", + "layer47": "791b730384b61701fa5c809c1db7b7738f2fbd0c547450bcf66ba49850b03a73", + "layer5": "b76a5933c3737d1bdb57c555e3cfde76bbb3c5c2458592b617d88c27f2836156", + "layer6": "b9c9395c035cdb5b8d7789992fe6ae28412289e456731c58d81a4f955b78f9f0", + "layer7": "f236fe5f70a79462fa390ea69c9a393339d42a17297c33dd233b2c12f6c438f7", + "layer8": "27986a2efa2bb00bbf5d8d596ef9193c71936655c070347f9c5d40f7d6d3c337", + "layer9": "e260e56db1472e8927ee4d3885e3e8ee5052c58b3c705db84c0fbff06a79598a" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update1/p0064-b4-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update1/p0064-b4-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "a7ab31f2c084947dea25615b0c4bd0219557d9ef8babdb5f7f07edebd8f4584d", + "layer0": "0504beb4e0cb599acfb76406935fac36338cacdd85f03472938d9ac4ca961d89", + "layer1": "8e23098908dcc058c2dd20fff9c8040cb1234a182414f19ddef034b52da19efd", + "layer10": "9d2cfd658219eb293c45f3865da41ad02ae5459d8aeb0467f078092267d4bda6", + "layer11": "dfbbb0def98dd53c608b8216c31c38c8e85609243834526cda858ee333ed6125", + "layer12": "af02fbbbcf4b84397a96b4c007248f5bb56a4f7cb8e45d11206105b64b0ba7e0", + "layer13": "a2a2ff4da0109c91da7046675aa0ce8cd76ae52b3efb71189611ca7008067171", + "layer14": "df78cc50fe178eaebc8ab3b3e9635ccf88d6e21839f71571b81c93397ea98797", + "layer15": "aae1a1ac01fd5b5f56f50966f80f23d7f1f276ec3726e0141a344f3bdd7a380d", + "layer16": "4feb9df443f8126afa5f48fe062fbb1922ab22236b2360361c74d3d2a4053dbf", + "layer17": "8ab3ce001030a0144da3b9df0153277422be1e0d79733682665a07a406bb1805", + "layer18": "be2bab1354989f6df8d1240b0d87c140e6a0faf3a0dfcec969758a8ba64764ee", + "layer19": "1f77b04611bffeab357c54ae77c5e74356eb852d039a5d6732002ea8549ffddb", + "layer2": "566f4ce30552c9df20c890c61d2d9ffce7c5832212662acbced4a242437eb4a7", + "layer20": "91c30ed8dd1150cb6c26b79ad4baebab0d6eb2196c5ebaa5065e03b437fd3b5a", + "layer21": "efb1df77885422211fe934040f947e5161e5575481acdbb07c08b686208010b2", + "layer22": "741cb15b624e762ac2042636bd6bc42bb0f612f1b06ed86e69ea2da869c6f4a6", + "layer23": "f1677c5ca42dc8cc3804d86060e3c90dd53a8012f298a155faad996b94be2dfc", + "layer24": "bcee7fa921b55b37827a3b6ad748f1e2cebdc134f9bd742de74a8a27832a86e3", + "layer25": "2cf589e0e3792a5d488f624b27244e9fdb403340ade8facf73789cd74e04d6ca", + "layer26": "3c734618181d2123565e7b0b6ffe4255d2d2f577099c8f9bb55bee16b3594c00", + "layer27": "a8f958906a0e0baa003e5f87bfb2273aa3980ccbd0091e8ed7d529481f0b7910", + "layer28": "3ce6a5d5b0d68585971198d0f2669adefd137105e150bfea34f7405a3aa9e4c9", + "layer29": "3b1dbf8b8271cfb53d1d6945e9e27b596c85d90ee01ed63beaafda6cdf9ad370", + "layer3": "35a2215f40d6f2744f01f3ee36c372dafd325cdc7da984aeb38439246edef66a", + "layer30": "a7933d908fbc02eef93fb43e2aa2f768bb81f2b41cd7765d6eeaf14311e2a193", + "layer31": "2e79fafbd11a6fd05424e103d0a582ff35f626d43a84fefc85744c678bb59f5c", + "layer32": "1bcc8b7d831768e9bc81268213196c4251b9c50350ad19cc7c0f9bb26a71f08e", + "layer33": "78398bac1fa4c3344ca63f2323c1ba64d9beb5949418e93660c939d5f27f9acf", + "layer34": "a1c06be5303efb5b9776a30f62838318861a0d83e23004bb2a8c4e7b93fd28f5", + "layer35": "7f50561fc30fd9a60ff6dc52c96636ced412d79408ab904ead4869dc00c18952", + "layer36": "312295db5de9814d9408fe04ff77de06592ff714748292e488ab9c56e4d19cb5", + "layer37": "7e7188a1b0f003e995757fc5b5615c74c9afece5fc672e94f8427b32bb97e73b", + "layer38": "d3f03e35b316a455c34afb2d68444f48625a03c50bfa4f5b760df2b07e0f4bc1", + "layer39": "71952d991103144414dfcab9c14c400f11c47e508c1fc9bf30172fe3a7b0897d", + "layer4": "fc2bc2a1563c3d4e757180a8becb55c1f4d95d93a03aeaec992220c1950091d5", + "layer40": "bbb990747601d7061b1952f42f78a95dc7fd87a20a143a690de3e3b035421621", + "layer41": "febfff9e99b04feaa0be6696cd6e7d7261ea3109919e7c9cbf0c218b7c8c6154", + "layer42": "bf0d18847f52039db6c39fdaf05237c06c71045c200d89d959bc7ef25bad60eb", + "layer43": "dd0b09f5b41d69568555d65c77e142aa14c9c6ebf61bc633c1ceaae32a680fc3", + "layer44": "8251d7167da95cf1154ca7dc8918f07b4f40c62b403870cfb005af63c23e08b7", + "layer45": "0d56f04297a788f088a74e62231e5b6656f3bfe950361ad707b91de0c2567a33", + "layer46": "75649b09677b8020f10b9db75850b6eb12db11f4b6ef62fa47f2dde1bcab4800", + "layer47": "4b0c1820e43e6fce69f520de35efc39e67d0dc3acdfaa281648040f7c8143baf", + "layer5": "59f81f32f21efde96c34b3738ce3a37260feccf38c6ea6fa66158031579f7bc7", + "layer6": "36c2f349bab202d1fcec2039faee8fbe96ebea487e417c85f2e52c27f19d5972", + "layer7": "0749424ebde88c24a0217e50771a71e9a3f0e38a868c005b2bee45d2a17b4b0b", + "layer8": "7ddf820cdcbd848ffa90996f566ce1189dbea43572581d57ab07b6e4beea7555", + "layer9": "440f9c95711af9623dedc75c489b0f8afbe688d15e36972c7eb2be3565c6b646" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update1/p0064-b4-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update1/p0064-b4-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "a7ab31f2c084947dea25615b0c4bd0219557d9ef8babdb5f7f07edebd8f4584d", + "layer0": "0504beb4e0cb599acfb76406935fac36338cacdd85f03472938d9ac4ca961d89", + "layer1": "8e23098908dcc058c2dd20fff9c8040cb1234a182414f19ddef034b52da19efd", + "layer10": "9d2cfd658219eb293c45f3865da41ad02ae5459d8aeb0467f078092267d4bda6", + "layer11": "dfbbb0def98dd53c608b8216c31c38c8e85609243834526cda858ee333ed6125", + "layer12": "af02fbbbcf4b84397a96b4c007248f5bb56a4f7cb8e45d11206105b64b0ba7e0", + "layer13": "a2a2ff4da0109c91da7046675aa0ce8cd76ae52b3efb71189611ca7008067171", + "layer14": "df78cc50fe178eaebc8ab3b3e9635ccf88d6e21839f71571b81c93397ea98797", + "layer15": "aae1a1ac01fd5b5f56f50966f80f23d7f1f276ec3726e0141a344f3bdd7a380d", + "layer16": "4feb9df443f8126afa5f48fe062fbb1922ab22236b2360361c74d3d2a4053dbf", + "layer17": "8ab3ce001030a0144da3b9df0153277422be1e0d79733682665a07a406bb1805", + "layer18": "be2bab1354989f6df8d1240b0d87c140e6a0faf3a0dfcec969758a8ba64764ee", + "layer19": "1f77b04611bffeab357c54ae77c5e74356eb852d039a5d6732002ea8549ffddb", + "layer2": "566f4ce30552c9df20c890c61d2d9ffce7c5832212662acbced4a242437eb4a7", + "layer20": "91c30ed8dd1150cb6c26b79ad4baebab0d6eb2196c5ebaa5065e03b437fd3b5a", + "layer21": "efb1df77885422211fe934040f947e5161e5575481acdbb07c08b686208010b2", + "layer22": "741cb15b624e762ac2042636bd6bc42bb0f612f1b06ed86e69ea2da869c6f4a6", + "layer23": "f1677c5ca42dc8cc3804d86060e3c90dd53a8012f298a155faad996b94be2dfc", + "layer24": "bcee7fa921b55b37827a3b6ad748f1e2cebdc134f9bd742de74a8a27832a86e3", + "layer25": "2cf589e0e3792a5d488f624b27244e9fdb403340ade8facf73789cd74e04d6ca", + "layer26": "3c734618181d2123565e7b0b6ffe4255d2d2f577099c8f9bb55bee16b3594c00", + "layer27": "a8f958906a0e0baa003e5f87bfb2273aa3980ccbd0091e8ed7d529481f0b7910", + "layer28": "3ce6a5d5b0d68585971198d0f2669adefd137105e150bfea34f7405a3aa9e4c9", + "layer29": "3b1dbf8b8271cfb53d1d6945e9e27b596c85d90ee01ed63beaafda6cdf9ad370", + "layer3": "35a2215f40d6f2744f01f3ee36c372dafd325cdc7da984aeb38439246edef66a", + "layer30": "a7933d908fbc02eef93fb43e2aa2f768bb81f2b41cd7765d6eeaf14311e2a193", + "layer31": "2e79fafbd11a6fd05424e103d0a582ff35f626d43a84fefc85744c678bb59f5c", + "layer32": "1bcc8b7d831768e9bc81268213196c4251b9c50350ad19cc7c0f9bb26a71f08e", + "layer33": "78398bac1fa4c3344ca63f2323c1ba64d9beb5949418e93660c939d5f27f9acf", + "layer34": "a1c06be5303efb5b9776a30f62838318861a0d83e23004bb2a8c4e7b93fd28f5", + "layer35": "7f50561fc30fd9a60ff6dc52c96636ced412d79408ab904ead4869dc00c18952", + "layer36": "312295db5de9814d9408fe04ff77de06592ff714748292e488ab9c56e4d19cb5", + "layer37": "7e7188a1b0f003e995757fc5b5615c74c9afece5fc672e94f8427b32bb97e73b", + "layer38": "d3f03e35b316a455c34afb2d68444f48625a03c50bfa4f5b760df2b07e0f4bc1", + "layer39": "71952d991103144414dfcab9c14c400f11c47e508c1fc9bf30172fe3a7b0897d", + "layer4": "fc2bc2a1563c3d4e757180a8becb55c1f4d95d93a03aeaec992220c1950091d5", + "layer40": "bbb990747601d7061b1952f42f78a95dc7fd87a20a143a690de3e3b035421621", + "layer41": "febfff9e99b04feaa0be6696cd6e7d7261ea3109919e7c9cbf0c218b7c8c6154", + "layer42": "bf0d18847f52039db6c39fdaf05237c06c71045c200d89d959bc7ef25bad60eb", + "layer43": "dd0b09f5b41d69568555d65c77e142aa14c9c6ebf61bc633c1ceaae32a680fc3", + "layer44": "8251d7167da95cf1154ca7dc8918f07b4f40c62b403870cfb005af63c23e08b7", + "layer45": "0d56f04297a788f088a74e62231e5b6656f3bfe950361ad707b91de0c2567a33", + "layer46": "75649b09677b8020f10b9db75850b6eb12db11f4b6ef62fa47f2dde1bcab4800", + "layer47": "4b0c1820e43e6fce69f520de35efc39e67d0dc3acdfaa281648040f7c8143baf", + "layer5": "59f81f32f21efde96c34b3738ce3a37260feccf38c6ea6fa66158031579f7bc7", + "layer6": "36c2f349bab202d1fcec2039faee8fbe96ebea487e417c85f2e52c27f19d5972", + "layer7": "0749424ebde88c24a0217e50771a71e9a3f0e38a868c005b2bee45d2a17b4b0b", + "layer8": "7ddf820cdcbd848ffa90996f566ce1189dbea43572581d57ab07b6e4beea7555", + "layer9": "440f9c95711af9623dedc75c489b0f8afbe688d15e36972c7eb2be3565c6b646" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update1/p0256-b1-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update1/p0256-b1-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "24d88e98f76f18fe392a16ab64fce7f13cfe4fb91908f9f63399bbedb49a4e36", + "layer0": "6a30cebd1f9fd4f380cfafc6311917438909e9ca4eabad3a009670100ed91af1", + "layer1": "b1b909f1c4ce3a1b36aac3bc4a379943abf7f6b0d61fdf029febbbcaa8048389", + "layer10": "f6779ff9724a7f67fe688ee0a354378d08e679a7b3e68ae5a374a259d81a0504", + "layer11": "165d69181b88cb7e0926e4ae8c19a12aa7c7b496ff3b2abbdfbf70869b712dc3", + "layer12": "b251366fd6b3df295cffb616d6e8b9ee760fec721cd50a8de6c774accbce1828", + "layer13": "d7a5d10daa688bdc54af3aa18e4bcf48e48b2930ef57b92d4c39da1040ab69fc", + "layer14": "44dd1975c6b08c2f09b6ffd3e6ca68c1968baf3515e97bf532c0e2cd0892b7ca", + "layer15": "e4fcd37a1a23039bcf8196e97932355fe489f3616c7708e1f31c5dc07a66134c", + "layer16": "43bb0912363fc0b56877401e4d19d1fe892040a0663d3971d537a137f87f685d", + "layer17": "15e52a0cacf4d21d63ae1c9688c12ebd00f74d7ddfcf04f6e8597975c80904d9", + "layer18": "10517de7060755660beb07536be74f6b867a84b5ab0ee92ab8c34e5ca772e8ff", + "layer19": "5866d53e70c1a9d0e5b433397d784b2a9d704fee96ea463e29723fad7cc68548", + "layer2": "e613451091879bdccd4951771562b9e1f54308914c9b51e7a70d0e3ea84e7def", + "layer20": "8cc0e83dcb7a9e67189dd4d09165accf6d242330965916c12be5d17ff8a8c96c", + "layer21": "abcead37d7b36b45af321c83d19f717a96a1118cd02df5a8c84ca9622bd8cfea", + "layer22": "c156ef9463516c5cb069f130b933b3cf2de1b337dc7ff6dd24ff36980567571a", + "layer23": "cf288a7e21af821ee6fa733be6b6a7a3b10cb43f1b7d06b1acc38c1c39ad925d", + "layer24": "6e8bf6ed81c545dbaf9b3bd1d08d7a38822cc8837fdbfd4bf6d01dca92191a9e", + "layer25": "ec305119cbe48fce2e2583de80093d5e2a2a8960bc122a2c9c6ae7e3fd70c6a4", + "layer26": "c3f4bc20e424b86209dcc0d519d3a09dd8d6baae4fc24ece2ee7dcf6576b1f98", + "layer27": "4934168e71496749be05c72674513a5e8ab4afed5afb22e48de4c604a9fcabb7", + "layer28": "c7b87513faa57389cbc62ea98122aa0fb6598458001a464e9654cdea6c0d7d7a", + "layer29": "2660fd3e47d7ff0e4b2543342b8712188dc4050085ee2cda401924867aa19301", + "layer3": "63eccdb21227ccd16d98031313462324c0d732deccb4889a650bfa223213207b", + "layer30": "3d0875e2cf110805f6e6516707985acc0113d4f90aafef072dbee542cd37565f", + "layer31": "6c64e5ab7eba472000a522fb24bdb2ac4bc913501a579d77deda1cb41ec961a8", + "layer32": "92f3a0b1cdafeb23f96edcdce6ecf1e70d886b0e157f5162cd0f2793cf150ac9", + "layer33": "4ce4661f55bcd2e4a3a94b3f648c9faa9389448dff6e4ec03568bb59ace5f17f", + "layer34": "4d8c8de17d8281bb46752dde4b7f6c1bd258f2c8581bf78e8411f1b4ba240b11", + "layer35": "4faf40204988dd6f4da87e385e788dd5f1dbf1828842da46dbaa8e977a866103", + "layer36": "823cd48be18af43e0738f846a118e803726c221e8a5205aec91783bf1c01057b", + "layer37": "f5d35542b9ccef2ad9c3f3941a32a260d600469649307c517127d64cc3edeeda", + "layer38": "49700c896c4963db24848da1eab468dcb33798599464b858c2b4c6e92b471331", + "layer39": "ff2ef956449f5ca432fab222aa664d66b5d9811324b45054d407dd7e08e397a1", + "layer4": "96339895b917be7743269d6d417889e2685a949a9513e39837697a6552b043cb", + "layer40": "7b0f685deffa3520a3a00d7e6df3d472cebb02a4e7bebe19c11282089773bf6e", + "layer41": "7887c95c800256542e91c9561537a2f84ab784988f2e238307921e2bbc3db612", + "layer42": "aae9f74d224938145d7b8d816fb5142ac6796146a72527b73b3536ca8318c81c", + "layer43": "ebeaaa07e3f2ca3a8d85395122393634e55bf68f611a6b86e35c4b4565fa1bbd", + "layer44": "bd113238a0f621ffdb6651686f9b039235d7c1e8853f733a493d5936a8bd6708", + "layer45": "a385e9d39875107318ce2fd9ad3dd0acf33563d8c411fa6a7c06cbcedb341040", + "layer46": "c5b7fe5751f6004bb7ec63b451df4905e6915521def5403b2c84ea2123f8ddbe", + "layer47": "cbe82eca884ef49b4a8f98cdfb2780cab45e2e8d8f5661fd79db10316862eb2c", + "layer5": "008ecdb1fe55654e2c02ec86cf9d6e6ea3f65ce1400223ef8fc5b60681e2b52d", + "layer6": "2df8b3dab7fdea4e3969a7e4e87ae91930fc6e633d49e6ca098a25245984f3d0", + "layer7": "26f203cd5ab896ee69d1aad42cf6677174da0c02a44361921784347863bf3ae3", + "layer8": "103c25022cdddcdcee7a815a81f12c0921cfce9d53b7c34062073359c754f0d4", + "layer9": "316150bada518a04b2df1c0ed357f5484713854db7629742d610d648b71e850a" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update1/p0256-b1-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update1/p0256-b1-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "24d88e98f76f18fe392a16ab64fce7f13cfe4fb91908f9f63399bbedb49a4e36", + "layer0": "6a30cebd1f9fd4f380cfafc6311917438909e9ca4eabad3a009670100ed91af1", + "layer1": "b1b909f1c4ce3a1b36aac3bc4a379943abf7f6b0d61fdf029febbbcaa8048389", + "layer10": "f6779ff9724a7f67fe688ee0a354378d08e679a7b3e68ae5a374a259d81a0504", + "layer11": "165d69181b88cb7e0926e4ae8c19a12aa7c7b496ff3b2abbdfbf70869b712dc3", + "layer12": "b251366fd6b3df295cffb616d6e8b9ee760fec721cd50a8de6c774accbce1828", + "layer13": "d7a5d10daa688bdc54af3aa18e4bcf48e48b2930ef57b92d4c39da1040ab69fc", + "layer14": "44dd1975c6b08c2f09b6ffd3e6ca68c1968baf3515e97bf532c0e2cd0892b7ca", + "layer15": "e4fcd37a1a23039bcf8196e97932355fe489f3616c7708e1f31c5dc07a66134c", + "layer16": "43bb0912363fc0b56877401e4d19d1fe892040a0663d3971d537a137f87f685d", + "layer17": "15e52a0cacf4d21d63ae1c9688c12ebd00f74d7ddfcf04f6e8597975c80904d9", + "layer18": "10517de7060755660beb07536be74f6b867a84b5ab0ee92ab8c34e5ca772e8ff", + "layer19": "5866d53e70c1a9d0e5b433397d784b2a9d704fee96ea463e29723fad7cc68548", + "layer2": "e613451091879bdccd4951771562b9e1f54308914c9b51e7a70d0e3ea84e7def", + "layer20": "8cc0e83dcb7a9e67189dd4d09165accf6d242330965916c12be5d17ff8a8c96c", + "layer21": "abcead37d7b36b45af321c83d19f717a96a1118cd02df5a8c84ca9622bd8cfea", + "layer22": "c156ef9463516c5cb069f130b933b3cf2de1b337dc7ff6dd24ff36980567571a", + "layer23": "cf288a7e21af821ee6fa733be6b6a7a3b10cb43f1b7d06b1acc38c1c39ad925d", + "layer24": "6e8bf6ed81c545dbaf9b3bd1d08d7a38822cc8837fdbfd4bf6d01dca92191a9e", + "layer25": "ec305119cbe48fce2e2583de80093d5e2a2a8960bc122a2c9c6ae7e3fd70c6a4", + "layer26": "c3f4bc20e424b86209dcc0d519d3a09dd8d6baae4fc24ece2ee7dcf6576b1f98", + "layer27": "4934168e71496749be05c72674513a5e8ab4afed5afb22e48de4c604a9fcabb7", + "layer28": "c7b87513faa57389cbc62ea98122aa0fb6598458001a464e9654cdea6c0d7d7a", + "layer29": "2660fd3e47d7ff0e4b2543342b8712188dc4050085ee2cda401924867aa19301", + "layer3": "63eccdb21227ccd16d98031313462324c0d732deccb4889a650bfa223213207b", + "layer30": "3d0875e2cf110805f6e6516707985acc0113d4f90aafef072dbee542cd37565f", + "layer31": "6c64e5ab7eba472000a522fb24bdb2ac4bc913501a579d77deda1cb41ec961a8", + "layer32": "92f3a0b1cdafeb23f96edcdce6ecf1e70d886b0e157f5162cd0f2793cf150ac9", + "layer33": "4ce4661f55bcd2e4a3a94b3f648c9faa9389448dff6e4ec03568bb59ace5f17f", + "layer34": "4d8c8de17d8281bb46752dde4b7f6c1bd258f2c8581bf78e8411f1b4ba240b11", + "layer35": "4faf40204988dd6f4da87e385e788dd5f1dbf1828842da46dbaa8e977a866103", + "layer36": "823cd48be18af43e0738f846a118e803726c221e8a5205aec91783bf1c01057b", + "layer37": "f5d35542b9ccef2ad9c3f3941a32a260d600469649307c517127d64cc3edeeda", + "layer38": "49700c896c4963db24848da1eab468dcb33798599464b858c2b4c6e92b471331", + "layer39": "ff2ef956449f5ca432fab222aa664d66b5d9811324b45054d407dd7e08e397a1", + "layer4": "96339895b917be7743269d6d417889e2685a949a9513e39837697a6552b043cb", + "layer40": "7b0f685deffa3520a3a00d7e6df3d472cebb02a4e7bebe19c11282089773bf6e", + "layer41": "7887c95c800256542e91c9561537a2f84ab784988f2e238307921e2bbc3db612", + "layer42": "aae9f74d224938145d7b8d816fb5142ac6796146a72527b73b3536ca8318c81c", + "layer43": "ebeaaa07e3f2ca3a8d85395122393634e55bf68f611a6b86e35c4b4565fa1bbd", + "layer44": "bd113238a0f621ffdb6651686f9b039235d7c1e8853f733a493d5936a8bd6708", + "layer45": "a385e9d39875107318ce2fd9ad3dd0acf33563d8c411fa6a7c06cbcedb341040", + "layer46": "c5b7fe5751f6004bb7ec63b451df4905e6915521def5403b2c84ea2123f8ddbe", + "layer47": "cbe82eca884ef49b4a8f98cdfb2780cab45e2e8d8f5661fd79db10316862eb2c", + "layer5": "008ecdb1fe55654e2c02ec86cf9d6e6ea3f65ce1400223ef8fc5b60681e2b52d", + "layer6": "2df8b3dab7fdea4e3969a7e4e87ae91930fc6e633d49e6ca098a25245984f3d0", + "layer7": "26f203cd5ab896ee69d1aad42cf6677174da0c02a44361921784347863bf3ae3", + "layer8": "103c25022cdddcdcee7a815a81f12c0921cfce9d53b7c34062073359c754f0d4", + "layer9": "316150bada518a04b2df1c0ed357f5484713854db7629742d610d648b71e850a" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update1/p0256-b4-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update1/p0256-b4-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "7e8c8592b6907e55c0501ba1cf893525c6b36831d710b69882d1e328145fab48", + "layer0": "7dbe20c391e914467d80503d6b10813d7e9e72e4a60c55f5add2fbe7d4d6c4ce", + "layer1": "ee8946f418966d8df86dfa92924b0b9f27f69a6728737eee6d27ef2c4f6ca9ab", + "layer10": "c322068da93e09b83e7909f572698c738cd5720fcfb5bb5d25520dd8b5addf88", + "layer11": "2c448f27ed4070e003b4c2c03e6b5e16ce5619a415e2f6183a76db4614b126fb", + "layer12": "134d14d7ccb4d32ed030063e04bb869fa359565dc3f31f692d5551be0db439a3", + "layer13": "12a29f26d753bcaea1f07510a1463709dde8602a82c23bed8f604682ad1eb7bb", + "layer14": "6f9aea9a70eb1b9104b2687b463fc7cef526c2bb62d3073085b47f7435bbdce8", + "layer15": "4b032226337ea6f5f43ecf103c90a38d02ff728dfa11216a0bd93f313c08833e", + "layer16": "0bbc5380321b6863758c5b492b816d80eae1c8399847d349e84e84ec39ff29e3", + "layer17": "79655c868d18adc2ae36133db4d120ddc66356a908cdb82211669bb95daaa030", + "layer18": "0e33db04540997d32adf1d6b0a526189fa1c46823d7ede152426ec1223391773", + "layer19": "eb804a84e383f5abf50acb12531e775b76875d22ca84b311075fb88083e8a8bb", + "layer2": "0b19d71d7fe787ef33839787463d621784c30f4f9357ab09f5f1f90adf4ea622", + "layer20": "fa8f9e905e9ba3540dced7add222e519e349e659935a00d599dbf39ad5409b52", + "layer21": "9c30b435afe3a68ffad43468b182b66a65d5f712527dee2b81ddbc5f05fbb886", + "layer22": "4d1caa84999a64e3b4f73b2505a688086f5fc7f74bf32f048527ecc8406e8c4c", + "layer23": "47aa629d6242068bd1821337de1cb15b9cd5593a5c2836616a189f53592bd956", + "layer24": "ca9229f7ddfbfff9e704bf8d6b65190ffd15b58262790a7f33b0ce14e2012458", + "layer25": "6d116effabb4553d1f3553ed46c7b7b7dc566d9ba4f3112a55b83bbe3c3651fa", + "layer26": "a0f8b9f643e722711e58bd65f71edbc58e15a7a4ae20037d807b6c79988b74d5", + "layer27": "6f6587dd72053409885eff2aab0c18ebedf80bad8a414ae730e9326c0b6fabae", + "layer28": "3d24888d6c98d76722b3fd00384887ffbf3cf0664f7a08bbc8b9c68d090db6d5", + "layer29": "4c6a1577e63bbf490718afda5dcee1d488360cc14397bb6f919c53b79dd96ace", + "layer3": "01c125cdda61b99ec4747310003bf2608f61cae9b0f7ec66989ac170362a8a40", + "layer30": "f0ee31517b14b9fee6b44727d010d8b94e490ef4037745e810de820cac8ba6d0", + "layer31": "24fc73dac43d55f5cfe9c7fd972f40d5c2b6f7f9fa341ca8401120fa4f6d16d3", + "layer32": "1b0a96d52653b65fd225bb18efff96713aaad9e82f990934421f22442efcd9ed", + "layer33": "d27fbf97d4f221fd33f2ce38b199909d3312d14c891bf74079aecef00653e85c", + "layer34": "a47e5f981445b05671517cba2b7649413aa043aa2e8f81d24be417b088999be2", + "layer35": "b07814ebe3ac9e7d6350ad0bf04e46ec54415085e9feec251d49215585e7e7ed", + "layer36": "976a8428ca9f128a92c67a888acee764ac4e8495799dcf280e25a7527b68b181", + "layer37": "95bbba1b2f8e7d5bfe91bb8b62b1da4e686a3728f52b9e3644ba881a15c330e3", + "layer38": "dc9a8eb8e7fcbff1fca4398d408ff7465d1c71d74ceb39593e6f79ae788d6f33", + "layer39": "003cd7a609505bdc683fd7befbebac47c1950d7d714de7b89257dbe55181dda0", + "layer4": "578fa5d6071372976c7c405d31cc131825ada9b726b3d756605f33c7e3d0924e", + "layer40": "6e68680a158a5eea7fc1f1a8a81320ca98881ecfe88d06b92f0b38d97e0882ef", + "layer41": "8e17899bc52471b4e10b00406829231a0b80cb2aeb62147b16c1b0430384bb76", + "layer42": "633fa6e6457235391ddc541d5ea3b216f116c1d4b7c30428d7b564cc84c2f41d", + "layer43": "d3ff64a327df797177097110bf554ea6ecd5e91bde4d010354699b4624d931ea", + "layer44": "2382b897c7ea817dc4d69a5e18013044349c8b253442a9adf1f03e5ece749076", + "layer45": "5c29f0b982d55c60d18946957d39ec5fdf1cf15934005b98756bdf2af48afc12", + "layer46": "2726d162fe4b39321ed23eed49f71ccac97810b73c26da59d21ace1e469376b0", + "layer47": "764c355a03b5ceb8cda44b13577839756f1a5d2102c7acbcc710732e85d33d36", + "layer5": "463d46c43abba6ecb818c6f8378a7964aea186375215da233497daeadb6f9289", + "layer6": "7365f7bf2cd97579c56390faefe310da531fbd25ad6bb5073f0cf48f3327843f", + "layer7": "b543ca57dd255544d04d22e4e80c1f9f7e778dd442e82e78e254fb8fc2085276", + "layer8": "b2600fbc29195a136482e0ea9f083d735515ca8c2687e1f14b180a07848592ce", + "layer9": "d8a651ecb1c146f997ff8a5d551e722ae6505d09e739bf567de341098b903732" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update1/p0256-b4-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update1/p0256-b4-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "7e8c8592b6907e55c0501ba1cf893525c6b36831d710b69882d1e328145fab48", + "layer0": "7dbe20c391e914467d80503d6b10813d7e9e72e4a60c55f5add2fbe7d4d6c4ce", + "layer1": "ee8946f418966d8df86dfa92924b0b9f27f69a6728737eee6d27ef2c4f6ca9ab", + "layer10": "c322068da93e09b83e7909f572698c738cd5720fcfb5bb5d25520dd8b5addf88", + "layer11": "2c448f27ed4070e003b4c2c03e6b5e16ce5619a415e2f6183a76db4614b126fb", + "layer12": "134d14d7ccb4d32ed030063e04bb869fa359565dc3f31f692d5551be0db439a3", + "layer13": "12a29f26d753bcaea1f07510a1463709dde8602a82c23bed8f604682ad1eb7bb", + "layer14": "6f9aea9a70eb1b9104b2687b463fc7cef526c2bb62d3073085b47f7435bbdce8", + "layer15": "4b032226337ea6f5f43ecf103c90a38d02ff728dfa11216a0bd93f313c08833e", + "layer16": "0bbc5380321b6863758c5b492b816d80eae1c8399847d349e84e84ec39ff29e3", + "layer17": "79655c868d18adc2ae36133db4d120ddc66356a908cdb82211669bb95daaa030", + "layer18": "0e33db04540997d32adf1d6b0a526189fa1c46823d7ede152426ec1223391773", + "layer19": "eb804a84e383f5abf50acb12531e775b76875d22ca84b311075fb88083e8a8bb", + "layer2": "0b19d71d7fe787ef33839787463d621784c30f4f9357ab09f5f1f90adf4ea622", + "layer20": "fa8f9e905e9ba3540dced7add222e519e349e659935a00d599dbf39ad5409b52", + "layer21": "9c30b435afe3a68ffad43468b182b66a65d5f712527dee2b81ddbc5f05fbb886", + "layer22": "4d1caa84999a64e3b4f73b2505a688086f5fc7f74bf32f048527ecc8406e8c4c", + "layer23": "47aa629d6242068bd1821337de1cb15b9cd5593a5c2836616a189f53592bd956", + "layer24": "ca9229f7ddfbfff9e704bf8d6b65190ffd15b58262790a7f33b0ce14e2012458", + "layer25": "6d116effabb4553d1f3553ed46c7b7b7dc566d9ba4f3112a55b83bbe3c3651fa", + "layer26": "a0f8b9f643e722711e58bd65f71edbc58e15a7a4ae20037d807b6c79988b74d5", + "layer27": "6f6587dd72053409885eff2aab0c18ebedf80bad8a414ae730e9326c0b6fabae", + "layer28": "3d24888d6c98d76722b3fd00384887ffbf3cf0664f7a08bbc8b9c68d090db6d5", + "layer29": "4c6a1577e63bbf490718afda5dcee1d488360cc14397bb6f919c53b79dd96ace", + "layer3": "01c125cdda61b99ec4747310003bf2608f61cae9b0f7ec66989ac170362a8a40", + "layer30": "f0ee31517b14b9fee6b44727d010d8b94e490ef4037745e810de820cac8ba6d0", + "layer31": "24fc73dac43d55f5cfe9c7fd972f40d5c2b6f7f9fa341ca8401120fa4f6d16d3", + "layer32": "1b0a96d52653b65fd225bb18efff96713aaad9e82f990934421f22442efcd9ed", + "layer33": "d27fbf97d4f221fd33f2ce38b199909d3312d14c891bf74079aecef00653e85c", + "layer34": "a47e5f981445b05671517cba2b7649413aa043aa2e8f81d24be417b088999be2", + "layer35": "b07814ebe3ac9e7d6350ad0bf04e46ec54415085e9feec251d49215585e7e7ed", + "layer36": "976a8428ca9f128a92c67a888acee764ac4e8495799dcf280e25a7527b68b181", + "layer37": "95bbba1b2f8e7d5bfe91bb8b62b1da4e686a3728f52b9e3644ba881a15c330e3", + "layer38": "dc9a8eb8e7fcbff1fca4398d408ff7465d1c71d74ceb39593e6f79ae788d6f33", + "layer39": "003cd7a609505bdc683fd7befbebac47c1950d7d714de7b89257dbe55181dda0", + "layer4": "578fa5d6071372976c7c405d31cc131825ada9b726b3d756605f33c7e3d0924e", + "layer40": "6e68680a158a5eea7fc1f1a8a81320ca98881ecfe88d06b92f0b38d97e0882ef", + "layer41": "8e17899bc52471b4e10b00406829231a0b80cb2aeb62147b16c1b0430384bb76", + "layer42": "633fa6e6457235391ddc541d5ea3b216f116c1d4b7c30428d7b564cc84c2f41d", + "layer43": "d3ff64a327df797177097110bf554ea6ecd5e91bde4d010354699b4624d931ea", + "layer44": "2382b897c7ea817dc4d69a5e18013044349c8b253442a9adf1f03e5ece749076", + "layer45": "5c29f0b982d55c60d18946957d39ec5fdf1cf15934005b98756bdf2af48afc12", + "layer46": "2726d162fe4b39321ed23eed49f71ccac97810b73c26da59d21ace1e469376b0", + "layer47": "764c355a03b5ceb8cda44b13577839756f1a5d2102c7acbcc710732e85d33d36", + "layer5": "463d46c43abba6ecb818c6f8378a7964aea186375215da233497daeadb6f9289", + "layer6": "7365f7bf2cd97579c56390faefe310da531fbd25ad6bb5073f0cf48f3327843f", + "layer7": "b543ca57dd255544d04d22e4e80c1f9f7e778dd442e82e78e254fb8fc2085276", + "layer8": "b2600fbc29195a136482e0ea9f083d735515ca8c2687e1f14b180a07848592ce", + "layer9": "d8a651ecb1c146f997ff8a5d551e722ae6505d09e739bf567de341098b903732" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update1/p1024-b1-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update1/p1024-b1-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "e471c5776685b6d8c8f28347d54eb0c383ba12de9265f77773a57361bdf09f07", + "layer0": "bf4aebe0fe30b849a033f921934f26516a35e6f4f5df4f6938355dd7195fda52", + "layer1": "17a5435a46a1f0f80392b2d25e2ac070f8b5fe61094b25112521fa930068efc1", + "layer10": "1d718c73925637911d6069b52ecdf19da027612d92d9c1228260467a3c91b4bf", + "layer11": "02b9e052da50ccbf431f3bd54e6d4a801fb629fb3adf3b0e6481faf0b4372c69", + "layer12": "6e35283b83fc36ea3c064063418d9847975408be2da1aa899a35258b25812a94", + "layer13": "ba6fe0d1a6578c25edc06ab2ade5d5521140ca58681e97e8d7e2127f62168d3d", + "layer14": "f089a86ddc9777bcdb61921ed01d48b196ee40652159caf43139c1a67caef292", + "layer15": "42e2319ee39a6213c5ef8804e0c469d39dc226d8916db5b802c90ab76ee37d00", + "layer16": "70209b75e62fb73d0a1f771d86f35b6754c7c0cf475028deabb1eb57fdd26eae", + "layer17": "850b44a1a7f9c1e27140728e69c3b1c2fa7f456e8a153bbe6cef310036f19da9", + "layer18": "5b946790914c7b70f303bef2e1cef50b44e98081894638e2ec46ce262e6b25bf", + "layer19": "27ffd7cff4bf77d889200a7859c2d113436f23dbad06e9028c5ddff43b0a8dc1", + "layer2": "b67626a3671a3637d37777b4299964ceecd90ec8c755358328ddf6f1103449be", + "layer20": "d20ff5ba1da7ca5f07acf96849e873da7818112896d04bd2d8abcf006fd14fbd", + "layer21": "34390c2778499d743e6d3317d8090f0750c1a502812f724ca23db01eba366a0f", + "layer22": "1dc07e9ef8c2913b074fa43c733fcb75232547fac4ad5bb74a2c2e628eb2f5f7", + "layer23": "58407b3710f630a5f6e79d0980fa07c3aa7381e595252dde54736f6f4e68ffd1", + "layer24": "ba97311a14d88dac5a57c50e3e99ffda33f30d39416f6e23383d34be46175711", + "layer25": "029fbd8607390d454248c56636d4c7ce8995b47c6d1936d3128382a27fe6c7f8", + "layer26": "6c12f9d55358db6fe7745c543214ec12befd1ef26588b6e5a628fb20ce9c8f6a", + "layer27": "23bb0879d67ab6171339a31b447fe89cc1525a14f17229c6437e6c82f6ec4639", + "layer28": "967d7280a1d7643c6f689a72f62c6d5bbfbe06803b3fe322e5ef9ad5a0b2148c", + "layer29": "d377fb1268a07b3e9ff1f3fa1c3e22f6c258203f2007484c1abebe3f23c953ea", + "layer3": "ac2363f3e896349296fd5f20dae43e7a24b0873144141ca3411aba4539d87507", + "layer30": "63508ff18e475a79b5acda56a0c44aeaf725781e3d14fb04479802ed0aeb7cf2", + "layer31": "07e3bb6e023be84d22ee27295c6231e75def2a1ec06ef4cc7368744ecb4fa5cd", + "layer32": "4d157302b1fadfb471b1bc0ea847bc03123de0688f0fc5ccf997c870d1c615c1", + "layer33": "2f75b3e157ddc04a2b22b6e8f342f08dda78b3cf73d7d7a1ef92b81fe75f3ac7", + "layer34": "78693af7850550a1ba2866c95543329226efb4ec56127b815cf0bbf4ec95e043", + "layer35": "79f579de2ace3ba65476fd1cb98d6446ca459fc1c807c6ad080df396734f66e4", + "layer36": "b3cfac9780057b4ec694b41a81f69f5ea241e3ccc9fc060156fdd21f68a11965", + "layer37": "86014746f99de9a46447e3d3fbd29a3990e52a0fb17e1a04f8bb5a873e3d9198", + "layer38": "35eb10b9b390b8984636f0c14641bc08ab6471da2b7bc3814fe52ee505a84842", + "layer39": "fa346ac751c6a39935963e527bee45c42d4d9fbc721d95758b06c4bef7a242f9", + "layer4": "3ab04b3add6878a71c5923d1763a4b021f34f265ec7c9876620655e30864ea75", + "layer40": "8fe46263cd11b57806b2348ab73620b5419accbcc7e7dfaf931746823268734d", + "layer41": "62e190ddfd62ede4afdb67740fe162e9174660961fb86f4fc00f16eacecad3c2", + "layer42": "087f1c2d9418424285d9c8c3e4a4b6b943c60fbec526c34b2759e5879c788cf0", + "layer43": "8a0831fc6618bb556322abaf0826fb1285b7d1e2904495370884bd41f5e5a42a", + "layer44": "bc4c8c3098a6438c5ee43abd6b43a9551432f7030bd5f568b5ba8ce59d4b0779", + "layer45": "57dc0dcfc0546cac1bd651a464977af5b6c62c51241c4672d19fc201b08fd534", + "layer46": "99dfc17b9be322e9bfef81990f63bd5d3680a060d83fdbe1dd8d9419b9e0955e", + "layer47": "68cada748fba27a66aebd31f9acb4dbd010f95d0551d88c09ebfb51fad77ecdb", + "layer5": "2c31e6442902e31ab91f31c0e773a0b5bdd1b3c0800f002b06cbc849123dba6c", + "layer6": "eb014381861351b820e1bb867a8e92983531683d8c1171896643e7227f10e4f6", + "layer7": "61e5e69eb375d12ba8dd87e3ceff2db742bcc3219e39b18b273dee1fc9e09054", + "layer8": "39729de6c2d08de70bc0677558ac8b84950f4dad46871bb14693bb36360be138", + "layer9": "b11d1bb5d82a302d0a2ec18ccea9ee8dc5f2d81e7655567a628cf73f01c8c307" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update1/p1024-b1-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update1/p1024-b1-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "e471c5776685b6d8c8f28347d54eb0c383ba12de9265f77773a57361bdf09f07", + "layer0": "bf4aebe0fe30b849a033f921934f26516a35e6f4f5df4f6938355dd7195fda52", + "layer1": "17a5435a46a1f0f80392b2d25e2ac070f8b5fe61094b25112521fa930068efc1", + "layer10": "1d718c73925637911d6069b52ecdf19da027612d92d9c1228260467a3c91b4bf", + "layer11": "02b9e052da50ccbf431f3bd54e6d4a801fb629fb3adf3b0e6481faf0b4372c69", + "layer12": "6e35283b83fc36ea3c064063418d9847975408be2da1aa899a35258b25812a94", + "layer13": "ba6fe0d1a6578c25edc06ab2ade5d5521140ca58681e97e8d7e2127f62168d3d", + "layer14": "f089a86ddc9777bcdb61921ed01d48b196ee40652159caf43139c1a67caef292", + "layer15": "42e2319ee39a6213c5ef8804e0c469d39dc226d8916db5b802c90ab76ee37d00", + "layer16": "70209b75e62fb73d0a1f771d86f35b6754c7c0cf475028deabb1eb57fdd26eae", + "layer17": "850b44a1a7f9c1e27140728e69c3b1c2fa7f456e8a153bbe6cef310036f19da9", + "layer18": "5b946790914c7b70f303bef2e1cef50b44e98081894638e2ec46ce262e6b25bf", + "layer19": "27ffd7cff4bf77d889200a7859c2d113436f23dbad06e9028c5ddff43b0a8dc1", + "layer2": "b67626a3671a3637d37777b4299964ceecd90ec8c755358328ddf6f1103449be", + "layer20": "d20ff5ba1da7ca5f07acf96849e873da7818112896d04bd2d8abcf006fd14fbd", + "layer21": "34390c2778499d743e6d3317d8090f0750c1a502812f724ca23db01eba366a0f", + "layer22": "1dc07e9ef8c2913b074fa43c733fcb75232547fac4ad5bb74a2c2e628eb2f5f7", + "layer23": "58407b3710f630a5f6e79d0980fa07c3aa7381e595252dde54736f6f4e68ffd1", + "layer24": "ba97311a14d88dac5a57c50e3e99ffda33f30d39416f6e23383d34be46175711", + "layer25": "029fbd8607390d454248c56636d4c7ce8995b47c6d1936d3128382a27fe6c7f8", + "layer26": "6c12f9d55358db6fe7745c543214ec12befd1ef26588b6e5a628fb20ce9c8f6a", + "layer27": "23bb0879d67ab6171339a31b447fe89cc1525a14f17229c6437e6c82f6ec4639", + "layer28": "967d7280a1d7643c6f689a72f62c6d5bbfbe06803b3fe322e5ef9ad5a0b2148c", + "layer29": "d377fb1268a07b3e9ff1f3fa1c3e22f6c258203f2007484c1abebe3f23c953ea", + "layer3": "ac2363f3e896349296fd5f20dae43e7a24b0873144141ca3411aba4539d87507", + "layer30": "63508ff18e475a79b5acda56a0c44aeaf725781e3d14fb04479802ed0aeb7cf2", + "layer31": "07e3bb6e023be84d22ee27295c6231e75def2a1ec06ef4cc7368744ecb4fa5cd", + "layer32": "4d157302b1fadfb471b1bc0ea847bc03123de0688f0fc5ccf997c870d1c615c1", + "layer33": "2f75b3e157ddc04a2b22b6e8f342f08dda78b3cf73d7d7a1ef92b81fe75f3ac7", + "layer34": "78693af7850550a1ba2866c95543329226efb4ec56127b815cf0bbf4ec95e043", + "layer35": "79f579de2ace3ba65476fd1cb98d6446ca459fc1c807c6ad080df396734f66e4", + "layer36": "b3cfac9780057b4ec694b41a81f69f5ea241e3ccc9fc060156fdd21f68a11965", + "layer37": "86014746f99de9a46447e3d3fbd29a3990e52a0fb17e1a04f8bb5a873e3d9198", + "layer38": "35eb10b9b390b8984636f0c14641bc08ab6471da2b7bc3814fe52ee505a84842", + "layer39": "fa346ac751c6a39935963e527bee45c42d4d9fbc721d95758b06c4bef7a242f9", + "layer4": "3ab04b3add6878a71c5923d1763a4b021f34f265ec7c9876620655e30864ea75", + "layer40": "8fe46263cd11b57806b2348ab73620b5419accbcc7e7dfaf931746823268734d", + "layer41": "62e190ddfd62ede4afdb67740fe162e9174660961fb86f4fc00f16eacecad3c2", + "layer42": "087f1c2d9418424285d9c8c3e4a4b6b943c60fbec526c34b2759e5879c788cf0", + "layer43": "8a0831fc6618bb556322abaf0826fb1285b7d1e2904495370884bd41f5e5a42a", + "layer44": "bc4c8c3098a6438c5ee43abd6b43a9551432f7030bd5f568b5ba8ce59d4b0779", + "layer45": "57dc0dcfc0546cac1bd651a464977af5b6c62c51241c4672d19fc201b08fd534", + "layer46": "99dfc17b9be322e9bfef81990f63bd5d3680a060d83fdbe1dd8d9419b9e0955e", + "layer47": "68cada748fba27a66aebd31f9acb4dbd010f95d0551d88c09ebfb51fad77ecdb", + "layer5": "2c31e6442902e31ab91f31c0e773a0b5bdd1b3c0800f002b06cbc849123dba6c", + "layer6": "eb014381861351b820e1bb867a8e92983531683d8c1171896643e7227f10e4f6", + "layer7": "61e5e69eb375d12ba8dd87e3ceff2db742bcc3219e39b18b273dee1fc9e09054", + "layer8": "39729de6c2d08de70bc0677558ac8b84950f4dad46871bb14693bb36360be138", + "layer9": "b11d1bb5d82a302d0a2ec18ccea9ee8dc5f2d81e7655567a628cf73f01c8c307" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update1/p1024-b4-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update1/p1024-b4-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "19d1cc684f2ce47135fddac4681d880bb6c8ecd86130fea449778299262c0471", + "layer0": "421b8d5cbf6ec21c84f133a0e06837acb173709a44c878811b3c0e74a72d5710", + "layer1": "6825c4fa938d98bcc06e178ec3f276ce8549f1dff5ec2ea211e3a08b3f7e78c2", + "layer10": "7f2f75b0ff6b9f1c4724b530eb93c85a50ccf0095e91b4311adebc4595af0e55", + "layer11": "41f398155b38e86a3fd5d2fb02c2b1bc7dbf0595ae10d103ecebf56ecb753c2b", + "layer12": "91d83c58a757c90ee6a57a89608d8005a124e00072bfb766ab99f00944ce86b6", + "layer13": "562f5f03de0243da5e4ac1adce4839dcff82051f11e1ec8472063121fec1b0a0", + "layer14": "0500d42c8a2a026ebb62745c68648eb9c86fd21daf72d079bd6fa84f528e7b5b", + "layer15": "7d9de3ce75607e10bebd2744bf196c5e821cc0c243e739c6b0df41cd2f81e8bf", + "layer16": "aeb04c047f5611f921a14d34eac904470e3d14ce0ebb683366d2d83982e53391", + "layer17": "0d67f9ddca71f0514993e92930dc90f510aefbcc70e4847ac38be6b7dc8e947d", + "layer18": "a381a1e8acc1bef99acc90c3e91738a0c4c5940ace4b429be2f3a25156d40732", + "layer19": "58ef74cd1e7f819ff11a3ffe456bf9f91720f5eb7fff838fef4a34c66ed73d20", + "layer2": "eddcdeb95919eac948f5ba9423b0e95f5b4296b242efcfaccbda014ce8d46fa7", + "layer20": "e2fae8441feaa2b6b842ef6afece74d417347d2be0f0d039f23ca3039db39eef", + "layer21": "0f6372e6662b500b17a1376471423d35a6401496bc6b41872f9a534e77b907d0", + "layer22": "51d954691d140b504b4f4a8b1d4c7751498c4937b944bdc58d4a4a8de9b231a8", + "layer23": "b5ddb82a2c1ac9dc85efabc91cd32a04ff0e199359ce65cee007c1d6fa5e327a", + "layer24": "148e67da3b7200062b59f3a489026d0828893b676cfd8a63aa2c5431c4c40299", + "layer25": "f64ccf05d8b8ca490589058f4e06bcacd4908675cb35ba8bd194ff37cdb9809d", + "layer26": "3918236ad02fa77a20bd41ed4f4c7acec34293bcea1c69eb51497a9fddef0e1f", + "layer27": "8d773f127598f1f151f41266eda066b5ea1bf424ac2b8d5eee2e6d863e8553f6", + "layer28": "fab60b9a8262cc5532d72c97b070218e0278729499b1b7c3c58c724b9fad67cd", + "layer29": "c57f9b81c72336d7f4b904fc00000ea03cdb1784da9d8a53a1238943bc61c428", + "layer3": "f2fe77e66c3362d1c83c53a663ba2f8f26c8148fe9a0d6e8211723c4c0751acf", + "layer30": "010bdddebf1643e1da3aedd0eb6a5f21d41eb94fbda2e455d4cf3ac0d4613ca0", + "layer31": "620bcf361f7cb408762f50295e8b8441b32adf8ef1f9a5dfbc150e782bdc3377", + "layer32": "6d9deaa9650f36742fb4f3f8b377a4c9f502bdad7bebeef0e4a71aa1c9301b1e", + "layer33": "f3b0777c786daf93e0bd7f8dfecfaf8c7680fc69dfb22572c61719bdaed3ade6", + "layer34": "6ef20dd0cab61e3981c933513a7858211d8c369800f3eb4ccc3c87f872ac1431", + "layer35": "6753001934a43dd3e407d84744d0ca4148b82478d3dfd3dfa813bf2540dd4229", + "layer36": "edf255cf402ae8af728e95ab4a982154d51b54edf26f0ad9b45bcf3b8c02129b", + "layer37": "6dc12cfeb708060d9e259a43d31f2acaa0d341fbd6563585cc7032eabc4fae18", + "layer38": "318a8668d11edf46db9269f9aab1752f8586e337afe4338ab668e679388dbd76", + "layer39": "2207510a90424a2bd3a92717d1e648e696632daca0ee04ba5f5e7186e0b927a8", + "layer4": "af2f72f3ed96c1e6d0f84484349385b568951b4f138d21c3b7a24a844459094b", + "layer40": "6bdbf118571bb7e8c8e870549620a8250b1f569d54ac2be0625444af81825c1c", + "layer41": "4fafa8b1a154930d7f6f95f15d275e88754f7ef256adcc0b30b02716c73a2952", + "layer42": "aaa3dce96cf906ab66be7f3bd06ba7ebfb9a60f229c2b4b8ce945d32efd3de9b", + "layer43": "aa92c5fe499e02cae398fdc24414a7de8a7732d1768c29e42be9edbd85ff37dc", + "layer44": "b82a833a65e26b1ae4e1ee0c98e72523bd7424f7cef92af31080ebf4399cc7d3", + "layer45": "cc040be4ca42b23bce1048efaccf06ebb179846a70ddd656ce23bfd12cafbd34", + "layer46": "36a2dd815385c3e8d9702bd3e1d95ed24de57b89c2d3774551840849934aa098", + "layer47": "ff713c07ea0be8c8cfafa68b369301c4de6158f457a15e4fbf4932762d940656", + "layer5": "c5d3def21b190b6c1941568f0d2ca6a4de20f927701e0a47bc9a0d1ecd6011f0", + "layer6": "80ea69ab9a8ab959bf3c31e88091c12ba74ca8cdef15388f228ff303e7ff8a4b", + "layer7": "b2206107a82b9db09a8b1f8ae7e58154eb043557b115e715bd5fdfca760cae3e", + "layer8": "78e0a2f6388037dfed7c2f27f24f5604443ccacff7629ad6b88afaefda7b2322", + "layer9": "3604b67d89595b6118ca9693a4a7d0240450d016c0e14f9663634f8ee5fdba02" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update1/p1024-b4-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update1/p1024-b4-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "19d1cc684f2ce47135fddac4681d880bb6c8ecd86130fea449778299262c0471", + "layer0": "421b8d5cbf6ec21c84f133a0e06837acb173709a44c878811b3c0e74a72d5710", + "layer1": "6825c4fa938d98bcc06e178ec3f276ce8549f1dff5ec2ea211e3a08b3f7e78c2", + "layer10": "7f2f75b0ff6b9f1c4724b530eb93c85a50ccf0095e91b4311adebc4595af0e55", + "layer11": "41f398155b38e86a3fd5d2fb02c2b1bc7dbf0595ae10d103ecebf56ecb753c2b", + "layer12": "91d83c58a757c90ee6a57a89608d8005a124e00072bfb766ab99f00944ce86b6", + "layer13": "562f5f03de0243da5e4ac1adce4839dcff82051f11e1ec8472063121fec1b0a0", + "layer14": "0500d42c8a2a026ebb62745c68648eb9c86fd21daf72d079bd6fa84f528e7b5b", + "layer15": "7d9de3ce75607e10bebd2744bf196c5e821cc0c243e739c6b0df41cd2f81e8bf", + "layer16": "aeb04c047f5611f921a14d34eac904470e3d14ce0ebb683366d2d83982e53391", + "layer17": "0d67f9ddca71f0514993e92930dc90f510aefbcc70e4847ac38be6b7dc8e947d", + "layer18": "a381a1e8acc1bef99acc90c3e91738a0c4c5940ace4b429be2f3a25156d40732", + "layer19": "58ef74cd1e7f819ff11a3ffe456bf9f91720f5eb7fff838fef4a34c66ed73d20", + "layer2": "eddcdeb95919eac948f5ba9423b0e95f5b4296b242efcfaccbda014ce8d46fa7", + "layer20": "e2fae8441feaa2b6b842ef6afece74d417347d2be0f0d039f23ca3039db39eef", + "layer21": "0f6372e6662b500b17a1376471423d35a6401496bc6b41872f9a534e77b907d0", + "layer22": "51d954691d140b504b4f4a8b1d4c7751498c4937b944bdc58d4a4a8de9b231a8", + "layer23": "b5ddb82a2c1ac9dc85efabc91cd32a04ff0e199359ce65cee007c1d6fa5e327a", + "layer24": "148e67da3b7200062b59f3a489026d0828893b676cfd8a63aa2c5431c4c40299", + "layer25": "f64ccf05d8b8ca490589058f4e06bcacd4908675cb35ba8bd194ff37cdb9809d", + "layer26": "3918236ad02fa77a20bd41ed4f4c7acec34293bcea1c69eb51497a9fddef0e1f", + "layer27": "8d773f127598f1f151f41266eda066b5ea1bf424ac2b8d5eee2e6d863e8553f6", + "layer28": "fab60b9a8262cc5532d72c97b070218e0278729499b1b7c3c58c724b9fad67cd", + "layer29": "c57f9b81c72336d7f4b904fc00000ea03cdb1784da9d8a53a1238943bc61c428", + "layer3": "f2fe77e66c3362d1c83c53a663ba2f8f26c8148fe9a0d6e8211723c4c0751acf", + "layer30": "010bdddebf1643e1da3aedd0eb6a5f21d41eb94fbda2e455d4cf3ac0d4613ca0", + "layer31": "620bcf361f7cb408762f50295e8b8441b32adf8ef1f9a5dfbc150e782bdc3377", + "layer32": "6d9deaa9650f36742fb4f3f8b377a4c9f502bdad7bebeef0e4a71aa1c9301b1e", + "layer33": "f3b0777c786daf93e0bd7f8dfecfaf8c7680fc69dfb22572c61719bdaed3ade6", + "layer34": "6ef20dd0cab61e3981c933513a7858211d8c369800f3eb4ccc3c87f872ac1431", + "layer35": "6753001934a43dd3e407d84744d0ca4148b82478d3dfd3dfa813bf2540dd4229", + "layer36": "edf255cf402ae8af728e95ab4a982154d51b54edf26f0ad9b45bcf3b8c02129b", + "layer37": "6dc12cfeb708060d9e259a43d31f2acaa0d341fbd6563585cc7032eabc4fae18", + "layer38": "318a8668d11edf46db9269f9aab1752f8586e337afe4338ab668e679388dbd76", + "layer39": "2207510a90424a2bd3a92717d1e648e696632daca0ee04ba5f5e7186e0b927a8", + "layer4": "af2f72f3ed96c1e6d0f84484349385b568951b4f138d21c3b7a24a844459094b", + "layer40": "6bdbf118571bb7e8c8e870549620a8250b1f569d54ac2be0625444af81825c1c", + "layer41": "4fafa8b1a154930d7f6f95f15d275e88754f7ef256adcc0b30b02716c73a2952", + "layer42": "aaa3dce96cf906ab66be7f3bd06ba7ebfb9a60f229c2b4b8ce945d32efd3de9b", + "layer43": "aa92c5fe499e02cae398fdc24414a7de8a7732d1768c29e42be9edbd85ff37dc", + "layer44": "b82a833a65e26b1ae4e1ee0c98e72523bd7424f7cef92af31080ebf4399cc7d3", + "layer45": "cc040be4ca42b23bce1048efaccf06ebb179846a70ddd656ce23bfd12cafbd34", + "layer46": "36a2dd815385c3e8d9702bd3e1d95ed24de57b89c2d3774551840849934aa098", + "layer47": "ff713c07ea0be8c8cfafa68b369301c4de6158f457a15e4fbf4932762d940656", + "layer5": "c5d3def21b190b6c1941568f0d2ca6a4de20f927701e0a47bc9a0d1ecd6011f0", + "layer6": "80ea69ab9a8ab959bf3c31e88091c12ba74ca8cdef15388f228ff303e7ff8a4b", + "layer7": "b2206107a82b9db09a8b1f8ae7e58154eb043557b115e715bd5fdfca760cae3e", + "layer8": "78e0a2f6388037dfed7c2f27f24f5604443ccacff7629ad6b88afaefda7b2322", + "layer9": "3604b67d89595b6118ca9693a4a7d0240450d016c0e14f9663634f8ee5fdba02" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update2/p0008-b1-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update2/p0008-b1-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "c3fdfa4919e8fb1e301c0d3bdab3942f0380f9b88a86b372dde99bb0b5dddaf7", + "layer0": "60138117a904ac6a6a55cadf19f313494fab7e200ab8eda9c8f01dc81532cffb", + "layer1": "55820fd513bd648bc40205e6eb57ed2e5710caa9f8b4fc18f8b011f4317786b2", + "layer10": "f29f1a9a2357d83044e2803b6fa87c7368c429512560ce9cc5755748872f1ee0", + "layer11": "6c47b697cb4c3d2ad1e536d3f2d848df268856478d73c4aa6d7860f996e3cf4b", + "layer12": "6de5cc04fef5be2d76dcb0cb771a6f2a5d8b5623a3c4953cf67cd0d698de4e2b", + "layer13": "23303aef74e437bbf7eb8fe81e8292c45a1e9f192be42f787765c79e3e558a75", + "layer14": "ec6a6d2ba47d8cd918db8e575f17e82fad793046b3150e4679854fafefb42def", + "layer15": "4d471489ff78342e981bd684aeddc8e2fa336e6e2a6ffd537bbbf1d4589360cf", + "layer16": "30bf47b568ef128f2f6a3ee463c3bbe009561d82fdb48c06becf3bd5aa1982f4", + "layer17": "41110efa741b8856b8a65dbbafc5d71c5fe914c9ce6958e9a744cee83ea70348", + "layer18": "4f3b5c6a7d4e58385e3f036ac741f027722e63215fa76527f7cb87f09b9e133b", + "layer19": "8868e733ac9c12789087548112ae023dba723f3d166c6ef33c2e1f93e587c160", + "layer2": "6e724749dc641e9a32594e0a65fd7d5d3c9d5761a12c9bad808dc40ea1404dba", + "layer20": "8fa65f9c6dd4db836db41efe9e04ec2008eff75357f8f2cab561fbd0c0febc0f", + "layer21": "7ac50917cd8131d245aa771dfe70a21d3533ef8e7674eaaeb76ca07feb787d51", + "layer22": "6810a2b2c0ca115a361ef24df57a70923b4571bcd3023ffd0ed59e7fe27d620b", + "layer23": "9f90ebd715affe7e2bc7f1031f2b3bbd2125bde1599fcad62071847c05206666", + "layer24": "5baeee3e64be23fe20a9609550511eddccd2b209a26e0985f2b30514caa344af", + "layer25": "fd24e7ffc6dc39aabacf2f4fce0a0b163dab9bdd1fb55f321a369caf9674c145", + "layer26": "2ee6fe2c1fba8ee3812af747900bf5928bbc3234f99e259eae7d120352e35803", + "layer27": "1200f57dcbf6801b06a5d5bc28e6f9411f26c7476e00b6b7bc4f355fb15ac895", + "layer28": "f0f5634cfface2fea5db3eafb98f8ecca0136dc13f27480312931deeb6703b09", + "layer29": "f0a98000a2da710dbf59fabcd777fa835111cef5a3063b36af421c4e471b58d7", + "layer3": "8b20b186d59458aa317b1463f734e58096730f9da06c500f0446fa84a053ba00", + "layer30": "d5537bed7fd86e244cec0d8f4eafa16b03d9f80d197f54ed4dd7b9043a173d4b", + "layer31": "21b38dcb6037f3bc2806731ccf6271db698469f1a885be040e259e8e42117bee", + "layer32": "529ddd35057913cdd92f8534f31ae63ccd8925b375d5fd4dcea0dbc26ab932da", + "layer33": "f8a2272587acf1b5a3e76a3c5f80840149ab89c3c71828d7fcf48bd9583fc004", + "layer34": "de91f4e35da49d5fe02069fe5591a055a9ed5ad17e7f24fc6e772bca86c6c5f0", + "layer35": "5727c47637ac68b7247ef830bfc8b9610fd2aef6bb34a32f6248278cb414b0ce", + "layer36": "8130181cdbb476faee1a8716cf3623f63200b66a73b4c752e86680f2e2161a55", + "layer37": "d70efe26e5513fbe04f4986e93d5089638854f5091806d2b88b294b9f0c784ba", + "layer38": "86810157b12fe5701664334f62aacf41bed88a2f4e07f0057506fd152168497f", + "layer39": "f92782dfdeba18ab3673ba01f648c19a76449cce76f58fe94e97c14020f04b9c", + "layer4": "81494b115184f3efbf4fbcaddf5436bd64e45d41a53c8a102c5c1d68778187c2", + "layer40": "41fd76bc352cded3f4fb98d414fe550233b3bdb7c5b7562f8483ca8e4a1e2d52", + "layer41": "c535e8ddae417096ee1f50cde759d33d6a62d863cc9a4d4cf01900ceabe8ab5c", + "layer42": "148c44c217b78405f3afaf91568691bdb6fe71408d2404d67d6f7946734c10bb", + "layer43": "c2f66c2b845ab836a31c59bb9590f02be7d80477f0745db3f9c8d68fe0b42645", + "layer44": "f666c71245cfdc4abcddc3b70cfaa6bc9bc81d99ab08df56f871ef49bede9505", + "layer45": "4d671bb364472be41d5c7d8b63c219963de6a451e07e322f78b975821e00008d", + "layer46": "fd57dc1dcf412ba71bf9f3c540613dbdbf47f9f1eef71e1dfae320f52e415169", + "layer47": "3a17a3e3720662a4f671b3399d0a0d55eede4d873fc1ed2f8200a3f32c3a8c97", + "layer5": "5dc9c6756a52d92f3174612a649559423306f951a1d98bf367bda087612f8253", + "layer6": "3485bce83da9e22180997e84d008dc301fe6d4fb9b4655f6e4c3c1c3fdc76111", + "layer7": "e83e46867bbe2a09dc27340aadcd261284e78a44eb967b5bcca5488e8599fec6", + "layer8": "93f788032ca4a142163df13c38673820f063d030ceebadbeacc94e22a696e239", + "layer9": "6b6d3e7576527459d8a485603cf2fd6abb622fb0929ac8f3e915d339fbbc2d1a" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update2/p0008-b1-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update2/p0008-b1-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "c3fdfa4919e8fb1e301c0d3bdab3942f0380f9b88a86b372dde99bb0b5dddaf7", + "layer0": "60138117a904ac6a6a55cadf19f313494fab7e200ab8eda9c8f01dc81532cffb", + "layer1": "55820fd513bd648bc40205e6eb57ed2e5710caa9f8b4fc18f8b011f4317786b2", + "layer10": "f29f1a9a2357d83044e2803b6fa87c7368c429512560ce9cc5755748872f1ee0", + "layer11": "6c47b697cb4c3d2ad1e536d3f2d848df268856478d73c4aa6d7860f996e3cf4b", + "layer12": "6de5cc04fef5be2d76dcb0cb771a6f2a5d8b5623a3c4953cf67cd0d698de4e2b", + "layer13": "23303aef74e437bbf7eb8fe81e8292c45a1e9f192be42f787765c79e3e558a75", + "layer14": "ec6a6d2ba47d8cd918db8e575f17e82fad793046b3150e4679854fafefb42def", + "layer15": "4d471489ff78342e981bd684aeddc8e2fa336e6e2a6ffd537bbbf1d4589360cf", + "layer16": "30bf47b568ef128f2f6a3ee463c3bbe009561d82fdb48c06becf3bd5aa1982f4", + "layer17": "41110efa741b8856b8a65dbbafc5d71c5fe914c9ce6958e9a744cee83ea70348", + "layer18": "4f3b5c6a7d4e58385e3f036ac741f027722e63215fa76527f7cb87f09b9e133b", + "layer19": "8868e733ac9c12789087548112ae023dba723f3d166c6ef33c2e1f93e587c160", + "layer2": "6e724749dc641e9a32594e0a65fd7d5d3c9d5761a12c9bad808dc40ea1404dba", + "layer20": "8fa65f9c6dd4db836db41efe9e04ec2008eff75357f8f2cab561fbd0c0febc0f", + "layer21": "7ac50917cd8131d245aa771dfe70a21d3533ef8e7674eaaeb76ca07feb787d51", + "layer22": "6810a2b2c0ca115a361ef24df57a70923b4571bcd3023ffd0ed59e7fe27d620b", + "layer23": "9f90ebd715affe7e2bc7f1031f2b3bbd2125bde1599fcad62071847c05206666", + "layer24": "5baeee3e64be23fe20a9609550511eddccd2b209a26e0985f2b30514caa344af", + "layer25": "fd24e7ffc6dc39aabacf2f4fce0a0b163dab9bdd1fb55f321a369caf9674c145", + "layer26": "2ee6fe2c1fba8ee3812af747900bf5928bbc3234f99e259eae7d120352e35803", + "layer27": "1200f57dcbf6801b06a5d5bc28e6f9411f26c7476e00b6b7bc4f355fb15ac895", + "layer28": "f0f5634cfface2fea5db3eafb98f8ecca0136dc13f27480312931deeb6703b09", + "layer29": "f0a98000a2da710dbf59fabcd777fa835111cef5a3063b36af421c4e471b58d7", + "layer3": "8b20b186d59458aa317b1463f734e58096730f9da06c500f0446fa84a053ba00", + "layer30": "d5537bed7fd86e244cec0d8f4eafa16b03d9f80d197f54ed4dd7b9043a173d4b", + "layer31": "21b38dcb6037f3bc2806731ccf6271db698469f1a885be040e259e8e42117bee", + "layer32": "529ddd35057913cdd92f8534f31ae63ccd8925b375d5fd4dcea0dbc26ab932da", + "layer33": "f8a2272587acf1b5a3e76a3c5f80840149ab89c3c71828d7fcf48bd9583fc004", + "layer34": "de91f4e35da49d5fe02069fe5591a055a9ed5ad17e7f24fc6e772bca86c6c5f0", + "layer35": "5727c47637ac68b7247ef830bfc8b9610fd2aef6bb34a32f6248278cb414b0ce", + "layer36": "8130181cdbb476faee1a8716cf3623f63200b66a73b4c752e86680f2e2161a55", + "layer37": "d70efe26e5513fbe04f4986e93d5089638854f5091806d2b88b294b9f0c784ba", + "layer38": "86810157b12fe5701664334f62aacf41bed88a2f4e07f0057506fd152168497f", + "layer39": "f92782dfdeba18ab3673ba01f648c19a76449cce76f58fe94e97c14020f04b9c", + "layer4": "81494b115184f3efbf4fbcaddf5436bd64e45d41a53c8a102c5c1d68778187c2", + "layer40": "41fd76bc352cded3f4fb98d414fe550233b3bdb7c5b7562f8483ca8e4a1e2d52", + "layer41": "c535e8ddae417096ee1f50cde759d33d6a62d863cc9a4d4cf01900ceabe8ab5c", + "layer42": "148c44c217b78405f3afaf91568691bdb6fe71408d2404d67d6f7946734c10bb", + "layer43": "c2f66c2b845ab836a31c59bb9590f02be7d80477f0745db3f9c8d68fe0b42645", + "layer44": "f666c71245cfdc4abcddc3b70cfaa6bc9bc81d99ab08df56f871ef49bede9505", + "layer45": "4d671bb364472be41d5c7d8b63c219963de6a451e07e322f78b975821e00008d", + "layer46": "fd57dc1dcf412ba71bf9f3c540613dbdbf47f9f1eef71e1dfae320f52e415169", + "layer47": "3a17a3e3720662a4f671b3399d0a0d55eede4d873fc1ed2f8200a3f32c3a8c97", + "layer5": "5dc9c6756a52d92f3174612a649559423306f951a1d98bf367bda087612f8253", + "layer6": "3485bce83da9e22180997e84d008dc301fe6d4fb9b4655f6e4c3c1c3fdc76111", + "layer7": "e83e46867bbe2a09dc27340aadcd261284e78a44eb967b5bcca5488e8599fec6", + "layer8": "93f788032ca4a142163df13c38673820f063d030ceebadbeacc94e22a696e239", + "layer9": "6b6d3e7576527459d8a485603cf2fd6abb622fb0929ac8f3e915d339fbbc2d1a" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update2/p0008-b4-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update2/p0008-b4-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "cf2ae0d9dd78d825b1134d6995a0c738b48f6d9205d28c60264684dde7ab44bd", + "layer0": "4b1040227752ee0a44273bf2d94629161fa03a1338bd81e79fb9075c17f7152b", + "layer1": "82e95996f390763442fc7276076fabbeb542e031795ede3cd2e215baa79e070b", + "layer10": "b451bd55ad28b742da84556662d4bb5a68e74ce2f19ec20e50ad32a5ce1c03b2", + "layer11": "41575d765c59f26b81f91be322394c7eef1104a7b5aef38022b31860153c8c2c", + "layer12": "7d0acda9a56efd25489496855377631dc1c7adea27a7fc5b0bf4353b5922e76e", + "layer13": "baf8909b621e63887cfc90f452cc7a6eb830050a1f228e97deeef61a3006281c", + "layer14": "06096e8611e148e26c9ba5c9f38c76c89ccd1c555db290971e09dd8e0dddbec5", + "layer15": "d5225bbc0dab2f5c3db42a60675a8d2331360b1fe4ba881169f28fda75ec11f6", + "layer16": "b5bf99fb55cf2cdf26f3a68063d190d0f4aaba8fa21aef998fcfaab25bc95bfc", + "layer17": "e41ecbe7b52414279c832a41c0e9fd886deaa85a33a7a77d3a0085480027894a", + "layer18": "07ecc000211e972a050b6f4407f0c0964409d18c4a2a83165624e3ab7816b712", + "layer19": "05db02ac66ee73dbe9f2cfc78666c14b2f4e32eacab3ae6bb9f6752997a57c3d", + "layer2": "2a4ceebe36e817a6de311b041ea332c7bbf5ae4f98d93c059d88f840d2de83d8", + "layer20": "e8f1d8446996b5bc30cd081f4b23395ab53d3214141cc3fbf9c3251267ed1355", + "layer21": "7697410a56b3bd9b7b38274d7e2ec3ebcc40a33ed3d716538d2685a0f0e1cdf4", + "layer22": "054ab2fc3c419b236ecf21a2fcc4281fec6d64700c4eb7f3184a01d49df6d539", + "layer23": "bc17e027f49723571e423a188163fd26ed706406d63fb55439b255d204df9e20", + "layer24": "ae983c653ffe94381518c415b32eb180387291f3c28ea2df3e55f568fd3c2b6e", + "layer25": "aa065d90d7e65708083d167ac05c7c2ececaf766fd01bb6306aa49228852b693", + "layer26": "61bb49b7b55e4fe8c1d075925e62ebecc94b2f094baa672248bb415d042a1899", + "layer27": "5882782916bf74d9fb41b7cecd7277f4e11df554a68a2fa29f969e5f3b95cdd1", + "layer28": "6fcfb30538bdd5adc41e751e26e9558e37ffbac0c7913300d36f1927bf2c3170", + "layer29": "799f07bead837d256020bd5d10d57cadc0c9d0c2e7b7461e140db3b40e3f770a", + "layer3": "782bbd66a5532ed552951f46e7c56eef027645783b65215834daff181d7d9318", + "layer30": "ffb179aea6b713a84a767e6f877dd3a264418f18c96cde8b0d62d1084634c53d", + "layer31": "0835adbecf4dc2624572cf0f4fe40631a60fc20916db0ad8a7fd3cfa81514076", + "layer32": "4795cbfb256d624a452b160c3a4d8cc5336c0a6701acb34e71e84453db4a3954", + "layer33": "13799d8e8d300bb010008b3848894922b5ddc59bb9cd7f4f5b95215be7238b85", + "layer34": "392e4e1ca04aab016d4ed9c57c27796880770866b1f562e07df40b0c93129345", + "layer35": "1c8df100247c23edef3fb66c63e60b68d4dc54e5539415fbf9d988e5dc821dc0", + "layer36": "c051082620119487bb232bad52c50fe070797527a0b27136b25ca16f601b51a7", + "layer37": "b9e7a3d55aa5f4072143dd21f21f2c44452232f1712be360bda4b005cab2eca7", + "layer38": "f4a35b17c9e15dcf470fb0a33731e6249d1ed234ed8c16b0115188a5346ee253", + "layer39": "b8cc7ebdf86ebdbba6cc5b3fc8f3faae6de78c99e2e6bcf3c7c22a3f55590356", + "layer4": "0edb0572693dd8c12cc95aeaf05b256452ad8e413110941833b2c93593c7e582", + "layer40": "8f9ef2c607edb26db56af4c097a7a7afa233c1d33efbaf043cb46b8ff0698c42", + "layer41": "9fcfbed8abc5ad342366c7ecfba56678d216eb530fcea7724a3bd06e0641f333", + "layer42": "1d563dbbc732c808d034bfe4581a721cf17079fe62f42b5b367afed1aa29a1d3", + "layer43": "2446de19cad7351b97fadc45aebaa90ab5544ba3c23107ab03912bde1f778b06", + "layer44": "ab8525f3fff126359fe58bbb6565c3bff7158cf4e19428c19866559d586a91d0", + "layer45": "7b3318a19008cd52c1b9882aa5c76070418385e9684e71ff48692283ea7267ec", + "layer46": "b1552e26e7a3b6bfbe38a65cc315e01efc6b2253a181e6cc55040c1789f4870f", + "layer47": "1cb3e7d72dff524840ec72043e6b892805645ca04dea3236772c6e9cfd178cab", + "layer5": "d5af3a1d56b99320110a6b67b4c0ef02da4f5aac31a0be2d955a64ee06933dc8", + "layer6": "0e85f5c507dd7cdc061c4081c5df19d240881745bf208463d929ecfd1a43799e", + "layer7": "55b8ec5182d7f7e34a2cc7766f1124a69534eabcc4279933fd4673a0a44a4899", + "layer8": "3d14c684e6777580910cdf444b897f807ac5029e65641837b7610f877db825a6", + "layer9": "e9decc46bf9a469550a30cacfeb442bd9cc1b87d20e6505a4516f6e7d37c87e1" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update2/p0008-b4-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update2/p0008-b4-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "cf2ae0d9dd78d825b1134d6995a0c738b48f6d9205d28c60264684dde7ab44bd", + "layer0": "4b1040227752ee0a44273bf2d94629161fa03a1338bd81e79fb9075c17f7152b", + "layer1": "82e95996f390763442fc7276076fabbeb542e031795ede3cd2e215baa79e070b", + "layer10": "b451bd55ad28b742da84556662d4bb5a68e74ce2f19ec20e50ad32a5ce1c03b2", + "layer11": "41575d765c59f26b81f91be322394c7eef1104a7b5aef38022b31860153c8c2c", + "layer12": "7d0acda9a56efd25489496855377631dc1c7adea27a7fc5b0bf4353b5922e76e", + "layer13": "baf8909b621e63887cfc90f452cc7a6eb830050a1f228e97deeef61a3006281c", + "layer14": "06096e8611e148e26c9ba5c9f38c76c89ccd1c555db290971e09dd8e0dddbec5", + "layer15": "d5225bbc0dab2f5c3db42a60675a8d2331360b1fe4ba881169f28fda75ec11f6", + "layer16": "b5bf99fb55cf2cdf26f3a68063d190d0f4aaba8fa21aef998fcfaab25bc95bfc", + "layer17": "e41ecbe7b52414279c832a41c0e9fd886deaa85a33a7a77d3a0085480027894a", + "layer18": "07ecc000211e972a050b6f4407f0c0964409d18c4a2a83165624e3ab7816b712", + "layer19": "05db02ac66ee73dbe9f2cfc78666c14b2f4e32eacab3ae6bb9f6752997a57c3d", + "layer2": "2a4ceebe36e817a6de311b041ea332c7bbf5ae4f98d93c059d88f840d2de83d8", + "layer20": "e8f1d8446996b5bc30cd081f4b23395ab53d3214141cc3fbf9c3251267ed1355", + "layer21": "7697410a56b3bd9b7b38274d7e2ec3ebcc40a33ed3d716538d2685a0f0e1cdf4", + "layer22": "054ab2fc3c419b236ecf21a2fcc4281fec6d64700c4eb7f3184a01d49df6d539", + "layer23": "bc17e027f49723571e423a188163fd26ed706406d63fb55439b255d204df9e20", + "layer24": "ae983c653ffe94381518c415b32eb180387291f3c28ea2df3e55f568fd3c2b6e", + "layer25": "aa065d90d7e65708083d167ac05c7c2ececaf766fd01bb6306aa49228852b693", + "layer26": "61bb49b7b55e4fe8c1d075925e62ebecc94b2f094baa672248bb415d042a1899", + "layer27": "5882782916bf74d9fb41b7cecd7277f4e11df554a68a2fa29f969e5f3b95cdd1", + "layer28": "6fcfb30538bdd5adc41e751e26e9558e37ffbac0c7913300d36f1927bf2c3170", + "layer29": "799f07bead837d256020bd5d10d57cadc0c9d0c2e7b7461e140db3b40e3f770a", + "layer3": "782bbd66a5532ed552951f46e7c56eef027645783b65215834daff181d7d9318", + "layer30": "ffb179aea6b713a84a767e6f877dd3a264418f18c96cde8b0d62d1084634c53d", + "layer31": "0835adbecf4dc2624572cf0f4fe40631a60fc20916db0ad8a7fd3cfa81514076", + "layer32": "4795cbfb256d624a452b160c3a4d8cc5336c0a6701acb34e71e84453db4a3954", + "layer33": "13799d8e8d300bb010008b3848894922b5ddc59bb9cd7f4f5b95215be7238b85", + "layer34": "392e4e1ca04aab016d4ed9c57c27796880770866b1f562e07df40b0c93129345", + "layer35": "1c8df100247c23edef3fb66c63e60b68d4dc54e5539415fbf9d988e5dc821dc0", + "layer36": "c051082620119487bb232bad52c50fe070797527a0b27136b25ca16f601b51a7", + "layer37": "b9e7a3d55aa5f4072143dd21f21f2c44452232f1712be360bda4b005cab2eca7", + "layer38": "f4a35b17c9e15dcf470fb0a33731e6249d1ed234ed8c16b0115188a5346ee253", + "layer39": "b8cc7ebdf86ebdbba6cc5b3fc8f3faae6de78c99e2e6bcf3c7c22a3f55590356", + "layer4": "0edb0572693dd8c12cc95aeaf05b256452ad8e413110941833b2c93593c7e582", + "layer40": "8f9ef2c607edb26db56af4c097a7a7afa233c1d33efbaf043cb46b8ff0698c42", + "layer41": "9fcfbed8abc5ad342366c7ecfba56678d216eb530fcea7724a3bd06e0641f333", + "layer42": "1d563dbbc732c808d034bfe4581a721cf17079fe62f42b5b367afed1aa29a1d3", + "layer43": "2446de19cad7351b97fadc45aebaa90ab5544ba3c23107ab03912bde1f778b06", + "layer44": "ab8525f3fff126359fe58bbb6565c3bff7158cf4e19428c19866559d586a91d0", + "layer45": "7b3318a19008cd52c1b9882aa5c76070418385e9684e71ff48692283ea7267ec", + "layer46": "b1552e26e7a3b6bfbe38a65cc315e01efc6b2253a181e6cc55040c1789f4870f", + "layer47": "1cb3e7d72dff524840ec72043e6b892805645ca04dea3236772c6e9cfd178cab", + "layer5": "d5af3a1d56b99320110a6b67b4c0ef02da4f5aac31a0be2d955a64ee06933dc8", + "layer6": "0e85f5c507dd7cdc061c4081c5df19d240881745bf208463d929ecfd1a43799e", + "layer7": "55b8ec5182d7f7e34a2cc7766f1124a69534eabcc4279933fd4673a0a44a4899", + "layer8": "3d14c684e6777580910cdf444b897f807ac5029e65641837b7610f877db825a6", + "layer9": "e9decc46bf9a469550a30cacfeb442bd9cc1b87d20e6505a4516f6e7d37c87e1" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update2/p0064-b1-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update2/p0064-b1-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "74fc357dee08af48a56d775130799a8efee0893d9a543d616910c6c3995c9320", + "layer0": "ea16a603f205f5e5176aee73683355057d85984aef99dcd98619c5dcf71d64b4", + "layer1": "799d344db64615f29691aa528f7ffab168e59aa02b20ce027b259ff4427ba658", + "layer10": "6256599d0e35cba039b5c1b5a5d84da6d526b0b003d535f28e8d4d50b2676313", + "layer11": "85b5529d83ac9b3c3522720e2afa89254b6edc3813e11bd7ebfbb28e89109f28", + "layer12": "65220f7a0480cc59b2e937a587f770b0f1a80960528f8b0cc31aeaf35134a916", + "layer13": "a2c922c2f43a85dfebddf568b45f8fbc913dc292703b1cf39278c45aa55e261d", + "layer14": "9dfed0fc609350c4e315712517124089f56ede9f9a6282528be01c8ac186f2c1", + "layer15": "e7d4feb100d972e04032552147208c4edd4b6f7a92203350c065d0eb4b5d32ba", + "layer16": "dabcb7650a13ef2e452874a62589bc09958ab9b8f023ed22976b584b262a4312", + "layer17": "4eb9583a616dd84f8e9084167b17082028565704b0062f2b63861a840ec3aaa0", + "layer18": "dc1fa5395ca75b8aaaa3fbffe13f60e45628e60093e8662b7cf1495a01ea1de0", + "layer19": "4c15295b4123a6f651d884e31db705ec619fa8109e6f4f452c3f3b7e5caa6ba5", + "layer2": "2958078f9b6f3efce0c6896659e11b24360cc74f2704d4a4de82e96c02807d95", + "layer20": "cc11964cc9dbbb40361072f5e3b8dc05c5559e112a943a0f65c1667c7f17abe8", + "layer21": "04e0a8499dd91a5639a58f1fba47af5b94a0f0e32f313cee439105b05d3a34cd", + "layer22": "1422e4b58602f6c730926792c26df91cc540873f8b77582926d76a5f2b33c2e2", + "layer23": "f80bad40a642ddea5413d477157ee2951b55397f07e9c88bad717f3a036ef11d", + "layer24": "01748dc657a03da262ee80808f12abaaf9f15868fb3fb96b4ef52080d575ae57", + "layer25": "f5db52ba606ed9f9a5f9dd5f691a05ace7533fa2853c2441254db5837cacacfa", + "layer26": "08e12cb9dd79c6cbb0898a12a6955264241421ca8c8f7d9f8e3eb5be2f7a2d9b", + "layer27": "e5fd1acf6ac961964bbfe08502cc032cbfc4a8e777562351f3b7b4b7d85fd625", + "layer28": "40e874ed228954b3d966702870817b41366431fe2be77d9302120150bad102c8", + "layer29": "dc6db07cbd36559198e52b870354ff06610a5f940f4b23f890c6966e97e869bf", + "layer3": "6eede9a3ba3f1c94ddef4aef245908def28eef71468ece81bc67f41c31b47475", + "layer30": "0d7840f7944caad13f37153e7c536711d61d722bc92c49cef9e867d043ce6906", + "layer31": "7d80f05ab51f6918c125e512b8115fc273bc7f537fc3bd7b6e21b219bf921321", + "layer32": "83f46d2e8ea185e3cdfdd13cfa7360959fc72d8b4c0a290150fbd42a7dd25196", + "layer33": "a76ab194685338dadd0cdc5c57c2a8361f1bb217ff22db88538340f8f52c7c13", + "layer34": "aeb104c4791ba3b2f67f5c4f395b60c7fc1f6d2849e56fdbd7b11c364b259d4d", + "layer35": "de502dea04bd5529de5f740477cb7ff741e4454eb91e7c993db9b9d274e316b2", + "layer36": "fdb94d72cb785afe75e27134b5e1484925988010f2540e61cb4ee89dc9737185", + "layer37": "6ca6a90e5c23de7e00279a7147a0e1105f42c164e032ba4029a8707ed860bb44", + "layer38": "b6a15604c47df2252bd3a0914cf246eb524bd1ab3114de690051fe5e8e491322", + "layer39": "9fccb052390da5a8938757187038320cc518312f9d5ca1fe74e47e8c78565f24", + "layer4": "526615e679a2ed85bc8e4f815c65ae11f76cf71f744e463bdfeeaf15f4facbda", + "layer40": "59f8361ce2a630bc1abf2d7da6cae8fd0dd649ac699aa9057dc9b4737a4057cf", + "layer41": "eabe692f214ff6b4cb1bab18e71db97aa9b37bf07bd698d551932af5b0fea9bd", + "layer42": "384baf547cd48d20c0a3a21010daea4e2c61cd31a7889fa7f14ebb85423a1dc5", + "layer43": "6f0e7a8f4db3145b681b0a5fc99b19f2b21464f4ea45bb97e3228645e17ec0ba", + "layer44": "e46e2d487bfc27f46e75940cee078a76a9413b3df5655e4f5f1b45a7a7565481", + "layer45": "184a84437bcc5b7c6ea5604ce867742765bc8f51307f2ec509cdc2c1059341d1", + "layer46": "7b61154fd4c1b74266b4446e41840d25786f1c5b0fad720169fa07de46b35f57", + "layer47": "dd0e1a1198e9ffa3f486e9aad1c749e374f701467d569df7753a063e19e72ca6", + "layer5": "57409294ae3c98e57f803fa0dadc09bd0a6d1a369d1cfa7ff7f6fa5ae4b3f2b3", + "layer6": "801f0bd90a7c08d5a936ebeeaab34120e65eaebff97bf883cfb4f9b927459562", + "layer7": "c9a4b6bd776b86983c1729f4792b116ecc5409aeff582ee2847bae7b23bef44a", + "layer8": "ef926f45c8527a82b62c7e23942dadde2fc919ff0fe83621b1001d9ca612aab6", + "layer9": "848f54519853b869e16bc3ec0cd20930f9850a564445d3bef96b6eb7e10f6642" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update2/p0064-b1-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update2/p0064-b1-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "74fc357dee08af48a56d775130799a8efee0893d9a543d616910c6c3995c9320", + "layer0": "ea16a603f205f5e5176aee73683355057d85984aef99dcd98619c5dcf71d64b4", + "layer1": "799d344db64615f29691aa528f7ffab168e59aa02b20ce027b259ff4427ba658", + "layer10": "6256599d0e35cba039b5c1b5a5d84da6d526b0b003d535f28e8d4d50b2676313", + "layer11": "85b5529d83ac9b3c3522720e2afa89254b6edc3813e11bd7ebfbb28e89109f28", + "layer12": "65220f7a0480cc59b2e937a587f770b0f1a80960528f8b0cc31aeaf35134a916", + "layer13": "a2c922c2f43a85dfebddf568b45f8fbc913dc292703b1cf39278c45aa55e261d", + "layer14": "9dfed0fc609350c4e315712517124089f56ede9f9a6282528be01c8ac186f2c1", + "layer15": "e7d4feb100d972e04032552147208c4edd4b6f7a92203350c065d0eb4b5d32ba", + "layer16": "dabcb7650a13ef2e452874a62589bc09958ab9b8f023ed22976b584b262a4312", + "layer17": "4eb9583a616dd84f8e9084167b17082028565704b0062f2b63861a840ec3aaa0", + "layer18": "dc1fa5395ca75b8aaaa3fbffe13f60e45628e60093e8662b7cf1495a01ea1de0", + "layer19": "4c15295b4123a6f651d884e31db705ec619fa8109e6f4f452c3f3b7e5caa6ba5", + "layer2": "2958078f9b6f3efce0c6896659e11b24360cc74f2704d4a4de82e96c02807d95", + "layer20": "cc11964cc9dbbb40361072f5e3b8dc05c5559e112a943a0f65c1667c7f17abe8", + "layer21": "04e0a8499dd91a5639a58f1fba47af5b94a0f0e32f313cee439105b05d3a34cd", + "layer22": "1422e4b58602f6c730926792c26df91cc540873f8b77582926d76a5f2b33c2e2", + "layer23": "f80bad40a642ddea5413d477157ee2951b55397f07e9c88bad717f3a036ef11d", + "layer24": "01748dc657a03da262ee80808f12abaaf9f15868fb3fb96b4ef52080d575ae57", + "layer25": "f5db52ba606ed9f9a5f9dd5f691a05ace7533fa2853c2441254db5837cacacfa", + "layer26": "08e12cb9dd79c6cbb0898a12a6955264241421ca8c8f7d9f8e3eb5be2f7a2d9b", + "layer27": "e5fd1acf6ac961964bbfe08502cc032cbfc4a8e777562351f3b7b4b7d85fd625", + "layer28": "40e874ed228954b3d966702870817b41366431fe2be77d9302120150bad102c8", + "layer29": "dc6db07cbd36559198e52b870354ff06610a5f940f4b23f890c6966e97e869bf", + "layer3": "6eede9a3ba3f1c94ddef4aef245908def28eef71468ece81bc67f41c31b47475", + "layer30": "0d7840f7944caad13f37153e7c536711d61d722bc92c49cef9e867d043ce6906", + "layer31": "7d80f05ab51f6918c125e512b8115fc273bc7f537fc3bd7b6e21b219bf921321", + "layer32": "83f46d2e8ea185e3cdfdd13cfa7360959fc72d8b4c0a290150fbd42a7dd25196", + "layer33": "a76ab194685338dadd0cdc5c57c2a8361f1bb217ff22db88538340f8f52c7c13", + "layer34": "aeb104c4791ba3b2f67f5c4f395b60c7fc1f6d2849e56fdbd7b11c364b259d4d", + "layer35": "de502dea04bd5529de5f740477cb7ff741e4454eb91e7c993db9b9d274e316b2", + "layer36": "fdb94d72cb785afe75e27134b5e1484925988010f2540e61cb4ee89dc9737185", + "layer37": "6ca6a90e5c23de7e00279a7147a0e1105f42c164e032ba4029a8707ed860bb44", + "layer38": "b6a15604c47df2252bd3a0914cf246eb524bd1ab3114de690051fe5e8e491322", + "layer39": "9fccb052390da5a8938757187038320cc518312f9d5ca1fe74e47e8c78565f24", + "layer4": "526615e679a2ed85bc8e4f815c65ae11f76cf71f744e463bdfeeaf15f4facbda", + "layer40": "59f8361ce2a630bc1abf2d7da6cae8fd0dd649ac699aa9057dc9b4737a4057cf", + "layer41": "eabe692f214ff6b4cb1bab18e71db97aa9b37bf07bd698d551932af5b0fea9bd", + "layer42": "384baf547cd48d20c0a3a21010daea4e2c61cd31a7889fa7f14ebb85423a1dc5", + "layer43": "6f0e7a8f4db3145b681b0a5fc99b19f2b21464f4ea45bb97e3228645e17ec0ba", + "layer44": "e46e2d487bfc27f46e75940cee078a76a9413b3df5655e4f5f1b45a7a7565481", + "layer45": "184a84437bcc5b7c6ea5604ce867742765bc8f51307f2ec509cdc2c1059341d1", + "layer46": "7b61154fd4c1b74266b4446e41840d25786f1c5b0fad720169fa07de46b35f57", + "layer47": "dd0e1a1198e9ffa3f486e9aad1c749e374f701467d569df7753a063e19e72ca6", + "layer5": "57409294ae3c98e57f803fa0dadc09bd0a6d1a369d1cfa7ff7f6fa5ae4b3f2b3", + "layer6": "801f0bd90a7c08d5a936ebeeaab34120e65eaebff97bf883cfb4f9b927459562", + "layer7": "c9a4b6bd776b86983c1729f4792b116ecc5409aeff582ee2847bae7b23bef44a", + "layer8": "ef926f45c8527a82b62c7e23942dadde2fc919ff0fe83621b1001d9ca612aab6", + "layer9": "848f54519853b869e16bc3ec0cd20930f9850a564445d3bef96b6eb7e10f6642" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update2/p0064-b4-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update2/p0064-b4-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "7e7b3bbff36cfaa8b7440b8f40cc326b66f1fb5f141d6d42a25824bd2ef9a4a1", + "layer0": "0b111e18597d2532702495f2e41312490d15c19e284ee501508e1b4ba1c27435", + "layer1": "ce4b546b8940c5a6fc1e9cb73eee47e3e692a3de511c8380d0cdc756a26b7a67", + "layer10": "8898e19c0649457ce3c6fb9586bf40332e3a271e7f44dd9d46a5c47b0af63a97", + "layer11": "851deb6583105c54aded6d73f72b3763bc89e61e226f43c8c886dbdba8eb6960", + "layer12": "553ba983cbb1ddfff1f5e8c4a48158bbe675fd6895a06b9d7a5f17e235f91fad", + "layer13": "175715734a486f6afddd2225bd12f6a8b803d221e1d2d0fe6803f385d9139761", + "layer14": "f2e75d278ffbee1c42a0555bff0e35a74bd3f6854f4c20e064ff79f3d3bbfa98", + "layer15": "242ed9641d4135462980ce86c6fa2584aae67065cc201169171c72d879a28ccd", + "layer16": "55f48bb288f9b9aba4c25f8a18aea9ca30cfd2b3121d95b4a72eb2bf3adb15f7", + "layer17": "f2e267e4d1a89f8453d43f723e6e8a67c3b79657fba89c70dc661809959be3c7", + "layer18": "08e9f038f3a133fea66944eebada541ccebd8c305d7b68300619fe92f78138f2", + "layer19": "92fca10240a1add3db75a9493837fbdce06df0a095eef1743a84fb33f24d9517", + "layer2": "84ea6669f8a942f3385361fc8ac5445965374a3dbcf02e3981c6ad12526eae30", + "layer20": "8fbccd5befeed56f10e197a011e54083f5e0b48159110188eb8ca9e2ec8106c8", + "layer21": "dc79be6cc34a9709c522eed7a9906167e4274d8e3843d06a5fa59ed871770bf7", + "layer22": "e21815b2779ff59f9494b0f7af24285677585d24a5e14d9302753ce6fe02d4c1", + "layer23": "cb50aca5fc69eb53cbe3fee90b32c1d775f21a83726bfa0577aa5cc52d0d9425", + "layer24": "b4e7c7d1b7e8b8a18e11538f23512deb2fa7f7ee9e3c30521c3e365db5cd0135", + "layer25": "93889f4a3626af62ab4dcbcca6c44b0fad667b0301ffcd576ede0792a2278558", + "layer26": "bd01474fe72c0f12f103b832ec07dca388c63d1c9abb9be71dc3e9ef425e7cb6", + "layer27": "a626f480dedfcade93b743bf20ef40ec549a291a5d9e50102ea6a616b45aa335", + "layer28": "6d9fb01027215693f1f3a23222f120a216d3ff80ce95198f9dbb935fdbb2ee4d", + "layer29": "e9c5e5aaff31eda6363e6b03b501a3068cd87854f58466caa493de3ca44922ed", + "layer3": "846c20e902b56911a51505ac72844d6cdfd0c4ccac8b212de6ad04c6d0e05905", + "layer30": "178b4088eef7a63b8a51482de9d43eebeed70e08ed9139b090619a6864fc717e", + "layer31": "a1287a744d8f6a543e97d8f2cdb88f72787f03cb17366fbc3f9cab6552ec465c", + "layer32": "36e1d936635b0100fc007c417a57e3ec574a32fa581871827d49de8df2d0e781", + "layer33": "3c2214ff64c4fcbfdc308b54861d5358737dc0ccab6420102cae3c4bb3dad1f3", + "layer34": "eee4ae75bb9a4242f81927b21b7c40db300d7144fa5cd160ef51f450c5904760", + "layer35": "affa89cb5a1bd5c8fb5a23e881b0169e039ea1533b48ec1b7368ba677e7f79f2", + "layer36": "1ffc6edc05e895810741c70248e46b5815516becb2539983071bb06ec553ba7d", + "layer37": "d8bf2be62b2f895baa3f0a3766597adc9d5a4c370837f692c2972a6dedc9cfe0", + "layer38": "177e390ae414cdad1b0b0a040b213cfe0dbdeea4593302afcf1b8b7b1be5e507", + "layer39": "6ce23ba4aba9e36be209a05bc397a8dcfb7423005f72ed59ace29b4e12dc6ce1", + "layer4": "a3963f97eabf507ef5d1d229c87030da700c45f4895adf689b43ec1de4ad10c5", + "layer40": "bf5a1c22b086623eaab0e0914904d9316023bf0aa266a363ec37d9e0427f47c4", + "layer41": "411c52ba2b511507bd7d00b527c338115d448124ddcb805920ddf0e05480bee2", + "layer42": "59562130384d9df93bad35a6a6c902ed2b847141c6ef732f797d23b47f8b898d", + "layer43": "f33c672d2aa6f46215e9345883bbfb75fc0b0d2fc26334c334c1cd9c44d9018e", + "layer44": "a760e0077b77bc16244a6f6068e5d46bb2c3210ac46561f1cb6fdce9738e7106", + "layer45": "160c3687571d69721476a6885e31d5fe7299cb288d366465b2f49b68da229836", + "layer46": "82721fc126b033578bfb38db9f12c3caf8f24d9cac12be3733cc26921caf58f9", + "layer47": "8a888f45043d83df5b71687c3487fe2b17083cee6684dd24892b0c1cc6f913e5", + "layer5": "214f8e188db572000c8787d5d07547f48bcdde8e188c7a779295f7b758fd7985", + "layer6": "235736e5028a9d4cb73f226c24936ea51643e75c018af2356db522851b9357e5", + "layer7": "da7797d2265f49e0f42a623740c4095e597cd98ea652cc9d4c6ad3db95f9e753", + "layer8": "034b72b5e05e440a79230b6d53e12c83c90c2d14bc1b048aced4b4d61cfae91e", + "layer9": "a4b21e38585ca4db38c740ba5e7def33157bd5815cfa4be57ce3d883c1d0985d" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update2/p0064-b4-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update2/p0064-b4-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "7e7b3bbff36cfaa8b7440b8f40cc326b66f1fb5f141d6d42a25824bd2ef9a4a1", + "layer0": "0b111e18597d2532702495f2e41312490d15c19e284ee501508e1b4ba1c27435", + "layer1": "ce4b546b8940c5a6fc1e9cb73eee47e3e692a3de511c8380d0cdc756a26b7a67", + "layer10": "8898e19c0649457ce3c6fb9586bf40332e3a271e7f44dd9d46a5c47b0af63a97", + "layer11": "851deb6583105c54aded6d73f72b3763bc89e61e226f43c8c886dbdba8eb6960", + "layer12": "553ba983cbb1ddfff1f5e8c4a48158bbe675fd6895a06b9d7a5f17e235f91fad", + "layer13": "175715734a486f6afddd2225bd12f6a8b803d221e1d2d0fe6803f385d9139761", + "layer14": "f2e75d278ffbee1c42a0555bff0e35a74bd3f6854f4c20e064ff79f3d3bbfa98", + "layer15": "242ed9641d4135462980ce86c6fa2584aae67065cc201169171c72d879a28ccd", + "layer16": "55f48bb288f9b9aba4c25f8a18aea9ca30cfd2b3121d95b4a72eb2bf3adb15f7", + "layer17": "f2e267e4d1a89f8453d43f723e6e8a67c3b79657fba89c70dc661809959be3c7", + "layer18": "08e9f038f3a133fea66944eebada541ccebd8c305d7b68300619fe92f78138f2", + "layer19": "92fca10240a1add3db75a9493837fbdce06df0a095eef1743a84fb33f24d9517", + "layer2": "84ea6669f8a942f3385361fc8ac5445965374a3dbcf02e3981c6ad12526eae30", + "layer20": "8fbccd5befeed56f10e197a011e54083f5e0b48159110188eb8ca9e2ec8106c8", + "layer21": "dc79be6cc34a9709c522eed7a9906167e4274d8e3843d06a5fa59ed871770bf7", + "layer22": "e21815b2779ff59f9494b0f7af24285677585d24a5e14d9302753ce6fe02d4c1", + "layer23": "cb50aca5fc69eb53cbe3fee90b32c1d775f21a83726bfa0577aa5cc52d0d9425", + "layer24": "b4e7c7d1b7e8b8a18e11538f23512deb2fa7f7ee9e3c30521c3e365db5cd0135", + "layer25": "93889f4a3626af62ab4dcbcca6c44b0fad667b0301ffcd576ede0792a2278558", + "layer26": "bd01474fe72c0f12f103b832ec07dca388c63d1c9abb9be71dc3e9ef425e7cb6", + "layer27": "a626f480dedfcade93b743bf20ef40ec549a291a5d9e50102ea6a616b45aa335", + "layer28": "6d9fb01027215693f1f3a23222f120a216d3ff80ce95198f9dbb935fdbb2ee4d", + "layer29": "e9c5e5aaff31eda6363e6b03b501a3068cd87854f58466caa493de3ca44922ed", + "layer3": "846c20e902b56911a51505ac72844d6cdfd0c4ccac8b212de6ad04c6d0e05905", + "layer30": "178b4088eef7a63b8a51482de9d43eebeed70e08ed9139b090619a6864fc717e", + "layer31": "a1287a744d8f6a543e97d8f2cdb88f72787f03cb17366fbc3f9cab6552ec465c", + "layer32": "36e1d936635b0100fc007c417a57e3ec574a32fa581871827d49de8df2d0e781", + "layer33": "3c2214ff64c4fcbfdc308b54861d5358737dc0ccab6420102cae3c4bb3dad1f3", + "layer34": "eee4ae75bb9a4242f81927b21b7c40db300d7144fa5cd160ef51f450c5904760", + "layer35": "affa89cb5a1bd5c8fb5a23e881b0169e039ea1533b48ec1b7368ba677e7f79f2", + "layer36": "1ffc6edc05e895810741c70248e46b5815516becb2539983071bb06ec553ba7d", + "layer37": "d8bf2be62b2f895baa3f0a3766597adc9d5a4c370837f692c2972a6dedc9cfe0", + "layer38": "177e390ae414cdad1b0b0a040b213cfe0dbdeea4593302afcf1b8b7b1be5e507", + "layer39": "6ce23ba4aba9e36be209a05bc397a8dcfb7423005f72ed59ace29b4e12dc6ce1", + "layer4": "a3963f97eabf507ef5d1d229c87030da700c45f4895adf689b43ec1de4ad10c5", + "layer40": "bf5a1c22b086623eaab0e0914904d9316023bf0aa266a363ec37d9e0427f47c4", + "layer41": "411c52ba2b511507bd7d00b527c338115d448124ddcb805920ddf0e05480bee2", + "layer42": "59562130384d9df93bad35a6a6c902ed2b847141c6ef732f797d23b47f8b898d", + "layer43": "f33c672d2aa6f46215e9345883bbfb75fc0b0d2fc26334c334c1cd9c44d9018e", + "layer44": "a760e0077b77bc16244a6f6068e5d46bb2c3210ac46561f1cb6fdce9738e7106", + "layer45": "160c3687571d69721476a6885e31d5fe7299cb288d366465b2f49b68da229836", + "layer46": "82721fc126b033578bfb38db9f12c3caf8f24d9cac12be3733cc26921caf58f9", + "layer47": "8a888f45043d83df5b71687c3487fe2b17083cee6684dd24892b0c1cc6f913e5", + "layer5": "214f8e188db572000c8787d5d07547f48bcdde8e188c7a779295f7b758fd7985", + "layer6": "235736e5028a9d4cb73f226c24936ea51643e75c018af2356db522851b9357e5", + "layer7": "da7797d2265f49e0f42a623740c4095e597cd98ea652cc9d4c6ad3db95f9e753", + "layer8": "034b72b5e05e440a79230b6d53e12c83c90c2d14bc1b048aced4b4d61cfae91e", + "layer9": "a4b21e38585ca4db38c740ba5e7def33157bd5815cfa4be57ce3d883c1d0985d" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update2/p0256-b1-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update2/p0256-b1-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "ab555ea9aebaa5b427dcd33346863f8746cd93f9f66de06b9928a17c0a96c184", + "layer0": "a62b0d45bd380bd08f29b7da19022b36ecaef464f031293e286ffae53c075b67", + "layer1": "a9b316a6d6c08188efee370fa428f1e69e9327558816a9022dc563c96d974a77", + "layer10": "93ad9f61802844c4c9804d6b70f80f5679db7ae415e0b881813e736fae28f129", + "layer11": "9f25ae28a488060792df5857898a45e9ec58d76015c23c71b9dcd8022195cc65", + "layer12": "2f7c5be78876242ac1940c6b4092f20fd9f66dea8193528479c109e0b7194ac7", + "layer13": "c02c60769e32fcd0facfddd2043e642584a8f3e18828c168e9b2daba004a2313", + "layer14": "648c32ac5875e65c008bac5cd9995b1466083c43e7a0b70f834c7d4541489e62", + "layer15": "f126c3bd8e6f77459d64b29f50eb3622b404d49f6d3b7397dcad8024ff29aab9", + "layer16": "705dee739bd0ac5e55a7a213408b28daad6665ede19b29f8d3336cbfed8cd963", + "layer17": "a11751452eadf7a867922fa2d4e3c6635b6f097e44a0d661ccc34eedc0d67073", + "layer18": "9e7108d493d91254919a141c7fb9e93ddcec0c5a39943458aa4c1c645091cf9a", + "layer19": "32f416e4caf8f78067f4b0cb738191ecb3838922722a926799c1966e1d605399", + "layer2": "6443d9b3465650d88c043b6adf4a5185eb8d81a2585cd7e7b793f6e951def1bb", + "layer20": "30031afeb3f2c82b9a4f0d8c4d04d88e57b4b1a68b299c068681c21df45e024e", + "layer21": "f126ca6ac1861c2b3ec59d13c415b2086e77524bc4f41069c440f2dc506578c0", + "layer22": "2afd50364500543175d5e8c3de74163d664bc33d0df7895bb66b99fb7b7b1afd", + "layer23": "2d0d1609e7d91bbbfcba64bd0e068d412273e1e86f4d99d15ceef29cf8d18fb2", + "layer24": "6fb41b7d9cdaa8e9704ef1eafcd59912be06eff2f4eb5de8d162598e865693bf", + "layer25": "3b7fe90d0636408d2598311f22d57b05d318ceb0442257223aa1ee98a3f29e31", + "layer26": "7ea5fb352dcc0412310ac3ee8c0bd61068881cf04c337466fa158f71b3833ba8", + "layer27": "0d1f55ac91948e7fb3f8795a17ada1a136119ce6914d19a1237f501aae308809", + "layer28": "d23e378ce0c35ac83e3296b356129b1fd9155d83278ea827ce4453e540dcd84f", + "layer29": "4696aa124ab1bb71d9b850d7ffa9f4b56926fb7f2b300cb6999075795454e328", + "layer3": "e53f25f43076e6479f7c6e1c8132c4697f6e8a40a4db860d8fdd72f7e7385d48", + "layer30": "adf7cc84fb6bdbec061a2b79fe771ce2bb4f6acdc5f9a2d35fcdf7aebdd675d1", + "layer31": "a9a2748d09e03a2c7f32674ab79175735b7c70e130ebb3d4f1b63723c1639b77", + "layer32": "32e06a768d131c81375aca8ff5c377d1f6f8865e0797869c20e7738ba3b9bde6", + "layer33": "4c09f1489c7837803d3c19e06d8e03996a2a2f443794b084e087b5da67f9b46d", + "layer34": "68e0e0a9c24740cbaca0d9bee7e3c2ff14c9daa053af14fca343e6d1fc94b366", + "layer35": "1c1f99dffc4eb19f73057ca36046408bd98c0b65e0d2e3b1026c4d5f682e0ec3", + "layer36": "e817e74cfe61a069a06732c4b53f27e48bb0e789455808455972b646df8e15b2", + "layer37": "7a3a49045cfdd551f2714d86157b802d476859b5841a947046fcca5701a400c2", + "layer38": "207c61dd3dd7f06ded0cc81353e33774dae462433c499230afc304656d50fece", + "layer39": "c25d84760e19c2b1b79c354707a670c06842e1e98f2ee237087c49c1e883dbca", + "layer4": "890c7731abad8c8f331aeb0f6af657e987be63a8891e105e4cd867ac96cc8922", + "layer40": "9e175290ae7fc4f5439c25e01b2e13c77a88611da94dd0239609d7d2ac7e4182", + "layer41": "396fc49cfd7b1db318b74ea8d5785ffd6130b028831efa131d7b43f8f1ff990b", + "layer42": "cea65d6d020f180ec4cb87442cd2f9d5c2eace3e8e4cd7f4da78e4b772c89f01", + "layer43": "e91bbf1dca8e3bcab474b32370566e13f3168ea54a79fae90f7e7bd9c8c3a4d7", + "layer44": "fce6d2844dbc15cb4be032beb145aabaa381bfc53b32e671a3136716a790bd77", + "layer45": "1a2966520ed202679efd5fdabb61298eeb368042f5a423f6123a785d2b04b03b", + "layer46": "f466bf709e73bfea49afc7c1dbb313f76876b1f58a099e4431b968de05e8e4b4", + "layer47": "f6eec37f76e38a61135864b698c26aa1477563135bc5825bea762154e497ab06", + "layer5": "2bcfd8d665c6a92c3f533d8872d3bfabc0e459747e530b0f5a90373f27405309", + "layer6": "2ced8740cf3c32293df2e66921b0f454d84aa0e48da9d31037c6658597a25ec7", + "layer7": "02baba38a412110f4990cbffe93837039fac9c67a167ca78f1e6c58dd9d589ad", + "layer8": "1f42151022d02cb7226ccccccd9dc6a20f8ab12f18270b081b6fbd0ee2b4941e", + "layer9": "18dd03338624660c77941f9a2cdf33401479aa9d14f42180ec0a22ee9356d8e4" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update2/p0256-b1-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update2/p0256-b1-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "ab555ea9aebaa5b427dcd33346863f8746cd93f9f66de06b9928a17c0a96c184", + "layer0": "a62b0d45bd380bd08f29b7da19022b36ecaef464f031293e286ffae53c075b67", + "layer1": "a9b316a6d6c08188efee370fa428f1e69e9327558816a9022dc563c96d974a77", + "layer10": "93ad9f61802844c4c9804d6b70f80f5679db7ae415e0b881813e736fae28f129", + "layer11": "9f25ae28a488060792df5857898a45e9ec58d76015c23c71b9dcd8022195cc65", + "layer12": "2f7c5be78876242ac1940c6b4092f20fd9f66dea8193528479c109e0b7194ac7", + "layer13": "c02c60769e32fcd0facfddd2043e642584a8f3e18828c168e9b2daba004a2313", + "layer14": "648c32ac5875e65c008bac5cd9995b1466083c43e7a0b70f834c7d4541489e62", + "layer15": "f126c3bd8e6f77459d64b29f50eb3622b404d49f6d3b7397dcad8024ff29aab9", + "layer16": "705dee739bd0ac5e55a7a213408b28daad6665ede19b29f8d3336cbfed8cd963", + "layer17": "a11751452eadf7a867922fa2d4e3c6635b6f097e44a0d661ccc34eedc0d67073", + "layer18": "9e7108d493d91254919a141c7fb9e93ddcec0c5a39943458aa4c1c645091cf9a", + "layer19": "32f416e4caf8f78067f4b0cb738191ecb3838922722a926799c1966e1d605399", + "layer2": "6443d9b3465650d88c043b6adf4a5185eb8d81a2585cd7e7b793f6e951def1bb", + "layer20": "30031afeb3f2c82b9a4f0d8c4d04d88e57b4b1a68b299c068681c21df45e024e", + "layer21": "f126ca6ac1861c2b3ec59d13c415b2086e77524bc4f41069c440f2dc506578c0", + "layer22": "2afd50364500543175d5e8c3de74163d664bc33d0df7895bb66b99fb7b7b1afd", + "layer23": "2d0d1609e7d91bbbfcba64bd0e068d412273e1e86f4d99d15ceef29cf8d18fb2", + "layer24": "6fb41b7d9cdaa8e9704ef1eafcd59912be06eff2f4eb5de8d162598e865693bf", + "layer25": "3b7fe90d0636408d2598311f22d57b05d318ceb0442257223aa1ee98a3f29e31", + "layer26": "7ea5fb352dcc0412310ac3ee8c0bd61068881cf04c337466fa158f71b3833ba8", + "layer27": "0d1f55ac91948e7fb3f8795a17ada1a136119ce6914d19a1237f501aae308809", + "layer28": "d23e378ce0c35ac83e3296b356129b1fd9155d83278ea827ce4453e540dcd84f", + "layer29": "4696aa124ab1bb71d9b850d7ffa9f4b56926fb7f2b300cb6999075795454e328", + "layer3": "e53f25f43076e6479f7c6e1c8132c4697f6e8a40a4db860d8fdd72f7e7385d48", + "layer30": "adf7cc84fb6bdbec061a2b79fe771ce2bb4f6acdc5f9a2d35fcdf7aebdd675d1", + "layer31": "a9a2748d09e03a2c7f32674ab79175735b7c70e130ebb3d4f1b63723c1639b77", + "layer32": "32e06a768d131c81375aca8ff5c377d1f6f8865e0797869c20e7738ba3b9bde6", + "layer33": "4c09f1489c7837803d3c19e06d8e03996a2a2f443794b084e087b5da67f9b46d", + "layer34": "68e0e0a9c24740cbaca0d9bee7e3c2ff14c9daa053af14fca343e6d1fc94b366", + "layer35": "1c1f99dffc4eb19f73057ca36046408bd98c0b65e0d2e3b1026c4d5f682e0ec3", + "layer36": "e817e74cfe61a069a06732c4b53f27e48bb0e789455808455972b646df8e15b2", + "layer37": "7a3a49045cfdd551f2714d86157b802d476859b5841a947046fcca5701a400c2", + "layer38": "207c61dd3dd7f06ded0cc81353e33774dae462433c499230afc304656d50fece", + "layer39": "c25d84760e19c2b1b79c354707a670c06842e1e98f2ee237087c49c1e883dbca", + "layer4": "890c7731abad8c8f331aeb0f6af657e987be63a8891e105e4cd867ac96cc8922", + "layer40": "9e175290ae7fc4f5439c25e01b2e13c77a88611da94dd0239609d7d2ac7e4182", + "layer41": "396fc49cfd7b1db318b74ea8d5785ffd6130b028831efa131d7b43f8f1ff990b", + "layer42": "cea65d6d020f180ec4cb87442cd2f9d5c2eace3e8e4cd7f4da78e4b772c89f01", + "layer43": "e91bbf1dca8e3bcab474b32370566e13f3168ea54a79fae90f7e7bd9c8c3a4d7", + "layer44": "fce6d2844dbc15cb4be032beb145aabaa381bfc53b32e671a3136716a790bd77", + "layer45": "1a2966520ed202679efd5fdabb61298eeb368042f5a423f6123a785d2b04b03b", + "layer46": "f466bf709e73bfea49afc7c1dbb313f76876b1f58a099e4431b968de05e8e4b4", + "layer47": "f6eec37f76e38a61135864b698c26aa1477563135bc5825bea762154e497ab06", + "layer5": "2bcfd8d665c6a92c3f533d8872d3bfabc0e459747e530b0f5a90373f27405309", + "layer6": "2ced8740cf3c32293df2e66921b0f454d84aa0e48da9d31037c6658597a25ec7", + "layer7": "02baba38a412110f4990cbffe93837039fac9c67a167ca78f1e6c58dd9d589ad", + "layer8": "1f42151022d02cb7226ccccccd9dc6a20f8ab12f18270b081b6fbd0ee2b4941e", + "layer9": "18dd03338624660c77941f9a2cdf33401479aa9d14f42180ec0a22ee9356d8e4" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update2/p0256-b4-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update2/p0256-b4-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "3547ad963948cd3bcb860aca6f40c65462e2c55cbd3a4c3712d146c410cffd01", + "layer0": "2daf69000c22aaafedd6c53bc7074e4aa4e3c1c98aa503db12e3e223b62c7f2f", + "layer1": "9f9276ac3337c4913f5c4c22e2cbd94069cd90c496f36a5cab5759db23c418cf", + "layer10": "c90f24356152bae63181185c4c17a72f7f95e26e643ec53cbf6cf67a03b75430", + "layer11": "4f2b41e222a8db6e51ebe5e6bffcb50a18a7990d009d3c3828af3328cfc7b1be", + "layer12": "5486b8059004e5cf58d701723c6b1215e91053299ef2ac5785fbbf0e8a6974d8", + "layer13": "a08eef6f0cf5098d43874b8a47e5e79ac9645b2acbfc25605ca02454d97f3bf1", + "layer14": "11c21db606a14d2ca62c4b675d79c668ad1b8353886d6100511610ae6ebef919", + "layer15": "99fd9a5bcb942f32f4ac3c11583e2640e1abb1ca99df0070427c1f2f9e4e061c", + "layer16": "92cabe7ac161829dfd9b57d13d856624a5253790f8fa4f3b33a9a9ab88ae0467", + "layer17": "7fa99aebacbc95ca8bfce9fdc23f92e43a3e728a5c38a9fa6fdd1e473da6f207", + "layer18": "c90369390eb19482f554170b3d199e4aed6eda0a4e033c9100528aafb62f143d", + "layer19": "1c9bd9ca05f4072588512a48c03d6d663bfd2791be6e0ca19ceab99b1f1874a2", + "layer2": "1874eb1d159503e2ebae10a86038bac27beae95e1ac8c78e8079f4ced5d7eb23", + "layer20": "a813b9436f36e902cffc8dcb8d9cdfa019d5b62a63e6b1ae97741040e2258e14", + "layer21": "e23316c313a24ccf8115d3df1ce2cb3789c01dd68a259ac0333861545ad73cb3", + "layer22": "26e8d88066f025e6c1186fcb5fd071a2b78f496a44c3f38d34eda0dde8b9d690", + "layer23": "df25c57041bd78dd46c315e65b989d5da3db0fc6e1fac7390b0472051d305eb8", + "layer24": "2730e50498b85471cd3bffc305ea8a9286490705e3657e16662563b436815b6f", + "layer25": "6cedafbc7bd189c2b1da0fc0c24878ad2cd9b67ea5711259058a1fac488b26eb", + "layer26": "833593aecb9301d3171840f75226b1379de715224b18920f4d21be359716d4f9", + "layer27": "513c0fe524d958e06998e4fbdd601889672bb5d175feec22bd6f425cc95ae9bf", + "layer28": "38e1ac798fa246217788d435e8c7e25e98206e89cdcfcc4507fff13606182a61", + "layer29": "a5e86bf8b42c6d2cbab10c52c3ea18e222f6c8724cc3deaa65b5803dbba5d74d", + "layer3": "8e1c6b7ba30fac0bcc81607334eea991a0d04e5d9c02acfc0274575e183bc5c9", + "layer30": "5dec33a64a0569d9f4d641af779fefe2c527824bcd77cb6b1f4b2570b53cc271", + "layer31": "99b8834ea1cea98434b36c2c45cfd5246429f9f199b929faa51c15f0658a37fa", + "layer32": "9efea28b40528f9db8f89de7a66a0915ac244b67553e9ef0fae1450604df3a4a", + "layer33": "a4fbb3f6d7f93a99c974b884465540e3b47445104e9a25e7e2f3ef86647e7414", + "layer34": "93dd16c8ad84282ac82a6f314ed39768b4bd59f0ea78a07fe955900af538e06a", + "layer35": "e5ffdd32e3516bd99454e923030f1cd79ee8654e422617ff091137577d6e48bd", + "layer36": "058e4cbe9a293901ebe788705c9b605ff4f4c08ddd441d1e491c863a41aab4db", + "layer37": "46815aeb1d2deaf091874375fc8825ccdb13e352294b91f6aac2bb1892b8d1b0", + "layer38": "dd6b0649ab2913169442e7940c7ec8fd79c541661d0107338422e14502898f19", + "layer39": "6fa5682c6945248958d8d23b9389ebf7c9d32c56e78a42e782754f10893ec2a5", + "layer4": "a962e220b11a098343125bd6c1e72e8046b77cf01cf07e8ce1e017f9172dec40", + "layer40": "6620dbca305347d3506d51133f0f1bd17c8f2f273e66a20e68e2c37a318448fe", + "layer41": "69d542304325d81e8993b51e091eb9c640005b3a5d9f2bc53269bbe19725d228", + "layer42": "9eb75c5d8e4a023935afa4226ecd6d5e45a073174592c15f868b5e7c4d40cdf9", + "layer43": "0437745431165a309f415d71c2b5d72b6fffe636125e12548df297c49e02fb32", + "layer44": "9fd94119c31cd46375f3ed48b6c6abc2f4aa9288dd1f126b6e1f6e4952ef4650", + "layer45": "ee55dc4a0774bd68a3437da03757786bf1712f0da5660c14f8f0e8158fcc3416", + "layer46": "592e044e4e076f3d6399fee820d0e0fd2256d5d0229857a4ab816549eaf54d8c", + "layer47": "53b18eeb8f959ee68c1dbe6d7c1a736d9568003ebcc056dab4ccdf642268bf3a", + "layer5": "4e5e5abb6186be0317f3f0340e90805fa648fbb7ffbf3ad995b1aa985934d4ec", + "layer6": "957936c76afb2fcfc011044f7baab6b1c543ed336ff8153bcb4af0d9999b0b20", + "layer7": "227935751930038ee22170fba01eff8ed0c3dc5cce10247f4c3864a5cdf53622", + "layer8": "875baabaf0513bb51f6b3964a7ff05093f64356b1210f5fe414dd8ef9dc2985a", + "layer9": "dc361d2ebfad139d3f516dc4ab004ab2392c1cc894b8965b9a3af726fd1a8485" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update2/p0256-b4-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update2/p0256-b4-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "3547ad963948cd3bcb860aca6f40c65462e2c55cbd3a4c3712d146c410cffd01", + "layer0": "2daf69000c22aaafedd6c53bc7074e4aa4e3c1c98aa503db12e3e223b62c7f2f", + "layer1": "9f9276ac3337c4913f5c4c22e2cbd94069cd90c496f36a5cab5759db23c418cf", + "layer10": "c90f24356152bae63181185c4c17a72f7f95e26e643ec53cbf6cf67a03b75430", + "layer11": "4f2b41e222a8db6e51ebe5e6bffcb50a18a7990d009d3c3828af3328cfc7b1be", + "layer12": "5486b8059004e5cf58d701723c6b1215e91053299ef2ac5785fbbf0e8a6974d8", + "layer13": "a08eef6f0cf5098d43874b8a47e5e79ac9645b2acbfc25605ca02454d97f3bf1", + "layer14": "11c21db606a14d2ca62c4b675d79c668ad1b8353886d6100511610ae6ebef919", + "layer15": "99fd9a5bcb942f32f4ac3c11583e2640e1abb1ca99df0070427c1f2f9e4e061c", + "layer16": "92cabe7ac161829dfd9b57d13d856624a5253790f8fa4f3b33a9a9ab88ae0467", + "layer17": "7fa99aebacbc95ca8bfce9fdc23f92e43a3e728a5c38a9fa6fdd1e473da6f207", + "layer18": "c90369390eb19482f554170b3d199e4aed6eda0a4e033c9100528aafb62f143d", + "layer19": "1c9bd9ca05f4072588512a48c03d6d663bfd2791be6e0ca19ceab99b1f1874a2", + "layer2": "1874eb1d159503e2ebae10a86038bac27beae95e1ac8c78e8079f4ced5d7eb23", + "layer20": "a813b9436f36e902cffc8dcb8d9cdfa019d5b62a63e6b1ae97741040e2258e14", + "layer21": "e23316c313a24ccf8115d3df1ce2cb3789c01dd68a259ac0333861545ad73cb3", + "layer22": "26e8d88066f025e6c1186fcb5fd071a2b78f496a44c3f38d34eda0dde8b9d690", + "layer23": "df25c57041bd78dd46c315e65b989d5da3db0fc6e1fac7390b0472051d305eb8", + "layer24": "2730e50498b85471cd3bffc305ea8a9286490705e3657e16662563b436815b6f", + "layer25": "6cedafbc7bd189c2b1da0fc0c24878ad2cd9b67ea5711259058a1fac488b26eb", + "layer26": "833593aecb9301d3171840f75226b1379de715224b18920f4d21be359716d4f9", + "layer27": "513c0fe524d958e06998e4fbdd601889672bb5d175feec22bd6f425cc95ae9bf", + "layer28": "38e1ac798fa246217788d435e8c7e25e98206e89cdcfcc4507fff13606182a61", + "layer29": "a5e86bf8b42c6d2cbab10c52c3ea18e222f6c8724cc3deaa65b5803dbba5d74d", + "layer3": "8e1c6b7ba30fac0bcc81607334eea991a0d04e5d9c02acfc0274575e183bc5c9", + "layer30": "5dec33a64a0569d9f4d641af779fefe2c527824bcd77cb6b1f4b2570b53cc271", + "layer31": "99b8834ea1cea98434b36c2c45cfd5246429f9f199b929faa51c15f0658a37fa", + "layer32": "9efea28b40528f9db8f89de7a66a0915ac244b67553e9ef0fae1450604df3a4a", + "layer33": "a4fbb3f6d7f93a99c974b884465540e3b47445104e9a25e7e2f3ef86647e7414", + "layer34": "93dd16c8ad84282ac82a6f314ed39768b4bd59f0ea78a07fe955900af538e06a", + "layer35": "e5ffdd32e3516bd99454e923030f1cd79ee8654e422617ff091137577d6e48bd", + "layer36": "058e4cbe9a293901ebe788705c9b605ff4f4c08ddd441d1e491c863a41aab4db", + "layer37": "46815aeb1d2deaf091874375fc8825ccdb13e352294b91f6aac2bb1892b8d1b0", + "layer38": "dd6b0649ab2913169442e7940c7ec8fd79c541661d0107338422e14502898f19", + "layer39": "6fa5682c6945248958d8d23b9389ebf7c9d32c56e78a42e782754f10893ec2a5", + "layer4": "a962e220b11a098343125bd6c1e72e8046b77cf01cf07e8ce1e017f9172dec40", + "layer40": "6620dbca305347d3506d51133f0f1bd17c8f2f273e66a20e68e2c37a318448fe", + "layer41": "69d542304325d81e8993b51e091eb9c640005b3a5d9f2bc53269bbe19725d228", + "layer42": "9eb75c5d8e4a023935afa4226ecd6d5e45a073174592c15f868b5e7c4d40cdf9", + "layer43": "0437745431165a309f415d71c2b5d72b6fffe636125e12548df297c49e02fb32", + "layer44": "9fd94119c31cd46375f3ed48b6c6abc2f4aa9288dd1f126b6e1f6e4952ef4650", + "layer45": "ee55dc4a0774bd68a3437da03757786bf1712f0da5660c14f8f0e8158fcc3416", + "layer46": "592e044e4e076f3d6399fee820d0e0fd2256d5d0229857a4ab816549eaf54d8c", + "layer47": "53b18eeb8f959ee68c1dbe6d7c1a736d9568003ebcc056dab4ccdf642268bf3a", + "layer5": "4e5e5abb6186be0317f3f0340e90805fa648fbb7ffbf3ad995b1aa985934d4ec", + "layer6": "957936c76afb2fcfc011044f7baab6b1c543ed336ff8153bcb4af0d9999b0b20", + "layer7": "227935751930038ee22170fba01eff8ed0c3dc5cce10247f4c3864a5cdf53622", + "layer8": "875baabaf0513bb51f6b3964a7ff05093f64356b1210f5fe414dd8ef9dc2985a", + "layer9": "dc361d2ebfad139d3f516dc4ab004ab2392c1cc894b8965b9a3af726fd1a8485" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update2/p1024-b1-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update2/p1024-b1-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "8bfa421b3631538ba04f8bd1f670c5485b24aeec8d657b12f15038d440efa266", + "layer0": "6df8d2b361cc8ebfd2fa4bdfb4f25702c24d211e79ef4d93aa106ea82315c129", + "layer1": "92d24c253a17704b7d5e4eb9636172c56d04c5f06b3ab26c5a897bc7ae6a3426", + "layer10": "c830e7ff8f253e88dd6f87822981e930d9741b799498fac87678b8d62ea14241", + "layer11": "0c06ab9dc203276681d3dc626e5405207937d568b4201b95da454eb92d88df96", + "layer12": "bd3e5e77e8057e5d86b5f6a5526651ccda025b73e47b3f32b46af23b505531a5", + "layer13": "1c1f66038d4701ca62a47ecd73f23bb63644db1dca1260c3c56721e5313c69c3", + "layer14": "c6a86951242558ebe5337b4c54e62a3e3f523d02fa373278d6932d0813cc51d7", + "layer15": "dda8b10d632e38d16a53d998a7afa600b8ea0d86634b073878debc0acc040e1f", + "layer16": "2ad615d0d9873212016b488d31460de8b09c0bfa268ff00f8a593c27c5e322b9", + "layer17": "1c61d906b4c33656d14a32842419ffcec2b59b1db8a7800c320ba01a52fc108e", + "layer18": "b01973f9d9f0db61596646d8bf8b3070a30f2c88d62c6bd17275f0654230bda8", + "layer19": "1a7b37911385b7be4c2e8e084bb1a7c4604a6de2d9f3a6bb557f89e0e3dc2409", + "layer2": "e6c32e65028aeb965a04c7aa1440e770df92d3d3e3be6f99bae8f031b8e9ddd1", + "layer20": "ca55e60a8d3511f2973dc71cd4caa52c7d319f64131532fe6d60b869db403813", + "layer21": "af4e9900b21d4ff9ab37f0792e2d35ddc65fdc5331462b7edb89aaed1dfded6c", + "layer22": "a6fd9aa9584590a15a456e4149f000ba3eb197ba9002cc7468510510110181c1", + "layer23": "2b73574ae039e140d7664625fd478e46f1c82a61b4c94ed30fa8398bd50475f6", + "layer24": "027167505fd933bced4bacfd6f4e90b331927376cd631f8ff54ba5e7262bc55a", + "layer25": "5ca69f44e46c37658faf1129c159a719c98486ffa6e1a2b7d55dd2aea3144336", + "layer26": "4838c33504f6dc28e7e8c76578f61130c7d5c61791d81c513e5b85ac86e71658", + "layer27": "f6b7a7797da5c5d17cb409f1f08ef8712c3974fa2ac278e4bbee1ef5ff50891a", + "layer28": "6b9fb34be8284a7cb7db5be7e7405c61c44ef1b46464b1385c6a5c4f4fdc466b", + "layer29": "7e36f0a6e963eae0581040ac2b95cde35f8ee0118ea3cb6b961627e9d7154fd1", + "layer3": "a4f1204b59574af4082b5c7129350562dc074e1fce0dcf7b1bf3b205136b17a2", + "layer30": "fa3b6de067f9944ea54f94472444034b866d7198684bbe125b7828b6e69f795b", + "layer31": "69a05581ff31cb4aa0d0fe10d2c4035686cd240ea6e08702e6b0f665c4dbdf79", + "layer32": "2aca52a5afa6cc2fe6f312fe65e45cf076bc852a320618236db7e444a7af1ec7", + "layer33": "fc1ae9c4b0c5637a5a2becb05a102a824de02089597bfa33e9e8a7aa9ce09191", + "layer34": "d2c23b63ea53ccca726712977bdaec074e152b0fbb37993b743a7ba5d2135c70", + "layer35": "c097b0af8b2a93629d292cd01a69fde34f1439e161a2148d35fda850cc6373f3", + "layer36": "b8fb8d2d5d7d688e590e2f80a2e6618c0d3a38924b849a6209fe660454f8a3db", + "layer37": "2539f8fcfd1d8d21ddd740eeb4326a35b354d090dd2aa11db9e713ae7f6d135a", + "layer38": "5b99d0c25a04a03529213cd2a01735ef47ab6298d2446b79efff97180fa8fcac", + "layer39": "4db2c247e4c1e723c65ae1211c7a6dceb8c7d25b966e653b4c5bb86025de2366", + "layer4": "e615253cb3f9caa31ad4cf605e29ecf632bafd30b3f881a380c0c6749c3d24b9", + "layer40": "7ac219d9dd660a2dadfc782778a624ad2572a32b97011b3273c91c978505c27d", + "layer41": "65b39bd03748da4e93434917ffc1a8754c828bc977d2feb1f942d34d65e17df3", + "layer42": "688694106045c73b4e3aeeaf3affb681dd7338b6b9d4e5de8a667debfa66f639", + "layer43": "14033b7eaf6955dac46b5298f066f0c363cbf627560ac00c91a07cd259aee001", + "layer44": "9c7a1cc083a0bc562fa67a6ee9ab623bec1cef087d25b1cf7807296072cae035", + "layer45": "7c3d922519f492c5a4c8fa475579d98a79913d75117244d2f49cae6a70d5c4a7", + "layer46": "9c1cd3bfa0830fbabd6ed33b4dabbe4d7c13ba347bb73e28a3926462d8e11911", + "layer47": "90d05bb1ad0d1194a9611cf7da60513204e9326e0e9381617ddfcca9b7404ce4", + "layer5": "a9f1b4bbd53a34a5f400c931bbb3b3963024ab90fd8c20da0bc30df64c5e0d3f", + "layer6": "8dd2a6a84d43ab22d206c63c6c2eeca496cd7eb0ea98229957878a4de9c46571", + "layer7": "9a1c29c45835f052080433c01a0fc530e8aa12b43b27f96a75adc056ba37cac2", + "layer8": "be5a6f96b349c962e7a301517e30dc1df70120cf0182e9129078f10e7ea5a6a2", + "layer9": "b36971c8aae515654eb9ab493bf74625fa67ff4bacfe71401817f66ef1e1fa75" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update2/p1024-b1-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update2/p1024-b1-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 16, + "node_digests": { + "embedding": "8bfa421b3631538ba04f8bd1f670c5485b24aeec8d657b12f15038d440efa266", + "layer0": "6df8d2b361cc8ebfd2fa4bdfb4f25702c24d211e79ef4d93aa106ea82315c129", + "layer1": "92d24c253a17704b7d5e4eb9636172c56d04c5f06b3ab26c5a897bc7ae6a3426", + "layer10": "c830e7ff8f253e88dd6f87822981e930d9741b799498fac87678b8d62ea14241", + "layer11": "0c06ab9dc203276681d3dc626e5405207937d568b4201b95da454eb92d88df96", + "layer12": "bd3e5e77e8057e5d86b5f6a5526651ccda025b73e47b3f32b46af23b505531a5", + "layer13": "1c1f66038d4701ca62a47ecd73f23bb63644db1dca1260c3c56721e5313c69c3", + "layer14": "c6a86951242558ebe5337b4c54e62a3e3f523d02fa373278d6932d0813cc51d7", + "layer15": "dda8b10d632e38d16a53d998a7afa600b8ea0d86634b073878debc0acc040e1f", + "layer16": "2ad615d0d9873212016b488d31460de8b09c0bfa268ff00f8a593c27c5e322b9", + "layer17": "1c61d906b4c33656d14a32842419ffcec2b59b1db8a7800c320ba01a52fc108e", + "layer18": "b01973f9d9f0db61596646d8bf8b3070a30f2c88d62c6bd17275f0654230bda8", + "layer19": "1a7b37911385b7be4c2e8e084bb1a7c4604a6de2d9f3a6bb557f89e0e3dc2409", + "layer2": "e6c32e65028aeb965a04c7aa1440e770df92d3d3e3be6f99bae8f031b8e9ddd1", + "layer20": "ca55e60a8d3511f2973dc71cd4caa52c7d319f64131532fe6d60b869db403813", + "layer21": "af4e9900b21d4ff9ab37f0792e2d35ddc65fdc5331462b7edb89aaed1dfded6c", + "layer22": "a6fd9aa9584590a15a456e4149f000ba3eb197ba9002cc7468510510110181c1", + "layer23": "2b73574ae039e140d7664625fd478e46f1c82a61b4c94ed30fa8398bd50475f6", + "layer24": "027167505fd933bced4bacfd6f4e90b331927376cd631f8ff54ba5e7262bc55a", + "layer25": "5ca69f44e46c37658faf1129c159a719c98486ffa6e1a2b7d55dd2aea3144336", + "layer26": "4838c33504f6dc28e7e8c76578f61130c7d5c61791d81c513e5b85ac86e71658", + "layer27": "f6b7a7797da5c5d17cb409f1f08ef8712c3974fa2ac278e4bbee1ef5ff50891a", + "layer28": "6b9fb34be8284a7cb7db5be7e7405c61c44ef1b46464b1385c6a5c4f4fdc466b", + "layer29": "7e36f0a6e963eae0581040ac2b95cde35f8ee0118ea3cb6b961627e9d7154fd1", + "layer3": "a4f1204b59574af4082b5c7129350562dc074e1fce0dcf7b1bf3b205136b17a2", + "layer30": "fa3b6de067f9944ea54f94472444034b866d7198684bbe125b7828b6e69f795b", + "layer31": "69a05581ff31cb4aa0d0fe10d2c4035686cd240ea6e08702e6b0f665c4dbdf79", + "layer32": "2aca52a5afa6cc2fe6f312fe65e45cf076bc852a320618236db7e444a7af1ec7", + "layer33": "fc1ae9c4b0c5637a5a2becb05a102a824de02089597bfa33e9e8a7aa9ce09191", + "layer34": "d2c23b63ea53ccca726712977bdaec074e152b0fbb37993b743a7ba5d2135c70", + "layer35": "c097b0af8b2a93629d292cd01a69fde34f1439e161a2148d35fda850cc6373f3", + "layer36": "b8fb8d2d5d7d688e590e2f80a2e6618c0d3a38924b849a6209fe660454f8a3db", + "layer37": "2539f8fcfd1d8d21ddd740eeb4326a35b354d090dd2aa11db9e713ae7f6d135a", + "layer38": "5b99d0c25a04a03529213cd2a01735ef47ab6298d2446b79efff97180fa8fcac", + "layer39": "4db2c247e4c1e723c65ae1211c7a6dceb8c7d25b966e653b4c5bb86025de2366", + "layer4": "e615253cb3f9caa31ad4cf605e29ecf632bafd30b3f881a380c0c6749c3d24b9", + "layer40": "7ac219d9dd660a2dadfc782778a624ad2572a32b97011b3273c91c978505c27d", + "layer41": "65b39bd03748da4e93434917ffc1a8754c828bc977d2feb1f942d34d65e17df3", + "layer42": "688694106045c73b4e3aeeaf3affb681dd7338b6b9d4e5de8a667debfa66f639", + "layer43": "14033b7eaf6955dac46b5298f066f0c363cbf627560ac00c91a07cd259aee001", + "layer44": "9c7a1cc083a0bc562fa67a6ee9ab623bec1cef087d25b1cf7807296072cae035", + "layer45": "7c3d922519f492c5a4c8fa475579d98a79913d75117244d2f49cae6a70d5c4a7", + "layer46": "9c1cd3bfa0830fbabd6ed33b4dabbe4d7c13ba347bb73e28a3926462d8e11911", + "layer47": "90d05bb1ad0d1194a9611cf7da60513204e9326e0e9381617ddfcca9b7404ce4", + "layer5": "a9f1b4bbd53a34a5f400c931bbb3b3963024ab90fd8c20da0bc30df64c5e0d3f", + "layer6": "8dd2a6a84d43ab22d206c63c6c2eeca496cd7eb0ea98229957878a4de9c46571", + "layer7": "9a1c29c45835f052080433c01a0fc530e8aa12b43b27f96a75adc056ba37cac2", + "layer8": "be5a6f96b349c962e7a301517e30dc1df70120cf0182e9129078f10e7ea5a6a2", + "layer9": "b36971c8aae515654eb9ab493bf74625fa67ff4bacfe71401817f66ef1e1fa75" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update2/p1024-b4-chunked": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update2/p1024-b4-chunked", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "302ec348a85adbcdebc6420319567e8e0e5fa9b9538e3fe963606dacbc3fe670", + "layer0": "5a7291fa69d4f1211a2e703257191a70e5a204e80ec4a7e42add420e215b596c", + "layer1": "bc0baaa404ee0b080881428af9cbd9c4d5bbae8c8abc4955d7fa0f52e8374cb2", + "layer10": "ee34fb954744aa032e6eb97b2041e3a86511534f4b2d5d1ac045a1474c0a88e3", + "layer11": "a8bc69884ce864ad88e56801a83746dd1d4f9df6e93ee128eb2b4c2fafbe6890", + "layer12": "487a16c34a62247221a11b367d1e9319e6a4ea08be7faf79efc83ce0dfe54f44", + "layer13": "a30e0d8ce8b71c2d33a9a54f9a80a727c1f21c23220d4dac81f9ae30b94b45b8", + "layer14": "ace5db1cfd15f3f6c243a70c9c80188838c54d22fa7dffaff9400ba3f6e370c5", + "layer15": "89a41362ba8432590b90c69201e3f604b248ce2d0f875640a8317a6d174f00ad", + "layer16": "a6df8500be57a086a3a45d57382f5b72a8460fc7fad3ffdda1de59d76e7ca7be", + "layer17": "9a870e5a1788047323230b3cf1469f9c504764f4adcca0ec284e6a1b45ec4f8e", + "layer18": "36c01c9abed357afa0ce79a8fb0b19e791ee579f0fd828150750f0553d3cb044", + "layer19": "74e5bc2ff5dc463a440536499e822430453fdfe275495bfa6e590d66cd0f32ab", + "layer2": "de005f416150c3303482f04da51ae032fe2c4d5be9fe9470a2044b26cc226f09", + "layer20": "61204d1b812523da6047d7929e7288e063f65a501e4742a1dc7d6118502df37c", + "layer21": "68b20722225ee59b2e3886ee153b4429108758aceedf819a998ef10119ff64d9", + "layer22": "0608a11b4776a2bef1c9bbcd1f6d3478263c5eedd1fac78b074aefa3eae1f02c", + "layer23": "31b4582ae4fbcf787698e81f17bf8bef8379cbd24b0aa17f31850169a92432a8", + "layer24": "e4e7e51a3e595781486870016e36b7183c257ac62fe9deb7456a007acd46ea1c", + "layer25": "519883c0a80c5b7b328e4bd1abc5c84c439e451aee099665befcf9f40ee8477f", + "layer26": "ef0aca5ece89d7d384cc00490fea822597de24ae78e4df5429aa0f77972bcf40", + "layer27": "31e50d5b8f648636c372a9beb5d1af11bd66a8958ac6a71b66fc8028bdaffa5e", + "layer28": "9b93b3d1acad7221c01f88fb09d4b83e1ebb4bea21c6104414386541f6e7fdbd", + "layer29": "31e68c183ec52e62c707cec980d3f5661049966e3a4a906967f528c481aa6d1b", + "layer3": "c61a8d3c691ac7acb635e2e98b9ade83d03a47d09e7bd1370dbacd431e93d219", + "layer30": "dcdddff9688278aa67235d2b70f5d011779a392230bba2cd6f7070826552e9bc", + "layer31": "6caa901cff50655215b44503a7176addd527c9b918456d1e7bbaeab19513b09c", + "layer32": "34f03fda69153ab04197cac049cef164005f37ef881c784169f25609c9b3e4ff", + "layer33": "4a51ad9fd668c2887ebf10a24b8213eb3f3b4e6b296552446109bf952f9b3f0a", + "layer34": "ac1a24d9daaa0e31e856af0b6690643ddf2f4906ef44bac9de84ca8c10035684", + "layer35": "ea1ffb9dce3bd2aa9736d910b9c208be5968972d7b827ec81189acff2dab893d", + "layer36": "34b7baad0a83838f496d905d58246e9b8221a204ceffeb73ca47d34eb253c9a5", + "layer37": "eab8be8493f17348147ec8f9e0a420b96a690807b7194052efbfeaef39574ec9", + "layer38": "122a54016e8457d867a9268e51065e700e088852094b9e5666cd6b1ffd6fd47c", + "layer39": "93f9a1b6750c2630051f4a434a37780704cc97e4c7020b78cbf61af20d2f8509", + "layer4": "86d032eea933cda1ece710e470ccd0697a19c4d986b84b4beb96e4ba6ccef0e9", + "layer40": "e18067baca7152102a15ce36bceb80fc36030415d35d2e8e60a6307c5669fb7c", + "layer41": "0b0349b0a9e267e1a706035cabbce695f2bc7ca6a7bbbc20533510f49f450835", + "layer42": "f19a1554871560959d17974c5e162d5ae48d3e868ef02d0a34f0ff4287cd68bd", + "layer43": "d0c317402b6720bd56b24a82cb7f6c456946fb812a025d649a5008223f17787c", + "layer44": "b0a5dfd3963a0a808ba11ee21d87eedfb6ec466f99c0e75e4e91d41c15fbc58a", + "layer45": "c63622532152de15d9d8812d10e600a711d1c579c12a9bffd594833ab7455b24", + "layer46": "4dfe34632fdb9515a8227387a216686dbcecc703d99707c89765cfda31e75341", + "layer47": "173fd1a043a64f85ea1e3c1227518e824adaa247ed7914dbb19a30d7875bcb6b", + "layer5": "315184befd2cf3a8028dfae0b41aa45322c3436de0bf22cfcf5effbc0424d732", + "layer6": "8b302a50641b12352603c871735f24558987588ee86d65cc3c477c3fcc8bdb94", + "layer7": "a9c8115b07ae56e0d48e2dc117d29ac93701323b5c5fcf0502bab134b671e3af", + "layer8": "a7f4b357b2ff28cf22c00fb70e103370809dab4d59d2cd1ab3ced9630b45ca64", + "layer9": "adff84c8c8f6da3fee4bf00128359f9daa12d4990a2f8a8a32bb9c3f8f944063" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + }, + "update2/p1024-b4-full": { + "actual_backend": "qwen3_next_tp4_shared_eager_v1", + "cell_id": "update2/p1024-b4-full", + "first_drift_node": null, + "grad_names": [], + "loss": null, + "n_logp_tokens": 64, + "node_digests": { + "embedding": "302ec348a85adbcdebc6420319567e8e0e5fa9b9538e3fe963606dacbc3fe670", + "layer0": "5a7291fa69d4f1211a2e703257191a70e5a204e80ec4a7e42add420e215b596c", + "layer1": "bc0baaa404ee0b080881428af9cbd9c4d5bbae8c8abc4955d7fa0f52e8374cb2", + "layer10": "ee34fb954744aa032e6eb97b2041e3a86511534f4b2d5d1ac045a1474c0a88e3", + "layer11": "a8bc69884ce864ad88e56801a83746dd1d4f9df6e93ee128eb2b4c2fafbe6890", + "layer12": "487a16c34a62247221a11b367d1e9319e6a4ea08be7faf79efc83ce0dfe54f44", + "layer13": "a30e0d8ce8b71c2d33a9a54f9a80a727c1f21c23220d4dac81f9ae30b94b45b8", + "layer14": "ace5db1cfd15f3f6c243a70c9c80188838c54d22fa7dffaff9400ba3f6e370c5", + "layer15": "89a41362ba8432590b90c69201e3f604b248ce2d0f875640a8317a6d174f00ad", + "layer16": "a6df8500be57a086a3a45d57382f5b72a8460fc7fad3ffdda1de59d76e7ca7be", + "layer17": "9a870e5a1788047323230b3cf1469f9c504764f4adcca0ec284e6a1b45ec4f8e", + "layer18": "36c01c9abed357afa0ce79a8fb0b19e791ee579f0fd828150750f0553d3cb044", + "layer19": "74e5bc2ff5dc463a440536499e822430453fdfe275495bfa6e590d66cd0f32ab", + "layer2": "de005f416150c3303482f04da51ae032fe2c4d5be9fe9470a2044b26cc226f09", + "layer20": "61204d1b812523da6047d7929e7288e063f65a501e4742a1dc7d6118502df37c", + "layer21": "68b20722225ee59b2e3886ee153b4429108758aceedf819a998ef10119ff64d9", + "layer22": "0608a11b4776a2bef1c9bbcd1f6d3478263c5eedd1fac78b074aefa3eae1f02c", + "layer23": "31b4582ae4fbcf787698e81f17bf8bef8379cbd24b0aa17f31850169a92432a8", + "layer24": "e4e7e51a3e595781486870016e36b7183c257ac62fe9deb7456a007acd46ea1c", + "layer25": "519883c0a80c5b7b328e4bd1abc5c84c439e451aee099665befcf9f40ee8477f", + "layer26": "ef0aca5ece89d7d384cc00490fea822597de24ae78e4df5429aa0f77972bcf40", + "layer27": "31e50d5b8f648636c372a9beb5d1af11bd66a8958ac6a71b66fc8028bdaffa5e", + "layer28": "9b93b3d1acad7221c01f88fb09d4b83e1ebb4bea21c6104414386541f6e7fdbd", + "layer29": "31e68c183ec52e62c707cec980d3f5661049966e3a4a906967f528c481aa6d1b", + "layer3": "c61a8d3c691ac7acb635e2e98b9ade83d03a47d09e7bd1370dbacd431e93d219", + "layer30": "dcdddff9688278aa67235d2b70f5d011779a392230bba2cd6f7070826552e9bc", + "layer31": "6caa901cff50655215b44503a7176addd527c9b918456d1e7bbaeab19513b09c", + "layer32": "34f03fda69153ab04197cac049cef164005f37ef881c784169f25609c9b3e4ff", + "layer33": "4a51ad9fd668c2887ebf10a24b8213eb3f3b4e6b296552446109bf952f9b3f0a", + "layer34": "ac1a24d9daaa0e31e856af0b6690643ddf2f4906ef44bac9de84ca8c10035684", + "layer35": "ea1ffb9dce3bd2aa9736d910b9c208be5968972d7b827ec81189acff2dab893d", + "layer36": "34b7baad0a83838f496d905d58246e9b8221a204ceffeb73ca47d34eb253c9a5", + "layer37": "eab8be8493f17348147ec8f9e0a420b96a690807b7194052efbfeaef39574ec9", + "layer38": "122a54016e8457d867a9268e51065e700e088852094b9e5666cd6b1ffd6fd47c", + "layer39": "93f9a1b6750c2630051f4a434a37780704cc97e4c7020b78cbf61af20d2f8509", + "layer4": "86d032eea933cda1ece710e470ccd0697a19c4d986b84b4beb96e4ba6ccef0e9", + "layer40": "e18067baca7152102a15ce36bceb80fc36030415d35d2e8e60a6307c5669fb7c", + "layer41": "0b0349b0a9e267e1a706035cabbce695f2bc7ca6a7bbbc20533510f49f450835", + "layer42": "f19a1554871560959d17974c5e162d5ae48d3e868ef02d0a34f0ff4287cd68bd", + "layer43": "d0c317402b6720bd56b24a82cb7f6c456946fb812a025d649a5008223f17787c", + "layer44": "b0a5dfd3963a0a808ba11ee21d87eedfb6ec466f99c0e75e4e91d41c15fbc58a", + "layer45": "c63622532152de15d9d8812d10e600a711d1c579c12a9bffd594833ab7455b24", + "layer46": "4dfe34632fdb9515a8227387a216686dbcecc703d99707c89765cfda31e75341", + "layer47": "173fd1a043a64f85ea1e3c1227518e824adaa247ed7914dbb19a30d7875bcb6b", + "layer5": "315184befd2cf3a8028dfae0b41aa45322c3436de0bf22cfcf5effbc0424d732", + "layer6": "8b302a50641b12352603c871735f24558987588ee86d65cc3c477c3fcc8bdb94", + "layer7": "a9c8115b07ae56e0d48e2dc117d29ac93701323b5c5fcf0502bab134b671e3af", + "layer8": "a7f4b357b2ff28cf22c00fb70e103370809dab4d59d2cd1ab3ced9630b45ca64", + "layer9": "adff84c8c8f6da3fee4bf00128359f9daa12d4990a2f8a8a32bb9c3f8f944063" + }, + "requested_backend": "qwen3_next_tp4_shared_eager_v1" + } + }, + "compatible_schema": "ws1-c10-c11-v5", + "compute_capability": null, + "config_fingerprint": { + "ep": 1, + "model": "Qwen3-Next-80B-A3B-Instruct", + "pp": 1, + "tp": 4 + }, + "decode_prefill": [ + { + "aggregates": { + "active_token_count": 16, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "baseline/p0008-b1-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 64, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "baseline/p0008-b4-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 16, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "baseline/p0064-b1-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 64, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "baseline/p0064-b4-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 16, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "baseline/p0256-b1-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 64, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "baseline/p0256-b4-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 16, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "baseline/p1024-b1-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 64, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "baseline/p1024-b4-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 16, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "update1/p0008-b1-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 64, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "update1/p0008-b4-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 16, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "update1/p0064-b1-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 64, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "update1/p0064-b4-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 16, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "update1/p0256-b1-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 64, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "update1/p0256-b4-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 16, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "update1/p1024-b1-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 64, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "update1/p1024-b4-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 16, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "update2/p0008-b1-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 64, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "update2/p0008-b4-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 16, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "update2/p0064-b1-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 64, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "update2/p0064-b4-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 16, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "update2/p0256-b1-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 64, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "update2/p0256-b4-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 16, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "update2/p1024-b1-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 64, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "update2/p1024-b4-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 16, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "reload/p0008-b1-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 64, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "reload/p0008-b4-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 16, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "reload/p0064-b1-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 64, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "reload/p0064-b4-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 16, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "reload/p0256-b1-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 64, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "reload/p0256-b4-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 16, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "reload/p1024-b1-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + { + "aggregates": { + "active_token_count": 64, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "case_id": "reload/p1024-b4-chunked", + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + } + ], + "device": "cuda", + "disclaimer": "Qwen3-Next-80B-A3B-Instruct, TP4 x EP1, BF16, strict shared providers. Cells are the 16-case raw-bit L2 matrix (prompt 8/64/256/1024 x batch 1/4 x full/chunked prefill, 16 response tokens) at each weight version; rollout is native vLLM prefill and decode, replay is VIME recompute. Gradients are judged by the training stages (two updates, reload and resumption), not by C11 gradient rows, so gradient fields are empty here.", + "first_drift": null, + "first_drift_cell": null, + "first_drift_family": null, + "first_drift_layer": null, + "fixture_hash": "b59298acf5ecbe64abb4639e7596e052f1993ee5e3c7289b63738f1b04463d01", + "gpu_name": null, + "gradient_accuracy": [], + "gradient_accuracy_executed": false, + "gradient_invariance": [], + "gradient_scope": "training_stage_reports", + "invariance": [ + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p0008-b1-full/rollout", + "baseline/p0008-b1-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p0008-b1-full/rollout", + "baseline/p0008-b1-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p0008-b1-chunked/rollout", + "baseline/p0008-b1-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p0008-b1-chunked/rollout", + "baseline/p0008-b1-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p0008-b4-full/rollout", + "baseline/p0008-b4-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p0008-b4-full/rollout", + "baseline/p0008-b4-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p0008-b4-chunked/rollout", + "baseline/p0008-b4-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p0008-b4-chunked/rollout", + "baseline/p0008-b4-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p0064-b1-full/rollout", + "baseline/p0064-b1-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p0064-b1-full/rollout", + "baseline/p0064-b1-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p0064-b1-chunked/rollout", + "baseline/p0064-b1-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p0064-b1-chunked/rollout", + "baseline/p0064-b1-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p0064-b4-full/rollout", + "baseline/p0064-b4-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p0064-b4-full/rollout", + "baseline/p0064-b4-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p0064-b4-chunked/rollout", + "baseline/p0064-b4-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p0064-b4-chunked/rollout", + "baseline/p0064-b4-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p0256-b1-full/rollout", + "baseline/p0256-b1-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p0256-b1-full/rollout", + "baseline/p0256-b1-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p0256-b1-chunked/rollout", + "baseline/p0256-b1-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p0256-b1-chunked/rollout", + "baseline/p0256-b1-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p0256-b4-full/rollout", + "baseline/p0256-b4-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p0256-b4-full/rollout", + "baseline/p0256-b4-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p0256-b4-chunked/rollout", + "baseline/p0256-b4-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p0256-b4-chunked/rollout", + "baseline/p0256-b4-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p1024-b1-full/rollout", + "baseline/p1024-b1-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p1024-b1-full/rollout", + "baseline/p1024-b1-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p1024-b1-chunked/rollout", + "baseline/p1024-b1-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p1024-b1-chunked/rollout", + "baseline/p1024-b1-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p1024-b4-full/rollout", + "baseline/p1024-b4-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p1024-b4-full/rollout", + "baseline/p1024-b4-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p1024-b4-chunked/rollout", + "baseline/p1024-b4-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "baseline/p1024-b4-chunked/rollout", + "baseline/p1024-b4-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p0008-b1-full/rollout", + "update1/p0008-b1-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p0008-b1-full/rollout", + "update1/p0008-b1-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p0008-b1-chunked/rollout", + "update1/p0008-b1-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p0008-b1-chunked/rollout", + "update1/p0008-b1-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p0008-b4-full/rollout", + "update1/p0008-b4-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p0008-b4-full/rollout", + "update1/p0008-b4-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p0008-b4-chunked/rollout", + "update1/p0008-b4-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p0008-b4-chunked/rollout", + "update1/p0008-b4-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p0064-b1-full/rollout", + "update1/p0064-b1-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p0064-b1-full/rollout", + "update1/p0064-b1-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p0064-b1-chunked/rollout", + "update1/p0064-b1-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p0064-b1-chunked/rollout", + "update1/p0064-b1-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p0064-b4-full/rollout", + "update1/p0064-b4-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p0064-b4-full/rollout", + "update1/p0064-b4-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p0064-b4-chunked/rollout", + "update1/p0064-b4-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p0064-b4-chunked/rollout", + "update1/p0064-b4-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p0256-b1-full/rollout", + "update1/p0256-b1-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p0256-b1-full/rollout", + "update1/p0256-b1-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p0256-b1-chunked/rollout", + "update1/p0256-b1-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p0256-b1-chunked/rollout", + "update1/p0256-b1-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p0256-b4-full/rollout", + "update1/p0256-b4-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p0256-b4-full/rollout", + "update1/p0256-b4-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p0256-b4-chunked/rollout", + "update1/p0256-b4-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p0256-b4-chunked/rollout", + "update1/p0256-b4-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p1024-b1-full/rollout", + "update1/p1024-b1-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p1024-b1-full/rollout", + "update1/p1024-b1-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p1024-b1-chunked/rollout", + "update1/p1024-b1-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p1024-b1-chunked/rollout", + "update1/p1024-b1-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p1024-b4-full/rollout", + "update1/p1024-b4-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p1024-b4-full/rollout", + "update1/p1024-b4-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p1024-b4-chunked/rollout", + "update1/p1024-b4-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update1/p1024-b4-chunked/rollout", + "update1/p1024-b4-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p0008-b1-full/rollout", + "update2/p0008-b1-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p0008-b1-full/rollout", + "update2/p0008-b1-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p0008-b1-chunked/rollout", + "update2/p0008-b1-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p0008-b1-chunked/rollout", + "update2/p0008-b1-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p0008-b4-full/rollout", + "update2/p0008-b4-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p0008-b4-full/rollout", + "update2/p0008-b4-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p0008-b4-chunked/rollout", + "update2/p0008-b4-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p0008-b4-chunked/rollout", + "update2/p0008-b4-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p0064-b1-full/rollout", + "update2/p0064-b1-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p0064-b1-full/rollout", + "update2/p0064-b1-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p0064-b1-chunked/rollout", + "update2/p0064-b1-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p0064-b1-chunked/rollout", + "update2/p0064-b1-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p0064-b4-full/rollout", + "update2/p0064-b4-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p0064-b4-full/rollout", + "update2/p0064-b4-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p0064-b4-chunked/rollout", + "update2/p0064-b4-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p0064-b4-chunked/rollout", + "update2/p0064-b4-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p0256-b1-full/rollout", + "update2/p0256-b1-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p0256-b1-full/rollout", + "update2/p0256-b1-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p0256-b1-chunked/rollout", + "update2/p0256-b1-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p0256-b1-chunked/rollout", + "update2/p0256-b1-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p0256-b4-full/rollout", + "update2/p0256-b4-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p0256-b4-full/rollout", + "update2/p0256-b4-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p0256-b4-chunked/rollout", + "update2/p0256-b4-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p0256-b4-chunked/rollout", + "update2/p0256-b4-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p1024-b1-full/rollout", + "update2/p1024-b1-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p1024-b1-full/rollout", + "update2/p1024-b1-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p1024-b1-chunked/rollout", + "update2/p1024-b1-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p1024-b1-chunked/rollout", + "update2/p1024-b1-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p1024-b4-full/rollout", + "update2/p1024-b4-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p1024-b4-full/rollout", + "update2/p1024-b4-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p1024-b4-chunked/rollout", + "update2/p1024-b4-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "update2/p1024-b4-chunked/rollout", + "update2/p1024-b4-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p0008-b1-full/rollout", + "reload/p0008-b1-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p0008-b1-full/rollout", + "reload/p0008-b1-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p0008-b1-chunked/rollout", + "reload/p0008-b1-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p0008-b1-chunked/rollout", + "reload/p0008-b1-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p0008-b4-full/rollout", + "reload/p0008-b4-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p0008-b4-full/rollout", + "reload/p0008-b4-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p0008-b4-chunked/rollout", + "reload/p0008-b4-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p0008-b4-chunked/rollout", + "reload/p0008-b4-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p0064-b1-full/rollout", + "reload/p0064-b1-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p0064-b1-full/rollout", + "reload/p0064-b1-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p0064-b1-chunked/rollout", + "reload/p0064-b1-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p0064-b1-chunked/rollout", + "reload/p0064-b1-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p0064-b4-full/rollout", + "reload/p0064-b4-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p0064-b4-full/rollout", + "reload/p0064-b4-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p0064-b4-chunked/rollout", + "reload/p0064-b4-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p0064-b4-chunked/rollout", + "reload/p0064-b4-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p0256-b1-full/rollout", + "reload/p0256-b1-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p0256-b1-full/rollout", + "reload/p0256-b1-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p0256-b1-chunked/rollout", + "reload/p0256-b1-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p0256-b1-chunked/rollout", + "reload/p0256-b1-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p0256-b4-full/rollout", + "reload/p0256-b4-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p0256-b4-full/rollout", + "reload/p0256-b4-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p0256-b4-chunked/rollout", + "reload/p0256-b4-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p0256-b4-chunked/rollout", + "reload/p0256-b4-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p1024-b1-full/rollout", + "reload/p1024-b1-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p1024-b1-full/rollout", + "reload/p1024-b1-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p1024-b1-chunked/rollout", + "reload/p1024-b1-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p1024-b1-chunked/rollout", + "reload/p1024-b1-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 1, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p1024-b4-full/rollout", + "reload/p1024-b4-full/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p1024-b4-full/rollout", + "reload/p1024-b4-full/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p1024-b4-chunked/rollout", + "reload/p1024-b4-chunked/recompute" + ], + "dtype": "float32", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16 + ], + "tensor_name": "logprobs" + }, + { + "atol": 0.0, + "comparison_lhs_role": "transformed_config", + "comparison_rhs_role": "canonical_config", + "config_pair": [ + "reload/p1024-b4-chunked/rollout", + "reload/p1024-b4-chunked/recompute" + ], + "dtype": "bfloat16", + "judgment": "forward_invariance", + "max_abs_error": 0.0, + "max_rel_error": 0.0, + "mean_abs_error": 0.0, + "passed": true, + "rtol": 0.0, + "shape": [ + 4, + 16, + 151936 + ], + "tensor_name": "logits" + } + ], + "measured_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "passed": true, + "representative_case_ids": [ + "baseline/p0008-b1-full", + "baseline/p0008-b1-chunked", + "baseline/p0008-b4-full", + "baseline/p0008-b4-chunked", + "baseline/p0064-b1-full", + "baseline/p0064-b1-chunked", + "baseline/p0064-b4-full", + "baseline/p0064-b4-chunked", + "baseline/p0256-b1-full", + "baseline/p0256-b1-chunked", + "baseline/p0256-b4-full", + "baseline/p0256-b4-chunked", + "baseline/p1024-b1-full", + "baseline/p1024-b1-chunked", + "baseline/p1024-b4-full", + "baseline/p1024-b4-chunked", + "update1/p0008-b1-full", + "update1/p0008-b1-chunked", + "update1/p0008-b4-full", + "update1/p0008-b4-chunked", + "update1/p0064-b1-full", + "update1/p0064-b1-chunked", + "update1/p0064-b4-full", + "update1/p0064-b4-chunked", + "update1/p0256-b1-full", + "update1/p0256-b1-chunked", + "update1/p0256-b4-full", + "update1/p0256-b4-chunked", + "update1/p1024-b1-full", + "update1/p1024-b1-chunked", + "update1/p1024-b4-full", + "update1/p1024-b4-chunked", + "update2/p0008-b1-full", + "update2/p0008-b1-chunked", + "update2/p0008-b4-full", + "update2/p0008-b4-chunked", + "update2/p0064-b1-full", + "update2/p0064-b1-chunked", + "update2/p0064-b4-full", + "update2/p0064-b4-chunked", + "update2/p0256-b1-full", + "update2/p0256-b1-chunked", + "update2/p0256-b4-full", + "update2/p0256-b4-chunked", + "update2/p1024-b1-full", + "update2/p1024-b1-chunked", + "update2/p1024-b4-full", + "update2/p1024-b4-chunked", + "reload/p0008-b1-full", + "reload/p0008-b1-chunked", + "reload/p0008-b4-full", + "reload/p0008-b4-chunked", + "reload/p0064-b1-full", + "reload/p0064-b1-chunked", + "reload/p0064-b4-full", + "reload/p0064-b4-chunked", + "reload/p0256-b1-full", + "reload/p0256-b1-chunked", + "reload/p0256-b4-full", + "reload/p0256-b4-chunked", + "reload/p1024-b1-full", + "reload/p1024-b1-chunked", + "reload/p1024-b4-full", + "reload/p1024-b4-chunked" + ], + "required_grad_names": [], + "runtime_backend_observations": {}, + "schema_version": "qwen3-next-chain-v1", + "seed": 1234, + "train_infer": { + "aggregates": { + "active_token_count": 2560, + "approx_kl0": 0.0, + "clip_interval": [ + 0.8, + 1.2 + ], + "clipfrac0": 0.0, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "max_abs_dlogp": 0.0, + "report_kind": "train_infer_logprob_parity" + }, + "comparison_lhs_role": "training_style_teacher_forcing", + "comparison_rhs_role": "inference_style_rollout_decode", + "metrics": [ + { + "metric": "max_abs_dlogp", + "passed": true, + "threshold": 0.06, + "value": 0.0 + }, + { + "metric": "approx_kl0", + "passed": true, + "threshold": 0.05, + "value": 0.0 + }, + { + "metric": "clipfrac0", + "passed": true, + "threshold": 0.0, + "value": 0.0 + } + ], + "passed": true, + "report_kind": "train_infer_logprob_parity" + }, + "train_infer_bn": null, + "train_infer_executed": true, + "weight_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "weight_source": "Qwen/Qwen3-Next-80B-A3B-Instruct@9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "weight_versions": [ + "baseline", + "update1", + "update2", + "reload" + ], + "workflow_url": null, + "workload_id": "qwen3-next-l2-matrix-16", + "workload_seed": 1234 +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/figure.png b/docs/usage/evidence/qwen3-next-chain-b200/figure.png new file mode 100644 index 000000000..9fbe01b47 Binary files /dev/null and b/docs/usage/evidence/qwen3-next-chain-b200/figure.png differ diff --git a/docs/usage/evidence/qwen3-next-chain-b200/l2/environment.json b/docs/usage/evidence/qwen3-next-chain-b200/l2/environment.json new file mode 100644 index 000000000..b4ae8f9a3 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/l2/environment.json @@ -0,0 +1,4511 @@ +{ + "environment": { + "identity": { + "base_prefix": "/miniconda3/envs/rlkernel", + "binary": "/python3.12", + "binary_sha256": "6a1eb3ffc29f3a6b0ece607b016b4cfa5ca3ac57b34f17ed3266b404f78d2729", + "build_tools": { + "ninja": { + "path": "/miniconda3/envs/rlkernel/bin/ninja", + "sha256": "08639e194fffa7f08b259fc4abfa4803aff66b64de52549cee42ec527d55cea6" + } + }, + "distributions": [ + { + "direct_url": null, + "metadata_sha256": "6f1038270be40f9b8c0bcf391c627e7d7f41ccdd19aa192d6eac1dbfc3b19abc", + "name": "GitPython", + "version": "3.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "3f71971502087521f123c9daa26bc12d31d3466738b567390b8602acad3be22a", + "name": "Jinja2", + "version": "3.1.6" + }, + { + "direct_url": null, + "metadata_sha256": "818fb343b7b6b99a32771bf4813521ae6440b4c7579b3ae46e32dd02da0afeee", + "name": "Markdown", + "version": "3.11" + }, + { + "direct_url": null, + "metadata_sha256": "dc1ee42cf8ecfeee0ab60b15b21d291833e0732548efcb7bb5b3564dca3e5bf7", + "name": "MarkupSafe", + "version": "3.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "de7389b142450a0014234286b0876f328439b823c355c73d0aed41fd67ec208c", + "name": "PyJWT", + "version": "2.15.1" + }, + { + "direct_url": null, + "metadata_sha256": "ffcad4415cafb22b8b536a61595e9ee13438b51d31b0763c1b273ce3bc58e840", + "name": "PyYAML", + "version": "6.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "8562d701cc52d9cafbb418942b0e072fc087ed8ddcf35cd10224c1b2ed8bdd91", + "name": "Pygments", + "version": "2.21.0" + }, + { + "direct_url": null, + "metadata_sha256": "b6c25fcfdcc495edf248a10ca4ad28327ef2ed6047a6ec5c6346e121414c7f21", + "name": "Werkzeug", + "version": "3.1.9" + }, + { + "direct_url": null, + "metadata_sha256": "55c400d24c71b581d9c0992f71df6047cf6c878bebe61a7d45d6e02dc0e4c510", + "name": "absl-py", + "version": "2.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "13db521f90a6a882027b2388eaa2ebf252945f9c2adb7e7e371da18239da4df0", + "name": "accelerate", + "version": "1.15.0" + }, + { + "direct_url": null, + "metadata_sha256": "86fe44e38e67872dd895c729044942ba2c2f934ae439a899fb83a186206b7fd4", + "name": "agent-detector", + "version": "2.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "afe11fe9f5aa54e734cdd51659bed8c89dc6bcd5aef0ad96f2d20149c8de5456", + "name": "aiohappyeyeballs", + "version": "2.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "570b307bc0b53fbbd3ed2ce0b7eca6bbf2fa73bf75e24a480f1034d8c0b832bf", + "name": "aiohttp", + "version": "3.14.3" + }, + { + "direct_url": null, + "metadata_sha256": "44b7f8e14c4770793e747fad50c9e0a6ee7357651d878554f192d94768dc14a8", + "name": "aiohttp-cors", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "648813a44a9ae0ab2f20ee86d2404dcc38e3f9e80c63316cf6e536735df14e54", + "name": "aiosignal", + "version": "1.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "f6a3f6668bacef7f73a2c19ccb2be910b2363d1731c4725cb04364d99e24935a", + "name": "annotated-doc", + "version": "0.0.5" + }, + { + "direct_url": null, + "metadata_sha256": "fc6d752cde6a6a4bff03474386de750e130b75da3c7815ee909f45b51fea98c8", + "name": "annotated-types", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "4e89d670a4b20029da30e5a9e8ebcbc844deff9c44209552bafd5537249c8b9e", + "name": "anthropic", + "version": "1.9.0" + }, + { + "direct_url": null, + "metadata_sha256": "b5a6f00800956387fcddab1fe1b5aa8502c249b86cfb16d58ed700f282f60142", + "name": "antlr4-python3-runtime", + "version": "4.9.3" + }, + { + "direct_url": null, + "metadata_sha256": "a6008defa9492cd08250217b134782cad1db4580e1d7ddf69cc2a2a48cea24e0", + "name": "anyio", + "version": "4.15.1" + }, + { + "direct_url": null, + "metadata_sha256": "7877c64ce8957237363f2df313819bb07f50752df016d14c5a5a99bec10f5deb", + "name": "apache-tvm-ffi", + "version": "0.1.11" + }, + { + "direct_url": null, + "metadata_sha256": "3543ca8f0e072c00ab111b20eba99ce86dbf93ada28988775bc2677284b3c07a", + "name": "astor", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "d4b328c09c024fe1e4d788a9c7715ad726095131b815cd35fd933268226f6269", + "name": "attrs", + "version": "26.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "4850c4d696a5e2a2ecbb3dd792b060acc1de79e09800669b0b9fc3a22c055e6d", + "name": "av", + "version": "19.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "863ff92208d0a02dabfa008bfe91846a5c401ded301e5687dca7dc63c911865f", + "name": "babel", + "version": "2.18.0" + }, + { + "direct_url": null, + "metadata_sha256": "f32e6df3197f05202e586624d95c5e217003d80cee655c165d533102f628df21", + "name": "backrefs", + "version": "8.0" + }, + { + "direct_url": null, + "metadata_sha256": "905c362f655fbc6d37a24686efc2b3bfbd3123b8ee5a443a43f6750d87455e90", + "name": "blake3", + "version": "1.0.10" + }, + { + "direct_url": null, + "metadata_sha256": "07c85682b6aefd5c9b48890d306c1604311902295704892ede48e5a83219a8d3", + "name": "blobfile", + "version": "3.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "2d582941a7081625a35f35a0c4a2e80f7737312e29c38e5fdb6fc08f9c113077", + "name": "bracex", + "version": "3.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "3b60c55bae0d0340c3a3fd918635bbfa3087579da66e0fd7f6be7a3782c0da3d", + "name": "cachetools", + "version": "7.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "5d11a6878d5bc3f22290281a19ef7b36daa95c910780950608b95cd788c7e12e", + "name": "cbor2", + "version": "6.1.4" + }, + { + "direct_url": null, + "metadata_sha256": "362c9942c48051f168ed2b9f2146266b7792d3c05e164cd6afc3f3b65884fdc9", + "name": "certifi", + "version": "2026.7.22" + }, + { + "direct_url": null, + "metadata_sha256": "b4abf1bcf1c1d8e0272d8007fc974499ea59e5f2a5b98af3c78a5e67515a9d87", + "name": "cffi", + "version": "2.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "766120f13c177446f51929a4d201104bc935b6d5a2a176cd6716edce757d3d95", + "name": "cfgv", + "version": "3.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "610e9a9d03ce837ffe6e42be5e02e70087f73863f7350bf7bb7f0511edcc5ec0", + "name": "charset-normalizer", + "version": "3.5.2" + }, + { + "direct_url": null, + "metadata_sha256": "7ad836b3147c9702546d9c28b4fa5be23b24445439db5d0d2a58d17281c84daa", + "name": "click", + "version": "8.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "4c5f00599ebcbf11d337e48a72784d256ca3d704fa9e9f5daadd60065e6776b7", + "name": "cloudpickle", + "version": "3.1.2" + }, + { + "direct_url": null, + "metadata_sha256": "a0970189e3ab7a596d6902d5f61f93b414f138f03d3cf19029145657bfceb382", + "name": "cmake", + "version": "4.1.2" + }, + { + "direct_url": null, + "metadata_sha256": "94a6ebf9718e55f254a43ce0d2f04e0d6d44e7141b6f3144a84feb6519a77bfd", + "name": "colorama", + "version": "0.4.6" + }, + { + "direct_url": null, + "metadata_sha256": "ca8ec227f406d970a645ec482b20619128dd34b9cf71159cc24e27db461a2711", + "name": "colorful", + "version": "0.5.8" + }, + { + "direct_url": null, + "metadata_sha256": "bbaa51b7e4d8f142bd075d01257c0572c0c844796d51426e35c8096a13e8da76", + "name": "compressed-tensors", + "version": "0.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "6063d8ff7ebc458d63a4332853d7ababf4ee2b86336362c8d2b12be6e998eb6b", + "name": "connectrpc", + "version": "0.11.1" + }, + { + "direct_url": null, + "metadata_sha256": "ac5f4b5a5f68080bd9c3fe77399fe8a1bff2ee5923c49db1df544dd054cbf15b", + "name": "cryptography", + "version": "50.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "f41d2f6b4616accca2f5e1dd47aa9e8937c28076cde698226d93e727751f3099", + "name": "cuda-bindings", + "version": "13.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "e5ca6ed34c687c6f4a4d157ad0a2cf06ec0316fe8c4c0ddeb666ad76dd6f30f4", + "name": "cuda-core", + "version": "1.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "89baadd9da23dce9990481519544115615ba3cbd2d1a41e09feea7756fffb378", + "name": "cuda-pathfinder", + "version": "1.8.2" + }, + { + "direct_url": null, + "metadata_sha256": "1ab914b9a57ca601df2e3cfe9608427b15d8afb78029076ace5d1caf9fd45f08", + "name": "cuda-python", + "version": "13.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "73d97a5eb578223b4895ef4f234574d14219cef9999ff7d0e92a3d0dd057bd3f", + "name": "cuda-tile", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "ae6f957fe66ed63081d1d83ee6e8838f3a0af2c6fce1223629d0dd6264565ead", + "name": "cuda-toolkit", + "version": "13.0.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "1f8e0ae51ad5feea63f58ed2e24f3da6f23ed548043235a14f7623d961dd9b64", + "name": "datasets", + "version": "5.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "153f4a4d6ff03dbe5c8ad7fe54bc2e7b989a4947b70f7aa77fbf652b394f2a2e", + "name": "depyf", + "version": "0.20.0" + }, + { + "direct_url": null, + "metadata_sha256": "ee09fc752d7271aac93079cfd63409957dc6b536c1ffd9355a01bf7297e72aa6", + "name": "detect-installer", + "version": "0.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "a7feab2c4f69fd5f85e5a3cb495a7f1870a6bf8199dcee5339e8118f7acbdc09", + "name": "dill", + "version": "0.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "fef3fde661fe30ba7bd1d78841a797136b2b3461705bb4eb92dc54f8308bbaae", + "name": "distlib", + "version": "0.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "fef3fde661fe30ba7bd1d78841a797136b2b3461705bb4eb92dc54f8308bbaae", + "name": "distlib", + "version": "0.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "a3ca2e39abe76c4a33d5fe4a2a84375ec9f25cdfdb7e1d8ea406bd6f1603205c", + "name": "dnspython", + "version": "2.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "92a07daad5e6ff461199de14e845d9b376e309ef916ce5379f3c9cd4e3b1623f", + "name": "dockerfile-parse", + "version": "2.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "5b566b25f0cbe4955d0b16844a7cc6d2002caa3bde2dfda7f301fd8870cbaa56", + "name": "docstring_parser", + "version": "0.18.0" + }, + { + "direct_url": null, + "metadata_sha256": "5a1080b5768c6c591e1c4f9c9812cafa808781b9eeb198043bf185e22d4a1613", + "name": "e2b", + "version": "2.51.0" + }, + { + "direct_url": null, + "metadata_sha256": "0a63979e0b946e16238e4339e60d9c1eb5a7ce3ea93dae78b5da9c65a6190540", + "name": "einops", + "version": "0.8.2" + }, + { + "direct_url": null, + "metadata_sha256": "16cbe67a57558f1d4bfdbc22a454434ba301750c57a62b1d3f5361c9e5cddc00", + "name": "email-validator", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "0617ddb55b90b42ddc9398dc7e91d61fe928a2504939f76526dc15b22d238caa", + "name": "fastapi", + "version": "0.136.3" + }, + { + "direct_url": null, + "metadata_sha256": "ddd82b9666c21988e234d623e2575e1b89fd4133260eeab43fc9a7c074f7024a", + "name": "fastapi-cli", + "version": "0.0.32" + }, + { + "direct_url": null, + "metadata_sha256": "611602e834d42e10433155ff5f5581358d732fa6b6f6f7820a8f79e74b1ce1f9", + "name": "fastapi-cloud-cli", + "version": "0.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "794524e4a9659bda6043721d848d028ea49996085a33326094fbaaa3f6e6b895", + "name": "fastar", + "version": "0.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "711401d36e60e10e35beb4d0f1bb42bf0c4d86339ae52f32b9aa4a4d790530dd", + "name": "fastsafetensors", + "version": "0.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "efaea9742e348c4c4bdcc6f616a33cc5aa3ae926494a72a46690b7da2f08ed5c", + "name": "filelock", + "version": "4.0.7" + }, + { + "direct_url": null, + "metadata_sha256": "99bd6c3f10781d3d2d350f2c3c9fc4765b55f25de8a6d6dd1f71501802d1255e", + "name": "fla-core", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "0a6ef979b75295cee2b5293ad4942b0cf2682e9e38680203064e0b70249c1a96", + "name": "flash-linear-attention", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "76b70a11ca82ea4606b529e7a8658cb3fe71412afa46f2ed57101dd91ba27558", + "name": "flashinfer-python", + "version": "0.6.18.post1" + }, + { + "direct_url": null, + "metadata_sha256": "ba8ff415192b5cbb90efce046e2271a00c8184afc362d8b47fbbc84d5e558b05", + "name": "frozenlist", + "version": "1.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "e7712831c80eb13b08fb7f7cc33988a8f24654af9eba7c6f5f943b2636e4306a", + "name": "fsspec", + "version": "2026.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "025de85c794878d0caa737869307447595f514ebf9599eacb5b1a501bae479b6", + "name": "fsspec", + "version": "2026.9.0" + }, + { + "direct_url": null, + "metadata_sha256": "ca94883bdeaa3740b45b6994443b445fd67c6e4a8064ac3bf9d92d2a5221eee8", + "name": "ghp-import", + "version": "2.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "a7e90983562a035cf767baa63d8c32bc37e1de7cad71ac7b6b2bc70a95bba4eb", + "name": "gitdb", + "version": "4.0.12" + }, + { + "direct_url": null, + "metadata_sha256": "dd96143ec79178bef685c1f5c0a58a87a66d003b421e605de65697308321d518", + "name": "google-api-core", + "version": "2.40.0" + }, + { + "direct_url": null, + "metadata_sha256": "0735d57088a83df2355e16843107fb0112abe2178fc5bb8132947a7ad962aa41", + "name": "google-auth", + "version": "2.59.1" + }, + { + "direct_url": null, + "metadata_sha256": "2f3aa9d9500d329560440e6a5a152e420aad5f5bbb23701f45b740be721784a1", + "name": "googleapis-common-protos", + "version": "1.75.5" + }, + { + "direct_url": null, + "metadata_sha256": "06d74ab04fdc03fad368868907f0d10e7d9f397aab58d58965c0b78ffaec34cc", + "name": "griffelib", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "7ee1c179e2c68a62968308b2f96f4f3469176ee3ac8bdb494ac80188d4d41271", + "name": "grpcio", + "version": "1.84.0" + }, + { + "direct_url": null, + "metadata_sha256": "04cf3a4a91575850f386f4fcfdedd8e7fbfba08feff038fbc1296d1e854db2dd", + "name": "h11", + "version": "0.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "b954a6ba4739c0cc878bb8ea27ea7c7154a48bb4b7c06dba9e9cf880cf0ec930", + "name": "h2", + "version": "4.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "6f0d7bf86e75d0bda1ceccc82367c0145ad0ec522c4d4f51bb454f467faadcc9", + "name": "hf-xet", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "f991b847550cf8225f69562902b5ccb591b2ce9a08fe07ef6e6d701bdb4694a7", + "name": "hpack", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "314d194165c4700034c1c67cee847d549a6d7091374c71f2cef0186ec56a3eb9", + "name": "httpcore", + "version": "1.0.9" + }, + { + "direct_url": null, + "metadata_sha256": "aed9767360bed1bcbda71e3b1a3c996603f86558bc77a1693ee3d09973d20cad", + "name": "httpcore2", + "version": "2.13.1" + }, + { + "direct_url": null, + "metadata_sha256": "8fa3bf3510c35e2eea9f523a1cace7120079cf51d76c4acea97de95806aaa14a", + "name": "httptools", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "3bf4804c215d111b6a4702cf9000021ab39807d1ed3207dd011b14b2843b2d14", + "name": "httpx", + "version": "0.28.1" + }, + { + "direct_url": null, + "metadata_sha256": "d11dd50813b8914bd9455e8b2b591171cd2b1618883943153afadc8bb9224678", + "name": "httpx2", + "version": "2.13.1" + }, + { + "direct_url": null, + "metadata_sha256": "43b119c34ad2b2aacc032a1a6a8feb142fdb5ca407a3519325d74dd53d8904df", + "name": "huggingface_hub", + "version": "1.33.0" + }, + { + "direct_url": null, + "metadata_sha256": "9ce850d5a6b775e5ef4a335f907e579a878e058213121b6eec567781ea68c585", + "name": "humming-kernels", + "version": "0.1.12" + }, + { + "direct_url": null, + "metadata_sha256": "67aa4f6717d82446a51ce350e7c4769eba0c4a22d2f428255cddd9d24b11a914", + "name": "hyperframe", + "version": "6.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd9511ede42f63b995c3f71944f908cb8f014048b63ecc1c8d420525a3354b59", + "name": "identify", + "version": "2.6.20" + }, + { + "direct_url": null, + "metadata_sha256": "af3c3a62bb5d82d6a43454684e0b1dedde27a21ea90eacfb1bed9814619f06d0", + "name": "idna", + "version": "3.20" + }, + { + "direct_url": null, + "metadata_sha256": "cf71393f3d079ce2e859384573e65aaacd1709bef700701f629df32398b598f0", + "name": "ijson", + "version": "3.5.1" + }, + { + "direct_url": null, + "metadata_sha256": "9305763e93d03df0e36516b1125fa046a6ebe37d44589e200e0593cf4bdfd980", + "name": "importlib_metadata", + "version": "9.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "32860c3c19b2e91f6cb5bd83400b5870cda051bc74a5a08822c8c666af0990db", + "name": "iniconfig", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "560faabb3d45d779e445a74e7e806a786f95f2200fa06d979603b7f0ee1cfb39", + "name": "instanttensor", + "version": "0.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "f6fc1f0d389e4245fc2a1a0fdfee09422e56200cb6f94659668456997ff4f7a9", + "name": "interegular", + "version": "0.3.3" + }, + { + "direct_url": null, + "metadata_sha256": "d10f300731197a4829b77f0c883bb3cf8a37ae8c76a302e095fa95d6427706d0", + "name": "jiter", + "version": "0.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "5b0c8d4b4c535a2432fb206223d774509b6e20af374c6a4b6f98bf72a7de6702", + "name": "jmespath", + "version": "1.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "6c4032c2e74273452cd77399af2ee85198f49c22da897983f26d2ed6f787c4e8", + "name": "jsonschema", + "version": "4.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "aaa6cd66f423729e8da397c9d533b7d731f6b25f3d6371b9338c36bdb9be74a0", + "name": "jsonschema-specifications", + "version": "2025.9.1" + }, + { + "direct_url": null, + "metadata_sha256": "f7c0687c032593106a2e5a3c241cf8043e7e2c222bddb0022b4cb2bf5de67115", + "name": "lark", + "version": "1.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "4511c6b04efc57a5f5333edc1f5f48b9f5412c3923d4bc19b715bdf47977511c", + "name": "linkify-it-py", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "be929870f6ecae18a819c56118f1101f3076e25ac6a4843ca6f4707ebd1e87c6", + "name": "llguidance", + "version": "1.7.6" + }, + { + "direct_url": null, + "metadata_sha256": "cf2b87669bead3e76ec54207f3354c13f73b50c32fcd13c8d627084b3379139e", + "name": "llvmlite", + "version": "0.47.0" + }, + { + "direct_url": null, + "metadata_sha256": "0a416d79c5543d94d2b18807626293d4f47655d1d22724c7ae296e413078aaba", + "name": "lm-format-enforcer", + "version": "0.11.3" + }, + { + "direct_url": null, + "metadata_sha256": "16bc1f59e34fd2a6633bd395276052eacd2c777b2cf72781e76b203f013a8fac", + "name": "loguru", + "version": "0.7.3" + }, + { + "direct_url": null, + "metadata_sha256": "5216d5acfd039a7b581a826186309594b228d37d2c8d56864124ea666689fe4e", + "name": "lxml", + "version": "6.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "f59d772b35315a928672bfcccfb89d82c0aac672c5275c048f7a93b79015bcea", + "name": "markdown-it-py", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "b137367ef0056711cbf5e53015df9168cab80373104e7899b1c0263a21d9c99c", + "name": "mcp", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "38e0b9edaae09e58cd1461fc961ced22672038a697930bedef153a74befb3de1", + "name": "mcp-types", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "799f49685865fd9cc8915fdb92a33e102eeeffad562b03b4aeffb6f422b771c1", + "name": "mdit-py-plugins", + "version": "0.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "481f9cbe08596c6eaba6343e0efa1b13b2362c30dce0610f7c08523f1d98388d", + "name": "mdurl", + "version": "0.1.2" + }, + { + "direct_url": "{\"dir_info\": {\"editable\": true}, \"url\": \"file:///Megatron-LM-training\"}", + "metadata_sha256": "2876c0c760bbfc93bd7d737bf0db2866a937308a7c1707c3a2bb59d4795986ff", + "name": "megatron-core", + "version": "0.16.0rc0" + }, + { + "direct_url": null, + "metadata_sha256": "a6e34d488c879f57ce042bec38f8864ba3ea7d6ecf0ab757fc88fe8dc0a22f26", + "name": "memray", + "version": "1.20.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd26d80dc9676b1fb8c894355bd525fbe7f49a6a86a555c72e9ec6d927247c33", + "name": "mergedeep", + "version": "1.3.4" + }, + { + "direct_url": null, + "metadata_sha256": "dd1b3b89e88d1c65a26e6e72dd075eabbc220bfb138769ec8b64578ee911795c", + "name": "mistral_common", + "version": "1.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "4859847a9f6321daf8849cf7fd1542ff430db6563a2abf9ac0d62a5b21bd951d", + "name": "mkdocs", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "1729fc31479f2582486cdc85397417659dd3b2fb3f920553de66cfe59d5f0b3e", + "name": "mkdocs-awesome-nav", + "version": "3.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "88b4b7b7c0aba5547befdedaf515c8df4867361daf55ff60b72578464d72dcbe", + "name": "mkdocs-get-deps", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "ad33bb33fb16b1f69689c4682550e97232154e367e2c8c8aee9dad0f10d269ce", + "name": "mkdocs-git-revision-date-localized-plugin", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "ed69fbfb9ac00c10c5a383a12ff9d2b9919ae184e408554434199211643d6040", + "name": "mkdocs-material", + "version": "9.7.7" + }, + { + "direct_url": null, + "metadata_sha256": "d1c549b61701148b97f8246bc924b2840e504b37b0ce7a27e78ddf81261e5363", + "name": "mkdocs-material-extensions", + "version": "1.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "4ad6171f3bf6812e4de90670ff0089d445093d4fe1d05d55f17b96a4a192a816", + "name": "ml_dtypes", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "4ad6171f3bf6812e4de90670ff0089d445093d4fe1d05d55f17b96a4a192a816", + "name": "ml_dtypes", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "b0dbdfa30ab6b1ce637a794899c9e43019182b6d1ab2d07b90f647f7331eba6b", + "name": "model-hosting-container-standards", + "version": "0.1.16" + }, + { + "direct_url": null, + "metadata_sha256": "95424470e481cfa8d18b30963b6de3aafe16614b1ea0414e184a008571dde84f", + "name": "mpmath", + "version": "1.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "eb184d83489401903615ce8a78d98d5b933dec0f7246811d396a529915fe797c", + "name": "msgpack", + "version": "1.2.3" + }, + { + "direct_url": null, + "metadata_sha256": "520006303d6a0e859970b83f7d452196e2e8f6dab08f6dcf1ba5823c1230025f", + "name": "msgspec", + "version": "0.22.0" + }, + { + "direct_url": null, + "metadata_sha256": "010d2fe039006070a711a476b171b7b7da5c29ccad3c4eecd77ef3711b07c2d0", + "name": "multidict", + "version": "6.9.1" + }, + { + "direct_url": null, + "metadata_sha256": "235634cc7ebda45f8a84dfdb1b9b35ac1a77a1888b34650c3a616d23e4a7e93f", + "name": "multiprocess", + "version": "0.70.19" + }, + { + "direct_url": null, + "metadata_sha256": "7c545b4b3e5e83d3fde41352272c10cb9deeaba5b7138fbf24383e952af8822e", + "name": "natsort", + "version": "8.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "311ee8cdaeaf9f11acf51cda9c3b5b191f76ce9d98bc3418164c3189bbc37a08", + "name": "nccl4py", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "66360539217852c3b44b37f409eade7e1559baf018bb363bacb2aa3a9759b203", + "name": "networkx", + "version": "3.7" + }, + { + "direct_url": null, + "metadata_sha256": "e8b0b1746808b87816c47e4531780ded7f246bed9575a89e8b40200aa81e9a13", + "name": "ninja", + "version": "1.13.2" + }, + { + "direct_url": null, + "metadata_sha256": "77c1117f0dbc41560ddc6e6b37b542fb4e88afcd4ef82ec06593e5bbd5f37121", + "name": "nodeenv", + "version": "1.11.0" + }, + { + "direct_url": null, + "metadata_sha256": "9af629898406c9eaa69897fe09220dc483270cdba89f6b20bf0165cdf0e1668e", + "name": "numba", + "version": "0.65.0" + }, + { + "direct_url": null, + "metadata_sha256": "0c7281a81cf76e40b27c1385ffd8a215d7227adc219f177ce807ead9e91994a5", + "name": "numpy", + "version": "2.3.5" + }, + { + "direct_url": null, + "metadata_sha256": "0c7281a81cf76e40b27c1385ffd8a215d7227adc219f177ce807ead9e91994a5", + "name": "numpy", + "version": "2.3.5" + }, + { + "direct_url": null, + "metadata_sha256": "bab990ced4537ce74ef5961ca933c4c6fd604fd09a5827a4a428c55bcb0be35b", + "name": "nvdlfw_inspect", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "10f6595146332d35f7f15a000e08b5c81432528c5d026470c1d03f0c1399fb70", + "name": "nvidia-cublas", + "version": "13.1.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "58e933b4ac8e49f098b16ab7480d03bd792afc3d1db10d0aacbdcc2c62e48fa3", + "name": "nvidia-cuda-cccl", + "version": "13.3.4.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "baac937970681d41aa0c3708b3d55d73f8d29e70aceaac0e71fe6d1548e94a09", + "name": "nvidia-cuda-crt", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "8d51e5c76ef5707b0b80d5ec9a791c0f11a480ab721820cf100a3cc566017eef", + "name": "nvidia-cuda-cupti", + "version": "13.0.85" + }, + { + "direct_url": null, + "metadata_sha256": "724bf56e61ddef5d4c2482ff64103a973b911b110b668acaea5373f6c83c1c5c", + "name": "nvidia-cuda-nvcc", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "c54801dbd815d534519a761f1f328325aa0f1d1f1659aa969fa74e7a2c76eee9", + "name": "nvidia-cuda-nvdisasm", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "af51f248363020b9fdfd2743704e901bf3d19a1a1ce1fe44fb98ba148bfc0157", + "name": "nvidia-cuda-nvrtc", + "version": "13.0.88" + }, + { + "direct_url": null, + "metadata_sha256": "055f7fc69a5a2159de82cd0718da02c8852e81c8a71ebb117b8e799badd7167e", + "name": "nvidia-cuda-runtime", + "version": "13.0.96" + }, + { + "direct_url": null, + "metadata_sha256": "df18686dbdb3074ca375a1d6c623a04102fd348950c67a721397349c6d4f0477", + "name": "nvidia-cudnn-cu13", + "version": "9.20.0.48" + }, + { + "direct_url": null, + "metadata_sha256": "abd0ca3f67af19a4d383ff2a012ae0090d4731c6492fd47236615308a50b3981", + "name": "nvidia-cudnn-frontend", + "version": "1.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "4a78545d424d0c5038353f7046a8ae40ceaf312045d71399eac9511f5fc15434", + "name": "nvidia-cufft", + "version": "12.0.0.61" + }, + { + "direct_url": null, + "metadata_sha256": "e49b909195c03ddbe203729d9b31dd88e3f207368333d1909c67c6b130a0c696", + "name": "nvidia-cufile", + "version": "1.15.1.6" + }, + { + "direct_url": null, + "metadata_sha256": "bb15a754c6be32c23aaac13c1cfa7a8ce53d92bc26652ec3b609f7a5cce3e7d1", + "name": "nvidia-curand", + "version": "10.4.0.35" + }, + { + "direct_url": null, + "metadata_sha256": "0dd58f677811eac04901a793740932e5a2a8fff2f5453aa6351614eb18391bb6", + "name": "nvidia-cusolver", + "version": "12.0.4.66" + }, + { + "direct_url": null, + "metadata_sha256": "8aeb284782ef6883095a5d1c110e221cad023a99afcfd5cdb4969a25e146d562", + "name": "nvidia-cusparse", + "version": "12.6.3.3" + }, + { + "direct_url": null, + "metadata_sha256": "09555246122896eaca3b8313eecfca4b339fefd3b597874cb9fe3bf29dab38c9", + "name": "nvidia-cusparselt-cu13", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "ac77bac79fbfb0c52ac6e2e5abc936b1e127be2192f0cbc27b00be3125fa86ae", + "name": "nvidia-cutlass-dsl", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "1ec968ec7c4083f7fe4e1fb8384c7e9b853a81491fef9f4cb1cf755961aaedf6", + "name": "nvidia-cutlass-dsl-libs-base", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "cc6f3846cd820013eaa6e2665c493d70c607be6ce7349b939eb4742888470585", + "name": "nvidia-cutlass-dsl-libs-core", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "2357d0df2d0d17c0b16663b8a89df53f751b19721f66821fd88fa78112c08e55", + "name": "nvidia-cutlass-dsl-libs-cu12", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "244590c25662dcf777b1daae97a858afe1a1aec62e5e6678b217007a459ab552", + "name": "nvidia-cutlass-dsl-libs-cu13", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "c3a25ada01f57418c1b897406c3abab18834e6adc573ab7b060620c453afb6db", + "name": "nvidia-ml-py", + "version": "13.615.71" + }, + { + "direct_url": null, + "metadata_sha256": "56baad4e7f699902b03b17580933f7bd50b6ea97b7df9d7e807750973da7529c", + "name": "nvidia-nccl-cu13", + "version": "2.29.7" + }, + { + "direct_url": null, + "metadata_sha256": "98810ef0ab8badc369e6a46a038f8ee9f412c0c753fb5ad580544f23a0aa7962", + "name": "nvidia-nvjitlink", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "b0f54ee21909d19640a58e05da755c91763eb5725f544fd0d4b84b2f5f94deba", + "name": "nvidia-nvshmem-cu13", + "version": "3.4.5" + }, + { + "direct_url": null, + "metadata_sha256": "06dc1a593c7e8b8c3f29184228c83f8f7ef57787ad91f3e5bcae1d238dd3092a", + "name": "nvidia-nvtx", + "version": "13.0.85" + }, + { + "direct_url": null, + "metadata_sha256": "32ee63450a437b6a6ed227ff6549144aa596197a322993521ec7af826ebd413e", + "name": "nvidia-nvvm", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "32c2efdcd2c673b3b7f35ca9c2cccefaad36f1f0a920648a13cad85f6a5767b2", + "name": "nvtx", + "version": "0.2.15" + }, + { + "direct_url": null, + "metadata_sha256": "3419d80e114a2c19fa9bd3582939a3942f19673055707ba6ca2ca489d58b41e0", + "name": "omegaconf", + "version": "2.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "28971076ce9c279d4b889496b046d55a1e05b02fb9851ceb717e9a10df799572", + "name": "onnx", + "version": "1.23.1" + }, + { + "direct_url": null, + "metadata_sha256": "1246f5a4d8295907a42e809ed9173ede2510ec9d260d2168989d126564897fa5", + "name": "onnx-ir", + "version": "1.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "e14643636835759700dff286f949c5ec34e7eac7ac47f44096414f0e0f1c3101", + "name": "onnxscript", + "version": "0.7.2" + }, + { + "direct_url": null, + "metadata_sha256": "00f847e99939207bd70dfd806428f6b20a3d01074b59325e4c76149a2e19be26", + "name": "openai", + "version": "3.22.1" + }, + { + "direct_url": null, + "metadata_sha256": "598d3ad5a22a14a7c4f1d218b43e345f32b0ba094b753467bae8a3f708fd48cb", + "name": "openai-agents", + "version": "0.22.3" + }, + { + "direct_url": null, + "metadata_sha256": "5a0afcb1ce845e05da12beb1767f5d2749bbc9e9050718c6b9fa3c225713c9eb", + "name": "openai-harmony", + "version": "0.0.8" + }, + { + "direct_url": null, + "metadata_sha256": "e86a6b6fcbbe152805f782c57df321002892e163019574877e9829272e25eb4e", + "name": "opencensus", + "version": "0.11.4" + }, + { + "direct_url": null, + "metadata_sha256": "53d669c8bd3d32d3275153b454e515ca5cc6dec92fae3a98309b5a2b19fe6d2d", + "name": "opencensus-context", + "version": "0.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "19778b6d66b0e45bf73e11fa37a208949d5b393aef914627394d5601455546a6", + "name": "opencv-python-headless", + "version": "5.0.0.93" + }, + { + "direct_url": null, + "metadata_sha256": "19778b6d66b0e45bf73e11fa37a208949d5b393aef914627394d5601455546a6", + "name": "opencv-python-headless", + "version": "5.0.0.93" + }, + { + "direct_url": null, + "metadata_sha256": "a3f5434fa7c80f7f7abc82173da639c8e9c59d30b4027182645562bd3d2f4f97", + "name": "opentelemetry-api", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "8611977ea596e4827874582e86250618444e1c718229dddfc16e5ea437ce5fcb", + "name": "opentelemetry-exporter-http-transport", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "2cfd41e5ca33292d987ba71fa6186d11e16ed66888f3a26f8a3a99060c4b5e90", + "name": "opentelemetry-exporter-otlp", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "3bb4494220732d4bf10e1dba231ea7638cedaa5362e1f23a50d34a14f520fea8", + "name": "opentelemetry-exporter-otlp-common", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "27fb1c8aa5c2cd07776f9f3281fc618cd3feb96017757c33d2b3586fb7fec88b", + "name": "opentelemetry-exporter-otlp-proto-common", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "5cba6098cdd0bfb06853a6c704a2451c4f82c9dea376a30b59ecd279296648ad", + "name": "opentelemetry-exporter-otlp-proto-grpc", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "6f53ef1c172ebf87af69b9ef390aa908506d0cd14bc7811985fdd937a4058808", + "name": "opentelemetry-exporter-otlp-proto-http", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "1910f4e7ebd497e98b6d231e10275288fda2cd1885117575706c62f45e065889", + "name": "opentelemetry-exporter-prometheus", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "fab18b721e30be41448be252e1dca43b48e7f15d971e0bb552492c0ef4b07bee", + "name": "opentelemetry-proto", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "3644a79f55762a646799ff52b9d837e01c8192b7b28f735a383f55c90edb9bc2", + "name": "opentelemetry-sdk", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "add3db481f7f401f65cfbddb058fde3bb4c9dd7b61064a84f8598ad7efe0b11c", + "name": "opentelemetry-semantic-conventions", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "0dfff30e912520a226bcf7a547393484cfcd8c738439c7b48418f61c95109480", + "name": "opentelemetry-semantic-conventions-ai", + "version": "0.5.1" + }, + { + "direct_url": null, + "metadata_sha256": "210ce26bad0a245a72831b4fa029708c245d4d670a88c8d5a69b1446c24a95e4", + "name": "orjson", + "version": "3.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "35ff73511848f5f934ccc39d538014716ec4579e76d54e0e407ff51794a7939c", + "name": "outlines_core", + "version": "0.2.14" + }, + { + "direct_url": null, + "metadata_sha256": "8ee2f7138ade46b6e348a6d099612f5bd6caff13511f3b4144327f37ce50eacf", + "name": "packaging", + "version": "26.3" + }, + { + "direct_url": null, + "metadata_sha256": "a4ab87bf8083001f25ccdc46095f05b678b3569dd58edc2cf941e3e7f64d7c88", + "name": "paginate", + "version": "0.5.7" + }, + { + "direct_url": null, + "metadata_sha256": "1de96a6c28c2e5613c9c87cd4ad9484791001cf58df43cf2ba74d5c4f85f0ad2", + "name": "pandas", + "version": "3.0.6" + }, + { + "direct_url": null, + "metadata_sha256": "d05b8d05da9f78176b2eefaacdfaa5e96708ec4f488daea8bbc52e3ed1bc3954", + "name": "partial-json-parser", + "version": "0.2.1.1.post7" + }, + { + "direct_url": null, + "metadata_sha256": "c1d126edceac2685e29403a8ae3a27c47143dce1f0252fa3931771562f1e2b4f", + "name": "pathspec", + "version": "1.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "30325dc8ce17bc64f9dbc0a449232fd35841a019df22a6f481007c9c5a28c1cb", + "name": "pillow", + "version": "12.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "cbc0b7b6e63b50dcb7c17cf3526a9304f285d9a31353adf3b22acc2059ab23f5", + "name": "pip", + "version": "25.0.1" + }, + { + "direct_url": "{\"dir_info\": {}, \"url\": \"file:///work\"}", + "metadata_sha256": "6ba03b5bc457a2a3d92468729501b5892a0d38ebcc36766c58859449498c5743", + "name": "pip", + "version": "26.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "0421937c4410b61c5325233d5b7671ae933bae8de174f87586ac55aa804851ea", + "name": "platformdirs", + "version": "4.12.2" + }, + { + "direct_url": null, + "metadata_sha256": "2bcffab42626e1fb50d6329765619312d30fe7f4880e98dcee99c92ebd283bb4", + "name": "pluggy", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "7e7562ba7c032f8edd02641ae71b1ac2d8f388103a68d777a7e907d19e75bc17", + "name": "pre_commit", + "version": "4.6.2" + }, + { + "direct_url": null, + "metadata_sha256": "bbe0a7662602ddd23f929fe0ee98e9d04406e138aeee18ce4861af186ea6060d", + "name": "prometheus-fastapi-instrumentator", + "version": "8.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "ece4a61f3ffb92a083fd5e47e180e3e070342e60a3bd93876a879e79a643e821", + "name": "prometheus_client", + "version": "0.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "5feba21a58eaa126e7e7739e57e2572e5bb251fcbf56e439e508acc47d769314", + "name": "propcache", + "version": "0.5.4" + }, + { + "direct_url": null, + "metadata_sha256": "3f136dbf7239c987a7685acd33440cc5efd6c4107b4b11c425201b4de70ae36f", + "name": "proto-plus", + "version": "1.29.0" + }, + { + "direct_url": null, + "metadata_sha256": "118b5ad013120a7a6e24714595ad776bf264d7b0060389133310d18ea1480902", + "name": "protobuf", + "version": "7.36.2" + }, + { + "direct_url": null, + "metadata_sha256": "0849f5a519bf9bc23ef204443fdd8d6d10678863acac7ca9340fc11bfba5a856", + "name": "protobuf-py", + "version": "0.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "eab5f2f4fd98f67a710a8fb1975b64ffa880a4f977566f022c567e08e324ccd6", + "name": "protobuf-py-ext", + "version": "0.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "39009938840de3a8b2a37eb4668d2601aae8c74e4b74743f73e59996b5b7e6e1", + "name": "psutil", + "version": "7.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "df44b58e8a4cfe57f65773ec47f7bdf2a14c8f5f73a7abf331a6b6237d6d691a", + "name": "py-cpuinfo", + "version": "9.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "2fd4a9efc5e5c74ae4c2fcf1970193c524c62ab22af8d5e66ebf7df9e6e46e83", + "name": "py-spy", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "d2ccdeb15cddedc81637a83e40baa6397fe269023b738d0fc3cb2d90722e290b", + "name": "pyarrow", + "version": "25.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "47b9f28e971a56f5adf949e0bcf105b0bf6587946566ecf197a2819d8848cc01", + "name": "pyasn1", + "version": "0.6.4" + }, + { + "direct_url": null, + "metadata_sha256": "82ce4c01c6d36841b9801fcdabab9bfe61d0b5e4e440c275941d8a2d4a790730", + "name": "pyasn1_modules", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "45cb345e4c12f63bc843b8c88902cc44c4d624a55aaef8cd5ffbc0ad16356fbe", + "name": "pybase64", + "version": "1.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "d311ae661edeac8ff029ab2960d065a7e792ebf8f79af682daa53109fe81318b", + "name": "pybind11", + "version": "3.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "cce9c0d440d065d4cdfb0d00004b8ddd65cf363a740efc5b0920b29201a59cd9", + "name": "pycountry", + "version": "26.2.16" + }, + { + "direct_url": null, + "metadata_sha256": "a1e33542883c249bf6c263b0023b9ea8a6131a77d9cb2cbc88316968e5eada83", + "name": "pycparser", + "version": "3.0" + }, + { + "direct_url": null, + "metadata_sha256": "faffcc4d7d359cb1047a9f67f7c65096b838c6db6c62852ef20fb27d55649a95", + "name": "pycryptodomex", + "version": "3.23.0" + }, + { + "direct_url": null, + "metadata_sha256": "98929f4cb80451dc3c6c8cd541a3081dccf0dee94afe7d9fa5c214a18ff236ce", + "name": "pydantic", + "version": "2.13.5" + }, + { + "direct_url": null, + "metadata_sha256": "8eccadbe707db97c397fb79073fe791b7998ef3a85f04f817f8991f7697b190b", + "name": "pydantic-extra-types", + "version": "2.11.1" + }, + { + "direct_url": null, + "metadata_sha256": "8f00c91deb34399316a5386eb2e76fe09f14a08dc3045f2e7dce9bf8573796bd", + "name": "pydantic-settings", + "version": "2.15.0" + }, + { + "direct_url": null, + "metadata_sha256": "66c729edddc20bf2764bb18bd87d907b08690e50355f39b97acc737b26d1d164", + "name": "pydantic_core", + "version": "2.46.5" + }, + { + "direct_url": null, + "metadata_sha256": "394500d78a0c1a433ae8ca3693152c08f6a901121d4b069cf1540a19759e2950", + "name": "pylatexenc", + "version": "2.11" + }, + { + "direct_url": null, + "metadata_sha256": "df2e9e9847a2aea0ae6e20fd325aeb16cf3ce7f8913462db6c2398363cd0c0bf", + "name": "pymdown-extensions", + "version": "12.1" + }, + { + "direct_url": null, + "metadata_sha256": "82fcfe724db9f0b51348da89f4f5cdc0b08d08882b1bbc0ca4913d3a0a93bcb9", + "name": "pynvvideocodec", + "version": "2.0.4" + }, + { + "direct_url": null, + "metadata_sha256": "3722422cc1478b175879143dfb78f98b7a5f53f4f684d71b7054fe2e8acd3b89", + "name": "pyqwest", + "version": "0.10.0" + }, + { + "direct_url": null, + "metadata_sha256": "7d1d1c276b7c372d55d17ac7d30f0a4b80a746e147347b8510d1355eea7f80c8", + "name": "pytest", + "version": "9.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "89e7c1c932e52b74bdcaf504389d2d1a2d7ca559b02bf5a09fc80ebd58ad10f7", + "name": "python-dateutil", + "version": "2.9.0.post0" + }, + { + "direct_url": null, + "metadata_sha256": "54f30f811841b6d772f31715712c85bfe0041839cb071f78daf41c700a98642b", + "name": "python-discovery", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "54f30f811841b6d772f31715712c85bfe0041839cb071f78daf41c700a98642b", + "name": "python-discovery", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "0cc19efd76cfbf3bcb2cb0d3ab82191036855859455aa3812c5e9e591e3f34e8", + "name": "python-dotenv", + "version": "1.2.3" + }, + { + "direct_url": null, + "metadata_sha256": "1d866c6124631b9ce1797ad412fff298ab53fc2d95210281d7c8f20e920753fa", + "name": "python-json-logger", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "2d18a1e7286d92a656ead5ec6f83d5ae6dc858634624f6b264703ae88d24d718", + "name": "python-multipart", + "version": "0.0.32" + }, + { + "direct_url": null, + "metadata_sha256": "beaa0efe9ba4b34843f5a0fc7379a73f10e95adb8cc0c31f359ab6f3a42b4def", + "name": "pyyaml_env_tag", + "version": "1.1" + }, + { + "direct_url": null, + "metadata_sha256": "238dc769e22d4f5626750cdff36e920e4a8d69c10d88de6d79b40a59cc13d873", + "name": "pyzmq", + "version": "27.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "de0a5e855bb5bb78b7acdcd2ca60619c6a0c109814881589caf158ec07155662", + "name": "quack-kernels", + "version": "0.6.5" + }, + { + "direct_url": null, + "metadata_sha256": "961ffef199b876fb4d7b10903d78e79f359d703b1638834c61d70b9879932918", + "name": "qwen-vl-utils", + "version": "0.0.14" + }, + { + "direct_url": null, + "metadata_sha256": "faf6ab9027d12de992827a2d8a224996fe6747a8c5f7d31ae495983dc73eefe9", + "name": "ray", + "version": "2.54.0" + }, + { + "direct_url": null, + "metadata_sha256": "c50d8b3ff4d113925b60dc47d1d28e87248a3338024241b0a3a66c8794fbce0c", + "name": "referencing", + "version": "0.37.0" + }, + { + "direct_url": null, + "metadata_sha256": "02acdc52d6f21d5f4b172254daaa94edfaa44c9ebe14d1c00cc4c8fe99b0e1df", + "name": "regex", + "version": "2026.9.29" + }, + { + "direct_url": null, + "metadata_sha256": "ac08207697217d1ffde8a161b424d77d6e2af6b62630fa26d75d08f11076cdca", + "name": "requests", + "version": "2.34.2" + }, + { + "direct_url": null, + "metadata_sha256": "f1abd635c3dff607a4fd654c62a88d9d4c21843cfc9176116c156f4269ca21b5", + "name": "rich", + "version": "15.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "932ff7743a756d0efcc45528d64c275ac3cb40a8dd1787ea10cb303907f0ae4f", + "name": "rich-toolkit", + "version": "0.20.5" + }, + { + "direct_url": null, + "metadata_sha256": "294a1405c0fa34b5f735bcb46459050436849a1e584c643544de99c07c529fb7", + "name": "rignore", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "5e54dd00b4ad336c5161d47de2a5c2212090c44629c28b6538b156256e49282d", + "name": "rpds-py", + "version": "2026.6.3" + }, + { + "direct_url": null, + "metadata_sha256": "0d5895abd80bfc0027c02943abaea4547061b9004bd134950d640d619a697835", + "name": "safetensors", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "91d5de3f641f33a8fbb4b6e91772da68d50b68686971d7b66af2068f2e77b694", + "name": "scipy", + "version": "1.17.1" + }, + { + "direct_url": null, + "metadata_sha256": "297fb30f701a800489c12893a951da3e5bd1f80061a1f43f0d3e9f1d4c6bc6fd", + "name": "sentencepiece", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "4245e0388ddf2048a38ae2a24a3d2c583408b2454aadc680d3c3beede639db3f", + "name": "sentry-sdk", + "version": "2.71.0" + }, + { + "direct_url": null, + "metadata_sha256": "ae8a9e6feec1a76e954d65ea48ac57842c9a7bfb5ac6e5ea82400a5ba9f71a98", + "name": "setproctitle", + "version": "1.3.7" + }, + { + "direct_url": null, + "metadata_sha256": "341d00772017437d0f6e3c943ae353f243c39fedfba403aea47cced927a76516", + "name": "setuptools", + "version": "79.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "ff4bcfb192bd542ed8f1794fb32ffc9eabd932d6e03cb00a4ad5e35a2469af88", + "name": "setuptools", + "version": "80.10.2" + }, + { + "direct_url": null, + "metadata_sha256": "f1e5a532fb8cda0bbc370e3db6cb9cea72a065d12ddd6a14976ba3cf66264221", + "name": "shellingham", + "version": "1.5.4" + }, + { + "direct_url": null, + "metadata_sha256": "2aba2cfd9c2ad7625a5d374d141af317d8f92d3534997bf98d127e52848dfc81", + "name": "six", + "version": "1.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "69ae2dfe547624be97fae348e1cfa3793f8854eed32cc1603badedc7d48fb36e", + "name": "smart_open", + "version": "8.0.2" + }, + { + "direct_url": null, + "metadata_sha256": "d415e6c6de7dee117d254a342668c489931bc88eac7ec8678b452078e366da6e", + "name": "smmap", + "version": "5.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "093bc4f0740a6fc28692e616aa8fe68d7e1d76426cc5a5faf9ea722a8ee7aaae", + "name": "sniffio", + "version": "1.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "b3cef071eb1dbeaa76a1273fe2ca2cc8ef36e835165253952d93780962529ac1", + "name": "sse-starlette", + "version": "3.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "3c01ca830e213f0311fe37bc3b46b8ab230a5e7acb894bf0fc8785cb7ccfed48", + "name": "starlette", + "version": "1.7.0" + }, + { + "direct_url": null, + "metadata_sha256": "6017ca508a293cf47a88a78cb330e9cbd131d74ec3c7fbf89bd4300ed3129d30", + "name": "supervisor", + "version": "4.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "fd5eb4925b04f9bffbc6c4f92bf8aea7243b918b43cd359493fce48a7dd3b336", + "name": "sympy", + "version": "1.14.0" + }, + { + "direct_url": null, + "metadata_sha256": "f09f0e24282c5a86346bcd5b10ae5ff81869fa8ef69c3ba524bd0a817a87dda9", + "name": "tabulate", + "version": "0.10.0" + }, + { + "direct_url": null, + "metadata_sha256": "519fa19c146fd58a0a75ecf1461e4bd98f9c06d01800c37d4a80f5fef095f4e1", + "name": "tensorboard", + "version": "2.21.0" + }, + { + "direct_url": null, + "metadata_sha256": "1af7ad76e4073b01ab147eb3c1d8e38b95d38062c6c9bc63890150738642e8eb", + "name": "tensorboard-data-server", + "version": "0.7.2" + }, + { + "direct_url": null, + "metadata_sha256": "9e597f62fc07e3b931d5c8fb0e90706fb6d45465cfb5d01dbd27ba7fc135c02c", + "name": "tensorstore", + "version": "0.1.80" + }, + { + "direct_url": null, + "metadata_sha256": "0da993d16ef6326f471796fcb065622f309c5c1aae6c6295b488ea64bb5c880c", + "name": "textual", + "version": "8.2.8" + }, + { + "direct_url": null, + "metadata_sha256": "52ca6148d4fd1497254855fa610cfdde99191cd42bce7a452fd3a68855504ac0", + "name": "tiktoken", + "version": "0.14.0" + }, + { + "direct_url": null, + "metadata_sha256": "0df9eb495cfb477dcbdfbdcd8c04d952d3eb00d77831630760571e13545398e5", + "name": "tilelang", + "version": "0.1.12" + }, + { + "direct_url": null, + "metadata_sha256": "802b576e011dc61bd2681593e8d802714b6c4ce636a9cf87035026db32ce6262", + "name": "tokenizers", + "version": "0.23.2" + }, + { + "direct_url": null, + "metadata_sha256": "4e1631b2164a49ff9a848d86ce504fdcc15e3540dbb262df8f33a2681a8de513", + "name": "tokenspeed-mla", + "version": "0.1.8" + }, + { + "direct_url": null, + "metadata_sha256": "05086095a775c5dca70998dcf442a848c13f9c68b54a54c510c3542c5abb6563", + "name": "tokenspeed-triton", + "version": "3.8.10.post20260920" + }, + { + "direct_url": null, + "metadata_sha256": "71daba472d0c5ffc25c0231dc29688ab0cb13d5bc7e7d93f6c4cce4169c50048", + "name": "torch", + "version": "2.13.0" + }, + { + "direct_url": null, + "metadata_sha256": "cccd2f1c0e5866e63732f58798c8d642ee6d10cd560d6f691e7981b908c246c9", + "name": "torch_c_dlpack_ext", + "version": "0.1.5" + }, + { + "direct_url": "{\"dir_info\": {}, \"url\": \"file:///torch_memory_saver\"}", + "metadata_sha256": "6276cef17dedbb5ee0d6157bbf63b832e916026281328d995ad3d488c2539618", + "name": "torch_memory_saver", + "version": "0.0.9.post1+slime" + }, + { + "direct_url": null, + "metadata_sha256": "29809ca2c86dda5079654f1f70564a64435e9d08f1964a2412b6f514e1b5ff64", + "name": "torchaudio", + "version": "2.11.0" + }, + { + "direct_url": null, + "metadata_sha256": "7e9be0f3a290e3fd9370d8fe010c7ffd006d5d3d05ab8bdf7df8f92f0fca9c39", + "name": "torchcodec", + "version": "0.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "181fa5e6b399c378711eddcdacd756d3c51317916f8eb160ee36cae7fae9589f", + "name": "torchvision", + "version": "0.28.0" + }, + { + "direct_url": null, + "metadata_sha256": "43d1261aff90cf3d5b1b40cf1f94234d61409b14e59f3766f457c1eec7f7ac15", + "name": "tqdm", + "version": "4.70.1" + }, + { + "direct_url": "{\"archive_info\": {\"hash\": \"sha256=3e1d9f534781c8e608240da0b495b8246317a36382f7609017cbaa7fb1d53f7b\", \"hashes\": {\"sha256\": \"3e1d9f534781c8e608240da0b495b8246317a36382f7609017cbaa7fb1d53f7b\"}}, \"url\": \"file:///wheels/transformer_engine-2.16.1%2Bc9877beb-cp312-cp312-linux_x86_64.whl\"}", + "metadata_sha256": "d882f743161d9d9f35dee4e1a8cc9136fa495f7c660caace01ab8f5602d76aa7", + "name": "transformer_engine", + "version": "2.16.1+c9877beb" + }, + { + "direct_url": null, + "metadata_sha256": "465797a59706d83b45c93fde750b228c3b6e1addc44115de2c4c02ad66d9c5ea", + "name": "transformers", + "version": "5.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "a91982ca086667c592a951973434f7c5a9f27a8300bc97af78dfb496afe53e71", + "name": "triton", + "version": "3.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "d26fbb244532c4051e715f9047cd943e2cc4abb0ac6f2a517fa2986eb1ea726a", + "name": "truststore", + "version": "0.10.4" + }, + { + "direct_url": null, + "metadata_sha256": "c84af1a069084b1b440b3594068dec29200d52d4c1a9b652030448717f270158", + "name": "typer", + "version": "0.27.2" + }, + { + "direct_url": null, + "metadata_sha256": "0ad6653b7439f4bb6a596cb7b01ed1b716458467525c4dc40b75d62bdb943c98", + "name": "typing-inspection", + "version": "0.4.4" + }, + { + "direct_url": null, + "metadata_sha256": "d005280aa13b334ac942d20219102865e559f69ffd06c35c248b2f0d0da3b933", + "name": "typing_extensions", + "version": "4.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "fba2930e9030a18965d243f8d330748db2e67572a81b3b68710462fb5110332a", + "name": "urllib3", + "version": "2.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "bc5717bd6524a33838f285261868bcc8e311e8c29fdb19e41d56c38b04890e84", + "name": "uvicorn", + "version": "0.54.0" + }, + { + "direct_url": null, + "metadata_sha256": "741c006d8441f562aa853a5430df236fbb4af923445491f396bf09943bd30258", + "name": "uvloop", + "version": "0.22.1" + }, + { + "direct_url": "{\"dir_info\": {\"editable\": true}, \"url\": \"file:///vime\"}", + "metadata_sha256": "f85aa01dfdc868756a6583434bbff040f29eb511d47d5b25ada063a84353aac6", + "name": "vime", + "version": "0.3.2" + }, + { + "direct_url": null, + "metadata_sha256": "c25431aaf1950971fe96292f395a41a55b403127bfca0d0b8f7dc9cff5dab75d", + "name": "virtualenv", + "version": "21.14.1" + }, + { + "direct_url": null, + "metadata_sha256": "4e3ee0a31d85e56268640aae853bcee4794dfe8c0483c5c6370517e480c81ae0", + "name": "virtualenv", + "version": "21.14.5" + }, + { + "direct_url": null, + "metadata_sha256": "d4ed5c7551cddb8c1aeff2f9f27b3491f6ad2c9afda8e7bb9779c33fa12a536c", + "name": "vllm", + "version": "0.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "84b482e09bac949e992594757214a1920c667a5d898ee320e309250697f6d26e", + "name": "vllm-router", + "version": "0.1.15" + }, + { + "direct_url": null, + "metadata_sha256": "9b16c871eb1060a5218e9b9a9ad33288d94844cfaf43f08dbb6c32423bde8fe3", + "name": "wandb", + "version": "0.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "8e4f2be437dfe4eb3c6c959e517ac20b75d06525563f1ebcbf06f9ec648bd7c1", + "name": "watchdog", + "version": "6.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "15218afb42938907c2ca74c54e3d8e3a5406493c4761e29e38e82bfec0f84296", + "name": "watchfiles", + "version": "1.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "8863af96e88b7db9990da99aa6c46816eacc3d2f9ae1297b53381b033cd70119", + "name": "wcmatch", + "version": "11.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "f46e6bd6cfafb2b684c29587b017b7096fd9155b74eda25a22eca784b9803ab7", + "name": "websockets", + "version": "16.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "ce82db5ccfefa4bfbe4e25a36e1f91e8e7d51fcaeb31586c4d48e1c69f99168b", + "name": "websockets", + "version": "17.1" + }, + { + "direct_url": null, + "metadata_sha256": "0f142a2c09eac643c7d0bfe77f3f121184c0b17914afbd32af669ed19b2b02ef", + "name": "wheel", + "version": "0.47.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd58938e51a3c5cb363f6f22eaa2a8a7accc1ce373388de167a82f77d3e5783f", + "name": "wrapt", + "version": "2.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "b0b72c1941f04499ca7e1a3a6e479aee8df902c3d49979624b59dba8c3228d37", + "name": "xgrammar", + "version": "0.2.8" + }, + { + "direct_url": null, + "metadata_sha256": "ef8861f39e5c36255966a36032651f937d890d55f31f1c26304b488f1ba34332", + "name": "xxhash", + "version": "4.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "740c08057b6eb69c58402c87d652af0a471e46325d811f2c605632a18817152f", + "name": "yarl", + "version": "1.25.1" + }, + { + "direct_url": null, + "metadata_sha256": "7b060e4d24394b5431875e2f74fec8e6bffa79d2e6b4cb8c7e2a5187dd2d8d69", + "name": "z3-solver", + "version": "4.15.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "3d76d4fbc95f0851191147db12300938c67a6f8fb1df884886d9601272ccc4e8", + "name": "zipp", + "version": "4.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "d3de2651e4e908dbb7c9d80508e5179590217dfac4993dc8b04381c5b9718c4c", + "name": "zstandard", + "version": "0.25.0" + } + ], + "executable": "", + "installed_provider_sources": { + "vllm/compilation/__init__.py": { + "path": "/vllm/compilation/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/backends.py": { + "path": "/vllm/compilation/backends.py", + "sha256": "fa4bff8920b363efbbde9456f135fa9d2c004a5bde1898877f177418b2d8b008" + }, + "vllm/compilation/base_static_graph.py": { + "path": "/vllm/compilation/base_static_graph.py", + "sha256": "5cfe8e06db84aa42cd41cdd93ebe93af00b3a242c8011042057530e2922b523a" + }, + "vllm/compilation/breakable_cudagraph.py": { + "path": "/vllm/compilation/breakable_cudagraph.py", + "sha256": "3cc427612a08e2b9b3fee47548026400c1d0776e2d4747535e59ef5512bdf1e8" + }, + "vllm/compilation/caching.py": { + "path": "/vllm/compilation/caching.py", + "sha256": "71d212452dde742fbf28b8a01ed29d3c08a7457ff7f8da2a20ce9d17e902c2cf" + }, + "vllm/compilation/codegen.py": { + "path": "/vllm/compilation/codegen.py", + "sha256": "e04833bec88cf9d1a13aa7341e30e3233d1138bfe23424e0fd34d664b3fedb9f" + }, + "vllm/compilation/compiler_interface.py": { + "path": "/vllm/compilation/compiler_interface.py", + "sha256": "8d84e2864bf83f754bae9e9f77119e0287cca9f97f5fa5ec2535e07b5ad88944" + }, + "vllm/compilation/counter.py": { + "path": "/vllm/compilation/counter.py", + "sha256": "d8158c54dd36a357bf24f6f84dc22f572d3a27f4875f3d5779b12bc5d454ff76" + }, + "vllm/compilation/cuda_graph.py": { + "path": "/vllm/compilation/cuda_graph.py", + "sha256": "05c86392d7fae967ac73076dba7e01990a0e3ae619e4866450a0c1be56bd1192" + }, + "vllm/compilation/decorators.py": { + "path": "/vllm/compilation/decorators.py", + "sha256": "cab6962e8a1fead59c75f5ed8cb4732f9e5441ff972030c2f4b1c4ba0c58de3c" + }, + "vllm/compilation/monitor.py": { + "path": "/vllm/compilation/monitor.py", + "sha256": "43b24c5cb1bc4d32dc979f3222596905c7b3acc58415328a234402e6edc76abf" + }, + "vllm/compilation/partition_rules.py": { + "path": "/vllm/compilation/partition_rules.py", + "sha256": "857d2fb06dc871ea1d3717cd01fbd4e5205984100d98b7b72a2933d6ff1cfa4d" + }, + "vllm/compilation/passes/__init__.py": { + "path": "/vllm/compilation/passes/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/fusion/__init__.py": { + "path": "/vllm/compilation/passes/fusion/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/fusion/act_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/act_quant_fusion.py", + "sha256": "1fa9c3ca4fb424685b7053c3dda89dda16c98dc5645d85f0f28dca58429792b3" + }, + "vllm/compilation/passes/fusion/add_rms_fusion.py": { + "path": "/vllm/compilation/passes/fusion/add_rms_fusion.py", + "sha256": "e46998552628aa5cd5962fc39ea39ae824fd97e6aeba1d176e9cc7cade39837b" + }, + "vllm/compilation/passes/fusion/allreduce_rms_fusion.py": { + "path": "/vllm/compilation/passes/fusion/allreduce_rms_fusion.py", + "sha256": "0af193505880cec0f6ffa224c688bce3c9ddc318dccdf04a696b4e4b4506a963" + }, + "vllm/compilation/passes/fusion/attn_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/attn_quant_fusion.py", + "sha256": "ecc64e82be4481954c9cac6c23d7794846ab19486b570f2dda07ab5ad67c5a49" + }, + "vllm/compilation/passes/fusion/collective_fusion.py": { + "path": "/vllm/compilation/passes/fusion/collective_fusion.py", + "sha256": "1e2c8539d6960b45907fb3bf0482441ea7250e97c56ffdea1500514efa0b164d" + }, + "vllm/compilation/passes/fusion/matcher_utils.py": { + "path": "/vllm/compilation/passes/fusion/matcher_utils.py", + "sha256": "50ac5714ce1bb113520de769ea6234316acc470a8cdf2537a996ce9a9d54337d" + }, + "vllm/compilation/passes/fusion/mla_attn_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/mla_attn_quant_fusion.py", + "sha256": "a966fe7f58bf9228379f793f5fd851735a97f9639722766b2a20cb79a9e4baec" + }, + "vllm/compilation/passes/fusion/mla_rope_kvcache_cat_fusion.py": { + "path": "/vllm/compilation/passes/fusion/mla_rope_kvcache_cat_fusion.py", + "sha256": "1602cc28055ffa8d1123ddb1d256bf0bd12006fd06ea7e16a986c55746dbe0dc" + }, + "vllm/compilation/passes/fusion/qk_norm_rope_fusion.py": { + "path": "/vllm/compilation/passes/fusion/qk_norm_rope_fusion.py", + "sha256": "aebc7d1a5189b65ac665afcc169e7baebd53efe719c48e35e7c5babe85af0d39" + }, + "vllm/compilation/passes/fusion/qk_norm_rope_kvcache_fusion.py": { + "path": "/vllm/compilation/passes/fusion/qk_norm_rope_kvcache_fusion.py", + "sha256": "f0cfd0d83ec4acb09f9bf91d199b114e9d4995e3059c13eb23a6978ce7c07eb2" + }, + "vllm/compilation/passes/fusion/rms_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rms_quant_fusion.py", + "sha256": "4852aa44e0e2087043fdac271bda9b8d9bfe3201bb84ce3919b8ed454d8083c4" + }, + "vllm/compilation/passes/fusion/rocm_aiter_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rocm_aiter_fusion.py", + "sha256": "372e76c68c75209a085deec6dd22b3816be633613ca82f6f2925c1b3773d61a0" + }, + "vllm/compilation/passes/fusion/rope_kvcache_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rope_kvcache_fusion.py", + "sha256": "3a756e9049593537143b5a56ab9185a6bc83f57ed81d84226d7791a46a984b53" + }, + "vllm/compilation/passes/fusion/sequence_parallelism.py": { + "path": "/vllm/compilation/passes/fusion/sequence_parallelism.py", + "sha256": "3af7e420dcb35fff0bae0f8f599d0f1bda34445ebe194059892a434b2976d654" + }, + "vllm/compilation/passes/fx_utils.py": { + "path": "/vllm/compilation/passes/fx_utils.py", + "sha256": "730708213acf9d1b5f3176b433dfc197a5f3c81b5ce443f0923c526924833003" + }, + "vllm/compilation/passes/inductor_pass.py": { + "path": "/vllm/compilation/passes/inductor_pass.py", + "sha256": "1f380aacf7adabb8bf8b7d41c0a93473947f0716f7445bd910fd448f6c08e672" + }, + "vllm/compilation/passes/ir/__init__.py": { + "path": "/vllm/compilation/passes/ir/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/ir/clone_elimination.py": { + "path": "/vllm/compilation/passes/ir/clone_elimination.py", + "sha256": "5297078f5cddce081faba5215814275381d2083b32318fcfeb2bf9d69fedb7c7" + }, + "vllm/compilation/passes/ir/inplace_functionalization.py": { + "path": "/vllm/compilation/passes/ir/inplace_functionalization.py", + "sha256": "2dc4f22c6f05224828c2941479185b1452d4490f488b7f0bfd124334e7809fed" + }, + "vllm/compilation/passes/ir/lowering_pass.py": { + "path": "/vllm/compilation/passes/ir/lowering_pass.py", + "sha256": "d9c3d90f63138420f0e5489447b5996573fcfbbab939da2efccd00848492b172" + }, + "vllm/compilation/passes/ir/utils.py": { + "path": "/vllm/compilation/passes/ir/utils.py", + "sha256": "f59d33a6c7d0616cbeec1e9fb1d6c948881bf81fe124caeb906eac2e2197ea21" + }, + "vllm/compilation/passes/pass_manager.py": { + "path": "/vllm/compilation/passes/pass_manager.py", + "sha256": "486979a058aa2e20ebedcbb6e039f7a59f38d2efd2cda11219fae4067be0968d" + }, + "vllm/compilation/passes/utility/__init__.py": { + "path": "/vllm/compilation/passes/utility/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/utility/fix_functionalization.py": { + "path": "/vllm/compilation/passes/utility/fix_functionalization.py", + "sha256": "ad5b504a05ccee023869b0c8df70ec2fff9a4a80d25fd903e2b532f470e7203f" + }, + "vllm/compilation/passes/utility/noop_elimination.py": { + "path": "/vllm/compilation/passes/utility/noop_elimination.py", + "sha256": "8abf85d28c13f95059f2acbc0275b9b9ed2ad4990f7c5763bbe3067a4aa629ce" + }, + "vllm/compilation/passes/utility/post_cleanup.py": { + "path": "/vllm/compilation/passes/utility/post_cleanup.py", + "sha256": "1c38b14fc209165cbcf8ca763a17ac4e528b97f59b573e5d52df2cce7d758de3" + }, + "vllm/compilation/passes/utility/scatter_split_replace.py": { + "path": "/vllm/compilation/passes/utility/scatter_split_replace.py", + "sha256": "138402cc3097768a32e9e5b8d1a054b6176e494bddc8684e23ca2dc5fdc3fdda" + }, + "vllm/compilation/passes/utility/split_coalescing.py": { + "path": "/vllm/compilation/passes/utility/split_coalescing.py", + "sha256": "0b02acd9e1ad43d7b3e128b914e969b9580773f2818078846dfbf163a8bd0871" + }, + "vllm/compilation/passes/vllm_inductor_pass.py": { + "path": "/vllm/compilation/passes/vllm_inductor_pass.py", + "sha256": "4f83ffb67f834a214221d810c7843a8e41eb4e5930eb40adbd8cf054ff6fb9c6" + }, + "vllm/compilation/piecewise_backend.py": { + "path": "/vllm/compilation/piecewise_backend.py", + "sha256": "6525318ff3ca2e4978e24dd9232a7ae0a02e920e19604b83db6f6043d1f8a54d" + }, + "vllm/compilation/wrapper.py": { + "path": "/vllm/compilation/wrapper.py", + "sha256": "c1b1fca679ea16aa07a696831a810c0d531da2bb0ea32dd6f1a95cdaef36de07" + }, + "vllm/config/__init__.py": { + "path": "/vllm/config/__init__.py", + "sha256": "56fb0cb1598d297e4f95a97e5d86dc624145d1532f5faa432b7d2834d7155bd5" + }, + "vllm/config/attention.py": { + "path": "/vllm/config/attention.py", + "sha256": "c41f345b512d9b7df882328257eb3a6381f41088c11ae83b5ecd8a9e8265d1bc" + }, + "vllm/config/cache.py": { + "path": "/vllm/config/cache.py", + "sha256": "f1c226ba679c884930dbfcaf41a57248b137a9a20d3ed8e3d3b31752bb484c07" + }, + "vllm/config/compilation.py": { + "path": "/vllm/config/compilation.py", + "sha256": "c9cec5c7200e8e559810ec8c30113ad61dab6780f9f7fb3c116bd0d9b5a43065" + }, + "vllm/config/device.py": { + "path": "/vllm/config/device.py", + "sha256": "7b82eee02ceb5842337451a27a3d5729920c47e25e8f6bf3997f5146f9330a9c" + }, + "vllm/config/diffusion.py": { + "path": "/vllm/config/diffusion.py", + "sha256": "1fa9fd2478a866098a28a3586b55af2f9738656b7813a55d76539c10dd99fe8d" + }, + "vllm/config/ec_manager_config.py": { + "path": "/vllm/config/ec_manager_config.py", + "sha256": "418b387dbe7bdf67deddce331c205768a2d42aea37141f59fb02a8a1528e3552" + }, + "vllm/config/ec_transfer.py": { + "path": "/vllm/config/ec_transfer.py", + "sha256": "0eabb2c25194676d23c6acf59562672a1dd24415043ac5737d621ce0d681ec70" + }, + "vllm/config/engram.py": { + "path": "/vllm/config/engram.py", + "sha256": "34043a22385a041d4e9be8857f64174c990c2ca8308b97b6a952b5ab96c20ee5" + }, + "vllm/config/fault_tolerance.py": { + "path": "/vllm/config/fault_tolerance.py", + "sha256": "b166b24373d599fb15ddc575e3061cf0dcb42174d0369d8468008e7ffbb2a4e2" + }, + "vllm/config/kernel.py": { + "path": "/vllm/config/kernel.py", + "sha256": "27e23c584cf862f4091858db6dc85bbc2a01f4baf9dca3f232ae6f3bac02390e" + }, + "vllm/config/kv_events.py": { + "path": "/vllm/config/kv_events.py", + "sha256": "b1dbaee3e6830e381e9157fe3bab0d65c357da88ff7cdf8b1e4b3a4e75c82a87" + }, + "vllm/config/kv_transfer.py": { + "path": "/vllm/config/kv_transfer.py", + "sha256": "506fae7a9d7f32cb3646156cf9249a856f6317dff6c4c85db70efd34418c429b" + }, + "vllm/config/load.py": { + "path": "/vllm/config/load.py", + "sha256": "bd6431c22e078362d749a56a2c84145432ebf2605d8bcfa2ac679182d18ed630" + }, + "vllm/config/lora.py": { + "path": "/vllm/config/lora.py", + "sha256": "ed6cf6575f5950f079a62f904caeae93d1a4745dd8c21788b74367883bcd4b08" + }, + "vllm/config/mamba.py": { + "path": "/vllm/config/mamba.py", + "sha256": "2090f791201ca45dd4f1d72b8651268890eb07574b6084721194eb8fdf612c48" + }, + "vllm/config/model.py": { + "path": "/vllm/config/model.py", + "sha256": "f4168b67cc93ce72ff2a6d4c66974223e32fd0f1fab4c05e44bd68a275e18d69" + }, + "vllm/config/model_arch.py": { + "path": "/vllm/config/model_arch.py", + "sha256": "2babe28329d7b60b4e205f6d72c687f0f66e6535aa2f20411469e5ec362f6b5f" + }, + "vllm/config/multimodal.py": { + "path": "/vllm/config/multimodal.py", + "sha256": "271911aee151f17f092228cecee82af0713e9a47340ffdf66834ca7638a50d22" + }, + "vllm/config/observability.py": { + "path": "/vllm/config/observability.py", + "sha256": "d57c59ec776477ab0a20e9f2b945bc954d8ea3737c869259480e9aa10dfb9f6d" + }, + "vllm/config/offload.py": { + "path": "/vllm/config/offload.py", + "sha256": "6f2db3d9a2730588473d5155811690c6241b167a21dcb62fbbd9ebb6386de42c" + }, + "vllm/config/parallel.py": { + "path": "/vllm/config/parallel.py", + "sha256": "f012ace89e3fb730a467f729f602679bc145c49f0d10721811c9d818570e7b2b" + }, + "vllm/config/pooler.py": { + "path": "/vllm/config/pooler.py", + "sha256": "9f01913dcb7bccbf9b672b16643f18471ae202455992e8afaf0725a17f2b3d08" + }, + "vllm/config/profiler.py": { + "path": "/vllm/config/profiler.py", + "sha256": "04d24fa1dc7cfedca6b5c7d9115f7f7021722fc46a5b15234a1e3b3a506c93e5" + }, + "vllm/config/quantization.py": { + "path": "/vllm/config/quantization.py", + "sha256": "acffc52f525b39a88efd656f1ed705ce3a1b758298bb0684fac7694776bc10b4" + }, + "vllm/config/reasoning.py": { + "path": "/vllm/config/reasoning.py", + "sha256": "2c4f7bdee48a9fb3d93787c4c32361c2411417cce452cfde86808d8759977861" + }, + "vllm/config/scheduler.py": { + "path": "/vllm/config/scheduler.py", + "sha256": "822179da62be4bca0619c8590082ae09123f5c4415f9cc2037be673748239edb" + }, + "vllm/config/speculative.py": { + "path": "/vllm/config/speculative.py", + "sha256": "9c642a87264339c0dbc1d0b57330572149df0f9d5e16c6893b9895e50a619e19" + }, + "vllm/config/speech_to_text.py": { + "path": "/vllm/config/speech_to_text.py", + "sha256": "bf4a566fbde6a1cec1e209070b739650c3302c12696739c88049cb8f723a4c3f" + }, + "vllm/config/structured_outputs.py": { + "path": "/vllm/config/structured_outputs.py", + "sha256": "55649776594349b8b4aa3e08fc4c88068366732a486d6fb235079188044aa829" + }, + "vllm/config/utils.py": { + "path": "/vllm/config/utils.py", + "sha256": "d035e9e488ba92b6c47a96cf05d9b2a850d53eda8a05115b22ff9af8dbc2fc64" + }, + "vllm/config/vllm.py": { + "path": "/vllm/config/vllm.py", + "sha256": "956b812e5a719bcbfa3a3958801361b38b9c928c96b8c073311bbb96376dfb7a" + }, + "vllm/config/watermarking.py": { + "path": "/vllm/config/watermarking.py", + "sha256": "30e6620a3cd7529f0736ad55e38bc326a6a78dee4552f0722208400041c94a1f" + }, + "vllm/config/weight_transfer.py": { + "path": "/vllm/config/weight_transfer.py", + "sha256": "92edd9e5ea90c97a8f3c5f20abf1734a105ee1f3f89e306e7ba87e758f1f767e" + }, + "vllm/distributed/__init__.py": { + "path": "/vllm/distributed/__init__.py", + "sha256": "97f28c30b32662af8cab163939e4ee423037f11630752e13b55cbc25a7d0ab71" + }, + "vllm/distributed/communication_op.py": { + "path": "/vllm/distributed/communication_op.py", + "sha256": "3c3f8ac60db38ece891d39dc1e2f6f1947ad438685893d2e5777d072320bd1b8" + }, + "vllm/distributed/device_communicators/__init__.py": { + "path": "/vllm/distributed/device_communicators/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/device_communicators/aiter_custom_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/aiter_custom_all_reduce.py", + "sha256": "f8eb027ce7a85d94af6260960ceb7f36fc6f1406c9af9c9b6285fddb3f178009" + }, + "vllm/distributed/device_communicators/all2all.py": { + "path": "/vllm/distributed/device_communicators/all2all.py", + "sha256": "1f1b69236acd3cd7bd94520fd6d591bfd31b57c4bc7c9f9f4161ea8bbd0c5f26" + }, + "vllm/distributed/device_communicators/all_reduce_utils.py": { + "path": "/vllm/distributed/device_communicators/all_reduce_utils.py", + "sha256": "ed0ab4dd05b2519a6313892e68824c97b540034664d7f8c3d031b322e33e1bfc" + }, + "vllm/distributed/device_communicators/base_device_communicator.py": { + "path": "/vllm/distributed/device_communicators/base_device_communicator.py", + "sha256": "4a7670f12ed7c7621b25d476e2687c24ca01f3be183fff4a6a25337596fe506b" + }, + "vllm/distributed/device_communicators/cpu_communicator.py": { + "path": "/vllm/distributed/device_communicators/cpu_communicator.py", + "sha256": "e1856c8e91cfbbb4d9ce990c1236e258ba4021e226afcbab645653380b38d64b" + }, + "vllm/distributed/device_communicators/cuda_communicator.py": { + "path": "/vllm/distributed/device_communicators/cuda_communicator.py", + "sha256": "102d95c67ec798cf352b817ba92e8abc9da37f30d1bbdf3aab45d3927b627b93" + }, + "vllm/distributed/device_communicators/cuda_wrapper.py": { + "path": "/vllm/distributed/device_communicators/cuda_wrapper.py", + "sha256": "333b6d9ed173e7a18c7f2b6627a3c9c9ed88892ce52015f05e29d6d245e48ee3" + }, + "vllm/distributed/device_communicators/custom_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/custom_all_reduce.py", + "sha256": "a048c1327c23580805600c0c951831bec333b1ffc4eb26a0e3d34119c4f0c445" + }, + "vllm/distributed/device_communicators/flashinfer_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/flashinfer_all_reduce.py", + "sha256": "b4359760e9b55963676109a5c3a015fb82e190d4df1d021de9ee01e7814cbdda" + }, + "vllm/distributed/device_communicators/flashinfer_pcie_ipc_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/flashinfer_pcie_ipc_all_reduce.py", + "sha256": "8b67b0fc356a565095f56b475cc89c513e3a5eff051ab1c52e5beb0c1a79e9f2" + }, + "vllm/distributed/device_communicators/mnnvl_compat.py": { + "path": "/vllm/distributed/device_communicators/mnnvl_compat.py", + "sha256": "72ee1e6f9571b4c8ecbd9f60cd469d1b565cb79cab519a688a93f290906a2615" + }, + "vllm/distributed/device_communicators/pynccl.py": { + "path": "/vllm/distributed/device_communicators/pynccl.py", + "sha256": "882fb83c5a3c565a3f8fd664b79f5ceae566dca180019ecafd74bc8c11d9f8cf" + }, + "vllm/distributed/device_communicators/pynccl_allocator.py": { + "path": "/vllm/distributed/device_communicators/pynccl_allocator.py", + "sha256": "390e2576cbf4ae06341ca4dab24fc7e4d4f7c24dd444329ed05d828a9ce91460" + }, + "vllm/distributed/device_communicators/pynccl_wrapper.py": { + "path": "/vllm/distributed/device_communicators/pynccl_wrapper.py", + "sha256": "ce63c8da57bb88d4cf89956bd70bb63f0f44bfad468ddb37b765611551f6d99f" + }, + "vllm/distributed/device_communicators/quick_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/quick_all_reduce.py", + "sha256": "8aacb23e7c297b0ae2f80d99c5affd2e7517115d7874be51069d14a44db7b5f2" + }, + "vllm/distributed/device_communicators/ray_communicator.py": { + "path": "/vllm/distributed/device_communicators/ray_communicator.py", + "sha256": "332c37f65495b60564d61db59bc2d30ca0236adc33442d01464790bde9aec897" + }, + "vllm/distributed/device_communicators/shm_broadcast.py": { + "path": "/vllm/distributed/device_communicators/shm_broadcast.py", + "sha256": "f3e7a3f3ff713fccbd535e0d41650ee05bdf8677e83d4b90519910645022c30b" + }, + "vllm/distributed/device_communicators/shm_object_storage.py": { + "path": "/vllm/distributed/device_communicators/shm_object_storage.py", + "sha256": "e097bf7ac0141fe8db4131e8fd553ca2ad5b0600b22a56f3924af6b795e7207c" + }, + "vllm/distributed/device_communicators/symm_mem.py": { + "path": "/vllm/distributed/device_communicators/symm_mem.py", + "sha256": "b06e3ddb9ae880a30ec4a103ce32eb9794223bb0293832e89572af28adaaa544" + }, + "vllm/distributed/device_communicators/xpu_communicator.py": { + "path": "/vllm/distributed/device_communicators/xpu_communicator.py", + "sha256": "527cbfb250760abc62096ee7cd612307b821f21b72dee1687ad866620ec89b6d" + }, + "vllm/distributed/ec_transfer/__init__.py": { + "path": "/vllm/distributed/ec_transfer/__init__.py", + "sha256": "061405bb51df7409c9938b62e25caa8bd6ebf85da6d1700dbd4affe2a0825135" + }, + "vllm/distributed/ec_transfer/ec_connector/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/base.py", + "sha256": "22d4913375bb622473fbe1a77f9376b804949cd8a7e31e9518208f9561d161e2" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/common.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/common.py", + "sha256": "e2267abd8d00a6d2605e1a82ea5c73396a71b427452eab469fcca0134c334e7c" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/connector.py", + "sha256": "72cd35d9fd754a2992dd090a8af13c91e0789b4038ac29276750d823120235db" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/base.py", + "sha256": "19e8df88b0fa831997896355ecdd49e0d86cb074cd7ae28aed0b328b0bb3ab2e" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/zmq.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/zmq.py", + "sha256": "435641c0e37551ab4937855abd067be26905b91215e759cbd9d28a419a34ff9a" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/base.py", + "sha256": "3be698aeb67d32ee3741e76b2fb71806941c587578583acf8fbc42fbf22b46a5" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/nixl.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/nixl.py", + "sha256": "03af8f6549a6027b7262a482907af591e45f28b9b1c5a3408bbc6600e38797e5" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/ec_shared_region.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/ec_shared_region.py", + "sha256": "e40607952c9920024455eca2f419e8c3ef1de9a4d8b27c147a33bb941b8c08b1" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/protocol.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/protocol.py", + "sha256": "05878336884396bfbef77b96b0fa6359f6fa0aba912961f14a84f5a436f27038" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/__init__.py", + "sha256": "01c42385bf3a55cff09cc05ba956f6dd4b8b6b986bf4d6eca4e566cb045b48e0" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/embedding_cache.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/embedding_cache.py", + "sha256": "7359fb980af1fc30b3253681310ef636e2b4a19134e04a93270c9c45de2572d8" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/session.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/session.py", + "sha256": "5973548a919e13c866222b91d502686a6757a31e5a5664b879bf2887ed9fb212" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/utils.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/utils.py", + "sha256": "160ac665f20f2c75b343c1e784084f2b0b4d1cf8fdb28ee15deee4dc8ed0ce45" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/worker/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/worker/__init__.py", + "sha256": "f08d296d3560c42173ae8af961af4a768033ccf1e36e9c17c0cdd53013d0c52e" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/worker/descriptor_buffers.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/worker/descriptor_buffers.py", + "sha256": "be7c81be214e995da8499105ba485854d9c19d6f8e905f8f1b87b83694ca0864" + }, + "vllm/distributed/ec_transfer/ec_connector/example_connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/example_connector.py", + "sha256": "09022ce07a89114bb65d9befd2e60873453aed11bbac8c0a75c1e6084e785a5f" + }, + "vllm/distributed/ec_transfer/ec_connector/factory.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/factory.py", + "sha256": "d6cedca0a99c3dd2b03cd1c15d17472b983e3f7d8f5baf4a12eecaf6abedb817" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/__init__.py", + "sha256": "1cbfc2f95f8f4d48a9253056eb1fd4b562062884e3fd5cb6571583c352fc16f3" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/config.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/config.py", + "sha256": "98c60696f79d1de67d2364cd9e8a42a393b5c8e17ed9af2f971368e47891d7b3" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/control.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/control.py", + "sha256": "58e0d1a423fbe958bfa586ac26a17107e08d0b31d044b4c74ab4dde880e7ca9b" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/memory.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/memory.py", + "sha256": "d5e90b1348de670a70f110d58eedcbdbd053db72c21dd007c3f5275c53951149" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/metadata.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/metadata.py", + "sha256": "497a7e6dfffb7fce80a41d5989f96119b970c143df77bb9d0f9c91d7a46e8c42" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/producer.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/producer.py", + "sha256": "97fa4d0b19475574778eab02f55fad73db9642beb9156da890314fd53fa1a7ab" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/reservation.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/reservation.py", + "sha256": "4790bc65cde4db5f17733ca2c2910980ba594a8a9b79ee27c5b957dffd4c1113" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/scheduler.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/scheduler.py", + "sha256": "53004b62529a31fdd80dfb2e6026610b95041a77e91f731ae526fefd84e7968d" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/state.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/state.py", + "sha256": "92f375d6c5cc9c83dbe95a7977ad8eb0f1b5629ccee92968bcacdc94eee15d65" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/transfer.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/transfer.py", + "sha256": "ada2113a5402054f1149d3edc2537f4e5e1bd696c9b17291c9f2b4cbf6b59753" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/worker.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/worker.py", + "sha256": "89eb91bb64845b3b121d502972a6b04d448714253becd2ea662e5691cd5acdd7" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake_ec_connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake_ec_connector.py", + "sha256": "aaebab4711bc00dd0c622dfbfd8639fc41e7ed5d1658d7d68fe33e4d5fbef3ba" + }, + "vllm/distributed/ec_transfer/ec_connector/utils.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/utils.py", + "sha256": "11b9014b9c0697f8846deff1a55a22fa86a15dc2ac3e139442fb6d513ac03059" + }, + "vllm/distributed/ec_transfer/ec_transfer_state.py": { + "path": "/vllm/distributed/ec_transfer/ec_transfer_state.py", + "sha256": "9487a41f23fa1a4fa6dfca8b42b8e97a0ee19d8406ffd1dcf4bef66315180827" + }, + "vllm/distributed/elastic_ep/__init__.py": { + "path": "/vllm/distributed/elastic_ep/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/elastic_ep/elastic_execute.py": { + "path": "/vllm/distributed/elastic_ep/elastic_execute.py", + "sha256": "b8f60a4183c79ff6051095b5f95bb385bc7fea0cffe8cd9ebc9087ab0e9f01b5" + }, + "vllm/distributed/elastic_ep/elastic_state.py": { + "path": "/vllm/distributed/elastic_ep/elastic_state.py", + "sha256": "fbf049199841a086fdf2fc1ab8498ef017ad3bf319db65c3ae61acbb536d2e10" + }, + "vllm/distributed/elastic_ep/standby_state.py": { + "path": "/vllm/distributed/elastic_ep/standby_state.py", + "sha256": "15282597550ebd0e07b8492ff192aea1ec0dcec8f0ad34009123e1002cc140c1" + }, + "vllm/distributed/eplb/__init__.py": { + "path": "/vllm/distributed/eplb/__init__.py", + "sha256": "1b9c2ee22abb5888c354c5aa01f0944f253e5e24e135d019778398bbe495a628" + }, + "vllm/distributed/eplb/async_worker.py": { + "path": "/vllm/distributed/eplb/async_worker.py", + "sha256": "424328600ad1003286fc5dfffa1f9482007314c060947818b2f94a8b97811f5e" + }, + "vllm/distributed/eplb/eplb_communicator.py": { + "path": "/vllm/distributed/eplb/eplb_communicator.py", + "sha256": "ba30d9d40e7b81d3f42aa9041d2f328edca4073cfe2de920285eb68375501ed8" + }, + "vllm/distributed/eplb/eplb_state.py": { + "path": "/vllm/distributed/eplb/eplb_state.py", + "sha256": "2f06bc8c63f3fdf55edb5032ae55c0ffcac3e67720ce74ea312e3d141b12acf4" + }, + "vllm/distributed/eplb/eplb_utils.py": { + "path": "/vllm/distributed/eplb/eplb_utils.py", + "sha256": "058af6104faa6d4085c1dca80bbe60d92bf0a7ec9cd92c775a180546c9d8c9c3" + }, + "vllm/distributed/eplb/policy/__init__.py": { + "path": "/vllm/distributed/eplb/policy/__init__.py", + "sha256": "daeb266c88442832b1ab8c8c4cc064891b38b9e9ba00aea324f926c87dc6d37e" + }, + "vllm/distributed/eplb/policy/abstract.py": { + "path": "/vllm/distributed/eplb/policy/abstract.py", + "sha256": "b9fd34c28bbfdded03360d7f3f6f8fb978e82689190d7ae4501dfe520e958c62" + }, + "vllm/distributed/eplb/policy/default.py": { + "path": "/vllm/distributed/eplb/policy/default.py", + "sha256": "3b54229e6240d050480390f6b29d4744fd38437d23719f78a6decf7002296a29" + }, + "vllm/distributed/eplb/rebalance_execute.py": { + "path": "/vllm/distributed/eplb/rebalance_execute.py", + "sha256": "b387e228791149018536eee96cf955b33ba79d801cdc36849d1b47a580ec2597" + }, + "vllm/distributed/kv_events.py": { + "path": "/vllm/distributed/kv_events.py", + "sha256": "de08f01e8736881560256c350a3b6418999dd4aa30f9c6ec9159527f7ed6899a" + }, + "vllm/distributed/kv_transfer/__init__.py": { + "path": "/vllm/distributed/kv_transfer/__init__.py", + "sha256": "c1be4e58ec6923bae607a355ad22891c740f056a69ff7358b1e10ea3fd2680ea" + }, + "vllm/distributed/kv_transfer/kv_connector/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/base.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/base.py", + "sha256": "2ae2a2c48f5731f3533166a75440fe91e764332305b5d713df840edba970789d" + }, + "vllm/distributed/kv_transfer/kv_connector/factory.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/factory.py", + "sha256": "add99c93c587b0098b90b1f8fd6940bdd1f15c236c5c6f1a258411863cb902d3" + }, + "vllm/distributed/kv_transfer/kv_connector/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/utils.py", + "sha256": "317ed40dc837671ca6e666165222e641a0f9b3992aea63bbf54de7e13d40b3a4" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/__init__.py", + "sha256": "5beb6ccad12fdcfe1581982da6f18321caca50e73a6b3259ebf3c8dc8b3ffcca" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/base.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/base.py", + "sha256": "97af64220475c6c9e8273438d7b5138b105ebe6944beb783facb36a3bb76f31b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/decode_bench_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/decode_bench_connector.py", + "sha256": "b4151c88cdec28f1ff9259047abc17baf23b892f4b68769a93bf26e0442b9017" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/example_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/example_connector.py", + "sha256": "6226876ef52d10d0d284d29c337ab44698e8bac6abdb2e0ece53b5756c55d068" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/example_hidden_states_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/example_hidden_states_connector.py", + "sha256": "58c22534dcad0fb73599a2d70a2fb104d5b612a4723be5e777f56a56fe07892c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/flexkv_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/flexkv_connector.py", + "sha256": "de4f68c3bd565ed898e47e0b2980049b966ff31888f1957050d30995d4953762" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_client.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_client.py", + "sha256": "bea6ecff2be281c7e96c1551c7bf463cbb01f2964696067c0ebdb683844f9aab" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_connector.py", + "sha256": "e67ed58015090e5eea9d499883f2a9422673d07f8bdbe0ccff7db15d2460de13" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_metadata_server.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_metadata_server.py", + "sha256": "6800e5cf37809f8a8e28c469c14a434db288bc3bf83a8b62ee06910a20c2da19" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/common.py", + "sha256": "8f2c02c08227a9093e6aeb183961aba36b7812cfc29b8c047a2b2c9d82f79c15" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/gather_scatter_helper.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/gather_scatter_helper.py", + "sha256": "08c1b43de34fbeca77357d7576ac1d17cba974b59d695562f68bb713061e7b54" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/hf3fs_mock_client.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/hf3fs_mock_client.py", + "sha256": "bec61a9b0c4b9124b2292d7646d76411da44396389349b53cdcbc46353c8780e" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/connector.py", + "sha256": "8c61094ce0a3a702908f9576f69482e6bf314738a2cbe33a7d3b47258fa0ab43" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/stats.py", + "sha256": "d9383a6ad6ab6b8f812d29d90495407b770eeddb79b86e9d0e3216c0bd16e0ed" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/worker.py", + "sha256": "251c0d8e57e4739c03ce3e1c899a95ff5b1752eb27676c28ab88c4ebd62c4776" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py", + "sha256": "5991f9ff8832df32bd421eb67e48237270ea0a408180e523810bb43606acf8f3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/__init__.py", + "sha256": "c53be9796e76cde637514bfc40a525d8c09bb2784b406cb516790d8285dfe433" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/multi_process_adapter.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/multi_process_adapter.py", + "sha256": "6480d67b31ed603027a83edf327880a38aee45eaeee2da9a4efa93e95527c166" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/utils.py", + "sha256": "e204fa6a853ac9c122d7a4e9d146902230f81c48d4321ed5edfdbf979dd49ba2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/vllm_v1_adapter.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/vllm_v1_adapter.py", + "sha256": "e6fe55049c6b007248516d69640e2f3a4809f9d286091a1014ae0949987fa8f1" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_mp_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_mp_connector.py", + "sha256": "c712c386a7c57bf0355a1441ba574232c3aa5498fcb70713a2b3f5d18b64f9c1" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/metrics.py", + "sha256": "de1b1797d0448f74370919dbb0278767f390e8f59e00a0c0528abefb302babc2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_connector.py", + "sha256": "516be01320e64b0110e102eeb69a6ba766dd5ac8cb3036db6b97b7d54413323d" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_utils.py", + "sha256": "26877610463fa8e9d6b092772f2551bcc0c3ac794cbe63996df0414666a8ebba" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/rdma_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/rdma_utils.py", + "sha256": "716e5042edecaba36c7ca763474988f32fa09c2668b8260260149df610af8f83" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/stats.py", + "sha256": "f39b2f0b1db2e4f922e27e684a3f7bbf5bb279b82a0a8c3bb0c7ae69b6d14d24" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/connector.py", + "sha256": "17a350bdb89e17e415d6c52a48684dc15c35a804378daf03e1f3bee1b1b123a3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/coordinator.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/coordinator.py", + "sha256": "a8eb6c2157a96e8d25233b82347ac8409a41d6390b4f2c64242119c05911010c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/data.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/data.py", + "sha256": "d3cfefdb4165a24995749cba452641b318065baa95bb1bae62f922a2f8886e7b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/metrics.py", + "sha256": "f2b9ef8927632d142aad11a374d0725c6e619ea0bb7fea9eda3f3895eb7d277a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/protocol.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/protocol.py", + "sha256": "ccb1cf6a84a932a375215627d2aaac482c351a05df015d636d05373a6845b7c8" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/scheduler.py", + "sha256": "283849ff581ec206444cdf5621622377f1c925e8d7e05cb9294af2f3a5094e79" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py", + "sha256": "55f1682dfd1ed7af689166421337126a0e1d08afa4774a242e098d79e0c1e95b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_common.py", + "sha256": "549bb4fe22dca5095515b9c0712c31cc81a9d4923881e9f112317640fd8c04ab" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_connector.py", + "sha256": "c0f474bc34b579d889fae92eaf43eaca241be51a4697a187a942f0df4e6b6a98" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_engine.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_engine.py", + "sha256": "d842f3772fc6588d5a329a67572324cb74709aa3df4033e64c791a1e706c8e88" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_layout.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_layout.py", + "sha256": "2b4ec046a78897236b0626939bb828b6ec095355097d10bca39e5f3e1c992553" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py", + "sha256": "12d8387239f3194f2cb63ccbd64824648047210323572d66671e6a1eed349fc3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/__init__.py", + "sha256": "cc3145fe3b6d219a267bf40a0f7c0cc9430e4289f94acab2df761b99b671e7ba" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_scheduler.py", + "sha256": "7a1db8c54e4cd846bdac747344f2aea2c2fcf507817928796063225223b7e169" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_worker.py", + "sha256": "49a2e4faf99bef146b5a1d4d18d48f240b1e561c438252274494b359db96ef52" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/connector.py", + "sha256": "b6a0dc916d052f344be72ecfcb111509c13580102c11a860fa726cf0888949a9" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py", + "sha256": "2b23a07c1ec5ac5490c3b818737c7192e344ea9f52cd5623f75939f741ab4e21" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_scheduler.py", + "sha256": "ac3daf8e2246581fec84ab28f2133569421b62c32a120be4923e2f4d0f2f9de9" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_worker.py", + "sha256": "e5060c9b6cf022de35ca3d1da7a369cd6a6a2dea26219af9f7633aaf78af8a76" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_scheduler.py", + "sha256": "2d9008e33937a4d6c5cf9cc2f96160f2bdbc8e987fe37f0798a7fd7eb84c9572" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_worker.py", + "sha256": "87de3ea383dd3aa95fb2c287ea26ded8a330859cc1295f9faa69047e80865c2c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/scheduler.py", + "sha256": "09f1bfe7075b926b26a94529480e33b62c3ac273ff826f6c502084f08b1b2a08" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/stats.py", + "sha256": "3e710654e0b68d1a8592f0c4735c81b22f4bf698fb1a2dfea126d35bf2dd1ef2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/tp_mapping.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/tp_mapping.py", + "sha256": "2d43607f98701b2fad6cc0ac2767619a80b7fc2b3a3c2eb6ed0da4fb05dcd8f6" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/utils.py", + "sha256": "93de863fc8307a61d40b62f1b176b57ae93c363d34b9e9ddc8e666265b6d45dc" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/worker.py", + "sha256": "5134a36ac100ce7a64f5311029a37ac12c38d91093f63100f51f7fe53ea7c3ee" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/canonical_mapping.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/canonical_mapping.py", + "sha256": "e0b3c6f9806a650e0370c43c5068fc31c0fec94615089e15fdf270d7d96f2b64" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/common.py", + "sha256": "9b3f042c6fa1581d10e8f688d2d9bc927bb41b780a9ea01f514d57228e20c978" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/config.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/config.py", + "sha256": "aea82e60889e78dcad8564ec8285b65a6a372824a1545a98ea8e78b6f4fd418a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/events.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/events.py", + "sha256": "d7039b67be95fd444966628184040a94880873c0611c0e6e7525a22650ffdefb" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/metrics.py", + "sha256": "13d76df014e86691f58dc89a879f9808b124690c9267dd5fa3b2d4004d4c5fdf" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/scheduler.py", + "sha256": "2c5282f4a3165cd787fb355e215e3869f1bdd3f2c795b2155fc537c9d135191a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/worker.py", + "sha256": "acc2df53262441dfc6421a3af7f0cbd68cbfaedbd42bbc384d8e1da2d965d194" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py", + "sha256": "cdc16ca7339a10e1993bd6220e6273f86a4e99779f58f25098a24ad31bb0dbd8" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py", + "sha256": "96238ca82ccf07a1eeb59b8f66de17b09034e3eb993ad9a0a836511d3f69706b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/ssm_conv_transfer_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/ssm_conv_transfer_utils.py", + "sha256": "59a949709482e65a007fbe5352fe9b4bb54c2dcc10ad2c1c41f754b6e13299f4" + }, + "vllm/distributed/kv_transfer/kv_transfer_state.py": { + "path": "/vllm/distributed/kv_transfer/kv_transfer_state.py", + "sha256": "2e5fe09438d6e2ee642f8a26cf7dcf632e870d955d30baf002b76a8bfe836d05" + }, + "vllm/distributed/nixl_utils.py": { + "path": "/vllm/distributed/nixl_utils.py", + "sha256": "0bffa3c052c9f67472b1c0bc3816114891b010c968bf4b8a292e7da4d687db53" + }, + "vllm/distributed/parallel_state.py": { + "path": "/vllm/distributed/parallel_state.py", + "sha256": "d9b10ad56833ebc08a753e1a050ef0989c30d4134021b7b7b00150b7bd01adc6" + }, + "vllm/distributed/stateless_coordinator.py": { + "path": "/vllm/distributed/stateless_coordinator.py", + "sha256": "f52848fbe985ed47b1f3e3ca555314736ca06436e8d738ab4390101f0672dcb0" + }, + "vllm/distributed/utils.py": { + "path": "/vllm/distributed/utils.py", + "sha256": "792146b357139e705064a68d3b66858de8a0baaca4dc7db1232fa217d45db231" + }, + "vllm/distributed/weight_transfer/__init__.py": { + "path": "/vllm/distributed/weight_transfer/__init__.py", + "sha256": "3fb9d4712b7c131d522f5e76e73cd8c333f3cc7af86e2d5ecf9b61b57b3b7f5a" + }, + "vllm/distributed/weight_transfer/base.py": { + "path": "/vllm/distributed/weight_transfer/base.py", + "sha256": "8ab06feb04f1379d0558fbdb77fde46bc84f179e0a26742cabab937e88caa38d" + }, + "vllm/distributed/weight_transfer/clients.py": { + "path": "/vllm/distributed/weight_transfer/clients.py", + "sha256": "ff85c79c350241e6d2749ca23c9d295a3289b4b62bfdf0257d32eb94a0151d36" + }, + "vllm/distributed/weight_transfer/factory.py": { + "path": "/vllm/distributed/weight_transfer/factory.py", + "sha256": "4e979eeac8c5bcdbffb10eb4765cfb30120fa7595c6c2561d3fa1a966ced61c8" + }, + "vllm/distributed/weight_transfer/ipc_engine.py": { + "path": "/vllm/distributed/weight_transfer/ipc_engine.py", + "sha256": "1af578293f387a19073c322b24143c3ae4716ce0c5d2bac2a4ef26fe20119330" + }, + "vllm/distributed/weight_transfer/nccl_common.py": { + "path": "/vllm/distributed/weight_transfer/nccl_common.py", + "sha256": "7b2ef7dc7481c3f478f17c49aa36c7bed54142ec5c93d36ed8426c8fdf09e500" + }, + "vllm/distributed/weight_transfer/nccl_engine.py": { + "path": "/vllm/distributed/weight_transfer/nccl_engine.py", + "sha256": "7fd020c919dc7b4723fb78e64da977b180d0fef0cd21df955a037b848dbaa008" + }, + "vllm/distributed/weight_transfer/packed_tensor.py": { + "path": "/vllm/distributed/weight_transfer/packed_tensor.py", + "sha256": "d0a27fb0be1dc029bd5a1d44fdb57a5e54aa4cd74308bedc339e86ac02c7494c" + }, + "vllm/distributed/weight_transfer/sharded_rdt_common.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_common.py", + "sha256": "be0b13801f24e7b62999b19d733c030510353603a2d5320d5dc98ee02daf22a2" + }, + "vllm/distributed/weight_transfer/sharded_rdt_engine.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_engine.py", + "sha256": "2f791970b4815511a7578ef6c957e7da97b071d26a39087a09a17475909791ee" + }, + "vllm/distributed/weight_transfer/sharded_rdt_fake.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_fake.py", + "sha256": "ee11164e17b5f2793252ce77741b8b94e0583046abf896a590131b2008d1fbb9" + }, + "vllm/distributed/weight_transfer/sharded_rdt_trainer.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_trainer.py", + "sha256": "dd413ff461d41826ccd3eb87d3df22f6cd7f24e09aac7644e3e5b40d7beec484" + }, + "vllm/distributed/weight_transfer/sparse_nccl_engine.py": { + "path": "/vllm/distributed/weight_transfer/sparse_nccl_engine.py", + "sha256": "e11b409454dda2b05ea34e8115ac19027c5e65cb2a5e9682c494f16a50e978f4" + }, + "vllm/model_executor/determinism/__init__.py": { + "path": "/vllm/model_executor/determinism/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/determinism/batch_invariant.py": { + "path": "/vllm/model_executor/determinism/batch_invariant.py", + "sha256": "af8f8d256a48fc214edf426fbe891fb15bd8b1d7ae98b811c736ff1eb0fae798" + }, + "vllm/model_executor/determinism/batch_invariant_configs.py": { + "path": "/vllm/model_executor/determinism/batch_invariant_configs.py", + "sha256": "72ea0d4df0ab5ae288abb7df5c203d2ad5f1709c7295d87ec72da775fddc1b7a" + }, + "vllm/model_executor/layers/fused_moe/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/__init__.py", + "sha256": "64a32665be6d5afcfbaf7a0915717267278b66b880b908b0263ea58f08e51b5e" + }, + "vllm/model_executor/layers/fused_moe/activation.py": { + "path": "/vllm/model_executor/layers/fused_moe/activation.py", + "sha256": "78dec0e85e0c040304515f64ccf8f2c6a7a2e5b9f1124a2138a97d9a02585541" + }, + "vllm/model_executor/layers/fused_moe/all2all_utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/all2all_utils.py", + "sha256": "dc4750a446f7de31d09a46034da5fdf479bc169af90f47aa9af8ae15e67b0828" + }, + "vllm/model_executor/layers/fused_moe/b12x.py": { + "path": "/vllm/model_executor/layers/fused_moe/b12x.py", + "sha256": "ee76cc6aa801e24be8ec78a9e8502061ad48667d5ff8711e43f68fba912425bd" + }, + "vllm/model_executor/layers/fused_moe/config.py": { + "path": "/vllm/model_executor/layers/fused_moe/config.py", + "sha256": "a3a87cebcc7ac85d73f471dcfafc2d899c6fc08f264777b74a0e919adac9e03f" + }, + "vllm/model_executor/layers/fused_moe/deep_gemm_utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/deep_gemm_utils.py", + "sha256": "8fdcd857eb333f9c68902105f157568d52067c94ba1e2df6dbfe0474ef1f4c02" + }, + "vllm/model_executor/layers/fused_moe/eep_reconfigure.py": { + "path": "/vllm/model_executor/layers/fused_moe/eep_reconfigure.py", + "sha256": "9d7580265e8563e1140c2bb4c3a81a35ddd54903f5ec0a2720ffc064681f02f9" + }, + "vllm/model_executor/layers/fused_moe/expert_map_manager.py": { + "path": "/vllm/model_executor/layers/fused_moe/expert_map_manager.py", + "sha256": "308c00f63fcb6f44518ec3a56d8f902c7bba75928c2e3aea30fbe1f3f473973b" + }, + "vllm/model_executor/layers/fused_moe/experts/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a16_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a16_moe.py", + "sha256": "53deea255175171971422d14082ad139b5ec7b62e21429a4c7cc0ebbefd29cdc" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a8_moe.py", + "sha256": "f3fc51b95ed89862381908a0134e326228827f44854248db9585a9c4899c34f4" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp8_moe.py", + "sha256": "af6db1760961a5a71234f8b1cdf42e9e30a236e13601b0826a75110b79724948" + }, + "vllm/model_executor/layers/fused_moe/experts/batched_deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/batched_deep_gemm_moe.py", + "sha256": "b0cd4ea706583518dc608fb56f832fc3595f24bd863b03ef1e8c22b36b873508" + }, + "vllm/model_executor/layers/fused_moe/experts/cpu_int4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cpu_int4_moe.py", + "sha256": "67170af3ba9dc4c4f71d78a72efc3fa4e366eac614936a79911dae5c75ac1864" + }, + "vllm/model_executor/layers/fused_moe/experts/cpu_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cpu_moe.py", + "sha256": "0754cd4ff1b28e6d3932a67609d335acefd28f95a841f0492923813356a6d81e" + }, + "vllm/model_executor/layers/fused_moe/experts/cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cutlass_moe.py", + "sha256": "db901bdbcd3fdac23a1d74e39c51e67f14a82be787b2fd704ed1e787372ae868" + }, + "vllm/model_executor/layers/fused_moe/experts/deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/deep_gemm_moe.py", + "sha256": "16911a64a72eafc26a1bcb544a91f90144d85dc41e3ee57cf20e89925227bbb7" + }, + "vllm/model_executor/layers/fused_moe/experts/fallback.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fallback.py", + "sha256": "1bdd0a4f2ebaa40ec96a5aacc07aee61511af59e6324ce456aa65003b6e2991a" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_b12x_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_b12x_moe.py", + "sha256": "e613afe5da2742e42c717c1a0a56bd9e1c7e3e0452a828db0013d81063518954" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_batched_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_batched_moe.py", + "sha256": "295254dfeeec8df3eb8110e6f659a946cb9cded3de1565ecad4d741b3c3f3e00" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_moe.py", + "sha256": "08578bcd0cf72d6a470e40950175e73639efaa6d8d23c6da0869345312b229c9" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutlass_moe.py", + "sha256": "52887cec5fe628e0a4e7793deb546b40f6c29f7362b3b436c10ca36934ab9826" + }, + "vllm/model_executor/layers/fused_moe/experts/fused_batched_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fused_batched_moe.py", + "sha256": "2435587fc7f8fe8ea341ea0eb8f14c11f3f5b31fbbb9b29ce569ad3bace6e6a0" + }, + "vllm/model_executor/layers/fused_moe/experts/fused_humming_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fused_humming_moe.py", + "sha256": "a6830a76ff7f4cd3479b9c8372a30d03e8301604555cbdbcd9ac89a813b7431a" + }, + "vllm/model_executor/layers/fused_moe/experts/gpt_oss_triton_kernels_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/gpt_oss_triton_kernels_moe.py", + "sha256": "1613a7a6b256e8faee6fdcfae84f293492db6229d28ceb3e8a8d6093af480e36" + }, + "vllm/model_executor/layers/fused_moe/experts/int4_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/int4_emulation_moe.py", + "sha256": "f12857caf0671a341687ad3c5f48616b816ed51e1bcbdefa0a7edbecdb81a79d" + }, + "vllm/model_executor/layers/fused_moe/experts/lora_context.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/lora_context.py", + "sha256": "9b41eefaaa57c5dd0dc54217ef95978821b0c52e90ea4db8b0752e08452bd3e5" + }, + "vllm/model_executor/layers/fused_moe/experts/lora_experts_mixin.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/lora_experts_mixin.py", + "sha256": "b2bc55ed6be98b526c6a5698e2d98300650e78555f56b1820e58c04888e2a373" + }, + "vllm/model_executor/layers/fused_moe/experts/marlin_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/marlin_moe.py", + "sha256": "93916b721548e6194dc70cf6cec224b4b1456a0cc0980235e97beba7bf36541d" + }, + "vllm/model_executor/layers/fused_moe/experts/mxfp8_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/mxfp8_emulation_moe.py", + "sha256": "d09c62ad1398c51ff6f515f2a61014ee9e9a9798d0fe9762c47f446efc5edbef" + }, + "vllm/model_executor/layers/fused_moe/experts/mxfp8_native_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/mxfp8_native_moe.py", + "sha256": "01a42cebf18189e566034111b2145573c655319e8af1a56db60d53a319c40613" + }, + "vllm/model_executor/layers/fused_moe/experts/nvfp4_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/nvfp4_emulation_moe.py", + "sha256": "f24467762b60702f0df122ed64786be839a838a9b6cafaecbd04d35fbfedb189" + }, + "vllm/model_executor/layers/fused_moe/experts/ocp_mx_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/ocp_mx_emulation_moe.py", + "sha256": "dcaa60a9ebdb0bd8223b37af41f018ce7f95716ec7cd8526850f4433a579213b" + }, + "vllm/model_executor/layers/fused_moe/experts/rdna3_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/rdna3_moe.py", + "sha256": "e4abd802dc2f0ad9b338ebde397633c761d881c37813e2dc229902c526b597d8" + }, + "vllm/model_executor/layers/fused_moe/experts/rocm_aiter_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/rocm_aiter_moe.py", + "sha256": "bf09a7b783f5752d61cab76221b32b598d8846d801ee39dc9209d636c9659c6f" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_cutlass_moe.py", + "sha256": "ffce5ad627c540940d122d8df7981644b2eb35d07d480995c0f4f30517815fac" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_deep_gemm_moe.py", + "sha256": "c7209fa5e1ccb184a68b37a0706fc571a76696c2ae79802ddc7f889b1c29684d" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_moe.py", + "sha256": "806fbccfe30f5fbd578acf773add99bdf022b12d617958bd6281aef6de369701" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_bf16_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_bf16_moe.py", + "sha256": "76256de96fefece9c41ffb1108487919e24da364cf4412c6c3474498aba59137" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_fp8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_fp8_moe.py", + "sha256": "b54c7ceb45e5d07aa905f42ea44caccf85ca35ba9fb825d4c01947764510f68b" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_lora_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_lora_moe.py", + "sha256": "dd35a9e4242c0dc8d691168813e14bd5543e591f02ee529d0691e07651942c5a" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_mxfp4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_mxfp4_moe.py", + "sha256": "fe780f125a3dc3ba919659e9b85340bd32afcbfe47733a002bfdfb92eadf400c" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_mxint4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_mxint4_moe.py", + "sha256": "2106d67c2951aa690c4656ca58240d09c366cffe8cb4d9fd575df016c377cc30" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_nvfp4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_nvfp4_moe.py", + "sha256": "e938ac9f058f7c90b41c9610513239bec54a95304bfb5ff5f6897ebd54733d7e" + }, + "vllm/model_executor/layers/fused_moe/experts/xpu_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/xpu_moe.py", + "sha256": "2a11bac0cf9274d963315efd6eebdc62978b0b7aa02e8849ff2a562742f0b86d" + }, + "vllm/model_executor/layers/fused_moe/fused_flydsl_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_flydsl_moe.py", + "sha256": "0e74879ee5c72f616ae4064b9dff3b3a0b583b7fc70b8f92f1e8b730ecd5d39b" + }, + "vllm/model_executor/layers/fused_moe/fused_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe.py", + "sha256": "7072eb06237be9d33dcb0ef7101410f886a6363c98cbee70a014c68b70f639cb" + }, + "vllm/model_executor/layers/fused_moe/fused_moe_method_base.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe_method_base.py", + "sha256": "18dcfc469d3252749801bbf943857f58da85de1f2db8fdff5a9f4986a925dc68" + }, + "vllm/model_executor/layers/fused_moe/fused_moe_modular_method.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe_modular_method.py", + "sha256": "321c744eac1fcaffd6b1b2971204c8baa57dfec53e91e5d24140014d72d64f83" + }, + "vllm/model_executor/layers/fused_moe/hpc_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/hpc_moe.py", + "sha256": "2ca9c5d71b6fd91651027905e2b83103a8823845e053e7153e148cb8e0ee666d" + }, + "vllm/model_executor/layers/fused_moe/layer.py": { + "path": "/vllm/model_executor/layers/fused_moe/layer.py", + "sha256": "def0b4e13bcc1e4e21ee10644e647e2eda1acbf0cc01e76d6128abb59ea08224" + }, + "vllm/model_executor/layers/fused_moe/modular_kernel.py": { + "path": "/vllm/model_executor/layers/fused_moe/modular_kernel.py", + "sha256": "8dc4e0dbbf35b3aac8add63ca6f2a7bbfdadaabbd60826e24598b22c7d8e5c22" + }, + "vllm/model_executor/layers/fused_moe/moe_align_block_size.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_align_block_size.py", + "sha256": "c3f7fc2087836f0160a32ab99ceb1d8f6e87c793679da34dd672e225cb7fa31b" + }, + "vllm/model_executor/layers/fused_moe/moe_fused_mul_sum.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_fused_mul_sum.py", + "sha256": "112e72578002c3bff538418dac64b3b56d995994a2fc5e32b18d2cf3b8392a13" + }, + "vllm/model_executor/layers/fused_moe/moe_output.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_output.py", + "sha256": "6ea4cbd78f9efc7f842c5df246f553f08b991c3479b8b04b89902ed08aaf8e8f" + }, + "vllm/model_executor/layers/fused_moe/moe_permute_unpermute.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_permute_unpermute.py", + "sha256": "1adc592c6254d0c877d66be5406afbc822459c18a838f4bbd094a992e7609d06" + }, + "vllm/model_executor/layers/fused_moe/oracle/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/__init__.py", + "sha256": "4dcf941d50d48bb812de0f39e9194bf17a76b8035fe324889c6038f710fdc453" + }, + "vllm/model_executor/layers/fused_moe/oracle/base.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/base.py", + "sha256": "555bbcd18a3744e64eee4e953daabef3bd268a1bd4faf967d4cfd14d6074f685" + }, + "vllm/model_executor/layers/fused_moe/oracle/fp8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/fp8.py", + "sha256": "245bd36c285df1e6f7c51e52dcda31ad247894577a9f8d765613c2c2feae9aee" + }, + "vllm/model_executor/layers/fused_moe/oracle/int8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/int8.py", + "sha256": "c1b67886511bd966b162db5bca8930f04895fb37a969818a4a10f0726c59547f" + }, + "vllm/model_executor/layers/fused_moe/oracle/int_wna16.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/int_wna16.py", + "sha256": "cfffe8b8b290330be9d18ffa07aeecf296484395ff04df3147d99393e48b55c1" + }, + "vllm/model_executor/layers/fused_moe/oracle/mxfp4.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/mxfp4.py", + "sha256": "b7915e6779b5c88e7dcd2d227f003a8e45071d6d86877013067142d4feb64a8c" + }, + "vllm/model_executor/layers/fused_moe/oracle/mxfp8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/mxfp8.py", + "sha256": "9cfdc8102a04bb844dcd7ed88043bba96ec751794bc093da76c69aa8cf88cf48" + }, + "vllm/model_executor/layers/fused_moe/oracle/nvfp4.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/nvfp4.py", + "sha256": "735b4cdeb1258f11fb02320fc0c70cab5edaca468dd60b07b2d369389d2b0313" + }, + "vllm/model_executor/layers/fused_moe/oracle/unquantized.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/unquantized.py", + "sha256": "c8b8203bd0b73bb7f586f703607394d663f14c05711416ad42d45af564382223" + }, + "vllm/model_executor/layers/fused_moe/oracle/w4a8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/w4a8.py", + "sha256": "d7fa6e2982f20b34d5ce9c5ce28a61122762a3fcdd53d249479472a4f2316c6a" + }, + "vllm/model_executor/layers/fused_moe/oracle/w4a8_int8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/w4a8_int8.py", + "sha256": "6d6f9ca2e67b630002873de2f8d8a231d091c5c2f0f3354a9e8209449b481a4c" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/__init__.py", + "sha256": "2800113263a83c2632e522fb22790b29f63384da75d43de32f0ae2f95e8ae4c1" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/batched.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/batched.py", + "sha256": "d52425dd8c08e47cf8d9c3088daf3b1cc721c8667de4c738d04ba997f9a08ccb" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ht.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ht.py", + "sha256": "465cdf1d6cee91b2ee8c2e43abbea6e8408976e3048c10f44c089f34b415bc60" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ll.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ll.py", + "sha256": "f704922b1db680c4c212982a096e09d6b3eb97d89110313f86ed958a00df21b7" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_v2.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_v2.py", + "sha256": "8d690b016bbcfbc9eb599bcc36a6f798b2f1720c828f4347ea742e218c0cc60d" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_one_sided.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_one_sided.py", + "sha256": "acb57d8342af62bb5672036871cd4b27ecc7f37dfa7c894850bb860e6152a1f0" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_two_sided.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_two_sided.py", + "sha256": "cc5b00d6a157b6eca5afaaf7435165dbd1b4524d6d88bf75808cbe074a389f79" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/mori.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/mori.py", + "sha256": "8e9c3b5b1f0de13f467d95bf2f451cba0e4b0d9a1bdcf98da0988a3a9a79a045" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/naive_dp_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/naive_dp_ep.py", + "sha256": "db015e5b18750bbbf5b2bbaceca877dd6f3f3e74c2a94e8dc185f7413b387f91" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/nixl_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/nixl_ep.py", + "sha256": "1f71d70ac509bf5d3d67a8d95a8ee108a50af6bb5d4bde7181ca28e286f6ffce" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/no_dp_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/no_dp_ep.py", + "sha256": "adbbf529cd22059c95b5380952943a70cf11e05e321dcd707f296bebde61a6e7" + }, + "vllm/model_executor/layers/fused_moe/routed_experts.py": { + "path": "/vllm/model_executor/layers/fused_moe/routed_experts.py", + "sha256": "68c48e5df0ea4a7cc1f04436b7b9153eb53802ecd9bb55d38db8738508daac6d" + }, + "vllm/model_executor/layers/fused_moe/routed_experts_capturer.py": { + "path": "/vllm/model_executor/layers/fused_moe/routed_experts_capturer.py", + "sha256": "cd006bc1a1703418cca3b589fafb2abc4268a086fb3db044bbb64348aeac8b13" + }, + "vllm/model_executor/layers/fused_moe/router/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/layers/fused_moe/router/aiter_shared_routed_fused_moe_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/aiter_shared_routed_fused_moe_router.py", + "sha256": "f47046db1275601a2c67c9232afc7b866c9623a19639d5be867e4c7914a35069" + }, + "vllm/model_executor/layers/fused_moe/router/base_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/base_router.py", + "sha256": "47fa2324bcd9b6ebdc138d69ae6b6ecc0f2463d34bda8c5988bdb0a2a76d3fae" + }, + "vllm/model_executor/layers/fused_moe/router/bf16x3_router_gemm_cutedsl.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/bf16x3_router_gemm_cutedsl.py", + "sha256": "d0f1edd1ebc48d88e490bdb3c93db49bdc0a135ff83e7e0b57130e9f8255fc32" + }, + "vllm/model_executor/layers/fused_moe/router/cpu_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/cpu_router.py", + "sha256": "bff36b15818c87bfbb7ee3def7dc7f6396860abbe5893ff6148801fe941a4b92" + }, + "vllm/model_executor/layers/fused_moe/router/custom_routing_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/custom_routing_router.py", + "sha256": "1a40c7054e3c3a1b3ee2e98f6bc9efa9dfdc11f316a8edf7357dd91533487bfe" + }, + "vllm/model_executor/layers/fused_moe/router/dsv4_topk.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/dsv4_topk.py", + "sha256": "14f7c8487b9aef652dd61c91e0e3c3640b643bf9cd0d8a7184157d71f4beb63e" + }, + "vllm/model_executor/layers/fused_moe/router/fused_moe_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_moe_router.py", + "sha256": "0daa0dc05b931d66767feca444a4cd57ecf140f59b40ea0e8ad213eef6da2b36" + }, + "vllm/model_executor/layers/fused_moe/router/fused_topk_bias_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_topk_bias_router.py", + "sha256": "8fdc28cc248180ad4f11bb4bcda3df47926ec12665a0d84bb712fe83fc6b9376" + }, + "vllm/model_executor/layers/fused_moe/router/fused_topk_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_topk_router.py", + "sha256": "1c80f4af4d781fd66b12aa6a7a0fd30082bc521df40f1252987a8ac4c0bef51c" + }, + "vllm/model_executor/layers/fused_moe/router/gate_linear.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/gate_linear.py", + "sha256": "faa43362c2e7c568498a923c682ca18cae75e87f48d00882770821cb19c21198" + }, + "vllm/model_executor/layers/fused_moe/router/grouped_topk_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/grouped_topk_router.py", + "sha256": "048339e1799cdd42c9dae686a6cb891046577fb391b500f0d12eed73c8f61e52" + }, + "vllm/model_executor/layers/fused_moe/router/rocm_fp32_router_gemm.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/rocm_fp32_router_gemm.py", + "sha256": "9c331ef3d0bb2fb6954387d77ac62a99c5c76d2753c7438bfbb5115f68aae5ac" + }, + "vllm/model_executor/layers/fused_moe/router/router_factory.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/router_factory.py", + "sha256": "019bc8adaa7642abab82843efd53cd1a378f62c652521a1de2b781480eb88742" + }, + "vllm/model_executor/layers/fused_moe/router/routing_simulator_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/routing_simulator_router.py", + "sha256": "a7345df5add00cf3bd93024492d6fc1189fd3ecf2754a11cef1b03a295d791f7" + }, + "vllm/model_executor/layers/fused_moe/router/zero_expert_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/zero_expert_router.py", + "sha256": "dea306edd92e2b9c1b43f982ede8e1e10770d2c66220f5a106e0ed0165276e9c" + }, + "vllm/model_executor/layers/fused_moe/runner/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/layers/fused_moe/runner/moe_runner.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/moe_runner.py", + "sha256": "05893188402fe37229bf72d75088d66193c417d5d502daafd3a55e1bfedaa60c" + }, + "vllm/model_executor/layers/fused_moe/runner/moe_runner_interface.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/moe_runner_interface.py", + "sha256": "189cad01611124eb44594713cbf5918d16fc70196dc81a525ae0a7a97a5fcc51" + }, + "vllm/model_executor/layers/fused_moe/runner/shared_experts.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/shared_experts.py", + "sha256": "d89e4c79c46f6fe61262c51f3facf102e71ce1e4eb3db67f72b6bd8470937be9" + }, + "vllm/model_executor/layers/fused_moe/topk_weight_and_reduce.py": { + "path": "/vllm/model_executor/layers/fused_moe/topk_weight_and_reduce.py", + "sha256": "3dfede72d52bf99af40997994704e6c502ee3bab2bd39bfaa8a68d7dae440203" + }, + "vllm/model_executor/layers/fused_moe/unquantized_fused_moe_method.py": { + "path": "/vllm/model_executor/layers/fused_moe/unquantized_fused_moe_method.py", + "sha256": "182a5ec1874ece2091a24c5303f6ab9ea64a9a61adf325b863927f0cdd83e5d3" + }, + "vllm/model_executor/layers/fused_moe/utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/utils.py", + "sha256": "a93a0bded4008db19d8b38370526ae34fafb9c8278e5b4f60acb6acc8fdc1850" + }, + "vllm/model_executor/layers/mamba/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/abstract.py": { + "path": "/vllm/model_executor/layers/mamba/abstract.py", + "sha256": "dfdc8c836894f574e41d93d76ab989cacd3d7ecf59c97a929abfa48d9364e8ad" + }, + "vllm/model_executor/layers/mamba/gdn/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/gdn/base.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/base.py", + "sha256": "7fec748fc74131f5a45bcaf2644b3fa3a0598fd437d7347f8207ea3644a951c5" + }, + "vllm/model_executor/layers/mamba/gdn/kimi_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/kimi_gdn_linear_attn.py", + "sha256": "1cec4da5c9da73557e192bfb36cd540aae51d3e91283b554449c4a97f0f89bd9" + }, + "vllm/model_executor/layers/mamba/gdn/olmo_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/olmo_gdn_linear_attn.py", + "sha256": "60873ca3bb0c4d17c33bd259b62b658db4883cd23138f47dd4ead62cd2ff0605" + }, + "vllm/model_executor/layers/mamba/gdn/qwen_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/qwen_gdn_linear_attn.py", + "sha256": "b80f8e6f3fff442fb880aebb3209c52f814f66490009f4ac4003de603576d10a" + }, + "vllm/model_executor/layers/mamba/linear/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/linear/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py", + "sha256": "3c480ddd6eba0766ed012a1074bbec5f241d868a87b020b0f6312222c32f93eb" + }, + "vllm/model_executor/layers/mamba/linear/base.py": { + "path": "/vllm/model_executor/layers/mamba/linear/base.py", + "sha256": "26125cd427225954e1846ca361cdaf43f2b56f11b1e217cf26e91a80ef0edb6a" + }, + "vllm/model_executor/layers/mamba/linear/minimax_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/linear/minimax_linear_attn.py", + "sha256": "4adc00f54893b5bc6c31c613deda152a19af3b1bba04153ab5924c3bf2a3aaae" + }, + "vllm/model_executor/layers/mamba/mamba_mixer.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_mixer.py", + "sha256": "a485e937ad9db14d3ad03fde5a9fe795cfa863649563e52fc7e6c52ef631164e" + }, + "vllm/model_executor/layers/mamba/mamba_mixer2.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_mixer2.py", + "sha256": "d58d93e90d9eb90bc5133b79f07c7c62d0032b35d6cf916e3fe34367b81c5cd5" + }, + "vllm/model_executor/layers/mamba/mamba_utils.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_utils.py", + "sha256": "ce9845b4a4ef4bc46577a33038ed69d59ceccb52f30e9c5bdaa36e48be3b2ca4" + }, + "vllm/model_executor/layers/mamba/ops/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/ops/causal_conv1d.py": { + "path": "/vllm/model_executor/layers/mamba/ops/causal_conv1d.py", + "sha256": "044d005cfe59fd0818ed421274e04f3e8dd679b8cdb64fca9f4422f2643484b2" + }, + "vllm/model_executor/layers/mamba/ops/cpu/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/ops/cpu/causal_conv1d.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/causal_conv1d.py", + "sha256": "64104672890ac2ef240c20c7f8059beeade707178574809dbca8721dff5ea6fa" + }, + "vllm/model_executor/layers/mamba/ops/cpu/gdn_attention.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/gdn_attention.py", + "sha256": "a50288945bf5b102ad3025ae536638dcc32d84cf7c22aaf3a85326b0c1c56c1f" + }, + "vllm/model_executor/layers/mamba/ops/cpu/mamba_ssm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/mamba_ssm.py", + "sha256": "5839e576172a3246337f5e4fb1bc19eb583b3e2b2f7e35dd060dc3041eb8372d" + }, + "vllm/model_executor/layers/mamba/ops/gather_initial_states.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gather_initial_states.py", + "sha256": "5198bb6de6d91c583a5f65d926412a76ee04a06fa72aaba76eaf156b27cd0523" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/__init__.py", + "sha256": "b88b52e71fcb21bd3fa215ea171dcd2ad2ff17c97788cfe64caa7ba45c7ecf97" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_h.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_h.py", + "sha256": "f50bbe5c0b6382323ec5dfc24a5e0c7971113d59727515e60c9fe3689734e5ba" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_kkt_inv_uw.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_kkt_inv_uw.py", + "sha256": "b4a65dd194907db08865e0596fe254f915e670a9e6b27ffa2933c1026dde9b1e" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_o.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_o.py", + "sha256": "629f7843a7e611efb9390f2ebb7a4b924b2c328d48a317fddfaa96af4d9bc60a" + }, + "vllm/model_executor/layers/mamba/ops/layernorm_gated.py": { + "path": "/vllm/model_executor/layers/mamba/ops/layernorm_gated.py", + "sha256": "3433f2e3b87c2b2ccf8e9794ce40762c86a6da38a94ecee001f439ea0d0373dd" + }, + "vllm/model_executor/layers/mamba/ops/mamba_ssm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/mamba_ssm.py", + "sha256": "a4515ec7895b40ed878cf380445034b25faa61fbaa799d96c49217bbdfd7e400" + }, + "vllm/model_executor/layers/mamba/ops/replayssm_config.py": { + "path": "/vllm/model_executor/layers/mamba/ops/replayssm_config.py", + "sha256": "5fe9d5d7aa2de6a65875b3796a919b22bc435fd76055ba054bbff43aa005bc44" + }, + "vllm/model_executor/layers/mamba/ops/scatter_states.py": { + "path": "/vllm/model_executor/layers/mamba/ops/scatter_states.py", + "sha256": "f3bb004c73edaba56337747893eb07faf29b270dc8bb9c893ee9b1044e4ead9a" + }, + "vllm/model_executor/layers/mamba/ops/selective_state_update_replayssm_output_only.py": { + "path": "/vllm/model_executor/layers/mamba/ops/selective_state_update_replayssm_output_only.py", + "sha256": "cea7fd3063ca9dcc4e33f180d01ea379195ec515cedc9d0b03b11dc67670d695" + }, + "vllm/model_executor/layers/mamba/ops/ssd_bmm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_bmm.py", + "sha256": "26983d97a7f5c5f9197a16a6bee7b1294839b9ae31a14c14aaee38b43523e630" + }, + "vllm/model_executor/layers/mamba/ops/ssd_chunk_scan.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_chunk_scan.py", + "sha256": "d5ef32e8cb47e2ce71984579df78ab69754895f891766394daf327867cfa4f8f" + }, + "vllm/model_executor/layers/mamba/ops/ssd_chunk_state.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_chunk_state.py", + "sha256": "177e3aa7fe72647133bbd86135533e8688a5802678d4d1564aa549410362316f" + }, + "vllm/model_executor/layers/mamba/ops/ssd_combined.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_combined.py", + "sha256": "1317bbb668d3c60dfe0658850f9968614f03fa5eb61196f8ce6ac17dbb31b480" + }, + "vllm/model_executor/layers/mamba/ops/ssd_state_passing.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_state_passing.py", + "sha256": "36b8c8edba437916a5b789717c61fc22077de01e77892cb96dbff3b00a57410e" + }, + "vllm/model_executor/layers/mamba/ops/ssu_dispatch.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssu_dispatch.py", + "sha256": "bbe0f0e61da87f3ddfead19a79ca376516b63f1ea868be3485333c63fa20ef41" + }, + "vllm/model_executor/layers/mamba/ops/triton_helpers.py": { + "path": "/vllm/model_executor/layers/mamba/ops/triton_helpers.py", + "sha256": "a8795532f22c37a93e82c9d8e3fadcb5f4da98673d7b321fe8481305eaafad30" + }, + "vllm/model_executor/layers/mamba/short_conv.py": { + "path": "/vllm/model_executor/layers/mamba/short_conv.py", + "sha256": "228494efab185ee17374f762874f4c8b9a26aac9decfa8c906ce38446e0de51a" + }, + "vllm/model_executor/models/qwen3_next.py": { + "path": "/vllm/model_executor/models/qwen3_next.py", + "sha256": "4fa5112ac2bf7886d41d9e1f6c3da8793620d1ec49c961b31e9609459a6a7f7a" + }, + "vllm/third_party/flash_linear_attention/__init__.py": { + "path": "/vllm/third_party/flash_linear_attention/__init__.py", + "sha256": "5dbbfa3fc286edb2e970e175ef33cee4f6181c89b0784f5a8986201b2312f54e" + }, + "vllm/third_party/flash_linear_attention/ops/__init__.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/__init__.py", + "sha256": "dd738dc1d08045e76455cdbe16052a5b769e0eb11d6e87ff28353994f880cd6c" + }, + "vllm/third_party/flash_linear_attention/ops/chunk.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk.py", + "sha256": "c105ead259e86aedc248c53e7c4cef07034d0ff12da608d80265d1dd0990803f" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_delta_h.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_delta_h.py", + "sha256": "1b3ad391f939d9443c6b7adb19e57fe381bd5dccea064e8417a4f85b0e713b26" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_o.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_o.py", + "sha256": "3b63b836a8cc561723c23db5a528a0b474d9cd78508d610f0b348c585a889a19" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_scaled_dot_kkt.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_scaled_dot_kkt.py", + "sha256": "7ae41df3755acc7e925a134d848f78bb5fc00b90069039d86403c5853323ea42" + }, + "vllm/third_party/flash_linear_attention/ops/cumsum.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/cumsum.py", + "sha256": "d818215669b451868823202ac0bcea77e7a9d75957254c7c1060a73a55dc39b6" + }, + "vllm/third_party/flash_linear_attention/ops/fused_gdn_prefill_post_conv.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_gdn_prefill_post_conv.py", + "sha256": "590717b2107abc90d72548de06b5d315229eb2775c94614f3f545df11cc2b5df" + }, + "vllm/third_party/flash_linear_attention/ops/fused_norm_gate.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_norm_gate.py", + "sha256": "e6eb90467f29d8a0a04f2a364d20a2c3191b6ab857841bfb82076b33a6022d1a" + }, + "vllm/third_party/flash_linear_attention/ops/fused_recurrent.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_recurrent.py", + "sha256": "fe6f1311014809040497aa0a623e7fa97f4b3457cdc7ee1f1f8aed21f326f755" + }, + "vllm/third_party/flash_linear_attention/ops/fused_sigmoid_gating.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_sigmoid_gating.py", + "sha256": "000ab8996af9788fdb8843a6a3b91833e7a14c8acc0e1ea073a536330f64cb6f" + }, + "vllm/third_party/flash_linear_attention/ops/index.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/index.py", + "sha256": "a4f8b2c052635cb519a80099e8a85411d1d5d6880b38f466788259bbe66b154d" + }, + "vllm/third_party/flash_linear_attention/ops/kda.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/kda.py", + "sha256": "e1f31aaa89b91f8e5db6d070b229e2c81c7206e8caec67de41db97d06be0c476" + }, + "vllm/third_party/flash_linear_attention/ops/l2norm.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/l2norm.py", + "sha256": "520f4513ef4fc97e6b88dc07877cca8e29da0d34e44673fe989e3af002d86381" + }, + "vllm/third_party/flash_linear_attention/ops/layernorm_guard.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/layernorm_guard.py", + "sha256": "42af29be26e8fc94a4658e053c095fcdab9ffdc1bc2446a01e787deda2a298c0" + }, + "vllm/third_party/flash_linear_attention/ops/op.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/op.py", + "sha256": "456da84fd12411cf53c96a90dd4f78f49afb454c3d51d2c524ea8e7106fe8ae5" + }, + "vllm/third_party/flash_linear_attention/ops/solve_tril.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/solve_tril.py", + "sha256": "d1a4ff27623a938825052500afa7e2aa24fadd2fa4c9be6376c9128824f86f82" + }, + "vllm/third_party/flash_linear_attention/ops/utils.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/utils.py", + "sha256": "d6c90d36505e02086954c23ca4dd2fea82a69416d68ff1d0501e16b3148b5b0c" + }, + "vllm/third_party/flash_linear_attention/ops/wy_fast.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/wy_fast.py", + "sha256": "c9fc8259db0a8746dc04f1d799cb73333457118cf89a0bdce8dde8a80a28cd96" + }, + "vllm/v1/attention/__init__.py": { + "path": "/vllm/v1/attention/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backend.py": { + "path": "/vllm/v1/attention/backend.py", + "sha256": "01ac364372afa75fdb22486aa3a9c7cf9aebb742e3471dfb9e0f9d9d36b734bc" + }, + "vllm/v1/attention/backends/__init__.py": { + "path": "/vllm/v1/attention/backends/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backends/b12x.py": { + "path": "/vllm/v1/attention/backends/b12x.py", + "sha256": "443f0a98738fdfefe5b9ab151d278bfd43a8ac807eb2b0b9b2a13d51922afbf9" + }, + "vllm/v1/attention/backends/composite.py": { + "path": "/vllm/v1/attention/backends/composite.py", + "sha256": "4cf3d66dca891562709eed4f50aa14b0ae6c8240d9ea86504a3304b2f356cce0" + }, + "vllm/v1/attention/backends/cpu_attn.py": { + "path": "/vllm/v1/attention/backends/cpu_attn.py", + "sha256": "76fb02a6bd725125565d84bf04f627cf16da5f7ff8f31f87c01ed6a1439398c7" + }, + "vllm/v1/attention/backends/fa_utils.py": { + "path": "/vllm/v1/attention/backends/fa_utils.py", + "sha256": "08fa6e231d3af3a71a6e59162dd12328aa8beb28548165ae58f130a92adb5a83" + }, + "vllm/v1/attention/backends/flash_attn.py": { + "path": "/vllm/v1/attention/backends/flash_attn.py", + "sha256": "b170a4789e18104c1bee35bea70df51abe6766693d8f4726a59f2e6f5c4282aa" + }, + "vllm/v1/attention/backends/flash_attn_diffkv.py": { + "path": "/vllm/v1/attention/backends/flash_attn_diffkv.py", + "sha256": "e4627c88c3ba8caee260540e994cc8137fd2ff7cd7813356b36387c6c88ce30a" + }, + "vllm/v1/attention/backends/flashinfer.py": { + "path": "/vllm/v1/attention/backends/flashinfer.py", + "sha256": "8ee541fde43ed92a417b3f01ea1e6fc64af8ab2eb54cbfc28308a49aaca4ed7f" + }, + "vllm/v1/attention/backends/flex_attention.py": { + "path": "/vllm/v1/attention/backends/flex_attention.py", + "sha256": "ad07f0ad73aeeadc3534b3a05c14f88a62cb3638874239ae9823c49b36276dc3" + }, + "vllm/v1/attention/backends/gdn_attn.py": { + "path": "/vllm/v1/attention/backends/gdn_attn.py", + "sha256": "3831019404a92200a38b43571c040cffeb6638bbdc71e4cb5e680dbc6c93d054" + }, + "vllm/v1/attention/backends/hpc_attn.py": { + "path": "/vllm/v1/attention/backends/hpc_attn.py", + "sha256": "af9e2aec1b498f0ee48a2dce3cf5646edf1976466980b2fd927c0e82b875427c" + }, + "vllm/v1/attention/backends/linear_attn.py": { + "path": "/vllm/v1/attention/backends/linear_attn.py", + "sha256": "bc42144fcd027434c6a10dc9f4c5f991db8899d387af5f6485402ce097eb0513" + }, + "vllm/v1/attention/backends/mamba1_attn.py": { + "path": "/vllm/v1/attention/backends/mamba1_attn.py", + "sha256": "32159dae11cab3c8c576b9514ad97d5108c8d1b4cac9fcfe345ec6a76223aee7" + }, + "vllm/v1/attention/backends/mamba2_attn.py": { + "path": "/vllm/v1/attention/backends/mamba2_attn.py", + "sha256": "a5bcdecb7b9547137023e1c77a386003358fa940eaf5f319ed142211dcdba139" + }, + "vllm/v1/attention/backends/mamba_attn.py": { + "path": "/vllm/v1/attention/backends/mamba_attn.py", + "sha256": "5e7b2c4058fc5e6096d001bff6c789b78368b025bbe4600f191aaca2ff59b59f" + }, + "vllm/v1/attention/backends/mla/__init__.py": { + "path": "/vllm/v1/attention/backends/mla/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backends/mla/aiter_triton_mla.py": { + "path": "/vllm/v1/attention/backends/mla/aiter_triton_mla.py", + "sha256": "ed0e285cdae06a019150c41cc958b3c0b5ceb0e4f299d5318d1c90e2c2395390" + }, + "vllm/v1/attention/backends/mla/amx_mla.py": { + "path": "/vllm/v1/attention/backends/mla/amx_mla.py", + "sha256": "7f5cddec30b2dfe22ccdbd3b9da673c879719bf6da4074317bd60add55f5d15f" + }, + "vllm/v1/attention/backends/mla/compressor_utils.py": { + "path": "/vllm/v1/attention/backends/mla/compressor_utils.py", + "sha256": "3589e94105368ea285c40b82db1a0332682ff5d071fe363627cf4c0d10f3facf" + }, + "vllm/v1/attention/backends/mla/cpu_mla.py": { + "path": "/vllm/v1/attention/backends/mla/cpu_mla.py", + "sha256": "ff2110b9f78e92adf6bab294465cbc294ae1ff71cb1780fed158179e134a4ca6" + }, + "vllm/v1/attention/backends/mla/cutlass_mla.py": { + "path": "/vllm/v1/attention/backends/mla/cutlass_mla.py", + "sha256": "211d298680f9bd793cc468281b316d6633c5f4eb6dcec71d3329b034a23ab9b5" + }, + "vllm/v1/attention/backends/mla/flashattn_mla.py": { + "path": "/vllm/v1/attention/backends/mla/flashattn_mla.py", + "sha256": "ac89e0ad75a37e92566d264bafe324735a80f9ab4709241a4454d17b3d38bb63" + }, + "vllm/v1/attention/backends/mla/flashattn_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashattn_mla_sparse.py", + "sha256": "67dd3ead2e8b9d8cda0825ecc93779cb7d670628bc741c759a7d3cd5d474030f" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla.py", + "sha256": "0c24ff016fb6b0bb41d9e7484b6f1af42f37bcc384ed613473fc3e01ad25f664" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse.py", + "sha256": "2116d965b2067134d8afa5878d4d16c0149b061258f50c4106d993aa13b073cc" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm120.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm120.py", + "sha256": "102ca08793d567f95598eefeb34c3f6ec50b3b9d704f162d1402b97b12b5777b" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm90.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm90.py", + "sha256": "df9fe4970aa3f53cf24784b8534b89e0101a2ca20a35a2ebbc9a12a4463d5993" + }, + "vllm/v1/attention/backends/mla/flashmla.py": { + "path": "/vllm/v1/attention/backends/mla/flashmla.py", + "sha256": "c9d8046a853ecbdeff9ebfc738f5bb34c4f272b278231a09a0fbf73708c7c188" + }, + "vllm/v1/attention/backends/mla/flashmla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashmla_sparse.py", + "sha256": "7a379c717adb9667ce94cbc16c0e3a1fb22a169713db6d7941c141fa84077b3f" + }, + "vllm/v1/attention/backends/mla/index_group.py": { + "path": "/vllm/v1/attention/backends/mla/index_group.py", + "sha256": "c24e028c3c160a9bb92e043da5b5b34c805e84745b7c4b8da6fb8702a0ddd641" + }, + "vllm/v1/attention/backends/mla/indexer.py": { + "path": "/vllm/v1/attention/backends/mla/indexer.py", + "sha256": "2acbc1c4fa57c3424ad95e6ecbe76eb7141747773c3e867ce704f4adccba892a" + }, + "vllm/v1/attention/backends/mla/prefill/__init__.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/__init__.py", + "sha256": "903630eb705dd175bf4ae4558a4bcaa07c110056b6a11eb830fdd2fb21b3c48a" + }, + "vllm/v1/attention/backends/mla/prefill/aiter_flash_attn.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/aiter_flash_attn.py", + "sha256": "571b8a9910c4ea3fefda60659026f3bf0d7b542c34553c8c9a4d43bb82077e61" + }, + "vllm/v1/attention/backends/mla/prefill/base.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/base.py", + "sha256": "138bf3ddaf5a94c3cdbc4e08ac676edcae84b32fc76625e546f3b47f7d8b82ec" + }, + "vllm/v1/attention/backends/mla/prefill/cpu_sdpa.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/cpu_sdpa.py", + "sha256": "1bb686395274a8ec0d9fd7327410a527655fe060cbbc263eab138fea988d96de" + }, + "vllm/v1/attention/backends/mla/prefill/flash_attn.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/flash_attn.py", + "sha256": "5e648c82c82e5f81fe11458eb82b9f90b50fc06df2ade3bf111ee6b7a2ee8481" + }, + "vllm/v1/attention/backends/mla/prefill/flashinfer.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/flashinfer.py", + "sha256": "63861219c35b8abc0ebe01e1f51543c5ed40bd46119ca261d927da7c6826b49b" + }, + "vllm/v1/attention/backends/mla/prefill/registry.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/registry.py", + "sha256": "c8c30b92213d594beaa3cab4d5003da26a85870dbb11d1ab73191962d0645b53" + }, + "vllm/v1/attention/backends/mla/prefill/selector.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/selector.py", + "sha256": "101d9fca7924b0c5d7891a17fe8942611bd6759e32b03a571dc87b14c1430f2f" + }, + "vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py", + "sha256": "047cf07bfcc83db3b11a6a54ffe189f6146e6ec9ad33ce2fa7d18860bf4210f0" + }, + "vllm/v1/attention/backends/mla/prefill/trtllm_ragged.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/trtllm_ragged.py", + "sha256": "9e13ea6f6a25accedd918c0de64bbb812ccb20ffb95350ab018a6e76d493789b" + }, + "vllm/v1/attention/backends/mla/rocm_aiter_mla.py": { + "path": "/vllm/v1/attention/backends/mla/rocm_aiter_mla.py", + "sha256": "b489f5830c655bfb6299801a70d69b9821513c69568ecab3689db5a7be867be5" + }, + "vllm/v1/attention/backends/mla/rocm_aiter_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/rocm_aiter_mla_sparse.py", + "sha256": "91b1d9b3d860a9720bc01b8ebe9bbe8649a7d6bca20d4b63939bc100309bca19" + }, + "vllm/v1/attention/backends/mla/sparse_swa.py": { + "path": "/vllm/v1/attention/backends/mla/sparse_swa.py", + "sha256": "a47853ad8a3fe40f24704592581ea323a18041b84610df010a5534da634e311e" + }, + "vllm/v1/attention/backends/mla/sparse_utils.py": { + "path": "/vllm/v1/attention/backends/mla/sparse_utils.py", + "sha256": "c3cdf060288c05542243a9fe8b5ad3a963ad75e9ce399009b5e45c1235a88ce4" + }, + "vllm/v1/attention/backends/mla/tokenspeed_mla.py": { + "path": "/vllm/v1/attention/backends/mla/tokenspeed_mla.py", + "sha256": "b9ba523c606430cecb99a88b28c53d98a99dcf5e76105a80664338110a20f1ad" + }, + "vllm/v1/attention/backends/mla/triton_mla.py": { + "path": "/vllm/v1/attention/backends/mla/triton_mla.py", + "sha256": "21b16b3b34470edcc33d0423e560837c1d37d4bab31c7b3b9cfd7faa47864b51" + }, + "vllm/v1/attention/backends/mla/xpu_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/xpu_mla_sparse.py", + "sha256": "559c6240fe466521a6b2df4c94aea02ddf3f5efa5ba6954fa180c5a51c0f12d2" + }, + "vllm/v1/attention/backends/recoverssm_metadata.py": { + "path": "/vllm/v1/attention/backends/recoverssm_metadata.py", + "sha256": "02896a667db0f0308371ceb50048b18e5866c0235d163c0357e9a05dcedb3394" + }, + "vllm/v1/attention/backends/registry.py": { + "path": "/vllm/v1/attention/backends/registry.py", + "sha256": "378e8ee78734bd8c8adbe287d4c0a4058dcbb553195a09fbcce00a3cc30adc29" + }, + "vllm/v1/attention/backends/rocm_aiter_fa.py": { + "path": "/vllm/v1/attention/backends/rocm_aiter_fa.py", + "sha256": "d1418af03bf58209c850f466b712d3ea22a14ebb758c42dd43e65738281841fd" + }, + "vllm/v1/attention/backends/rocm_aiter_unified_attn.py": { + "path": "/vllm/v1/attention/backends/rocm_aiter_unified_attn.py", + "sha256": "59d2645eb4c91dc0567754a7163d066f4f2faf48f1957b254fcdd5604e9d8c8c" + }, + "vllm/v1/attention/backends/rocm_attn.py": { + "path": "/vllm/v1/attention/backends/rocm_attn.py", + "sha256": "4a8f57067073fbceb784af6c3467487c450d00fa3957928fadb99a79f6036292" + }, + "vllm/v1/attention/backends/short_conv_attn.py": { + "path": "/vllm/v1/attention/backends/short_conv_attn.py", + "sha256": "84fc460ef2fbd09743b069bec0c14b39542af6c2254a403e37a048427e151121" + }, + "vllm/v1/attention/backends/triton_attn.py": { + "path": "/vllm/v1/attention/backends/triton_attn.py", + "sha256": "1057663d110e1d5229495a799027b27277c1eca325d5b6780fa2259afbf58a1a" + }, + "vllm/v1/attention/backends/triton_attn_diffkv.py": { + "path": "/vllm/v1/attention/backends/triton_attn_diffkv.py", + "sha256": "de0357eae005246642140f1ab8842ba5ed8bff5c84b18a6d3a7bbf409c578301" + }, + "vllm/v1/attention/backends/triton_flash_attn.py": { + "path": "/vllm/v1/attention/backends/triton_flash_attn.py", + "sha256": "176e45329aeb28a2008362bb607d1b8c89816eb665859ab908b0385a11acf1c2" + }, + "vllm/v1/attention/backends/triton_flashinfer.py": { + "path": "/vllm/v1/attention/backends/triton_flashinfer.py", + "sha256": "48d5f967e388d4e8d6bbec8d827b44d855346bc2fada28adf65768bf6623527b" + }, + "vllm/v1/attention/backends/turboquant_attn.py": { + "path": "/vllm/v1/attention/backends/turboquant_attn.py", + "sha256": "616d16d608d9d1fbf6c29548037e7e9cf330f4d36a01aa3ffabf42a731eb6e2b" + }, + "vllm/v1/attention/backends/utils.py": { + "path": "/vllm/v1/attention/backends/utils.py", + "sha256": "fbc221360d2d54cb21ef3f625dc8711500de345a355801548b4337bb9b8abee0" + }, + "vllm/v1/attention/ops/__init__.py": { + "path": "/vllm/v1/attention/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/ops/chunked_prefill_paged_decode.py": { + "path": "/vllm/v1/attention/ops/chunked_prefill_paged_decode.py", + "sha256": "973db848a790b2e8d99e728b2fc4f44b501bbe58c62747244ddff04cfcf11a85" + }, + "vllm/v1/attention/ops/common.py": { + "path": "/vllm/v1/attention/ops/common.py", + "sha256": "b4b67e7fc0cce471e337d742c097fba06da7563816e8799e27719714e31e1d5b" + }, + "vllm/v1/attention/ops/cp_common.py": { + "path": "/vllm/v1/attention/ops/cp_common.py", + "sha256": "2369181862e96db64b14ef20c5c2e249ed2ea5f3dea2467a2aa388372bb86d9d" + }, + "vllm/v1/attention/ops/dcp.py": { + "path": "/vllm/v1/attention/ops/dcp.py", + "sha256": "a478bdc781460f0582cfaf74d6431f1a826c201f02f39d882d12a96139bc3f28" + }, + "vllm/v1/attention/ops/flashmla.py": { + "path": "/vllm/v1/attention/ops/flashmla.py", + "sha256": "8a40d6e120e3ab25a95fcfeb32b0b5b4c1ea02b984633866628536dcd26ed2e8" + }, + "vllm/v1/attention/ops/flydsl_kernels/__init__.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/attention/ops/flydsl_kernels/tq_decode.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/tq_decode.py", + "sha256": "cc4b7f82897596e0974b3d3a710a1a8bc58c3d22b72cc7f461dd1c4acd2e451b" + }, + "vllm/v1/attention/ops/flydsl_kernels/tq_decode_gqa6.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/tq_decode_gqa6.py", + "sha256": "a983f6d375c325900955e11696dab1e2665770e83f84d51f93d3ed5e1d8880e0" + }, + "vllm/v1/attention/ops/flydsl_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/flydsl_turboquant_decode.py", + "sha256": "7b1dd0ef7c7fb28a6a8831759e00b939ab844d067657155cc11cf75532a22c63" + }, + "vllm/v1/attention/ops/int4_per_token_head.py": { + "path": "/vllm/v1/attention/ops/int4_per_token_head.py", + "sha256": "d91968f280cd8eaed7570ab255f0276b40e833e18a25066d371d9ca8149425f2" + }, + "vllm/v1/attention/ops/merge_attn_states.py": { + "path": "/vllm/v1/attention/ops/merge_attn_states.py", + "sha256": "ad08403d2843fc892f0b0b4b9f5fabb81884556f89f7170dca46ccef498a3539" + }, + "vllm/v1/attention/ops/metadata.py": { + "path": "/vllm/v1/attention/ops/metadata.py", + "sha256": "ca882b84c5aaefb1f77e4d8ea09a00103fbc53defa8671bba036c961c17fc760" + }, + "vllm/v1/attention/ops/paged_attn.py": { + "path": "/vllm/v1/attention/ops/paged_attn.py", + "sha256": "016a95f892ec751c86b37be1e12171bad9f0b4076bbf2219ff336f4e9c503653" + }, + "vllm/v1/attention/ops/pcp.py": { + "path": "/vllm/v1/attention/ops/pcp.py", + "sha256": "dadeff95fe2df2be8028baabeef01b0d2d628cd67de2176915e737ce096de3dd" + }, + "vllm/v1/attention/ops/prefix_prefill.py": { + "path": "/vllm/v1/attention/ops/prefix_prefill.py", + "sha256": "b08ad92db715fc03c11699de3de463d55e411f42f77548e06b41049a61de692f" + }, + "vllm/v1/attention/ops/rocm_aiter_mla_merge.py": { + "path": "/vllm/v1/attention/ops/rocm_aiter_mla_merge.py", + "sha256": "564c66e4877732e48a6f7d52405c43dc952eec0f0ae4353d34886bca056132b9" + }, + "vllm/v1/attention/ops/rocm_aiter_mla_sparse.py": { + "path": "/vllm/v1/attention/ops/rocm_aiter_mla_sparse.py", + "sha256": "feec664be5045fd1ba13b8f6ef83b52c96910ddc78baca0431bcf610c9e8f5cc" + }, + "vllm/v1/attention/ops/triton_attention_helpers.py": { + "path": "/vllm/v1/attention/ops/triton_attention_helpers.py", + "sha256": "35aa993d01345f535d2641cf9dcabb8b64c51b20a19707bc5987e616aaa87ddd" + }, + "vllm/v1/attention/ops/triton_decode_attention.py": { + "path": "/vllm/v1/attention/ops/triton_decode_attention.py", + "sha256": "b9823c65eba22d76abf64dad7d7d16a950f67471c86d6cb5b3e983aaf14381ac" + }, + "vllm/v1/attention/ops/triton_merge_attn_states.py": { + "path": "/vllm/v1/attention/ops/triton_merge_attn_states.py", + "sha256": "f63229162181ab93198550b73a115f1cc1034cfd60e6f58bc8ab3e22a6e8ce60" + }, + "vllm/v1/attention/ops/triton_prefill_attention.py": { + "path": "/vllm/v1/attention/ops/triton_prefill_attention.py", + "sha256": "352c1a4ac86146580040579fb217c2e288268830d6602b735713e154f36d74fe" + }, + "vllm/v1/attention/ops/triton_reshape_and_cache_flash.py": { + "path": "/vllm/v1/attention/ops/triton_reshape_and_cache_flash.py", + "sha256": "6cac51475b8c656992a21b2d150acd3a16a95a7ab7d49aab151a3ef13c24b80d" + }, + "vllm/v1/attention/ops/triton_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/triton_turboquant_decode.py", + "sha256": "8e52678136449e4bbca2195fbcbb87426c955a2b1b8422e7ab9511e45ee5f5c6" + }, + "vllm/v1/attention/ops/triton_turboquant_store.py": { + "path": "/vllm/v1/attention/ops/triton_turboquant_store.py", + "sha256": "6e6e2fe74a307d40f0be786ccbaea76d989e3c7b5985f3144a5218c61bf6d902" + }, + "vllm/v1/attention/ops/triton_unified_attention.py": { + "path": "/vllm/v1/attention/ops/triton_unified_attention.py", + "sha256": "65d0fbcf33d00789df8ca688c0a1c908e710cfaef53471178747ecae11f05829" + }, + "vllm/v1/attention/ops/triton_unified_attention_diffkv.py": { + "path": "/vllm/v1/attention/ops/triton_unified_attention_diffkv.py", + "sha256": "7fa36d7b7441f1c396e0348eac61d691d2e459e5c4c393c4aa262dfb670e68f7" + }, + "vllm/v1/attention/ops/turboquant_soa/__init__.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/__init__.py", + "sha256": "6b43b6fcb2a71c44ceff4ed1edd417a839f4901251ba15831b09ad979baa4984" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode.py", + "sha256": "bf00634191bba14cbf4a23c1d67dc3dcb244c2b8989f08362757b54435830986" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode_v2.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode_v2.py", + "sha256": "28e7ecc15c450d3591983a50c46a03aa6ca6fa99304c17c333940617d9916485" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_store.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_store.py", + "sha256": "dccf93b9fdd34f9b9eacd468e9de35b9d93378594487c335cf50642aaec681f2" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_unified_attention.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_unified_attention.py", + "sha256": "b4b2b5f3985b3a6126fd052e6ec1ed91c610da8a525a9ae7470ac829405bd85c" + }, + "vllm/v1/attention/ops/vit_attn_wrappers.py": { + "path": "/vllm/v1/attention/ops/vit_attn_wrappers.py", + "sha256": "a99d57b58269c7521fa5d7d47af06551f3bab2b5c7358ef78165a7f6e20a92a6" + }, + "vllm/v1/attention/ops/xpu_mla_sparse.py": { + "path": "/vllm/v1/attention/ops/xpu_mla_sparse.py", + "sha256": "d98d17110577c2b7b4d05e07bfdae15faf83321b6342a5daaaecce45b9503f38" + }, + "vllm/v1/attention/selector.py": { + "path": "/vllm/v1/attention/selector.py", + "sha256": "87f653ded7974875183c920e3e4589c28116bcbc99714d1da7cb51ae77c0b182" + }, + "vllm/v1/core/sched/__init__.py": { + "path": "/vllm/v1/core/sched/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/core/sched/async_scheduler.py": { + "path": "/vllm/v1/core/sched/async_scheduler.py", + "sha256": "e586a0ef3c6778be56a93e7f9bb712d4de9de6e7d7fe7e3e1d51dae83ecfc508" + }, + "vllm/v1/core/sched/interface.py": { + "path": "/vllm/v1/core/sched/interface.py", + "sha256": "be6c008664096c5660a8879de72b315bbe479bf1d688be9b25891063ec53a367" + }, + "vllm/v1/core/sched/output.py": { + "path": "/vllm/v1/core/sched/output.py", + "sha256": "3a66c8efaefe10c572f6f33cf1f8aa4610758c945130cad62eb9f7331005677c" + }, + "vllm/v1/core/sched/request_queue.py": { + "path": "/vllm/v1/core/sched/request_queue.py", + "sha256": "4b8d938e5fb8152fe61030b8aa991f983fcac9a405c37ed8908045e05e82ae5e" + }, + "vllm/v1/core/sched/scheduler.py": { + "path": "/vllm/v1/core/sched/scheduler.py", + "sha256": "c1db45f3bbad3a875dd8638331b8870c4380ac1ab4734265ba5c863833a82884" + }, + "vllm/v1/core/sched/utils.py": { + "path": "/vllm/v1/core/sched/utils.py", + "sha256": "1ed988044eb8028c77ede875bd1a5fd05ff6998b455d61e3997d6a3d7fc1c3a7" + }, + "vllm/v1/sample/__init__.py": { + "path": "/vllm/v1/sample/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/sample/logits_processor/__init__.py": { + "path": "/vllm/v1/sample/logits_processor/__init__.py", + "sha256": "1f9b02dae8cf6d44484638037123d3a2dec6b7b9a2bcc9afceef1a9bf3eaedec" + }, + "vllm/v1/sample/logits_processor/builtin.py": { + "path": "/vllm/v1/sample/logits_processor/builtin.py", + "sha256": "6105816ece77e5b1dbee0d07abc90ce039d650bac2ddb85c93280c48b00f2ebe" + }, + "vllm/v1/sample/logits_processor/interface.py": { + "path": "/vllm/v1/sample/logits_processor/interface.py", + "sha256": "171dfc6ef9b5b53128e8eaecc4bdf1de413a706d64bf5be686048f583c66eee1" + }, + "vllm/v1/sample/logits_processor/state.py": { + "path": "/vllm/v1/sample/logits_processor/state.py", + "sha256": "a96411f14362c45f839e181dcb3ac01d5b880812bccb3552fc17863b219f44ac" + }, + "vllm/v1/sample/metadata.py": { + "path": "/vllm/v1/sample/metadata.py", + "sha256": "6582cfe1a240c7ddb975f0ef6dd7dcd28dcf0fc7670394390250013977aa7ffd" + }, + "vllm/v1/sample/ops/__init__.py": { + "path": "/vllm/v1/sample/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/sample/ops/bad_words.py": { + "path": "/vllm/v1/sample/ops/bad_words.py", + "sha256": "0b1d0a9b13b92ddcae2c83393c07a34c0f107813725700dee794caa7fe7f3b12" + }, + "vllm/v1/sample/ops/logprobs.py": { + "path": "/vllm/v1/sample/ops/logprobs.py", + "sha256": "b286f69012a6758bfe9250038b0697294dbffe0d32c6906f284c39f75ee48be3" + }, + "vllm/v1/sample/ops/penalties.py": { + "path": "/vllm/v1/sample/ops/penalties.py", + "sha256": "4debfcf247b3887478d2b9ec98f108756bbed2805462777ef6b56f3bdf4ce682" + }, + "vllm/v1/sample/ops/topk_topp_sampler.py": { + "path": "/vllm/v1/sample/ops/topk_topp_sampler.py", + "sha256": "13ea4359832bc914492330958ec4f5ac140f408b8f410cc05c6eaf7ddcd70be4" + }, + "vllm/v1/sample/ops/topk_topp_triton.py": { + "path": "/vllm/v1/sample/ops/topk_topp_triton.py", + "sha256": "0b5fc337058e22bc28a8530ccec904d6ccd89b9548b02955c657ac429b1669d2" + }, + "vllm/v1/sample/rejection_sampler.py": { + "path": "/vllm/v1/sample/rejection_sampler.py", + "sha256": "0bb9d224887ccb1355e16199005cc23a4afc6fa75156eca419851b7247d99750" + }, + "vllm/v1/sample/sampler.py": { + "path": "/vllm/v1/sample/sampler.py", + "sha256": "f95805b2c6d06218c724826aa5f881a606e8d0a534a566aee7c85948520dd216" + }, + "vllm/v1/sample/thinking_budget_state.py": { + "path": "/vllm/v1/sample/thinking_budget_state.py", + "sha256": "962f8f55210eb0a431cb9c78b013e35f7a7dd58d06d6fb2e7fcff1b457356f8e" + }, + "vllm/v1/worker/__init__.py": { + "path": "/vllm/v1/worker/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/block_table.py": { + "path": "/vllm/v1/worker/block_table.py", + "sha256": "a09b8819e1417b7a186cf3472224e2138fc5d41a291c6692bb7df711b0c44259" + }, + "vllm/v1/worker/cp_utils.py": { + "path": "/vllm/v1/worker/cp_utils.py", + "sha256": "e32625d83a641b8dd8df82e92d1b6fb20af0cdf2e8fbd2fb131aa3c215415448" + }, + "vllm/v1/worker/cpu/__init__.py": { + "path": "/vllm/v1/worker/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/cpu/buffer_utils.py": { + "path": "/vllm/v1/worker/cpu/buffer_utils.py", + "sha256": "e7313fd8c2c76ebfb98d2fa53008bc9691d0f83a7d7c05e87602b5a29fb79e04" + }, + "vllm/v1/worker/cpu/model_runner.py": { + "path": "/vllm/v1/worker/cpu/model_runner.py", + "sha256": "24a1c916550051327dd5893243a6d4200f3824b91b3af8aa6f6c793fd7c68c3e" + }, + "vllm/v1/worker/cpu/shm.py": { + "path": "/vllm/v1/worker/cpu/shm.py", + "sha256": "08491af8ad341399d1375f2d21ad00414d4c89b0a5c03f55de8704914bbfcbd9" + }, + "vllm/v1/worker/cpu_model_runner.py": { + "path": "/vllm/v1/worker/cpu_model_runner.py", + "sha256": "92111aba92f00571f1a3c4c6e43cf1da6ccb4d2afac2f4d5abc018a4a6e7e8bd" + }, + "vllm/v1/worker/cpu_worker.py": { + "path": "/vllm/v1/worker/cpu_worker.py", + "sha256": "a8051b9e510ef0af9cc34004f2cbe5c0f902bd0cebc32c9464e744344dfdf849" + }, + "vllm/v1/worker/dp_utils.py": { + "path": "/vllm/v1/worker/dp_utils.py", + "sha256": "8cd19f1bfbc5c4f6ec60df89aea7c8a19b400ebc264f372b103014152e92158c" + }, + "vllm/v1/worker/ec_connector_model_runner_mixin.py": { + "path": "/vllm/v1/worker/ec_connector_model_runner_mixin.py", + "sha256": "fe9b11cebb8562f1bfe98b98a5647b2b081a6e424cb60d4ffe2412c91a99215e" + }, + "vllm/v1/worker/encoder_cudagraph.py": { + "path": "/vllm/v1/worker/encoder_cudagraph.py", + "sha256": "6a08d3779bca1b47dbf9daf6eafe2d3c70dbcb8aeb7d63ba7efacc68241ee3bc" + }, + "vllm/v1/worker/encoder_cudagraph_defs.py": { + "path": "/vllm/v1/worker/encoder_cudagraph_defs.py", + "sha256": "bb7be050fcaa8868e7816c84caec875da57050d65fe7eaf00f3d41473df25e3a" + }, + "vllm/v1/worker/gpu/__init__.py": { + "path": "/vllm/v1/worker/gpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/async_utils.py": { + "path": "/vllm/v1/worker/gpu/async_utils.py", + "sha256": "77e17a4570ead2be30ae9b00888cf077a3b873018c12ca0549b853bfda02c1ba" + }, + "vllm/v1/worker/gpu/attn_utils.py": { + "path": "/vllm/v1/worker/gpu/attn_utils.py", + "sha256": "b9b81e59dda2720b1f9c434471381f879228832443e52756e469b4ad4905888f" + }, + "vllm/v1/worker/gpu/block_table.py": { + "path": "/vllm/v1/worker/gpu/block_table.py", + "sha256": "61c004315d5af7e7eae4e2a9e6be92ea82c520327690a7f55a73bb9ce95f520a" + }, + "vllm/v1/worker/gpu/buffer_utils.py": { + "path": "/vllm/v1/worker/gpu/buffer_utils.py", + "sha256": "6597f701a30261bf250e9ad5a29737264624a1caa20527aeea0dad630325b093" + }, + "vllm/v1/worker/gpu/cp_utils.py": { + "path": "/vllm/v1/worker/gpu/cp_utils.py", + "sha256": "456c1bb7e262d99ff555522a4f134e5a9b42aee23290be25455eaef36ee8eaaf" + }, + "vllm/v1/worker/gpu/cudagraph_utils.py": { + "path": "/vllm/v1/worker/gpu/cudagraph_utils.py", + "sha256": "6e9c042890603535e300a40df8ee159dbed1058a64a83ae50ff0329e332e05ff" + }, + "vllm/v1/worker/gpu/dp_utils.py": { + "path": "/vllm/v1/worker/gpu/dp_utils.py", + "sha256": "e26867bc89e6bfc933cabc5ed13e5dc7b8d2d3030118ca1ca64c8785dabc0fc1" + }, + "vllm/v1/worker/gpu/ec_connector.py": { + "path": "/vllm/v1/worker/gpu/ec_connector.py", + "sha256": "2afe6e641f4ae3eb3b8da336c74eaa7479bf617b27cfb39a1fcbe487686f0a08" + }, + "vllm/v1/worker/gpu/eplb_utils.py": { + "path": "/vllm/v1/worker/gpu/eplb_utils.py", + "sha256": "1829fac11464aed4649179b302df198de51b95d0589f4e56bea305a876a63e26" + }, + "vllm/v1/worker/gpu/input_batch.py": { + "path": "/vllm/v1/worker/gpu/input_batch.py", + "sha256": "d5dd956eb319bd69dd9e762047833d81ad40b21fce619fcb2133759e73620694" + }, + "vllm/v1/worker/gpu/kv_connector.py": { + "path": "/vllm/v1/worker/gpu/kv_connector.py", + "sha256": "b89a4333f1e552d86e1815674b59e9f1335f0f49c0a7b46082439076f62c6a81" + }, + "vllm/v1/worker/gpu/lora_utils.py": { + "path": "/vllm/v1/worker/gpu/lora_utils.py", + "sha256": "1e90eddd9ddb4ca55e574bb28e87ae3a6f6750175a62d373102426543f4ccd66" + }, + "vllm/v1/worker/gpu/metrics/__init__.py": { + "path": "/vllm/v1/worker/gpu/metrics/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/metrics/logits.py": { + "path": "/vllm/v1/worker/gpu/metrics/logits.py", + "sha256": "ea058d7510a077a55f8ac7e4c3d596508346244e908cb372865d7159f62edc89" + }, + "vllm/v1/worker/gpu/mm/__init__.py": { + "path": "/vllm/v1/worker/gpu/mm/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/mm/encoder_cache.py": { + "path": "/vllm/v1/worker/gpu/mm/encoder_cache.py", + "sha256": "89c500338fddbeee7c4fca978a3a7c4c566a03e848e399d303fbee3c80631cd2" + }, + "vllm/v1/worker/gpu/mm/encoder_runner.py": { + "path": "/vllm/v1/worker/gpu/mm/encoder_runner.py", + "sha256": "0981e352d70301b7154a217a48665ffe35f215d053ec5740c2515a3e1e11b4e6" + }, + "vllm/v1/worker/gpu/mm/lora.py": { + "path": "/vllm/v1/worker/gpu/mm/lora.py", + "sha256": "a3eddfad6ad64de276964240c28dc080888df4a56dd5eac18f89428f2cbb7a01" + }, + "vllm/v1/worker/gpu/mm/rope.py": { + "path": "/vllm/v1/worker/gpu/mm/rope.py", + "sha256": "0924375bcb367267e783b57dd2ad9de1189d97025ce4313baaa54f2911eaaf1e" + }, + "vllm/v1/worker/gpu/model_runner.py": { + "path": "/vllm/v1/worker/gpu/model_runner.py", + "sha256": "174c93db921c23cf0396eee4764be25b2bd2d4b6a06e9fa41ce3598b884ce8ce" + }, + "vllm/v1/worker/gpu/model_states/__init__.py": { + "path": "/vllm/v1/worker/gpu/model_states/__init__.py", + "sha256": "07815d0b788fc88185772f581bbf892a675259f9288375571f29887622f8d93c" + }, + "vllm/v1/worker/gpu/model_states/default.py": { + "path": "/vllm/v1/worker/gpu/model_states/default.py", + "sha256": "bb614f814780f052e869f9acf31dfbfa68718ee7dc6252eefa901b5730ee8a2a" + }, + "vllm/v1/worker/gpu/model_states/encoder_decoder.py": { + "path": "/vllm/v1/worker/gpu/model_states/encoder_decoder.py", + "sha256": "a5868059d8af672548b41d0e623e884320e6ed61e6aaca2d2828ff5be0356f2f" + }, + "vllm/v1/worker/gpu/model_states/encoder_only.py": { + "path": "/vllm/v1/worker/gpu/model_states/encoder_only.py", + "sha256": "84e96b55a2639e2a73fa4a0308acc89c8d053dc715481180b237e0196dcef99f" + }, + "vllm/v1/worker/gpu/model_states/interface.py": { + "path": "/vllm/v1/worker/gpu/model_states/interface.py", + "sha256": "5675b6fedc7403a9ab410b1e5565974e78fac23c42ab4253ae1da52d6e09b594" + }, + "vllm/v1/worker/gpu/model_states/mamba_hybrid.py": { + "path": "/vllm/v1/worker/gpu/model_states/mamba_hybrid.py", + "sha256": "573e130ac5587d4822fabf97adad1ad0fda02ff83c5e70df879a5bb175ae845c" + }, + "vllm/v1/worker/gpu/model_states/mm_pruning.py": { + "path": "/vllm/v1/worker/gpu/model_states/mm_pruning.py", + "sha256": "b150940b12ae76048f050a8eeb54d532bbdc530a18ffbf320ddeeb0cfaa90f93" + }, + "vllm/v1/worker/gpu/model_states/prompt_embeds.py": { + "path": "/vllm/v1/worker/gpu/model_states/prompt_embeds.py", + "sha256": "11f9e270925c2df6a505557605ac2b859bb145cf3420b0111e7482a1c544f9b1" + }, + "vllm/v1/worker/gpu/model_states/recoverssm.py": { + "path": "/vllm/v1/worker/gpu/model_states/recoverssm.py", + "sha256": "b4b660e62eaf33f4fe8271f83ed1fb6de6bc08f800a8073b27803e42fb29a645" + }, + "vllm/v1/worker/gpu/pcp_manager.py": { + "path": "/vllm/v1/worker/gpu/pcp_manager.py", + "sha256": "2d80df0ed5b18a2069f9d0689cb59923ffe324ba200fcafe242da23da3a6ddaa" + }, + "vllm/v1/worker/gpu/pool/__init__.py": { + "path": "/vllm/v1/worker/gpu/pool/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/pool/pooling_runner.py": { + "path": "/vllm/v1/worker/gpu/pool/pooling_runner.py", + "sha256": "f8463f7648cce0f3f29418a4d9fee61634ead760957cf236d06d61cf8cd986e7" + }, + "vllm/v1/worker/gpu/pp_utils.py": { + "path": "/vllm/v1/worker/gpu/pp_utils.py", + "sha256": "dadeef0bebf61d0ad44a28d06372208ec4e6389224d6017f412683b026bdbb5c" + }, + "vllm/v1/worker/gpu/sample/__init__.py": { + "path": "/vllm/v1/worker/gpu/sample/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/sample/bad_words.py": { + "path": "/vllm/v1/worker/gpu/sample/bad_words.py", + "sha256": "8d3cbd5613398260314d94739d8ee0e1ac0c22abf2f960f541d3c0d4e39d360b" + }, + "vllm/v1/worker/gpu/sample/batch_shard.py": { + "path": "/vllm/v1/worker/gpu/sample/batch_shard.py", + "sha256": "c30274a3a04e6a03e89be9cd7c62de602b1aba4d412f64540ab6201036de3928" + }, + "vllm/v1/worker/gpu/sample/gumbel.py": { + "path": "/vllm/v1/worker/gpu/sample/gumbel.py", + "sha256": "3ec1df510bdad13e8b0a457b5b67c98affdf6e57369e56cb471246cc8f40dd34" + }, + "vllm/v1/worker/gpu/sample/logit_bias.py": { + "path": "/vllm/v1/worker/gpu/sample/logit_bias.py", + "sha256": "9e80a3fe6f3c7474723408cfff52183f4585fdeedd9c2312843ee98d0b12724c" + }, + "vllm/v1/worker/gpu/sample/logprob.py": { + "path": "/vllm/v1/worker/gpu/sample/logprob.py", + "sha256": "f47479a818192acb6b297c79fa67a3b2f9820e3492a394d5adda777e9b7c832e" + }, + "vllm/v1/worker/gpu/sample/min_p.py": { + "path": "/vllm/v1/worker/gpu/sample/min_p.py", + "sha256": "4cb5e2f45e1ced6f9685283a7a5c8cfd7204d9a249822e866cfff756c7f04f62" + }, + "vllm/v1/worker/gpu/sample/output.py": { + "path": "/vllm/v1/worker/gpu/sample/output.py", + "sha256": "d6e298c0f197d487a8faaf7200f500fa83df1d7a4bbf4339cadd6a18008f7f9c" + }, + "vllm/v1/worker/gpu/sample/penalties.py": { + "path": "/vllm/v1/worker/gpu/sample/penalties.py", + "sha256": "46c29434caf5f415129ef4a9bb2b8d4f62d2765596e3e07f73ad2b198c7def1b" + }, + "vllm/v1/worker/gpu/sample/prompt_logprob.py": { + "path": "/vllm/v1/worker/gpu/sample/prompt_logprob.py", + "sha256": "4cf22d390e7bf59e44c458cff7180268db63e95d06af2f1e14d720a2d77c9663" + }, + "vllm/v1/worker/gpu/sample/sampler.py": { + "path": "/vllm/v1/worker/gpu/sample/sampler.py", + "sha256": "832c9945d201a1e730ff9b4b52076aa83bd4a5064e1e4cfea952cf84d4a8d1f0" + }, + "vllm/v1/worker/gpu/sample/states.py": { + "path": "/vllm/v1/worker/gpu/sample/states.py", + "sha256": "4e3671f93695ba5a48fad7d2d13beb231ac8741034904ed5a15d9f7b9b86662e" + }, + "vllm/v1/worker/gpu/sample/thinking_budget.py": { + "path": "/vllm/v1/worker/gpu/sample/thinking_budget.py", + "sha256": "020513e1d3406f367de6ad995a95055008fd0c28f2873647e8283c9870e22404" + }, + "vllm/v1/worker/gpu/sample/trace_replay.py": { + "path": "/vllm/v1/worker/gpu/sample/trace_replay.py", + "sha256": "d2a7d3b3b55379efabe4740a4b7f14030126dc11be36f6ea974164ce42316a50" + }, + "vllm/v1/worker/gpu/sample/watermark.py": { + "path": "/vllm/v1/worker/gpu/sample/watermark.py", + "sha256": "a3581458169dab9153eb09fd67218e0ee5585406537a9de80ad528ae62b030c0" + }, + "vllm/v1/worker/gpu/shutdown.py": { + "path": "/vllm/v1/worker/gpu/shutdown.py", + "sha256": "bb470f14b17c7e52571ef8938b2a9527e7c2846852ae8a3a94b69cd1c30aa4b1" + }, + "vllm/v1/worker/gpu/spec_decode/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/__init__.py", + "sha256": "1f1f84bfe6f4f5af3a7e21a7a8716ecf7b9013da1d03327668a3ee36afc24c32" + }, + "vllm/v1/worker/gpu/spec_decode/acceptance_estimator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/acceptance_estimator.py", + "sha256": "505b843bdd75928b03793b395b47b8be914bd7fe2a3351c8ec04339baeebb1c2" + }, + "vllm/v1/worker/gpu/spec_decode/adaptive_verification.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/adaptive_verification.py", + "sha256": "276b2fec56758a94c71b717f6786b8a6f126db2e20cf964350202feee61a0a39" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/cudagraph_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/cudagraph_utils.py", + "sha256": "13392ef0a9ed59eb9c2b2bad43d7c61beb212a8805849e46b5130c230275d0a5" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/speculator.py", + "sha256": "5b97f54e20ddf65b98e939832d050745f67ef43cfa145786da300f1a8322e3c6" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/cudagraph.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/cudagraph.py", + "sha256": "beab567ae2df6a2ba2cd92fe7ee452c6b959b8a7037a4b5f493993a1824619bb" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/speculator.py", + "sha256": "f9c100f42f9326e48eb84e89281897e859ba761943f54d593523555ccd98dc63" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/utils.py", + "sha256": "53d2c3ad474d290d2c6df027446bbd80ac7447684e5242ab2c3c5337d2abd383" + }, + "vllm/v1/worker/gpu/spec_decode/dflash2/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash2/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/dflash2/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash2/speculator.py", + "sha256": "b70043550938a1df9aecc85d8c8224c38c929ca34f68834572f6e723854d2027" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/speculator.py", + "sha256": "dcf4abdedbd2bddd0d76be198ccf5b4e467c46f645038c35fcab821491a35b03" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/utils.py", + "sha256": "86af2bf30604a184312e8f076097b91ecfec704f409f9d68d634b03d6b318070" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/eagle3_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/eagle3_utils.py", + "sha256": "201ee875fcc3d076a8fc1f3876dcbf85736b221a368555243a8987ff26a1674e" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/speculator.py", + "sha256": "746e318a4f266d75522ff7f3731ea9b4527b7b4824f71364d1a62184ea1f7b3d" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/utils.py", + "sha256": "94de6f55a1761f24f4aa1388cbc3b3763d4ab3ee53260330056ad31ce0b78236" + }, + "vllm/v1/worker/gpu/spec_decode/extract_hidden_states.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/extract_hidden_states.py", + "sha256": "93c4233be7b2d2290b33902ea9b3bb5274c11701830851d03967a22144536e2d" + }, + "vllm/v1/worker/gpu/spec_decode/gemma4/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/gemma4/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/gemma4/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/gemma4/speculator.py", + "sha256": "9991210d7babd2caf2cd10797ca8688543dedeafbc3b86bc7c979c1a6ae9f949" + }, + "vllm/v1/worker/gpu/spec_decode/mtp/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/mtp/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/mtp/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/mtp/speculator.py", + "sha256": "926d6c9ffdb368c971647911a60493820d056ce236fcae9d94a42fa2e006255d" + }, + "vllm/v1/worker/gpu/spec_decode/multi_module_mtp/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/multi_module_mtp/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/multi_module_mtp/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/multi_module_mtp/speculator.py", + "sha256": "d9d4735b9b33829332b0e845b6d3073b2f0436045ed693b25c6434f351644127" + }, + "vllm/v1/worker/gpu/spec_decode/rejection_sampler.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/rejection_sampler.py", + "sha256": "030db5bfca162cc1f305112f299de5d6d61c59d3ed0807fee46575441ca4086d" + }, + "vllm/v1/worker/gpu/spec_decode/rejection_sampler_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/rejection_sampler_utils.py", + "sha256": "214b61fa0abe88573beb779872c035b3954e5651a85bd438d99ee5905d3a62ec" + }, + "vllm/v1/worker/gpu/spec_decode/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/speculator.py", + "sha256": "3a1ab15bf8b20918852eb835fe9755046e99dcbac6ba6ca3d414949fc8bc695a" + }, + "vllm/v1/worker/gpu/spec_decode/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/utils.py", + "sha256": "282f2929eddae9ca7312269f799be07472334b6df9fd91878b5e839ec05e418c" + }, + "vllm/v1/worker/gpu/states.py": { + "path": "/vllm/v1/worker/gpu/states.py", + "sha256": "99418f5df43ca612ded72609fee011620b065b2cab2f249ccb387096bf4ae71a" + }, + "vllm/v1/worker/gpu/structured_outputs.py": { + "path": "/vllm/v1/worker/gpu/structured_outputs.py", + "sha256": "18a10532db7e66b55e334acacd1fd989ad6361adf31dd0de9a9a65e23db25951" + }, + "vllm/v1/worker/gpu/ubatch_utils.py": { + "path": "/vllm/v1/worker/gpu/ubatch_utils.py", + "sha256": "5092e2e58af0561c8dc12e62847cfc6dda9ca20dfbd33e7f0cd77a83fe87f7c5" + }, + "vllm/v1/worker/gpu/warmup.py": { + "path": "/vllm/v1/worker/gpu/warmup.py", + "sha256": "423ac32d58fe008c228cfa223e4fcebfcf87e3463a9dbdf80a083c0578d73723" + }, + "vllm/v1/worker/gpu_input_batch.py": { + "path": "/vllm/v1/worker/gpu_input_batch.py", + "sha256": "18cf455c9d0eea61cc581c7932f2e6cd09786914e82dd35eef1c1430da359a0f" + }, + "vllm/v1/worker/gpu_model_runner.py": { + "path": "/vllm/v1/worker/gpu_model_runner.py", + "sha256": "87c29d08c0bbf66993d8b984811e7325e35e6436242a773feb55ec88f16b2c51" + }, + "vllm/v1/worker/gpu_ubatch_wrapper.py": { + "path": "/vllm/v1/worker/gpu_ubatch_wrapper.py", + "sha256": "4233cfbe8c9884b042c4363890108f616483b694ebe9a6e69578dcf89c6dac5c" + }, + "vllm/v1/worker/gpu_worker.py": { + "path": "/vllm/v1/worker/gpu_worker.py", + "sha256": "6994436e4547c0996ab555b3e814e8ccea26b650dfc1b378b97d640745309347" + }, + "vllm/v1/worker/kv_connector_model_runner_mixin.py": { + "path": "/vllm/v1/worker/kv_connector_model_runner_mixin.py", + "sha256": "e1cc76d065a7e60aacddb190ae795a480b65cd02ba71a1fc699a02a85c1a3de2" + }, + "vllm/v1/worker/lora_model_runner_mixin.py": { + "path": "/vllm/v1/worker/lora_model_runner_mixin.py", + "sha256": "fef6092a15d8d37f6fa22495e6106e2e5280180908d61ce43d9ff5bf4eef3f2f" + }, + "vllm/v1/worker/mamba_utils.py": { + "path": "/vllm/v1/worker/mamba_utils.py", + "sha256": "23fdaa4e8f63ee8f938eaa1a2b39f803cb04fa6ecd69789563254b1a0691413a" + }, + "vllm/v1/worker/mm_encoder_model_runner.py": { + "path": "/vllm/v1/worker/mm_encoder_model_runner.py", + "sha256": "780c41be84ad022205c21c1decb6bb8d5afb03bc7be120c1f7df03b710acc3d7" + }, + "vllm/v1/worker/sentinel/__init__.py": { + "path": "/vllm/v1/worker/sentinel/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/sentinel/gpu_worker_sentinel.py": { + "path": "/vllm/v1/worker/sentinel/gpu_worker_sentinel.py", + "sha256": "3959b8619d052c5dd247815074e03ec21ec9b43cc424ff2d296abc19b227b852" + }, + "vllm/v1/worker/startup_plan.py": { + "path": "/vllm/v1/worker/startup_plan.py", + "sha256": "84bcbb4f7a9fd7c8d10c9c895aadd9673d44c767b9132368d11eb5e017afe86b" + }, + "vllm/v1/worker/ubatch_utils.py": { + "path": "/vllm/v1/worker/ubatch_utils.py", + "sha256": "b34dce551b5195c414e6a3a997c75961cc7a17f24c7c980487fe3d3e2ba7a798" + }, + "vllm/v1/worker/ubatching.py": { + "path": "/vllm/v1/worker/ubatching.py", + "sha256": "40391241c564feb5f16c77898ae6ae152ed6e71a4682e2a406387785d8de02d7" + }, + "vllm/v1/worker/utils.py": { + "path": "/vllm/v1/worker/utils.py", + "sha256": "0ca3ec6bf4d20076145b7fe64e564962adebedc8f75a856b517ba0b2f2d77acf" + }, + "vllm/v1/worker/worker_base.py": { + "path": "/vllm/v1/worker/worker_base.py", + "sha256": "4a1a5266b912fe97991d8dc89d92b923990da9f6cb4b817d00d52e9c0d26dd7c" + }, + "vllm/v1/worker/workspace.py": { + "path": "/vllm/v1/worker/workspace.py", + "sha256": "d21c08167d1d0d1c0cddaa80453a53a0b4dec5d81b5a537c94a21324344976b3" + }, + "vllm/v1/worker/xpu_model_runner.py": { + "path": "/vllm/v1/worker/xpu_model_runner.py", + "sha256": "07fa0390d28f2b8c3c3c0019eb9c3b126e2397aea268ba47c889f06b423deb23" + }, + "vllm/v1/worker/xpu_worker.py": { + "path": "/vllm/v1/worker/xpu_worker.py", + "sha256": "711b56432506b58041cd86e71320c3960413f7bd61061990b66488421d81cfc3" + } + }, + "prefix": "", + "pth": { + "/__editable__.megatron_core-0.16.0rc0.pth": "d55c9b64480b34aae3d4d31e7706b93391c969dec6e0498e50963b03445a57b0", + "/__editable__.rl_kernel-0.1.0.pth": "1454c4987b35762a0d189d4e901c5d077fde62a1944fbaabecea230e57f3923a", + "/__editable__.vime-0.3.2.pth": "77eec5d06d628cb952e65edd813ca88d8db67ccc785083e1b7b29011b92bec4f", + "/distutils-precedence.pth": "2638ce9e2500e572a5e0de7faed6661eb569d1b696fcba07b0dd223da5f5d224", + "/qwen3_next_cuda_runtime.pth": "e0d3ab57dd3ff4f5d55fcf76e83c549cc00b3c813e6f717c540d5ded79fa2f49", + "/qwen3_next_megatron_source.pth": "8556ac057538e82856cb76cbbc954f58312a3f45373daec3eec826031cfd2709", + "/__editable__.rl_kernel-0.1.0.pth": "1454c4987b35762a0d189d4e901c5d077fde62a1944fbaabecea230e57f3923a", + "/distutils-precedence.pth": "2638ce9e2500e572a5e0de7faed6661eb569d1b696fcba07b0dd223da5f5d224", + "/nvidia_cutlass_dsl_packages.pth": "cc710b99ddb3d76361a70461461d274212a979d00c381d821fce5bb3ad9cf246" + }, + "pyvenv_cfg_sha256": "48579f2c6d35c3d535c2690d7d426587c4b8e92021463f0266b38d35dfbbb834", + "sources": { + "/Megatron-LM-training": { + "patch_sha256": "f66035f12501aa1d08e8884e0dea5a22d59825d717aeda73c3e83876e3efd79f", + "path": "/Megatron-LM-training", + "tree": "731fc44a368d6cac8c6171a29d5c687ff0d95bd1" + }, + "/vime": { + "patch_sha256": "66949839d4c18329444f4f9f6dcd702b53ce1b94e9aa15ed111f28743bfaa4b9", + "path": "/vime", + "tree": "f5174e67dbcdaef983eecd45f215fef2d8429dd0" + } + }, + "version": "3.12.14 | packaged by Anaconda, Inc. | (main, Aug 27 2026, 14:46:43) [GCC 14.3.0]" + }, + "sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca" + }, + "memory": { + "limits": { + "/memory.limit_in_bytes": "9223372036854771712", + "/memory.limit_in_bytes": "9223372036854771712", + "/memory.limit_in_bytes": "9223372036854771712" + }, + "cgroup_bytes": null, + "declared_bytes": 549755813888, + "effective_bytes": 549755813888, + "available_bytes": 2091057872896 + }, + "gpu_uuids": [ + "f84b0ae3-604b-7194-e772-280f5d102d46", + "225c7841-f606-0248-cce4-31f3ae0b215d", + "46fa983d-5878-1d92-4a61-197f569e8b01", + "79936bd2-1377-8dcf-bdb1-e6e772d0e0f3" + ], + "execution_gpus": 4 +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/l2/l2_matrix.json b/docs/usage/evidence/qwen3-next-chain-b200/l2/l2_matrix.json new file mode 100644 index 000000000..9fe45617f --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/l2/l2_matrix.json @@ -0,0 +1,1186 @@ +{ + "schema_version": 1, + "status": "passed", + "scope": "qwen3_next_full_model_l2", + "identity": { + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "checkpoint": "", + "weight_version": "baseline", + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32" + }, + "fixture": { + "path": "/inputs/frozen.pt", + "sha256": "a8fc79cea6c76e5989743429b76811b3a93b6b85e1eb7f03164c9850c50f1ca8", + "content_sha256": "b59298acf5ecbe64abb4639e7596e052f1993ee5e3c7289b63738f1b04463d01" + }, + "case_ids": [ + "p0008-b1-full", + "p0008-b1-chunked", + "p0008-b4-full", + "p0008-b4-chunked", + "p0064-b1-full", + "p0064-b1-chunked", + "p0064-b4-full", + "p0064-b4-chunked", + "p0256-b1-full", + "p0256-b1-chunked", + "p0256-b4-full", + "p0256-b4-chunked", + "p1024-b1-full", + "p1024-b1-chunked", + "p1024-b4-full", + "p1024-b4-chunked" + ], + "cases": { + "p0008-b1-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "artifacts": { + "rollout": { + "path": "/attempts/0/rollout/p0008-b1-full.pt", + "sha256": "cb5cf1f80989b331a5569359505eaba888adfdb591465f7429ee1a5128ceb999" + }, + "recompute": { + "path": "/attempts/0/recompute/p0008-b1-full.pt", + "sha256": "65c45da2f889994ab298c265c3dde9d24361c494c861ccf9abd9edccc4c16f73" + } + } + }, + "p0008-b1-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "artifacts": { + "rollout": { + "path": "/attempts/0/rollout/p0008-b1-chunked.pt", + "sha256": "2cce1f5b71a7f1393ec86a62e11cbecccdce7e76c7c0df81c60fb339753b1b9a" + }, + "recompute": { + "path": "/attempts/0/recompute/p0008-b1-chunked.pt", + "sha256": "f3122d41752d58a98ea993b55f105707ba2143889bb7925fa75122cda290a2eb" + } + } + }, + "p0008-b4-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "artifacts": { + "rollout": { + "path": "/attempts/0/rollout/p0008-b4-full.pt", + "sha256": "7dbf864f68670c9e25c70f4e1f6ab7d41735eadf8c5827abe58adb8ec99986e4" + }, + "recompute": { + "path": "/attempts/0/recompute/p0008-b4-full.pt", + "sha256": "b5ebdf0c05917ade2c9b5e059cefdd2796b168e3b94fb8c62d978ffa9f9c2db8" + } + } + }, + "p0008-b4-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "artifacts": { + "rollout": { + "path": "/attempts/0/rollout/p0008-b4-chunked.pt", + "sha256": "2588dac82cc115c18d8cb5a2c7dec8615e63a2d95e019ec5682a491352552b2e" + }, + "recompute": { + "path": "/attempts/0/recompute/p0008-b4-chunked.pt", + "sha256": "61cfcfc08957fc0b59317d3431cc51a3ba4bcbf125c542f3059a4b1910538211" + } + } + }, + "p0064-b1-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "artifacts": { + "rollout": { + "path": "/attempts/0/rollout/p0064-b1-full.pt", + "sha256": "b069f87ef7fb72a07231a9172499390aae6c18cabbf67399ea5d3ba8113cab03" + }, + "recompute": { + "path": "/attempts/0/recompute/p0064-b1-full.pt", + "sha256": "39889b6593fad7aebef719f6aace04baa3145a97935536c1f83f838e617981d0" + } + } + }, + "p0064-b1-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "artifacts": { + "rollout": { + "path": "/attempts/0/rollout/p0064-b1-chunked.pt", + "sha256": "0509f53f8c196cf84b255f0ddb56ef4d3895a9fcd4f402814b1fca5f99b10db0" + }, + "recompute": { + "path": "/attempts/0/recompute/p0064-b1-chunked.pt", + "sha256": "1ffa9e794aa2013c56d9b86d4e943a42d6a5b390c4c382ec6d8864a96746b8cc" + } + } + }, + "p0064-b4-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "artifacts": { + "rollout": { + "path": "/attempts/0/rollout/p0064-b4-full.pt", + "sha256": "14e59bdf3dd892529aa52976a7acaa849956139f452ed5f88946efbac8eebf84" + }, + "recompute": { + "path": "/attempts/0/recompute/p0064-b4-full.pt", + "sha256": "dbe090366e381add82cfad8e515519495d0d80a9062d6a2cef4548d81c66a3e9" + } + } + }, + "p0064-b4-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "artifacts": { + "rollout": { + "path": "/attempts/0/rollout/p0064-b4-chunked.pt", + "sha256": "58a67621411fb59b1c9851304efd2ec1835ac84335566307b955b73d49f2ab65" + }, + "recompute": { + "path": "/attempts/0/recompute/p0064-b4-chunked.pt", + "sha256": "4320d49a960450508b351b2b6c90a91fa376df457ee0a293d5686c5651943019" + } + } + }, + "p0256-b1-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "artifacts": { + "rollout": { + "path": "/attempts/0/rollout/p0256-b1-full.pt", + "sha256": "a2989d8ddbb207c0353c32495a4d5b8f36fd16ea2103989c28c7e9ff526633e8" + }, + "recompute": { + "path": "/attempts/0/recompute/p0256-b1-full.pt", + "sha256": "a5e04568c7b32b2c5eb0aa03acb0decb56645ca2dfde23316590a846030139b2" + } + } + }, + "p0256-b1-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "artifacts": { + "rollout": { + "path": "/attempts/0/rollout/p0256-b1-chunked.pt", + "sha256": "c2070712ccbaa37b1c945b4834377250f3add60fb62b13fcadb7baa4ee0b89d5" + }, + "recompute": { + "path": "/attempts/0/recompute/p0256-b1-chunked.pt", + "sha256": "4d6e085b66bd980ff53d3de0703cdba502a9cd48fc6a13d40cf27355c4fb6b9e" + } + } + }, + "p0256-b4-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "artifacts": { + "rollout": { + "path": "/attempts/0/rollout/p0256-b4-full.pt", + "sha256": "3fa898eafe4041bafb60ba9d0ab23ebfd6c0643c7fe8061ea95597a0b90f8408" + }, + "recompute": { + "path": "/attempts/0/recompute/p0256-b4-full.pt", + "sha256": "149f524b74d75bb2ade6b8558f20ac98dcdaae84b3ba1165ff73818a60ba6e5d" + } + } + }, + "p0256-b4-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "artifacts": { + "rollout": { + "path": "/attempts/0/rollout/p0256-b4-chunked.pt", + "sha256": "bf666e5a8c5cb782927f56bdecc174e04def5e32bc550a44bcc65b7695bb50d7" + }, + "recompute": { + "path": "/attempts/0/recompute/p0256-b4-chunked.pt", + "sha256": "6286b4e2ea884d5e2510c0e8cbd0b84a7d5c617fd4ff5c830fc8426bd138cb73" + } + } + }, + "p1024-b1-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "artifacts": { + "rollout": { + "path": "/attempts/0/rollout/p1024-b1-full.pt", + "sha256": "c0d22adf9711ec9e6c12aaab9e1d484fa9cfb6252e2c93d9c325c41cde5741fa" + }, + "recompute": { + "path": "/attempts/0/recompute/p1024-b1-full.pt", + "sha256": "a299b4c46b1f0d688d56df7a246b1d85332c1d8aef4c7b1fba4969b0f1e0b7c3" + } + } + }, + "p1024-b1-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "artifacts": { + "rollout": { + "path": "/attempts/0/rollout/p1024-b1-chunked.pt", + "sha256": "8e1379dc45726ea7278e876f42cec9b5a046378370ff281b86118433b16a1db1" + }, + "recompute": { + "path": "/attempts/0/recompute/p1024-b1-chunked.pt", + "sha256": "10ca34d4d4cdcb70b4cb22148537ec492d4cc462a9fb5209793dea54635316a8" + } + } + }, + "p1024-b4-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "artifacts": { + "rollout": { + "path": "/attempts/0/rollout/p1024-b4-full.pt", + "sha256": "0953e5b25b65848a7c9e12356996a9a867ee9f3def74fe900be9645a18311a5c" + }, + "recompute": { + "path": "/attempts/0/recompute/p1024-b4-full.pt", + "sha256": "ca9ed1f35e23d5f6333fe6011df9771bf68721c7bb6559fbcf90c0eb186c9ba7" + } + } + }, + "p1024-b4-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "artifacts": { + "rollout": { + "path": "/attempts/0/rollout/p1024-b4-chunked.pt", + "sha256": "ebeebb60f1339777cbb90643c1b1d017e6555d19c8958992f220e2b7efb012e8" + }, + "recompute": { + "path": "/attempts/0/recompute/p1024-b4-chunked.pt", + "sha256": "0965acf2b26c0b78bc87340ee266406984b93ce3df6814fcf45fcd323ecbd74f" + } + } + } + }, + "processes": { + "rollout": { + "pid": 257775, + "exit_code": 0, + "log": "/attempts/0/rollout.log", + "gpu_release_verified": true + }, + "recompute": { + "pid": 272086, + "exit_code": 0, + "log": "/attempts/0/recompute.log", + "gpu_release_verified": true + } + }, + "worker_results": { + "rollout": { + "path": "/attempts/0/rollout/worker-result.json", + "sha256": "b615174fc3d6bc544c9cffe7d1fd2b4ba6e6cdab947776dafe5878e6db49031b" + }, + "recompute": { + "path": "/attempts/0/recompute/worker-result.json", + "sha256": "fa672094f7b571daefc45f16aba83b31a29a707e6c3d9e5c61b67f2786e84f43" + } + }, + "raw_bit_comparison": true, + "logits_dtype": "bfloat16", + "logprobs_dtype": "float32", + "response_length": 16, + "vocab_size": 151936, + "provider_binary": { + "path": "/attempts/0/provider-binary.json", + "sha256": "cf4d7ff7f1e2752cb8c5379ec63edaa0bb1dd2980514e49fa394a01fbbb5dfe7" + } +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/l2/operators.json b/docs/usage/evidence/qwen3-next-chain-b200/l2/operators.json new file mode 100644 index 000000000..500251cce --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/l2/operators.json @@ -0,0 +1,304 @@ +{ + "scope": "qwen3_next_operators_only", + "status": "passed", + "suite": "all", + "diagnostic_only": false, + "full_model_l2": "not_evaluated", + "git_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "git_dirty": false, + "versions": { + "torch": "2.13.0", + "vllm": "0.30.0", + "transformers": "5.17.0", + "triton": "3.7.1" + }, + "mandatory_case_ids": [ + "tests/check_qwen3_next_attention.py::test_d256_backward_with_cached_prefix_matches_float64_formula", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[1024]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[256]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[64]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[8]", + "tests/check_qwen3_next_attention.py::test_d256_input_device_guard_and_nondefault_stream", + "tests/check_qwen3_next_attention.py::test_native_backward_rejects_malformed_probability_and_gradient_buffers", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[0]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[2]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_target_inputs_do_not_depend_on_companions", + "tests/check_qwen3_next_batch_invariance.py::test_triton_chunked_prefill_is_batch_invariant", + "tests/check_qwen3_next_conv_bridge.py::test_chunked_and_reordered_sequences_match", + "tests/check_qwen3_next_conv_bridge.py::test_empty_sequence_preserves_cache_and_gradients", + "tests/check_qwen3_next_conv_bridge.py::test_response_gradient_reaches_prompt_and_convolution_weight", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths0]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths1]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths2]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-4]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[1]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[4]", + "tests/check_qwen3_next_core_matrix.py::test_variable_lengths_empty_and_mixed_step_match_independent_sequences", + "tests/check_qwen3_next_forward.py::test_combine_has_fixed_route_order_and_differentiable_weights", + "tests/check_qwen3_next_forward.py::test_full_vocabulary_logprob_entropy_modes_and_gradient", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_fail_closed_on_the_tensor_descriptor_path", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[128]", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[512]", + "tests/check_qwen3_next_forward.py::test_logprob_nan_rejected_before_comparison", + "tests/check_qwen3_next_forward.py::test_moe_vjp_matches_independent_double_formula", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[1024-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[128-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-16]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-256]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-3072]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-37984]", + "tests/check_qwen3_next_forward.py::test_qwen_moe_actual_tp4_shapes_and_independent_training_forward", + "tests/check_qwen3_next_forward.py::test_route_weights_are_batch_invariant", + "tests/check_qwen3_next_forward.py::test_shared_linear_vjp_and_empty_tokens", + "tests/check_qwen3_next_forward.py::test_stable_route_tie_boundary_and_router_gradient", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_backward_matches_recomputed_recurrence_vjp", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_forward_is_provider_exact_and_does_not_mutate_inputs", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_keeps_prompt_state_gradient_through_response", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[False]", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[True]", + "tests/check_qwen3_next_gdn_bridge.py::test_initial_state_vjp_matches_provider_directional_difference", + "tests/check_qwen3_next_gdn_sequence.py::test_1024_token_chunk_continuation_is_bitwise_exact", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad0]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad1]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad2]", + "tests/check_qwen3_next_gdn_sequence.py::test_chunk_boundary_retains_prompt_and_initial_state_gradients", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths0]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths1]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths2]", + "tests/check_qwen3_next_gdn_sequence.py::test_reserved_and_duplicate_slots_are_rejected", + "tests/check_qwen3_next_norm_providers.py::test_custom_op_has_distinct_native_and_cuda_paths", + "tests/check_qwen3_next_norm_providers.py::test_gdn_decode_provider_env_defaults_are_recorded", + "tests/check_qwen3_next_norm_providers.py::test_our_gated_op_is_batch_invariant", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_cuda]", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_native]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots0]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots2]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots3]", + "tests/check_qwen3_next_shared_core.py::test_independent_training_forward_matches_inference_and_retains_gradients", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[1024]", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[8]", + "tests/check_qwen3_next_shared_core.py::test_unimplemented_provider_profile_is_rejected", + "tests/test_qwen3_next_norm.py::test_bad_weight_shape_raises", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[16]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[1]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[2]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[32]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[48]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[64]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[8]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[128]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[2048]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_with_padding", + "tests/test_qwen3_next_norm.py::test_call_matches_forward", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[128]", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[2048]", + "tests/test_qwen3_next_norm.py::test_cuda_default_offset_preserves_plain_convention", + "tests/test_qwen3_next_norm.py::test_cuda_gated_backward_matches_autograd_golden", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_matches_golden_within_contract", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_bad_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_mismatched_gate", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_backward_uses_the_sigmoid_derivative", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_swish_is_an_alias_for_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_unit_weight_is_plain_norm_times_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_weight_offset_is_applied_in_fp32", + "tests/test_qwen3_next_norm.py::test_cuda_gated_wrapper_rejects_equal_numel_wrong_shape", + "tests/test_qwen3_next_norm.py::test_cuda_gated_zero_gate_zeroes_output", + "tests/test_qwen3_next_norm.py::test_cuda_offset_equals_explicit_fp32_weight", + "tests/test_qwen3_next_norm.py::test_cuda_offset_is_not_folded_through_bfloat16", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_backward_is_offset_aware", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_within_tolerance_of_golden", + "tests/test_qwen3_next_norm.py::test_deterministic_repeat", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype0]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype1]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype2]", + "tests/test_qwen3_next_norm.py::test_eps_inside_sqrt", + "tests/test_qwen3_next_norm.py::test_gated_batch_invariance_slice", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedHFOp]", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedOp]", + "tests/test_qwen3_next_norm.py::test_gated_conventions_diverge_in_low_precision", + "tests/test_qwen3_next_norm.py::test_gated_cuda_op_rejects_bad_activation_at_construction", + "tests/test_qwen3_next_norm.py::test_gated_extension_handles_empty_batch_and_nondefault_stream", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[dy_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[gate_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[rstd_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_shape]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_matches_hf_formula_fp32", + "tests/test_qwen3_next_norm.py::test_gated_shape_mismatch_raises", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_strict_matches_vllm_formula_fp32", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[128]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[2048]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_offset_applied_in_fp32_not_folded_into_bf16", + "tests/test_qwen3_next_norm.py::test_op_batch_invariance_on_device", + "tests/test_qwen3_next_norm.py::test_plain_reference_is_unchanged_by_the_offset_plumbing", + "tests/test_qwen3_next_norm.py::test_weight_offset_is_one", + "tests/test_qwen3_next_norm.py::test_zero_centred_cuda_constructor_rejects_missing_extension", + "tests/test_qwen3_next_norm.py::test_zero_centred_op_inherits_the_plain_reference", + "tests/test_qwen3_next_norm.py::test_zero_weight_is_identity_scaling" + ], + "case_ids_sha256": "694c931b65f9cfa5db963f2eca6d11bd309546c824a1df52f9da2ab128e83e0f", + "pytest_exit_code": 0, + "provider_tests": { + "tests": 233, + "failures": 0, + "errors": 0, + "skipped": 0 + }, + "norm_gates": { + "qwen3_next_rms_norm-forward.json": { + "passed": true, + "exit_code": 0, + "workload": { + "workload_id": "qwen3-next-80b-a3b-norm-c3-c4-v1", + "scope": "qwen3_next_norm_operators", + "fixture_identity_sha256": "3ac9490ffbb1486edac6ea509811fd4d5affbe880b208bd7d9b052b0ce418442", + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "full_model_evidence": false + } + }, + "qwen3_next_rms_norm-gradient.json": { + "passed": true, + "exit_code": 0, + "workload": { + "workload_id": "qwen3-next-80b-a3b-norm-c3-c4-v1", + "scope": "qwen3_next_norm_operators", + "fixture_identity_sha256": "3ac9490ffbb1486edac6ea509811fd4d5affbe880b208bd7d9b052b0ce418442", + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "full_model_evidence": false + } + }, + "rms_norm_gated-forward.json": { + "passed": true, + "exit_code": 0, + "workload": { + "workload_id": "qwen3-next-80b-a3b-norm-c3-c4-v1", + "scope": "qwen3_next_norm_operators", + "fixture_identity_sha256": "3ac9490ffbb1486edac6ea509811fd4d5affbe880b208bd7d9b052b0ce418442", + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "full_model_evidence": false + } + }, + "rms_norm_gated-gradient.json": { + "passed": true, + "exit_code": 0, + "workload": { + "workload_id": "qwen3-next-80b-a3b-norm-c3-c4-v1", + "scope": "qwen3_next_norm_operators", + "fixture_identity_sha256": "3ac9490ffbb1486edac6ea509811fd4d5affbe880b208bd7d9b052b0ce418442", + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "full_model_evidence": false + } + } + } +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/l2/predecessor.json b/docs/usage/evidence/qwen3-next-chain-b200/l2/predecessor.json new file mode 100644 index 000000000..28ce9bec5 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/l2/predecessor.json @@ -0,0 +1,5 @@ +{ + "run_id": "20261009T032730Z-layers-c67ec144-397c157d", + "execution_id": "397c157d5a60491c891d1ebc5490189b", + "result_sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/l2/provider_binary.json b/docs/usage/evidence/qwen3-next-chain-b200/l2/provider_binary.json new file mode 100644 index 000000000..fbd6a2721 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/l2/provider_binary.json @@ -0,0 +1,13 @@ +{ + "schema_version": 1, + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "actual": { + "module": "rl_engine._C", + "path": "/source/rl_engine/_C.cpython-312-x86_64-linux-gnu.so", + "sha256": "9cc187da3c78c0fd326134d618856f53c869155b51bfd6c47e6fa410fb188090" + }, + "archive": { + "path": "/attempts/0/provider-binary.so", + "sha256": "9cc187da3c78c0fd326134d618856f53c869155b51bfd6c47e6fa410fb188090" + } +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/l2/result.json b/docs/usage/evidence/qwen3-next-chain-b200/l2/result.json new file mode 100644 index 000000000..03c539b31 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/l2/result.json @@ -0,0 +1,775 @@ +{ + "contract_version": 4, + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "cuda_identity": { + "home": "", + "nvcc_sha256": "b8e2347d9d7fcadf8812a27324d515de99d033d3e48611811ece7e66d7895f8a" + }, + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "operator_requirements": { + "suite": "all", + "case_ids": [ + "tests/check_qwen3_next_attention.py::test_d256_backward_with_cached_prefix_matches_float64_formula", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[1024]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[256]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[64]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[8]", + "tests/check_qwen3_next_attention.py::test_d256_input_device_guard_and_nondefault_stream", + "tests/check_qwen3_next_attention.py::test_native_backward_rejects_malformed_probability_and_gradient_buffers", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[0]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[2]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_target_inputs_do_not_depend_on_companions", + "tests/check_qwen3_next_batch_invariance.py::test_triton_chunked_prefill_is_batch_invariant", + "tests/check_qwen3_next_conv_bridge.py::test_chunked_and_reordered_sequences_match", + "tests/check_qwen3_next_conv_bridge.py::test_empty_sequence_preserves_cache_and_gradients", + "tests/check_qwen3_next_conv_bridge.py::test_response_gradient_reaches_prompt_and_convolution_weight", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths0]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths1]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths2]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-4]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[1]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[4]", + "tests/check_qwen3_next_core_matrix.py::test_variable_lengths_empty_and_mixed_step_match_independent_sequences", + "tests/check_qwen3_next_forward.py::test_combine_has_fixed_route_order_and_differentiable_weights", + "tests/check_qwen3_next_forward.py::test_full_vocabulary_logprob_entropy_modes_and_gradient", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_fail_closed_on_the_tensor_descriptor_path", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[128]", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[512]", + "tests/check_qwen3_next_forward.py::test_logprob_nan_rejected_before_comparison", + "tests/check_qwen3_next_forward.py::test_moe_vjp_matches_independent_double_formula", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[1024-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[128-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-16]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-256]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-3072]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-37984]", + "tests/check_qwen3_next_forward.py::test_qwen_moe_actual_tp4_shapes_and_independent_training_forward", + "tests/check_qwen3_next_forward.py::test_route_weights_are_batch_invariant", + "tests/check_qwen3_next_forward.py::test_shared_linear_vjp_and_empty_tokens", + "tests/check_qwen3_next_forward.py::test_stable_route_tie_boundary_and_router_gradient", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_backward_matches_recomputed_recurrence_vjp", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_forward_is_provider_exact_and_does_not_mutate_inputs", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_keeps_prompt_state_gradient_through_response", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[False]", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[True]", + "tests/check_qwen3_next_gdn_bridge.py::test_initial_state_vjp_matches_provider_directional_difference", + "tests/check_qwen3_next_gdn_sequence.py::test_1024_token_chunk_continuation_is_bitwise_exact", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad0]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad1]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad2]", + "tests/check_qwen3_next_gdn_sequence.py::test_chunk_boundary_retains_prompt_and_initial_state_gradients", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths0]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths1]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths2]", + "tests/check_qwen3_next_gdn_sequence.py::test_reserved_and_duplicate_slots_are_rejected", + "tests/check_qwen3_next_norm_providers.py::test_custom_op_has_distinct_native_and_cuda_paths", + "tests/check_qwen3_next_norm_providers.py::test_gdn_decode_provider_env_defaults_are_recorded", + "tests/check_qwen3_next_norm_providers.py::test_our_gated_op_is_batch_invariant", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_cuda]", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_native]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots0]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots2]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots3]", + "tests/check_qwen3_next_shared_core.py::test_independent_training_forward_matches_inference_and_retains_gradients", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[1024]", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[8]", + "tests/check_qwen3_next_shared_core.py::test_unimplemented_provider_profile_is_rejected", + "tests/test_qwen3_next_norm.py::test_bad_weight_shape_raises", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[16]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[1]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[2]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[32]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[48]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[64]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[8]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[128]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[2048]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_with_padding", + "tests/test_qwen3_next_norm.py::test_call_matches_forward", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[128]", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[2048]", + "tests/test_qwen3_next_norm.py::test_cuda_default_offset_preserves_plain_convention", + "tests/test_qwen3_next_norm.py::test_cuda_gated_backward_matches_autograd_golden", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_matches_golden_within_contract", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_bad_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_mismatched_gate", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_backward_uses_the_sigmoid_derivative", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_swish_is_an_alias_for_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_unit_weight_is_plain_norm_times_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_weight_offset_is_applied_in_fp32", + "tests/test_qwen3_next_norm.py::test_cuda_gated_wrapper_rejects_equal_numel_wrong_shape", + "tests/test_qwen3_next_norm.py::test_cuda_gated_zero_gate_zeroes_output", + "tests/test_qwen3_next_norm.py::test_cuda_offset_equals_explicit_fp32_weight", + "tests/test_qwen3_next_norm.py::test_cuda_offset_is_not_folded_through_bfloat16", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_backward_is_offset_aware", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_within_tolerance_of_golden", + "tests/test_qwen3_next_norm.py::test_deterministic_repeat", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype0]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype1]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype2]", + "tests/test_qwen3_next_norm.py::test_eps_inside_sqrt", + "tests/test_qwen3_next_norm.py::test_gated_batch_invariance_slice", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedHFOp]", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedOp]", + "tests/test_qwen3_next_norm.py::test_gated_conventions_diverge_in_low_precision", + "tests/test_qwen3_next_norm.py::test_gated_cuda_op_rejects_bad_activation_at_construction", + "tests/test_qwen3_next_norm.py::test_gated_extension_handles_empty_batch_and_nondefault_stream", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[dy_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[gate_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[rstd_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_shape]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_matches_hf_formula_fp32", + "tests/test_qwen3_next_norm.py::test_gated_shape_mismatch_raises", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_strict_matches_vllm_formula_fp32", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[128]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[2048]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_offset_applied_in_fp32_not_folded_into_bf16", + "tests/test_qwen3_next_norm.py::test_op_batch_invariance_on_device", + "tests/test_qwen3_next_norm.py::test_plain_reference_is_unchanged_by_the_offset_plumbing", + "tests/test_qwen3_next_norm.py::test_weight_offset_is_one", + "tests/test_qwen3_next_norm.py::test_zero_centred_cuda_constructor_rejects_missing_extension", + "tests/test_qwen3_next_norm.py::test_zero_centred_op_inherits_the_plain_reference", + "tests/test_qwen3_next_norm.py::test_zero_weight_is_identity_scaling" + ], + "case_ids_sha256": "694c931b65f9cfa5db963f2eca6d11bd309546c824a1df52f9da2ab128e83e0f", + "norm_gates": [ + "qwen3_next_rms_norm-forward.json", + "qwen3_next_rms_norm-gradient.json", + "rms_norm_gated-forward.json", + "rms_norm_gated-gradient.json" + ] + }, + "layer_requirements": { + "schema_version": 1, + "gates": { + "gdn": { + "script": "scripts/qwen3_next_tp_gdn_check.py", + "output_option": "--output", + "scope": "tp4_gdn_layer0", + "groups": { + "cases": [ + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "prompt-gradient", + "replicated-norm-gradient", + "hf-load-export" + ] + }, + "script_sha256": "cc4338893f90af004c51c20fc67d1a9a3f4bf8d26775277f72671c02983e4df5" + }, + "attention": { + "script": "scripts/qwen3_next_tp_attention_check.py", + "output_option": "--output", + "scope": "tp4_full_attention_layer3", + "groups": { + "attention.cases": [ + "hf-load-export", + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "batch4-varlen-reorder", + "sixteen-token-decode", + "prompt-gradient", + "kv-pair-gradient", + "qk-norm-gradient" + ] + }, + "script_sha256": "d27d43efb05415a8ef5892c3c2238a2b9744a4821f5466faf46c6510e6e01bec" + }, + "moe": { + "script": "scripts/qwen3_next_tp_moe_check.py", + "output_option": "--output", + "scope": "tp4_moe_block_layer0", + "groups": { + "moe.cases": [ + "hf-load-export-all512experts", + "routes-replicated-8", + "full-chunk-reorder-8", + "routes-replicated-64", + "full-chunk-reorder-64", + "routes-replicated-256", + "full-chunk-reorder-256", + "routes-replicated-1024", + "full-chunk-reorder-1024", + "training-forward", + "all-parameter-gradient", + "replicated-router-gradient" + ] + }, + "script_sha256": "d5c1bbbb82e408b65871b0cb1638d7a6cf8cfe07f0a3315a657b7dc232d544be" + }, + "adapters": { + "script": "scripts/qwen3_next_adapter_check.py", + "output_option": "--out", + "scope": "gdn_engine_adapter_component", + "groups": { + "cases": [ + "batch1-length8", + "batch1-length64", + "batch1-length256", + "batch1-length1024", + "batch4-length8", + "batch4-length64", + "batch4-length256", + "batch4-length1024", + "mixed-prefill-decode16-reorder" + ] + }, + "fields": { + "prompt_gradient": "passed", + "hf_conv_roundtrip": "passed", + "batch_invariance_capability_registered": false + }, + "script_sha256": "3ce45bb317237c1a06533116d65fb77c2a23b6f503ae46406ede543036eb0f20" + }, + "heads": { + "script": "scripts/qwen3_next_tp_head_check.py", + "output_option": "--output", + "scope": "tp4_embedding_lm_head_only", + "groups": { + "cases": [ + "hf-embedding-roundtrip", + "hf-lm-head-roundtrip", + "replicated-norm-gradient", + "nonzero-finite-embedding-head-gradient", + "embedding-repeat-100", + "batch-invariant-prompt8", + "batch-invariant-prompt64", + "batch-invariant-prompt256", + "batch-invariant-prompt1024", + "logprob-original-and-promoted-logits", + "entropy-interface" + ] + }, + "script_sha256": "0504185d21a75405c8e994bc57b016cf4ec357d8b16e7430772c11934f2af876" + } + }, + "scheduler_case_ids": [ + "p0008-b1-full", + "p0008-b1-chunked", + "p0008-b4-full", + "p0008-b4-chunked", + "p0064-b1-full", + "p0064-b1-chunked", + "p0064-b4-full", + "p0064-b4-chunked", + "p0256-b1-full", + "p0256-b1-chunked", + "p0256-b4-full", + "p0256-b4-chunked", + "p1024-b1-full", + "p1024-b1-chunked", + "p1024-b4-full", + "p1024-b4-chunked" + ], + "registry_sha256": "e3949a750cb27c1897a000f3b023f912629906612ae8949c1575d0acc36df5ec", + "case_ids_per_rank": [ + "adapters/cases/batch1-length1024", + "adapters/cases/batch1-length256", + "adapters/cases/batch1-length64", + "adapters/cases/batch1-length8", + "adapters/cases/batch4-length1024", + "adapters/cases/batch4-length256", + "adapters/cases/batch4-length64", + "adapters/cases/batch4-length8", + "adapters/cases/mixed-prefill-decode16-reorder", + "attention/attention.cases/batch4-varlen-reorder", + "attention/attention.cases/full-chunk-1024", + "attention/attention.cases/full-chunk-256", + "attention/attention.cases/full-chunk-64", + "attention/attention.cases/full-chunk-8", + "attention/attention.cases/hf-load-export", + "attention/attention.cases/kv-pair-gradient", + "attention/attention.cases/prompt-gradient", + "attention/attention.cases/qk-norm-gradient", + "attention/attention.cases/sixteen-token-decode", + "gdn/cases/full-chunk-1024", + "gdn/cases/full-chunk-256", + "gdn/cases/full-chunk-64", + "gdn/cases/full-chunk-8", + "gdn/cases/hf-load-export", + "gdn/cases/prompt-gradient", + "gdn/cases/replicated-norm-gradient", + "heads/cases/batch-invariant-prompt1024", + "heads/cases/batch-invariant-prompt256", + "heads/cases/batch-invariant-prompt64", + "heads/cases/batch-invariant-prompt8", + "heads/cases/embedding-repeat-100", + "heads/cases/entropy-interface", + "heads/cases/hf-embedding-roundtrip", + "heads/cases/hf-lm-head-roundtrip", + "heads/cases/logprob-original-and-promoted-logits", + "heads/cases/nonzero-finite-embedding-head-gradient", + "heads/cases/replicated-norm-gradient", + "moe/moe.cases/all-parameter-gradient", + "moe/moe.cases/full-chunk-reorder-1024", + "moe/moe.cases/full-chunk-reorder-256", + "moe/moe.cases/full-chunk-reorder-64", + "moe/moe.cases/full-chunk-reorder-8", + "moe/moe.cases/hf-load-export-all512experts", + "moe/moe.cases/replicated-router-gradient", + "moe/moe.cases/routes-replicated-1024", + "moe/moe.cases/routes-replicated-256", + "moe/moe.cases/routes-replicated-64", + "moe/moe.cases/routes-replicated-8", + "moe/moe.cases/training-forward" + ], + "case_ids_sha256": "be74417dfbd6031ba27978d06d04bb15daaab2aeb57d132c7e0d41176b28b46e" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "run_id": "20261009T035215Z-l2-c67ec144-f44cbd79", + "stage": "l2", + "suite": "all", + "execution_id": "f44cbd79269e4fcc97d8877044764e11", + "attempt": "0", + "status": "passed", + "phase": "complete", + "scope": "qwen3_next_full_model_l2", + "full_model_l2": "passed", + "evidence": { + "operators": { + "path": "attempts/0/operators.json", + "sha256": "dedb24b6ac2a01d37eb795a001376ca0b200a03e417f8131688aac67c19c2ebd" + }, + "environment": { + "path": "attempts/0/environment.json", + "sha256": "2ac9de8d3bd34729c151e1392c94cddbd9533b4816449aca9399a839cdedc76d" + }, + "l2_matrix": { + "path": "attempts/0/l2-matrix.json", + "sha256": "bf9da6060e882fb3707df9093e63a4c6e6664e8a75f25e9809020c4f687bf953" + }, + "predecessor": { + "path": "attempts/0/predecessor-evidence.json", + "sha256": "256c03b084be2a675d0fa5e3c1e0358ab886f5cb9a9efde6b7d800fdef872929" + }, + "provider_binary": { + "path": "attempts/0/provider-binary.json", + "sha256": "cf4d7ff7f1e2752cb8c5379ec63edaa0bb1dd2980514e49fa394a01fbbb5dfe7" + } + } +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/l2/run.json b/docs/usage/evidence/qwen3-next-chain-b200/l2/run.json new file mode 100644 index 000000000..3b7414597 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/l2/run.json @@ -0,0 +1,5252 @@ +{ + "run_id": "20261009T035215Z-l2-c67ec144-f44cbd79", + "execution_id": "f44cbd79269e4fcc97d8877044764e11", + "contract_version": 4, + "suite": "all", + "execution_gpus": 4, + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "stage": "l2", + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source": "/source", + "python": "", + "cuda_home": "", + "checkpoint": "", + "memory": "512G", + "previous": "", + "status": "prepared", + "full_model_l2": "not_evaluated", + "environment": { + "identity": { + "base_prefix": "/miniconda3/envs/rlkernel", + "binary": "/python3.12", + "binary_sha256": "6a1eb3ffc29f3a6b0ece607b016b4cfa5ca3ac57b34f17ed3266b404f78d2729", + "build_tools": { + "ninja": { + "path": "/miniconda3/envs/rlkernel/bin/ninja", + "sha256": "08639e194fffa7f08b259fc4abfa4803aff66b64de52549cee42ec527d55cea6" + } + }, + "distributions": [ + { + "direct_url": null, + "metadata_sha256": "6f1038270be40f9b8c0bcf391c627e7d7f41ccdd19aa192d6eac1dbfc3b19abc", + "name": "GitPython", + "version": "3.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "3f71971502087521f123c9daa26bc12d31d3466738b567390b8602acad3be22a", + "name": "Jinja2", + "version": "3.1.6" + }, + { + "direct_url": null, + "metadata_sha256": "818fb343b7b6b99a32771bf4813521ae6440b4c7579b3ae46e32dd02da0afeee", + "name": "Markdown", + "version": "3.11" + }, + { + "direct_url": null, + "metadata_sha256": "dc1ee42cf8ecfeee0ab60b15b21d291833e0732548efcb7bb5b3564dca3e5bf7", + "name": "MarkupSafe", + "version": "3.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "de7389b142450a0014234286b0876f328439b823c355c73d0aed41fd67ec208c", + "name": "PyJWT", + "version": "2.15.1" + }, + { + "direct_url": null, + "metadata_sha256": "ffcad4415cafb22b8b536a61595e9ee13438b51d31b0763c1b273ce3bc58e840", + "name": "PyYAML", + "version": "6.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "8562d701cc52d9cafbb418942b0e072fc087ed8ddcf35cd10224c1b2ed8bdd91", + "name": "Pygments", + "version": "2.21.0" + }, + { + "direct_url": null, + "metadata_sha256": "b6c25fcfdcc495edf248a10ca4ad28327ef2ed6047a6ec5c6346e121414c7f21", + "name": "Werkzeug", + "version": "3.1.9" + }, + { + "direct_url": null, + "metadata_sha256": "55c400d24c71b581d9c0992f71df6047cf6c878bebe61a7d45d6e02dc0e4c510", + "name": "absl-py", + "version": "2.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "13db521f90a6a882027b2388eaa2ebf252945f9c2adb7e7e371da18239da4df0", + "name": "accelerate", + "version": "1.15.0" + }, + { + "direct_url": null, + "metadata_sha256": "86fe44e38e67872dd895c729044942ba2c2f934ae439a899fb83a186206b7fd4", + "name": "agent-detector", + "version": "2.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "afe11fe9f5aa54e734cdd51659bed8c89dc6bcd5aef0ad96f2d20149c8de5456", + "name": "aiohappyeyeballs", + "version": "2.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "570b307bc0b53fbbd3ed2ce0b7eca6bbf2fa73bf75e24a480f1034d8c0b832bf", + "name": "aiohttp", + "version": "3.14.3" + }, + { + "direct_url": null, + "metadata_sha256": "44b7f8e14c4770793e747fad50c9e0a6ee7357651d878554f192d94768dc14a8", + "name": "aiohttp-cors", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "648813a44a9ae0ab2f20ee86d2404dcc38e3f9e80c63316cf6e536735df14e54", + "name": "aiosignal", + "version": "1.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "f6a3f6668bacef7f73a2c19ccb2be910b2363d1731c4725cb04364d99e24935a", + "name": "annotated-doc", + "version": "0.0.5" + }, + { + "direct_url": null, + "metadata_sha256": "fc6d752cde6a6a4bff03474386de750e130b75da3c7815ee909f45b51fea98c8", + "name": "annotated-types", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "4e89d670a4b20029da30e5a9e8ebcbc844deff9c44209552bafd5537249c8b9e", + "name": "anthropic", + "version": "1.9.0" + }, + { + "direct_url": null, + "metadata_sha256": "b5a6f00800956387fcddab1fe1b5aa8502c249b86cfb16d58ed700f282f60142", + "name": "antlr4-python3-runtime", + "version": "4.9.3" + }, + { + "direct_url": null, + "metadata_sha256": "a6008defa9492cd08250217b134782cad1db4580e1d7ddf69cc2a2a48cea24e0", + "name": "anyio", + "version": "4.15.1" + }, + { + "direct_url": null, + "metadata_sha256": "7877c64ce8957237363f2df313819bb07f50752df016d14c5a5a99bec10f5deb", + "name": "apache-tvm-ffi", + "version": "0.1.11" + }, + { + "direct_url": null, + "metadata_sha256": "3543ca8f0e072c00ab111b20eba99ce86dbf93ada28988775bc2677284b3c07a", + "name": "astor", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "d4b328c09c024fe1e4d788a9c7715ad726095131b815cd35fd933268226f6269", + "name": "attrs", + "version": "26.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "4850c4d696a5e2a2ecbb3dd792b060acc1de79e09800669b0b9fc3a22c055e6d", + "name": "av", + "version": "19.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "863ff92208d0a02dabfa008bfe91846a5c401ded301e5687dca7dc63c911865f", + "name": "babel", + "version": "2.18.0" + }, + { + "direct_url": null, + "metadata_sha256": "f32e6df3197f05202e586624d95c5e217003d80cee655c165d533102f628df21", + "name": "backrefs", + "version": "8.0" + }, + { + "direct_url": null, + "metadata_sha256": "905c362f655fbc6d37a24686efc2b3bfbd3123b8ee5a443a43f6750d87455e90", + "name": "blake3", + "version": "1.0.10" + }, + { + "direct_url": null, + "metadata_sha256": "07c85682b6aefd5c9b48890d306c1604311902295704892ede48e5a83219a8d3", + "name": "blobfile", + "version": "3.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "2d582941a7081625a35f35a0c4a2e80f7737312e29c38e5fdb6fc08f9c113077", + "name": "bracex", + "version": "3.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "3b60c55bae0d0340c3a3fd918635bbfa3087579da66e0fd7f6be7a3782c0da3d", + "name": "cachetools", + "version": "7.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "5d11a6878d5bc3f22290281a19ef7b36daa95c910780950608b95cd788c7e12e", + "name": "cbor2", + "version": "6.1.4" + }, + { + "direct_url": null, + "metadata_sha256": "362c9942c48051f168ed2b9f2146266b7792d3c05e164cd6afc3f3b65884fdc9", + "name": "certifi", + "version": "2026.7.22" + }, + { + "direct_url": null, + "metadata_sha256": "b4abf1bcf1c1d8e0272d8007fc974499ea59e5f2a5b98af3c78a5e67515a9d87", + "name": "cffi", + "version": "2.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "766120f13c177446f51929a4d201104bc935b6d5a2a176cd6716edce757d3d95", + "name": "cfgv", + "version": "3.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "610e9a9d03ce837ffe6e42be5e02e70087f73863f7350bf7bb7f0511edcc5ec0", + "name": "charset-normalizer", + "version": "3.5.2" + }, + { + "direct_url": null, + "metadata_sha256": "7ad836b3147c9702546d9c28b4fa5be23b24445439db5d0d2a58d17281c84daa", + "name": "click", + "version": "8.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "4c5f00599ebcbf11d337e48a72784d256ca3d704fa9e9f5daadd60065e6776b7", + "name": "cloudpickle", + "version": "3.1.2" + }, + { + "direct_url": null, + "metadata_sha256": "a0970189e3ab7a596d6902d5f61f93b414f138f03d3cf19029145657bfceb382", + "name": "cmake", + "version": "4.1.2" + }, + { + "direct_url": null, + "metadata_sha256": "94a6ebf9718e55f254a43ce0d2f04e0d6d44e7141b6f3144a84feb6519a77bfd", + "name": "colorama", + "version": "0.4.6" + }, + { + "direct_url": null, + "metadata_sha256": "ca8ec227f406d970a645ec482b20619128dd34b9cf71159cc24e27db461a2711", + "name": "colorful", + "version": "0.5.8" + }, + { + "direct_url": null, + "metadata_sha256": "bbaa51b7e4d8f142bd075d01257c0572c0c844796d51426e35c8096a13e8da76", + "name": "compressed-tensors", + "version": "0.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "6063d8ff7ebc458d63a4332853d7ababf4ee2b86336362c8d2b12be6e998eb6b", + "name": "connectrpc", + "version": "0.11.1" + }, + { + "direct_url": null, + "metadata_sha256": "ac5f4b5a5f68080bd9c3fe77399fe8a1bff2ee5923c49db1df544dd054cbf15b", + "name": "cryptography", + "version": "50.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "f41d2f6b4616accca2f5e1dd47aa9e8937c28076cde698226d93e727751f3099", + "name": "cuda-bindings", + "version": "13.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "e5ca6ed34c687c6f4a4d157ad0a2cf06ec0316fe8c4c0ddeb666ad76dd6f30f4", + "name": "cuda-core", + "version": "1.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "89baadd9da23dce9990481519544115615ba3cbd2d1a41e09feea7756fffb378", + "name": "cuda-pathfinder", + "version": "1.8.2" + }, + { + "direct_url": null, + "metadata_sha256": "1ab914b9a57ca601df2e3cfe9608427b15d8afb78029076ace5d1caf9fd45f08", + "name": "cuda-python", + "version": "13.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "73d97a5eb578223b4895ef4f234574d14219cef9999ff7d0e92a3d0dd057bd3f", + "name": "cuda-tile", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "ae6f957fe66ed63081d1d83ee6e8838f3a0af2c6fce1223629d0dd6264565ead", + "name": "cuda-toolkit", + "version": "13.0.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "1f8e0ae51ad5feea63f58ed2e24f3da6f23ed548043235a14f7623d961dd9b64", + "name": "datasets", + "version": "5.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "153f4a4d6ff03dbe5c8ad7fe54bc2e7b989a4947b70f7aa77fbf652b394f2a2e", + "name": "depyf", + "version": "0.20.0" + }, + { + "direct_url": null, + "metadata_sha256": "ee09fc752d7271aac93079cfd63409957dc6b536c1ffd9355a01bf7297e72aa6", + "name": "detect-installer", + "version": "0.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "a7feab2c4f69fd5f85e5a3cb495a7f1870a6bf8199dcee5339e8118f7acbdc09", + "name": "dill", + "version": "0.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "fef3fde661fe30ba7bd1d78841a797136b2b3461705bb4eb92dc54f8308bbaae", + "name": "distlib", + "version": "0.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "fef3fde661fe30ba7bd1d78841a797136b2b3461705bb4eb92dc54f8308bbaae", + "name": "distlib", + "version": "0.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "a3ca2e39abe76c4a33d5fe4a2a84375ec9f25cdfdb7e1d8ea406bd6f1603205c", + "name": "dnspython", + "version": "2.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "92a07daad5e6ff461199de14e845d9b376e309ef916ce5379f3c9cd4e3b1623f", + "name": "dockerfile-parse", + "version": "2.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "5b566b25f0cbe4955d0b16844a7cc6d2002caa3bde2dfda7f301fd8870cbaa56", + "name": "docstring_parser", + "version": "0.18.0" + }, + { + "direct_url": null, + "metadata_sha256": "5a1080b5768c6c591e1c4f9c9812cafa808781b9eeb198043bf185e22d4a1613", + "name": "e2b", + "version": "2.51.0" + }, + { + "direct_url": null, + "metadata_sha256": "0a63979e0b946e16238e4339e60d9c1eb5a7ce3ea93dae78b5da9c65a6190540", + "name": "einops", + "version": "0.8.2" + }, + { + "direct_url": null, + "metadata_sha256": "16cbe67a57558f1d4bfdbc22a454434ba301750c57a62b1d3f5361c9e5cddc00", + "name": "email-validator", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "0617ddb55b90b42ddc9398dc7e91d61fe928a2504939f76526dc15b22d238caa", + "name": "fastapi", + "version": "0.136.3" + }, + { + "direct_url": null, + "metadata_sha256": "ddd82b9666c21988e234d623e2575e1b89fd4133260eeab43fc9a7c074f7024a", + "name": "fastapi-cli", + "version": "0.0.32" + }, + { + "direct_url": null, + "metadata_sha256": "611602e834d42e10433155ff5f5581358d732fa6b6f6f7820a8f79e74b1ce1f9", + "name": "fastapi-cloud-cli", + "version": "0.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "794524e4a9659bda6043721d848d028ea49996085a33326094fbaaa3f6e6b895", + "name": "fastar", + "version": "0.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "711401d36e60e10e35beb4d0f1bb42bf0c4d86339ae52f32b9aa4a4d790530dd", + "name": "fastsafetensors", + "version": "0.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "efaea9742e348c4c4bdcc6f616a33cc5aa3ae926494a72a46690b7da2f08ed5c", + "name": "filelock", + "version": "4.0.7" + }, + { + "direct_url": null, + "metadata_sha256": "99bd6c3f10781d3d2d350f2c3c9fc4765b55f25de8a6d6dd1f71501802d1255e", + "name": "fla-core", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "0a6ef979b75295cee2b5293ad4942b0cf2682e9e38680203064e0b70249c1a96", + "name": "flash-linear-attention", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "76b70a11ca82ea4606b529e7a8658cb3fe71412afa46f2ed57101dd91ba27558", + "name": "flashinfer-python", + "version": "0.6.18.post1" + }, + { + "direct_url": null, + "metadata_sha256": "ba8ff415192b5cbb90efce046e2271a00c8184afc362d8b47fbbc84d5e558b05", + "name": "frozenlist", + "version": "1.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "e7712831c80eb13b08fb7f7cc33988a8f24654af9eba7c6f5f943b2636e4306a", + "name": "fsspec", + "version": "2026.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "025de85c794878d0caa737869307447595f514ebf9599eacb5b1a501bae479b6", + "name": "fsspec", + "version": "2026.9.0" + }, + { + "direct_url": null, + "metadata_sha256": "ca94883bdeaa3740b45b6994443b445fd67c6e4a8064ac3bf9d92d2a5221eee8", + "name": "ghp-import", + "version": "2.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "a7e90983562a035cf767baa63d8c32bc37e1de7cad71ac7b6b2bc70a95bba4eb", + "name": "gitdb", + "version": "4.0.12" + }, + { + "direct_url": null, + "metadata_sha256": "dd96143ec79178bef685c1f5c0a58a87a66d003b421e605de65697308321d518", + "name": "google-api-core", + "version": "2.40.0" + }, + { + "direct_url": null, + "metadata_sha256": "0735d57088a83df2355e16843107fb0112abe2178fc5bb8132947a7ad962aa41", + "name": "google-auth", + "version": "2.59.1" + }, + { + "direct_url": null, + "metadata_sha256": "2f3aa9d9500d329560440e6a5a152e420aad5f5bbb23701f45b740be721784a1", + "name": "googleapis-common-protos", + "version": "1.75.5" + }, + { + "direct_url": null, + "metadata_sha256": "06d74ab04fdc03fad368868907f0d10e7d9f397aab58d58965c0b78ffaec34cc", + "name": "griffelib", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "7ee1c179e2c68a62968308b2f96f4f3469176ee3ac8bdb494ac80188d4d41271", + "name": "grpcio", + "version": "1.84.0" + }, + { + "direct_url": null, + "metadata_sha256": "04cf3a4a91575850f386f4fcfdedd8e7fbfba08feff038fbc1296d1e854db2dd", + "name": "h11", + "version": "0.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "b954a6ba4739c0cc878bb8ea27ea7c7154a48bb4b7c06dba9e9cf880cf0ec930", + "name": "h2", + "version": "4.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "6f0d7bf86e75d0bda1ceccc82367c0145ad0ec522c4d4f51bb454f467faadcc9", + "name": "hf-xet", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "f991b847550cf8225f69562902b5ccb591b2ce9a08fe07ef6e6d701bdb4694a7", + "name": "hpack", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "314d194165c4700034c1c67cee847d549a6d7091374c71f2cef0186ec56a3eb9", + "name": "httpcore", + "version": "1.0.9" + }, + { + "direct_url": null, + "metadata_sha256": "aed9767360bed1bcbda71e3b1a3c996603f86558bc77a1693ee3d09973d20cad", + "name": "httpcore2", + "version": "2.13.1" + }, + { + "direct_url": null, + "metadata_sha256": "8fa3bf3510c35e2eea9f523a1cace7120079cf51d76c4acea97de95806aaa14a", + "name": "httptools", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "3bf4804c215d111b6a4702cf9000021ab39807d1ed3207dd011b14b2843b2d14", + "name": "httpx", + "version": "0.28.1" + }, + { + "direct_url": null, + "metadata_sha256": "d11dd50813b8914bd9455e8b2b591171cd2b1618883943153afadc8bb9224678", + "name": "httpx2", + "version": "2.13.1" + }, + { + "direct_url": null, + "metadata_sha256": "43b119c34ad2b2aacc032a1a6a8feb142fdb5ca407a3519325d74dd53d8904df", + "name": "huggingface_hub", + "version": "1.33.0" + }, + { + "direct_url": null, + "metadata_sha256": "9ce850d5a6b775e5ef4a335f907e579a878e058213121b6eec567781ea68c585", + "name": "humming-kernels", + "version": "0.1.12" + }, + { + "direct_url": null, + "metadata_sha256": "67aa4f6717d82446a51ce350e7c4769eba0c4a22d2f428255cddd9d24b11a914", + "name": "hyperframe", + "version": "6.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd9511ede42f63b995c3f71944f908cb8f014048b63ecc1c8d420525a3354b59", + "name": "identify", + "version": "2.6.20" + }, + { + "direct_url": null, + "metadata_sha256": "af3c3a62bb5d82d6a43454684e0b1dedde27a21ea90eacfb1bed9814619f06d0", + "name": "idna", + "version": "3.20" + }, + { + "direct_url": null, + "metadata_sha256": "cf71393f3d079ce2e859384573e65aaacd1709bef700701f629df32398b598f0", + "name": "ijson", + "version": "3.5.1" + }, + { + "direct_url": null, + "metadata_sha256": "9305763e93d03df0e36516b1125fa046a6ebe37d44589e200e0593cf4bdfd980", + "name": "importlib_metadata", + "version": "9.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "32860c3c19b2e91f6cb5bd83400b5870cda051bc74a5a08822c8c666af0990db", + "name": "iniconfig", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "560faabb3d45d779e445a74e7e806a786f95f2200fa06d979603b7f0ee1cfb39", + "name": "instanttensor", + "version": "0.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "f6fc1f0d389e4245fc2a1a0fdfee09422e56200cb6f94659668456997ff4f7a9", + "name": "interegular", + "version": "0.3.3" + }, + { + "direct_url": null, + "metadata_sha256": "d10f300731197a4829b77f0c883bb3cf8a37ae8c76a302e095fa95d6427706d0", + "name": "jiter", + "version": "0.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "5b0c8d4b4c535a2432fb206223d774509b6e20af374c6a4b6f98bf72a7de6702", + "name": "jmespath", + "version": "1.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "6c4032c2e74273452cd77399af2ee85198f49c22da897983f26d2ed6f787c4e8", + "name": "jsonschema", + "version": "4.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "aaa6cd66f423729e8da397c9d533b7d731f6b25f3d6371b9338c36bdb9be74a0", + "name": "jsonschema-specifications", + "version": "2025.9.1" + }, + { + "direct_url": null, + "metadata_sha256": "f7c0687c032593106a2e5a3c241cf8043e7e2c222bddb0022b4cb2bf5de67115", + "name": "lark", + "version": "1.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "4511c6b04efc57a5f5333edc1f5f48b9f5412c3923d4bc19b715bdf47977511c", + "name": "linkify-it-py", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "be929870f6ecae18a819c56118f1101f3076e25ac6a4843ca6f4707ebd1e87c6", + "name": "llguidance", + "version": "1.7.6" + }, + { + "direct_url": null, + "metadata_sha256": "cf2b87669bead3e76ec54207f3354c13f73b50c32fcd13c8d627084b3379139e", + "name": "llvmlite", + "version": "0.47.0" + }, + { + "direct_url": null, + "metadata_sha256": "0a416d79c5543d94d2b18807626293d4f47655d1d22724c7ae296e413078aaba", + "name": "lm-format-enforcer", + "version": "0.11.3" + }, + { + "direct_url": null, + "metadata_sha256": "16bc1f59e34fd2a6633bd395276052eacd2c777b2cf72781e76b203f013a8fac", + "name": "loguru", + "version": "0.7.3" + }, + { + "direct_url": null, + "metadata_sha256": "5216d5acfd039a7b581a826186309594b228d37d2c8d56864124ea666689fe4e", + "name": "lxml", + "version": "6.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "f59d772b35315a928672bfcccfb89d82c0aac672c5275c048f7a93b79015bcea", + "name": "markdown-it-py", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "b137367ef0056711cbf5e53015df9168cab80373104e7899b1c0263a21d9c99c", + "name": "mcp", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "38e0b9edaae09e58cd1461fc961ced22672038a697930bedef153a74befb3de1", + "name": "mcp-types", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "799f49685865fd9cc8915fdb92a33e102eeeffad562b03b4aeffb6f422b771c1", + "name": "mdit-py-plugins", + "version": "0.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "481f9cbe08596c6eaba6343e0efa1b13b2362c30dce0610f7c08523f1d98388d", + "name": "mdurl", + "version": "0.1.2" + }, + { + "direct_url": "{\"dir_info\": {\"editable\": true}, \"url\": \"file:///Megatron-LM-training\"}", + "metadata_sha256": "2876c0c760bbfc93bd7d737bf0db2866a937308a7c1707c3a2bb59d4795986ff", + "name": "megatron-core", + "version": "0.16.0rc0" + }, + { + "direct_url": null, + "metadata_sha256": "a6e34d488c879f57ce042bec38f8864ba3ea7d6ecf0ab757fc88fe8dc0a22f26", + "name": "memray", + "version": "1.20.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd26d80dc9676b1fb8c894355bd525fbe7f49a6a86a555c72e9ec6d927247c33", + "name": "mergedeep", + "version": "1.3.4" + }, + { + "direct_url": null, + "metadata_sha256": "dd1b3b89e88d1c65a26e6e72dd075eabbc220bfb138769ec8b64578ee911795c", + "name": "mistral_common", + "version": "1.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "4859847a9f6321daf8849cf7fd1542ff430db6563a2abf9ac0d62a5b21bd951d", + "name": "mkdocs", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "1729fc31479f2582486cdc85397417659dd3b2fb3f920553de66cfe59d5f0b3e", + "name": "mkdocs-awesome-nav", + "version": "3.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "88b4b7b7c0aba5547befdedaf515c8df4867361daf55ff60b72578464d72dcbe", + "name": "mkdocs-get-deps", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "ad33bb33fb16b1f69689c4682550e97232154e367e2c8c8aee9dad0f10d269ce", + "name": "mkdocs-git-revision-date-localized-plugin", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "ed69fbfb9ac00c10c5a383a12ff9d2b9919ae184e408554434199211643d6040", + "name": "mkdocs-material", + "version": "9.7.7" + }, + { + "direct_url": null, + "metadata_sha256": "d1c549b61701148b97f8246bc924b2840e504b37b0ce7a27e78ddf81261e5363", + "name": "mkdocs-material-extensions", + "version": "1.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "4ad6171f3bf6812e4de90670ff0089d445093d4fe1d05d55f17b96a4a192a816", + "name": "ml_dtypes", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "4ad6171f3bf6812e4de90670ff0089d445093d4fe1d05d55f17b96a4a192a816", + "name": "ml_dtypes", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "b0dbdfa30ab6b1ce637a794899c9e43019182b6d1ab2d07b90f647f7331eba6b", + "name": "model-hosting-container-standards", + "version": "0.1.16" + }, + { + "direct_url": null, + "metadata_sha256": "95424470e481cfa8d18b30963b6de3aafe16614b1ea0414e184a008571dde84f", + "name": "mpmath", + "version": "1.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "eb184d83489401903615ce8a78d98d5b933dec0f7246811d396a529915fe797c", + "name": "msgpack", + "version": "1.2.3" + }, + { + "direct_url": null, + "metadata_sha256": "520006303d6a0e859970b83f7d452196e2e8f6dab08f6dcf1ba5823c1230025f", + "name": "msgspec", + "version": "0.22.0" + }, + { + "direct_url": null, + "metadata_sha256": "010d2fe039006070a711a476b171b7b7da5c29ccad3c4eecd77ef3711b07c2d0", + "name": "multidict", + "version": "6.9.1" + }, + { + "direct_url": null, + "metadata_sha256": "235634cc7ebda45f8a84dfdb1b9b35ac1a77a1888b34650c3a616d23e4a7e93f", + "name": "multiprocess", + "version": "0.70.19" + }, + { + "direct_url": null, + "metadata_sha256": "7c545b4b3e5e83d3fde41352272c10cb9deeaba5b7138fbf24383e952af8822e", + "name": "natsort", + "version": "8.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "311ee8cdaeaf9f11acf51cda9c3b5b191f76ce9d98bc3418164c3189bbc37a08", + "name": "nccl4py", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "66360539217852c3b44b37f409eade7e1559baf018bb363bacb2aa3a9759b203", + "name": "networkx", + "version": "3.7" + }, + { + "direct_url": null, + "metadata_sha256": "e8b0b1746808b87816c47e4531780ded7f246bed9575a89e8b40200aa81e9a13", + "name": "ninja", + "version": "1.13.2" + }, + { + "direct_url": null, + "metadata_sha256": "77c1117f0dbc41560ddc6e6b37b542fb4e88afcd4ef82ec06593e5bbd5f37121", + "name": "nodeenv", + "version": "1.11.0" + }, + { + "direct_url": null, + "metadata_sha256": "9af629898406c9eaa69897fe09220dc483270cdba89f6b20bf0165cdf0e1668e", + "name": "numba", + "version": "0.65.0" + }, + { + "direct_url": null, + "metadata_sha256": "0c7281a81cf76e40b27c1385ffd8a215d7227adc219f177ce807ead9e91994a5", + "name": "numpy", + "version": "2.3.5" + }, + { + "direct_url": null, + "metadata_sha256": "0c7281a81cf76e40b27c1385ffd8a215d7227adc219f177ce807ead9e91994a5", + "name": "numpy", + "version": "2.3.5" + }, + { + "direct_url": null, + "metadata_sha256": "bab990ced4537ce74ef5961ca933c4c6fd604fd09a5827a4a428c55bcb0be35b", + "name": "nvdlfw_inspect", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "10f6595146332d35f7f15a000e08b5c81432528c5d026470c1d03f0c1399fb70", + "name": "nvidia-cublas", + "version": "13.1.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "58e933b4ac8e49f098b16ab7480d03bd792afc3d1db10d0aacbdcc2c62e48fa3", + "name": "nvidia-cuda-cccl", + "version": "13.3.4.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "baac937970681d41aa0c3708b3d55d73f8d29e70aceaac0e71fe6d1548e94a09", + "name": "nvidia-cuda-crt", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "8d51e5c76ef5707b0b80d5ec9a791c0f11a480ab721820cf100a3cc566017eef", + "name": "nvidia-cuda-cupti", + "version": "13.0.85" + }, + { + "direct_url": null, + "metadata_sha256": "724bf56e61ddef5d4c2482ff64103a973b911b110b668acaea5373f6c83c1c5c", + "name": "nvidia-cuda-nvcc", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "c54801dbd815d534519a761f1f328325aa0f1d1f1659aa969fa74e7a2c76eee9", + "name": "nvidia-cuda-nvdisasm", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "af51f248363020b9fdfd2743704e901bf3d19a1a1ce1fe44fb98ba148bfc0157", + "name": "nvidia-cuda-nvrtc", + "version": "13.0.88" + }, + { + "direct_url": null, + "metadata_sha256": "055f7fc69a5a2159de82cd0718da02c8852e81c8a71ebb117b8e799badd7167e", + "name": "nvidia-cuda-runtime", + "version": "13.0.96" + }, + { + "direct_url": null, + "metadata_sha256": "df18686dbdb3074ca375a1d6c623a04102fd348950c67a721397349c6d4f0477", + "name": "nvidia-cudnn-cu13", + "version": "9.20.0.48" + }, + { + "direct_url": null, + "metadata_sha256": "abd0ca3f67af19a4d383ff2a012ae0090d4731c6492fd47236615308a50b3981", + "name": "nvidia-cudnn-frontend", + "version": "1.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "4a78545d424d0c5038353f7046a8ae40ceaf312045d71399eac9511f5fc15434", + "name": "nvidia-cufft", + "version": "12.0.0.61" + }, + { + "direct_url": null, + "metadata_sha256": "e49b909195c03ddbe203729d9b31dd88e3f207368333d1909c67c6b130a0c696", + "name": "nvidia-cufile", + "version": "1.15.1.6" + }, + { + "direct_url": null, + "metadata_sha256": "bb15a754c6be32c23aaac13c1cfa7a8ce53d92bc26652ec3b609f7a5cce3e7d1", + "name": "nvidia-curand", + "version": "10.4.0.35" + }, + { + "direct_url": null, + "metadata_sha256": "0dd58f677811eac04901a793740932e5a2a8fff2f5453aa6351614eb18391bb6", + "name": "nvidia-cusolver", + "version": "12.0.4.66" + }, + { + "direct_url": null, + "metadata_sha256": "8aeb284782ef6883095a5d1c110e221cad023a99afcfd5cdb4969a25e146d562", + "name": "nvidia-cusparse", + "version": "12.6.3.3" + }, + { + "direct_url": null, + "metadata_sha256": "09555246122896eaca3b8313eecfca4b339fefd3b597874cb9fe3bf29dab38c9", + "name": "nvidia-cusparselt-cu13", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "ac77bac79fbfb0c52ac6e2e5abc936b1e127be2192f0cbc27b00be3125fa86ae", + "name": "nvidia-cutlass-dsl", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "1ec968ec7c4083f7fe4e1fb8384c7e9b853a81491fef9f4cb1cf755961aaedf6", + "name": "nvidia-cutlass-dsl-libs-base", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "cc6f3846cd820013eaa6e2665c493d70c607be6ce7349b939eb4742888470585", + "name": "nvidia-cutlass-dsl-libs-core", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "2357d0df2d0d17c0b16663b8a89df53f751b19721f66821fd88fa78112c08e55", + "name": "nvidia-cutlass-dsl-libs-cu12", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "244590c25662dcf777b1daae97a858afe1a1aec62e5e6678b217007a459ab552", + "name": "nvidia-cutlass-dsl-libs-cu13", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "c3a25ada01f57418c1b897406c3abab18834e6adc573ab7b060620c453afb6db", + "name": "nvidia-ml-py", + "version": "13.615.71" + }, + { + "direct_url": null, + "metadata_sha256": "56baad4e7f699902b03b17580933f7bd50b6ea97b7df9d7e807750973da7529c", + "name": "nvidia-nccl-cu13", + "version": "2.29.7" + }, + { + "direct_url": null, + "metadata_sha256": "98810ef0ab8badc369e6a46a038f8ee9f412c0c753fb5ad580544f23a0aa7962", + "name": "nvidia-nvjitlink", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "b0f54ee21909d19640a58e05da755c91763eb5725f544fd0d4b84b2f5f94deba", + "name": "nvidia-nvshmem-cu13", + "version": "3.4.5" + }, + { + "direct_url": null, + "metadata_sha256": "06dc1a593c7e8b8c3f29184228c83f8f7ef57787ad91f3e5bcae1d238dd3092a", + "name": "nvidia-nvtx", + "version": "13.0.85" + }, + { + "direct_url": null, + "metadata_sha256": "32ee63450a437b6a6ed227ff6549144aa596197a322993521ec7af826ebd413e", + "name": "nvidia-nvvm", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "32c2efdcd2c673b3b7f35ca9c2cccefaad36f1f0a920648a13cad85f6a5767b2", + "name": "nvtx", + "version": "0.2.15" + }, + { + "direct_url": null, + "metadata_sha256": "3419d80e114a2c19fa9bd3582939a3942f19673055707ba6ca2ca489d58b41e0", + "name": "omegaconf", + "version": "2.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "28971076ce9c279d4b889496b046d55a1e05b02fb9851ceb717e9a10df799572", + "name": "onnx", + "version": "1.23.1" + }, + { + "direct_url": null, + "metadata_sha256": "1246f5a4d8295907a42e809ed9173ede2510ec9d260d2168989d126564897fa5", + "name": "onnx-ir", + "version": "1.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "e14643636835759700dff286f949c5ec34e7eac7ac47f44096414f0e0f1c3101", + "name": "onnxscript", + "version": "0.7.2" + }, + { + "direct_url": null, + "metadata_sha256": "00f847e99939207bd70dfd806428f6b20a3d01074b59325e4c76149a2e19be26", + "name": "openai", + "version": "3.22.1" + }, + { + "direct_url": null, + "metadata_sha256": "598d3ad5a22a14a7c4f1d218b43e345f32b0ba094b753467bae8a3f708fd48cb", + "name": "openai-agents", + "version": "0.22.3" + }, + { + "direct_url": null, + "metadata_sha256": "5a0afcb1ce845e05da12beb1767f5d2749bbc9e9050718c6b9fa3c225713c9eb", + "name": "openai-harmony", + "version": "0.0.8" + }, + { + "direct_url": null, + "metadata_sha256": "e86a6b6fcbbe152805f782c57df321002892e163019574877e9829272e25eb4e", + "name": "opencensus", + "version": "0.11.4" + }, + { + "direct_url": null, + "metadata_sha256": "53d669c8bd3d32d3275153b454e515ca5cc6dec92fae3a98309b5a2b19fe6d2d", + "name": "opencensus-context", + "version": "0.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "19778b6d66b0e45bf73e11fa37a208949d5b393aef914627394d5601455546a6", + "name": "opencv-python-headless", + "version": "5.0.0.93" + }, + { + "direct_url": null, + "metadata_sha256": "19778b6d66b0e45bf73e11fa37a208949d5b393aef914627394d5601455546a6", + "name": "opencv-python-headless", + "version": "5.0.0.93" + }, + { + "direct_url": null, + "metadata_sha256": "a3f5434fa7c80f7f7abc82173da639c8e9c59d30b4027182645562bd3d2f4f97", + "name": "opentelemetry-api", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "8611977ea596e4827874582e86250618444e1c718229dddfc16e5ea437ce5fcb", + "name": "opentelemetry-exporter-http-transport", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "2cfd41e5ca33292d987ba71fa6186d11e16ed66888f3a26f8a3a99060c4b5e90", + "name": "opentelemetry-exporter-otlp", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "3bb4494220732d4bf10e1dba231ea7638cedaa5362e1f23a50d34a14f520fea8", + "name": "opentelemetry-exporter-otlp-common", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "27fb1c8aa5c2cd07776f9f3281fc618cd3feb96017757c33d2b3586fb7fec88b", + "name": "opentelemetry-exporter-otlp-proto-common", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "5cba6098cdd0bfb06853a6c704a2451c4f82c9dea376a30b59ecd279296648ad", + "name": "opentelemetry-exporter-otlp-proto-grpc", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "6f53ef1c172ebf87af69b9ef390aa908506d0cd14bc7811985fdd937a4058808", + "name": "opentelemetry-exporter-otlp-proto-http", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "1910f4e7ebd497e98b6d231e10275288fda2cd1885117575706c62f45e065889", + "name": "opentelemetry-exporter-prometheus", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "fab18b721e30be41448be252e1dca43b48e7f15d971e0bb552492c0ef4b07bee", + "name": "opentelemetry-proto", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "3644a79f55762a646799ff52b9d837e01c8192b7b28f735a383f55c90edb9bc2", + "name": "opentelemetry-sdk", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "add3db481f7f401f65cfbddb058fde3bb4c9dd7b61064a84f8598ad7efe0b11c", + "name": "opentelemetry-semantic-conventions", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "0dfff30e912520a226bcf7a547393484cfcd8c738439c7b48418f61c95109480", + "name": "opentelemetry-semantic-conventions-ai", + "version": "0.5.1" + }, + { + "direct_url": null, + "metadata_sha256": "210ce26bad0a245a72831b4fa029708c245d4d670a88c8d5a69b1446c24a95e4", + "name": "orjson", + "version": "3.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "35ff73511848f5f934ccc39d538014716ec4579e76d54e0e407ff51794a7939c", + "name": "outlines_core", + "version": "0.2.14" + }, + { + "direct_url": null, + "metadata_sha256": "8ee2f7138ade46b6e348a6d099612f5bd6caff13511f3b4144327f37ce50eacf", + "name": "packaging", + "version": "26.3" + }, + { + "direct_url": null, + "metadata_sha256": "a4ab87bf8083001f25ccdc46095f05b678b3569dd58edc2cf941e3e7f64d7c88", + "name": "paginate", + "version": "0.5.7" + }, + { + "direct_url": null, + "metadata_sha256": "1de96a6c28c2e5613c9c87cd4ad9484791001cf58df43cf2ba74d5c4f85f0ad2", + "name": "pandas", + "version": "3.0.6" + }, + { + "direct_url": null, + "metadata_sha256": "d05b8d05da9f78176b2eefaacdfaa5e96708ec4f488daea8bbc52e3ed1bc3954", + "name": "partial-json-parser", + "version": "0.2.1.1.post7" + }, + { + "direct_url": null, + "metadata_sha256": "c1d126edceac2685e29403a8ae3a27c47143dce1f0252fa3931771562f1e2b4f", + "name": "pathspec", + "version": "1.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "30325dc8ce17bc64f9dbc0a449232fd35841a019df22a6f481007c9c5a28c1cb", + "name": "pillow", + "version": "12.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "cbc0b7b6e63b50dcb7c17cf3526a9304f285d9a31353adf3b22acc2059ab23f5", + "name": "pip", + "version": "25.0.1" + }, + { + "direct_url": "{\"dir_info\": {}, \"url\": \"file:///work\"}", + "metadata_sha256": "6ba03b5bc457a2a3d92468729501b5892a0d38ebcc36766c58859449498c5743", + "name": "pip", + "version": "26.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "0421937c4410b61c5325233d5b7671ae933bae8de174f87586ac55aa804851ea", + "name": "platformdirs", + "version": "4.12.2" + }, + { + "direct_url": null, + "metadata_sha256": "2bcffab42626e1fb50d6329765619312d30fe7f4880e98dcee99c92ebd283bb4", + "name": "pluggy", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "7e7562ba7c032f8edd02641ae71b1ac2d8f388103a68d777a7e907d19e75bc17", + "name": "pre_commit", + "version": "4.6.2" + }, + { + "direct_url": null, + "metadata_sha256": "bbe0a7662602ddd23f929fe0ee98e9d04406e138aeee18ce4861af186ea6060d", + "name": "prometheus-fastapi-instrumentator", + "version": "8.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "ece4a61f3ffb92a083fd5e47e180e3e070342e60a3bd93876a879e79a643e821", + "name": "prometheus_client", + "version": "0.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "5feba21a58eaa126e7e7739e57e2572e5bb251fcbf56e439e508acc47d769314", + "name": "propcache", + "version": "0.5.4" + }, + { + "direct_url": null, + "metadata_sha256": "3f136dbf7239c987a7685acd33440cc5efd6c4107b4b11c425201b4de70ae36f", + "name": "proto-plus", + "version": "1.29.0" + }, + { + "direct_url": null, + "metadata_sha256": "118b5ad013120a7a6e24714595ad776bf264d7b0060389133310d18ea1480902", + "name": "protobuf", + "version": "7.36.2" + }, + { + "direct_url": null, + "metadata_sha256": "0849f5a519bf9bc23ef204443fdd8d6d10678863acac7ca9340fc11bfba5a856", + "name": "protobuf-py", + "version": "0.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "eab5f2f4fd98f67a710a8fb1975b64ffa880a4f977566f022c567e08e324ccd6", + "name": "protobuf-py-ext", + "version": "0.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "39009938840de3a8b2a37eb4668d2601aae8c74e4b74743f73e59996b5b7e6e1", + "name": "psutil", + "version": "7.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "df44b58e8a4cfe57f65773ec47f7bdf2a14c8f5f73a7abf331a6b6237d6d691a", + "name": "py-cpuinfo", + "version": "9.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "2fd4a9efc5e5c74ae4c2fcf1970193c524c62ab22af8d5e66ebf7df9e6e46e83", + "name": "py-spy", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "d2ccdeb15cddedc81637a83e40baa6397fe269023b738d0fc3cb2d90722e290b", + "name": "pyarrow", + "version": "25.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "47b9f28e971a56f5adf949e0bcf105b0bf6587946566ecf197a2819d8848cc01", + "name": "pyasn1", + "version": "0.6.4" + }, + { + "direct_url": null, + "metadata_sha256": "82ce4c01c6d36841b9801fcdabab9bfe61d0b5e4e440c275941d8a2d4a790730", + "name": "pyasn1_modules", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "45cb345e4c12f63bc843b8c88902cc44c4d624a55aaef8cd5ffbc0ad16356fbe", + "name": "pybase64", + "version": "1.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "d311ae661edeac8ff029ab2960d065a7e792ebf8f79af682daa53109fe81318b", + "name": "pybind11", + "version": "3.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "cce9c0d440d065d4cdfb0d00004b8ddd65cf363a740efc5b0920b29201a59cd9", + "name": "pycountry", + "version": "26.2.16" + }, + { + "direct_url": null, + "metadata_sha256": "a1e33542883c249bf6c263b0023b9ea8a6131a77d9cb2cbc88316968e5eada83", + "name": "pycparser", + "version": "3.0" + }, + { + "direct_url": null, + "metadata_sha256": "faffcc4d7d359cb1047a9f67f7c65096b838c6db6c62852ef20fb27d55649a95", + "name": "pycryptodomex", + "version": "3.23.0" + }, + { + "direct_url": null, + "metadata_sha256": "98929f4cb80451dc3c6c8cd541a3081dccf0dee94afe7d9fa5c214a18ff236ce", + "name": "pydantic", + "version": "2.13.5" + }, + { + "direct_url": null, + "metadata_sha256": "8eccadbe707db97c397fb79073fe791b7998ef3a85f04f817f8991f7697b190b", + "name": "pydantic-extra-types", + "version": "2.11.1" + }, + { + "direct_url": null, + "metadata_sha256": "8f00c91deb34399316a5386eb2e76fe09f14a08dc3045f2e7dce9bf8573796bd", + "name": "pydantic-settings", + "version": "2.15.0" + }, + { + "direct_url": null, + "metadata_sha256": "66c729edddc20bf2764bb18bd87d907b08690e50355f39b97acc737b26d1d164", + "name": "pydantic_core", + "version": "2.46.5" + }, + { + "direct_url": null, + "metadata_sha256": "394500d78a0c1a433ae8ca3693152c08f6a901121d4b069cf1540a19759e2950", + "name": "pylatexenc", + "version": "2.11" + }, + { + "direct_url": null, + "metadata_sha256": "df2e9e9847a2aea0ae6e20fd325aeb16cf3ce7f8913462db6c2398363cd0c0bf", + "name": "pymdown-extensions", + "version": "12.1" + }, + { + "direct_url": null, + "metadata_sha256": "82fcfe724db9f0b51348da89f4f5cdc0b08d08882b1bbc0ca4913d3a0a93bcb9", + "name": "pynvvideocodec", + "version": "2.0.4" + }, + { + "direct_url": null, + "metadata_sha256": "3722422cc1478b175879143dfb78f98b7a5f53f4f684d71b7054fe2e8acd3b89", + "name": "pyqwest", + "version": "0.10.0" + }, + { + "direct_url": null, + "metadata_sha256": "7d1d1c276b7c372d55d17ac7d30f0a4b80a746e147347b8510d1355eea7f80c8", + "name": "pytest", + "version": "9.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "89e7c1c932e52b74bdcaf504389d2d1a2d7ca559b02bf5a09fc80ebd58ad10f7", + "name": "python-dateutil", + "version": "2.9.0.post0" + }, + { + "direct_url": null, + "metadata_sha256": "54f30f811841b6d772f31715712c85bfe0041839cb071f78daf41c700a98642b", + "name": "python-discovery", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "54f30f811841b6d772f31715712c85bfe0041839cb071f78daf41c700a98642b", + "name": "python-discovery", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "0cc19efd76cfbf3bcb2cb0d3ab82191036855859455aa3812c5e9e591e3f34e8", + "name": "python-dotenv", + "version": "1.2.3" + }, + { + "direct_url": null, + "metadata_sha256": "1d866c6124631b9ce1797ad412fff298ab53fc2d95210281d7c8f20e920753fa", + "name": "python-json-logger", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "2d18a1e7286d92a656ead5ec6f83d5ae6dc858634624f6b264703ae88d24d718", + "name": "python-multipart", + "version": "0.0.32" + }, + { + "direct_url": null, + "metadata_sha256": "beaa0efe9ba4b34843f5a0fc7379a73f10e95adb8cc0c31f359ab6f3a42b4def", + "name": "pyyaml_env_tag", + "version": "1.1" + }, + { + "direct_url": null, + "metadata_sha256": "238dc769e22d4f5626750cdff36e920e4a8d69c10d88de6d79b40a59cc13d873", + "name": "pyzmq", + "version": "27.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "de0a5e855bb5bb78b7acdcd2ca60619c6a0c109814881589caf158ec07155662", + "name": "quack-kernels", + "version": "0.6.5" + }, + { + "direct_url": null, + "metadata_sha256": "961ffef199b876fb4d7b10903d78e79f359d703b1638834c61d70b9879932918", + "name": "qwen-vl-utils", + "version": "0.0.14" + }, + { + "direct_url": null, + "metadata_sha256": "faf6ab9027d12de992827a2d8a224996fe6747a8c5f7d31ae495983dc73eefe9", + "name": "ray", + "version": "2.54.0" + }, + { + "direct_url": null, + "metadata_sha256": "c50d8b3ff4d113925b60dc47d1d28e87248a3338024241b0a3a66c8794fbce0c", + "name": "referencing", + "version": "0.37.0" + }, + { + "direct_url": null, + "metadata_sha256": "02acdc52d6f21d5f4b172254daaa94edfaa44c9ebe14d1c00cc4c8fe99b0e1df", + "name": "regex", + "version": "2026.9.29" + }, + { + "direct_url": null, + "metadata_sha256": "ac08207697217d1ffde8a161b424d77d6e2af6b62630fa26d75d08f11076cdca", + "name": "requests", + "version": "2.34.2" + }, + { + "direct_url": null, + "metadata_sha256": "f1abd635c3dff607a4fd654c62a88d9d4c21843cfc9176116c156f4269ca21b5", + "name": "rich", + "version": "15.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "932ff7743a756d0efcc45528d64c275ac3cb40a8dd1787ea10cb303907f0ae4f", + "name": "rich-toolkit", + "version": "0.20.5" + }, + { + "direct_url": null, + "metadata_sha256": "294a1405c0fa34b5f735bcb46459050436849a1e584c643544de99c07c529fb7", + "name": "rignore", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "5e54dd00b4ad336c5161d47de2a5c2212090c44629c28b6538b156256e49282d", + "name": "rpds-py", + "version": "2026.6.3" + }, + { + "direct_url": null, + "metadata_sha256": "0d5895abd80bfc0027c02943abaea4547061b9004bd134950d640d619a697835", + "name": "safetensors", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "91d5de3f641f33a8fbb4b6e91772da68d50b68686971d7b66af2068f2e77b694", + "name": "scipy", + "version": "1.17.1" + }, + { + "direct_url": null, + "metadata_sha256": "297fb30f701a800489c12893a951da3e5bd1f80061a1f43f0d3e9f1d4c6bc6fd", + "name": "sentencepiece", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "4245e0388ddf2048a38ae2a24a3d2c583408b2454aadc680d3c3beede639db3f", + "name": "sentry-sdk", + "version": "2.71.0" + }, + { + "direct_url": null, + "metadata_sha256": "ae8a9e6feec1a76e954d65ea48ac57842c9a7bfb5ac6e5ea82400a5ba9f71a98", + "name": "setproctitle", + "version": "1.3.7" + }, + { + "direct_url": null, + "metadata_sha256": "341d00772017437d0f6e3c943ae353f243c39fedfba403aea47cced927a76516", + "name": "setuptools", + "version": "79.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "ff4bcfb192bd542ed8f1794fb32ffc9eabd932d6e03cb00a4ad5e35a2469af88", + "name": "setuptools", + "version": "80.10.2" + }, + { + "direct_url": null, + "metadata_sha256": "f1e5a532fb8cda0bbc370e3db6cb9cea72a065d12ddd6a14976ba3cf66264221", + "name": "shellingham", + "version": "1.5.4" + }, + { + "direct_url": null, + "metadata_sha256": "2aba2cfd9c2ad7625a5d374d141af317d8f92d3534997bf98d127e52848dfc81", + "name": "six", + "version": "1.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "69ae2dfe547624be97fae348e1cfa3793f8854eed32cc1603badedc7d48fb36e", + "name": "smart_open", + "version": "8.0.2" + }, + { + "direct_url": null, + "metadata_sha256": "d415e6c6de7dee117d254a342668c489931bc88eac7ec8678b452078e366da6e", + "name": "smmap", + "version": "5.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "093bc4f0740a6fc28692e616aa8fe68d7e1d76426cc5a5faf9ea722a8ee7aaae", + "name": "sniffio", + "version": "1.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "b3cef071eb1dbeaa76a1273fe2ca2cc8ef36e835165253952d93780962529ac1", + "name": "sse-starlette", + "version": "3.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "3c01ca830e213f0311fe37bc3b46b8ab230a5e7acb894bf0fc8785cb7ccfed48", + "name": "starlette", + "version": "1.7.0" + }, + { + "direct_url": null, + "metadata_sha256": "6017ca508a293cf47a88a78cb330e9cbd131d74ec3c7fbf89bd4300ed3129d30", + "name": "supervisor", + "version": "4.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "fd5eb4925b04f9bffbc6c4f92bf8aea7243b918b43cd359493fce48a7dd3b336", + "name": "sympy", + "version": "1.14.0" + }, + { + "direct_url": null, + "metadata_sha256": "f09f0e24282c5a86346bcd5b10ae5ff81869fa8ef69c3ba524bd0a817a87dda9", + "name": "tabulate", + "version": "0.10.0" + }, + { + "direct_url": null, + "metadata_sha256": "519fa19c146fd58a0a75ecf1461e4bd98f9c06d01800c37d4a80f5fef095f4e1", + "name": "tensorboard", + "version": "2.21.0" + }, + { + "direct_url": null, + "metadata_sha256": "1af7ad76e4073b01ab147eb3c1d8e38b95d38062c6c9bc63890150738642e8eb", + "name": "tensorboard-data-server", + "version": "0.7.2" + }, + { + "direct_url": null, + "metadata_sha256": "9e597f62fc07e3b931d5c8fb0e90706fb6d45465cfb5d01dbd27ba7fc135c02c", + "name": "tensorstore", + "version": "0.1.80" + }, + { + "direct_url": null, + "metadata_sha256": "0da993d16ef6326f471796fcb065622f309c5c1aae6c6295b488ea64bb5c880c", + "name": "textual", + "version": "8.2.8" + }, + { + "direct_url": null, + "metadata_sha256": "52ca6148d4fd1497254855fa610cfdde99191cd42bce7a452fd3a68855504ac0", + "name": "tiktoken", + "version": "0.14.0" + }, + { + "direct_url": null, + "metadata_sha256": "0df9eb495cfb477dcbdfbdcd8c04d952d3eb00d77831630760571e13545398e5", + "name": "tilelang", + "version": "0.1.12" + }, + { + "direct_url": null, + "metadata_sha256": "802b576e011dc61bd2681593e8d802714b6c4ce636a9cf87035026db32ce6262", + "name": "tokenizers", + "version": "0.23.2" + }, + { + "direct_url": null, + "metadata_sha256": "4e1631b2164a49ff9a848d86ce504fdcc15e3540dbb262df8f33a2681a8de513", + "name": "tokenspeed-mla", + "version": "0.1.8" + }, + { + "direct_url": null, + "metadata_sha256": "05086095a775c5dca70998dcf442a848c13f9c68b54a54c510c3542c5abb6563", + "name": "tokenspeed-triton", + "version": "3.8.10.post20260920" + }, + { + "direct_url": null, + "metadata_sha256": "71daba472d0c5ffc25c0231dc29688ab0cb13d5bc7e7d93f6c4cce4169c50048", + "name": "torch", + "version": "2.13.0" + }, + { + "direct_url": null, + "metadata_sha256": "cccd2f1c0e5866e63732f58798c8d642ee6d10cd560d6f691e7981b908c246c9", + "name": "torch_c_dlpack_ext", + "version": "0.1.5" + }, + { + "direct_url": "{\"dir_info\": {}, \"url\": \"file:///torch_memory_saver\"}", + "metadata_sha256": "6276cef17dedbb5ee0d6157bbf63b832e916026281328d995ad3d488c2539618", + "name": "torch_memory_saver", + "version": "0.0.9.post1+slime" + }, + { + "direct_url": null, + "metadata_sha256": "29809ca2c86dda5079654f1f70564a64435e9d08f1964a2412b6f514e1b5ff64", + "name": "torchaudio", + "version": "2.11.0" + }, + { + "direct_url": null, + "metadata_sha256": "7e9be0f3a290e3fd9370d8fe010c7ffd006d5d3d05ab8bdf7df8f92f0fca9c39", + "name": "torchcodec", + "version": "0.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "181fa5e6b399c378711eddcdacd756d3c51317916f8eb160ee36cae7fae9589f", + "name": "torchvision", + "version": "0.28.0" + }, + { + "direct_url": null, + "metadata_sha256": "43d1261aff90cf3d5b1b40cf1f94234d61409b14e59f3766f457c1eec7f7ac15", + "name": "tqdm", + "version": "4.70.1" + }, + { + "direct_url": "{\"archive_info\": {\"hash\": \"sha256=3e1d9f534781c8e608240da0b495b8246317a36382f7609017cbaa7fb1d53f7b\", \"hashes\": {\"sha256\": \"3e1d9f534781c8e608240da0b495b8246317a36382f7609017cbaa7fb1d53f7b\"}}, \"url\": \"file:///wheels/transformer_engine-2.16.1%2Bc9877beb-cp312-cp312-linux_x86_64.whl\"}", + "metadata_sha256": "d882f743161d9d9f35dee4e1a8cc9136fa495f7c660caace01ab8f5602d76aa7", + "name": "transformer_engine", + "version": "2.16.1+c9877beb" + }, + { + "direct_url": null, + "metadata_sha256": "465797a59706d83b45c93fde750b228c3b6e1addc44115de2c4c02ad66d9c5ea", + "name": "transformers", + "version": "5.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "a91982ca086667c592a951973434f7c5a9f27a8300bc97af78dfb496afe53e71", + "name": "triton", + "version": "3.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "d26fbb244532c4051e715f9047cd943e2cc4abb0ac6f2a517fa2986eb1ea726a", + "name": "truststore", + "version": "0.10.4" + }, + { + "direct_url": null, + "metadata_sha256": "c84af1a069084b1b440b3594068dec29200d52d4c1a9b652030448717f270158", + "name": "typer", + "version": "0.27.2" + }, + { + "direct_url": null, + "metadata_sha256": "0ad6653b7439f4bb6a596cb7b01ed1b716458467525c4dc40b75d62bdb943c98", + "name": "typing-inspection", + "version": "0.4.4" + }, + { + "direct_url": null, + "metadata_sha256": "d005280aa13b334ac942d20219102865e559f69ffd06c35c248b2f0d0da3b933", + "name": "typing_extensions", + "version": "4.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "fba2930e9030a18965d243f8d330748db2e67572a81b3b68710462fb5110332a", + "name": "urllib3", + "version": "2.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "bc5717bd6524a33838f285261868bcc8e311e8c29fdb19e41d56c38b04890e84", + "name": "uvicorn", + "version": "0.54.0" + }, + { + "direct_url": null, + "metadata_sha256": "741c006d8441f562aa853a5430df236fbb4af923445491f396bf09943bd30258", + "name": "uvloop", + "version": "0.22.1" + }, + { + "direct_url": "{\"dir_info\": {\"editable\": true}, \"url\": \"file:///vime\"}", + "metadata_sha256": "f85aa01dfdc868756a6583434bbff040f29eb511d47d5b25ada063a84353aac6", + "name": "vime", + "version": "0.3.2" + }, + { + "direct_url": null, + "metadata_sha256": "c25431aaf1950971fe96292f395a41a55b403127bfca0d0b8f7dc9cff5dab75d", + "name": "virtualenv", + "version": "21.14.1" + }, + { + "direct_url": null, + "metadata_sha256": "4e3ee0a31d85e56268640aae853bcee4794dfe8c0483c5c6370517e480c81ae0", + "name": "virtualenv", + "version": "21.14.5" + }, + { + "direct_url": null, + "metadata_sha256": "d4ed5c7551cddb8c1aeff2f9f27b3491f6ad2c9afda8e7bb9779c33fa12a536c", + "name": "vllm", + "version": "0.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "84b482e09bac949e992594757214a1920c667a5d898ee320e309250697f6d26e", + "name": "vllm-router", + "version": "0.1.15" + }, + { + "direct_url": null, + "metadata_sha256": "9b16c871eb1060a5218e9b9a9ad33288d94844cfaf43f08dbb6c32423bde8fe3", + "name": "wandb", + "version": "0.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "8e4f2be437dfe4eb3c6c959e517ac20b75d06525563f1ebcbf06f9ec648bd7c1", + "name": "watchdog", + "version": "6.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "15218afb42938907c2ca74c54e3d8e3a5406493c4761e29e38e82bfec0f84296", + "name": "watchfiles", + "version": "1.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "8863af96e88b7db9990da99aa6c46816eacc3d2f9ae1297b53381b033cd70119", + "name": "wcmatch", + "version": "11.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "f46e6bd6cfafb2b684c29587b017b7096fd9155b74eda25a22eca784b9803ab7", + "name": "websockets", + "version": "16.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "ce82db5ccfefa4bfbe4e25a36e1f91e8e7d51fcaeb31586c4d48e1c69f99168b", + "name": "websockets", + "version": "17.1" + }, + { + "direct_url": null, + "metadata_sha256": "0f142a2c09eac643c7d0bfe77f3f121184c0b17914afbd32af669ed19b2b02ef", + "name": "wheel", + "version": "0.47.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd58938e51a3c5cb363f6f22eaa2a8a7accc1ce373388de167a82f77d3e5783f", + "name": "wrapt", + "version": "2.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "b0b72c1941f04499ca7e1a3a6e479aee8df902c3d49979624b59dba8c3228d37", + "name": "xgrammar", + "version": "0.2.8" + }, + { + "direct_url": null, + "metadata_sha256": "ef8861f39e5c36255966a36032651f937d890d55f31f1c26304b488f1ba34332", + "name": "xxhash", + "version": "4.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "740c08057b6eb69c58402c87d652af0a471e46325d811f2c605632a18817152f", + "name": "yarl", + "version": "1.25.1" + }, + { + "direct_url": null, + "metadata_sha256": "7b060e4d24394b5431875e2f74fec8e6bffa79d2e6b4cb8c7e2a5187dd2d8d69", + "name": "z3-solver", + "version": "4.15.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "3d76d4fbc95f0851191147db12300938c67a6f8fb1df884886d9601272ccc4e8", + "name": "zipp", + "version": "4.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "d3de2651e4e908dbb7c9d80508e5179590217dfac4993dc8b04381c5b9718c4c", + "name": "zstandard", + "version": "0.25.0" + } + ], + "executable": "", + "installed_provider_sources": { + "vllm/compilation/__init__.py": { + "path": "/vllm/compilation/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/backends.py": { + "path": "/vllm/compilation/backends.py", + "sha256": "fa4bff8920b363efbbde9456f135fa9d2c004a5bde1898877f177418b2d8b008" + }, + "vllm/compilation/base_static_graph.py": { + "path": "/vllm/compilation/base_static_graph.py", + "sha256": "5cfe8e06db84aa42cd41cdd93ebe93af00b3a242c8011042057530e2922b523a" + }, + "vllm/compilation/breakable_cudagraph.py": { + "path": "/vllm/compilation/breakable_cudagraph.py", + "sha256": "3cc427612a08e2b9b3fee47548026400c1d0776e2d4747535e59ef5512bdf1e8" + }, + "vllm/compilation/caching.py": { + "path": "/vllm/compilation/caching.py", + "sha256": "71d212452dde742fbf28b8a01ed29d3c08a7457ff7f8da2a20ce9d17e902c2cf" + }, + "vllm/compilation/codegen.py": { + "path": "/vllm/compilation/codegen.py", + "sha256": "e04833bec88cf9d1a13aa7341e30e3233d1138bfe23424e0fd34d664b3fedb9f" + }, + "vllm/compilation/compiler_interface.py": { + "path": "/vllm/compilation/compiler_interface.py", + "sha256": "8d84e2864bf83f754bae9e9f77119e0287cca9f97f5fa5ec2535e07b5ad88944" + }, + "vllm/compilation/counter.py": { + "path": "/vllm/compilation/counter.py", + "sha256": "d8158c54dd36a357bf24f6f84dc22f572d3a27f4875f3d5779b12bc5d454ff76" + }, + "vllm/compilation/cuda_graph.py": { + "path": "/vllm/compilation/cuda_graph.py", + "sha256": "05c86392d7fae967ac73076dba7e01990a0e3ae619e4866450a0c1be56bd1192" + }, + "vllm/compilation/decorators.py": { + "path": "/vllm/compilation/decorators.py", + "sha256": "cab6962e8a1fead59c75f5ed8cb4732f9e5441ff972030c2f4b1c4ba0c58de3c" + }, + "vllm/compilation/monitor.py": { + "path": "/vllm/compilation/monitor.py", + "sha256": "43b24c5cb1bc4d32dc979f3222596905c7b3acc58415328a234402e6edc76abf" + }, + "vllm/compilation/partition_rules.py": { + "path": "/vllm/compilation/partition_rules.py", + "sha256": "857d2fb06dc871ea1d3717cd01fbd4e5205984100d98b7b72a2933d6ff1cfa4d" + }, + "vllm/compilation/passes/__init__.py": { + "path": "/vllm/compilation/passes/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/fusion/__init__.py": { + "path": "/vllm/compilation/passes/fusion/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/fusion/act_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/act_quant_fusion.py", + "sha256": "1fa9c3ca4fb424685b7053c3dda89dda16c98dc5645d85f0f28dca58429792b3" + }, + "vllm/compilation/passes/fusion/add_rms_fusion.py": { + "path": "/vllm/compilation/passes/fusion/add_rms_fusion.py", + "sha256": "e46998552628aa5cd5962fc39ea39ae824fd97e6aeba1d176e9cc7cade39837b" + }, + "vllm/compilation/passes/fusion/allreduce_rms_fusion.py": { + "path": "/vllm/compilation/passes/fusion/allreduce_rms_fusion.py", + "sha256": "0af193505880cec0f6ffa224c688bce3c9ddc318dccdf04a696b4e4b4506a963" + }, + "vllm/compilation/passes/fusion/attn_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/attn_quant_fusion.py", + "sha256": "ecc64e82be4481954c9cac6c23d7794846ab19486b570f2dda07ab5ad67c5a49" + }, + "vllm/compilation/passes/fusion/collective_fusion.py": { + "path": "/vllm/compilation/passes/fusion/collective_fusion.py", + "sha256": "1e2c8539d6960b45907fb3bf0482441ea7250e97c56ffdea1500514efa0b164d" + }, + "vllm/compilation/passes/fusion/matcher_utils.py": { + "path": "/vllm/compilation/passes/fusion/matcher_utils.py", + "sha256": "50ac5714ce1bb113520de769ea6234316acc470a8cdf2537a996ce9a9d54337d" + }, + "vllm/compilation/passes/fusion/mla_attn_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/mla_attn_quant_fusion.py", + "sha256": "a966fe7f58bf9228379f793f5fd851735a97f9639722766b2a20cb79a9e4baec" + }, + "vllm/compilation/passes/fusion/mla_rope_kvcache_cat_fusion.py": { + "path": "/vllm/compilation/passes/fusion/mla_rope_kvcache_cat_fusion.py", + "sha256": "1602cc28055ffa8d1123ddb1d256bf0bd12006fd06ea7e16a986c55746dbe0dc" + }, + "vllm/compilation/passes/fusion/qk_norm_rope_fusion.py": { + "path": "/vllm/compilation/passes/fusion/qk_norm_rope_fusion.py", + "sha256": "aebc7d1a5189b65ac665afcc169e7baebd53efe719c48e35e7c5babe85af0d39" + }, + "vllm/compilation/passes/fusion/qk_norm_rope_kvcache_fusion.py": { + "path": "/vllm/compilation/passes/fusion/qk_norm_rope_kvcache_fusion.py", + "sha256": "f0cfd0d83ec4acb09f9bf91d199b114e9d4995e3059c13eb23a6978ce7c07eb2" + }, + "vllm/compilation/passes/fusion/rms_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rms_quant_fusion.py", + "sha256": "4852aa44e0e2087043fdac271bda9b8d9bfe3201bb84ce3919b8ed454d8083c4" + }, + "vllm/compilation/passes/fusion/rocm_aiter_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rocm_aiter_fusion.py", + "sha256": "372e76c68c75209a085deec6dd22b3816be633613ca82f6f2925c1b3773d61a0" + }, + "vllm/compilation/passes/fusion/rope_kvcache_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rope_kvcache_fusion.py", + "sha256": "3a756e9049593537143b5a56ab9185a6bc83f57ed81d84226d7791a46a984b53" + }, + "vllm/compilation/passes/fusion/sequence_parallelism.py": { + "path": "/vllm/compilation/passes/fusion/sequence_parallelism.py", + "sha256": "3af7e420dcb35fff0bae0f8f599d0f1bda34445ebe194059892a434b2976d654" + }, + "vllm/compilation/passes/fx_utils.py": { + "path": "/vllm/compilation/passes/fx_utils.py", + "sha256": "730708213acf9d1b5f3176b433dfc197a5f3c81b5ce443f0923c526924833003" + }, + "vllm/compilation/passes/inductor_pass.py": { + "path": "/vllm/compilation/passes/inductor_pass.py", + "sha256": "1f380aacf7adabb8bf8b7d41c0a93473947f0716f7445bd910fd448f6c08e672" + }, + "vllm/compilation/passes/ir/__init__.py": { + "path": "/vllm/compilation/passes/ir/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/ir/clone_elimination.py": { + "path": "/vllm/compilation/passes/ir/clone_elimination.py", + "sha256": "5297078f5cddce081faba5215814275381d2083b32318fcfeb2bf9d69fedb7c7" + }, + "vllm/compilation/passes/ir/inplace_functionalization.py": { + "path": "/vllm/compilation/passes/ir/inplace_functionalization.py", + "sha256": "2dc4f22c6f05224828c2941479185b1452d4490f488b7f0bfd124334e7809fed" + }, + "vllm/compilation/passes/ir/lowering_pass.py": { + "path": "/vllm/compilation/passes/ir/lowering_pass.py", + "sha256": "d9c3d90f63138420f0e5489447b5996573fcfbbab939da2efccd00848492b172" + }, + "vllm/compilation/passes/ir/utils.py": { + "path": "/vllm/compilation/passes/ir/utils.py", + "sha256": "f59d33a6c7d0616cbeec1e9fb1d6c948881bf81fe124caeb906eac2e2197ea21" + }, + "vllm/compilation/passes/pass_manager.py": { + "path": "/vllm/compilation/passes/pass_manager.py", + "sha256": "486979a058aa2e20ebedcbb6e039f7a59f38d2efd2cda11219fae4067be0968d" + }, + "vllm/compilation/passes/utility/__init__.py": { + "path": "/vllm/compilation/passes/utility/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/utility/fix_functionalization.py": { + "path": "/vllm/compilation/passes/utility/fix_functionalization.py", + "sha256": "ad5b504a05ccee023869b0c8df70ec2fff9a4a80d25fd903e2b532f470e7203f" + }, + "vllm/compilation/passes/utility/noop_elimination.py": { + "path": "/vllm/compilation/passes/utility/noop_elimination.py", + "sha256": "8abf85d28c13f95059f2acbc0275b9b9ed2ad4990f7c5763bbe3067a4aa629ce" + }, + "vllm/compilation/passes/utility/post_cleanup.py": { + "path": "/vllm/compilation/passes/utility/post_cleanup.py", + "sha256": "1c38b14fc209165cbcf8ca763a17ac4e528b97f59b573e5d52df2cce7d758de3" + }, + "vllm/compilation/passes/utility/scatter_split_replace.py": { + "path": "/vllm/compilation/passes/utility/scatter_split_replace.py", + "sha256": "138402cc3097768a32e9e5b8d1a054b6176e494bddc8684e23ca2dc5fdc3fdda" + }, + "vllm/compilation/passes/utility/split_coalescing.py": { + "path": "/vllm/compilation/passes/utility/split_coalescing.py", + "sha256": "0b02acd9e1ad43d7b3e128b914e969b9580773f2818078846dfbf163a8bd0871" + }, + "vllm/compilation/passes/vllm_inductor_pass.py": { + "path": "/vllm/compilation/passes/vllm_inductor_pass.py", + "sha256": "4f83ffb67f834a214221d810c7843a8e41eb4e5930eb40adbd8cf054ff6fb9c6" + }, + "vllm/compilation/piecewise_backend.py": { + "path": "/vllm/compilation/piecewise_backend.py", + "sha256": "6525318ff3ca2e4978e24dd9232a7ae0a02e920e19604b83db6f6043d1f8a54d" + }, + "vllm/compilation/wrapper.py": { + "path": "/vllm/compilation/wrapper.py", + "sha256": "c1b1fca679ea16aa07a696831a810c0d531da2bb0ea32dd6f1a95cdaef36de07" + }, + "vllm/config/__init__.py": { + "path": "/vllm/config/__init__.py", + "sha256": "56fb0cb1598d297e4f95a97e5d86dc624145d1532f5faa432b7d2834d7155bd5" + }, + "vllm/config/attention.py": { + "path": "/vllm/config/attention.py", + "sha256": "c41f345b512d9b7df882328257eb3a6381f41088c11ae83b5ecd8a9e8265d1bc" + }, + "vllm/config/cache.py": { + "path": "/vllm/config/cache.py", + "sha256": "f1c226ba679c884930dbfcaf41a57248b137a9a20d3ed8e3d3b31752bb484c07" + }, + "vllm/config/compilation.py": { + "path": "/vllm/config/compilation.py", + "sha256": "c9cec5c7200e8e559810ec8c30113ad61dab6780f9f7fb3c116bd0d9b5a43065" + }, + "vllm/config/device.py": { + "path": "/vllm/config/device.py", + "sha256": "7b82eee02ceb5842337451a27a3d5729920c47e25e8f6bf3997f5146f9330a9c" + }, + "vllm/config/diffusion.py": { + "path": "/vllm/config/diffusion.py", + "sha256": "1fa9fd2478a866098a28a3586b55af2f9738656b7813a55d76539c10dd99fe8d" + }, + "vllm/config/ec_manager_config.py": { + "path": "/vllm/config/ec_manager_config.py", + "sha256": "418b387dbe7bdf67deddce331c205768a2d42aea37141f59fb02a8a1528e3552" + }, + "vllm/config/ec_transfer.py": { + "path": "/vllm/config/ec_transfer.py", + "sha256": "0eabb2c25194676d23c6acf59562672a1dd24415043ac5737d621ce0d681ec70" + }, + "vllm/config/engram.py": { + "path": "/vllm/config/engram.py", + "sha256": "34043a22385a041d4e9be8857f64174c990c2ca8308b97b6a952b5ab96c20ee5" + }, + "vllm/config/fault_tolerance.py": { + "path": "/vllm/config/fault_tolerance.py", + "sha256": "b166b24373d599fb15ddc575e3061cf0dcb42174d0369d8468008e7ffbb2a4e2" + }, + "vllm/config/kernel.py": { + "path": "/vllm/config/kernel.py", + "sha256": "27e23c584cf862f4091858db6dc85bbc2a01f4baf9dca3f232ae6f3bac02390e" + }, + "vllm/config/kv_events.py": { + "path": "/vllm/config/kv_events.py", + "sha256": "b1dbaee3e6830e381e9157fe3bab0d65c357da88ff7cdf8b1e4b3a4e75c82a87" + }, + "vllm/config/kv_transfer.py": { + "path": "/vllm/config/kv_transfer.py", + "sha256": "506fae7a9d7f32cb3646156cf9249a856f6317dff6c4c85db70efd34418c429b" + }, + "vllm/config/load.py": { + "path": "/vllm/config/load.py", + "sha256": "bd6431c22e078362d749a56a2c84145432ebf2605d8bcfa2ac679182d18ed630" + }, + "vllm/config/lora.py": { + "path": "/vllm/config/lora.py", + "sha256": "ed6cf6575f5950f079a62f904caeae93d1a4745dd8c21788b74367883bcd4b08" + }, + "vllm/config/mamba.py": { + "path": "/vllm/config/mamba.py", + "sha256": "2090f791201ca45dd4f1d72b8651268890eb07574b6084721194eb8fdf612c48" + }, + "vllm/config/model.py": { + "path": "/vllm/config/model.py", + "sha256": "f4168b67cc93ce72ff2a6d4c66974223e32fd0f1fab4c05e44bd68a275e18d69" + }, + "vllm/config/model_arch.py": { + "path": "/vllm/config/model_arch.py", + "sha256": "2babe28329d7b60b4e205f6d72c687f0f66e6535aa2f20411469e5ec362f6b5f" + }, + "vllm/config/multimodal.py": { + "path": "/vllm/config/multimodal.py", + "sha256": "271911aee151f17f092228cecee82af0713e9a47340ffdf66834ca7638a50d22" + }, + "vllm/config/observability.py": { + "path": "/vllm/config/observability.py", + "sha256": "d57c59ec776477ab0a20e9f2b945bc954d8ea3737c869259480e9aa10dfb9f6d" + }, + "vllm/config/offload.py": { + "path": "/vllm/config/offload.py", + "sha256": "6f2db3d9a2730588473d5155811690c6241b167a21dcb62fbbd9ebb6386de42c" + }, + "vllm/config/parallel.py": { + "path": "/vllm/config/parallel.py", + "sha256": "f012ace89e3fb730a467f729f602679bc145c49f0d10721811c9d818570e7b2b" + }, + "vllm/config/pooler.py": { + "path": "/vllm/config/pooler.py", + "sha256": "9f01913dcb7bccbf9b672b16643f18471ae202455992e8afaf0725a17f2b3d08" + }, + "vllm/config/profiler.py": { + "path": "/vllm/config/profiler.py", + "sha256": "04d24fa1dc7cfedca6b5c7d9115f7f7021722fc46a5b15234a1e3b3a506c93e5" + }, + "vllm/config/quantization.py": { + "path": "/vllm/config/quantization.py", + "sha256": "acffc52f525b39a88efd656f1ed705ce3a1b758298bb0684fac7694776bc10b4" + }, + "vllm/config/reasoning.py": { + "path": "/vllm/config/reasoning.py", + "sha256": "2c4f7bdee48a9fb3d93787c4c32361c2411417cce452cfde86808d8759977861" + }, + "vllm/config/scheduler.py": { + "path": "/vllm/config/scheduler.py", + "sha256": "822179da62be4bca0619c8590082ae09123f5c4415f9cc2037be673748239edb" + }, + "vllm/config/speculative.py": { + "path": "/vllm/config/speculative.py", + "sha256": "9c642a87264339c0dbc1d0b57330572149df0f9d5e16c6893b9895e50a619e19" + }, + "vllm/config/speech_to_text.py": { + "path": "/vllm/config/speech_to_text.py", + "sha256": "bf4a566fbde6a1cec1e209070b739650c3302c12696739c88049cb8f723a4c3f" + }, + "vllm/config/structured_outputs.py": { + "path": "/vllm/config/structured_outputs.py", + "sha256": "55649776594349b8b4aa3e08fc4c88068366732a486d6fb235079188044aa829" + }, + "vllm/config/utils.py": { + "path": "/vllm/config/utils.py", + "sha256": "d035e9e488ba92b6c47a96cf05d9b2a850d53eda8a05115b22ff9af8dbc2fc64" + }, + "vllm/config/vllm.py": { + "path": "/vllm/config/vllm.py", + "sha256": "956b812e5a719bcbfa3a3958801361b38b9c928c96b8c073311bbb96376dfb7a" + }, + "vllm/config/watermarking.py": { + "path": "/vllm/config/watermarking.py", + "sha256": "30e6620a3cd7529f0736ad55e38bc326a6a78dee4552f0722208400041c94a1f" + }, + "vllm/config/weight_transfer.py": { + "path": "/vllm/config/weight_transfer.py", + "sha256": "92edd9e5ea90c97a8f3c5f20abf1734a105ee1f3f89e306e7ba87e758f1f767e" + }, + "vllm/distributed/__init__.py": { + "path": "/vllm/distributed/__init__.py", + "sha256": "97f28c30b32662af8cab163939e4ee423037f11630752e13b55cbc25a7d0ab71" + }, + "vllm/distributed/communication_op.py": { + "path": "/vllm/distributed/communication_op.py", + "sha256": "3c3f8ac60db38ece891d39dc1e2f6f1947ad438685893d2e5777d072320bd1b8" + }, + "vllm/distributed/device_communicators/__init__.py": { + "path": "/vllm/distributed/device_communicators/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/device_communicators/aiter_custom_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/aiter_custom_all_reduce.py", + "sha256": "f8eb027ce7a85d94af6260960ceb7f36fc6f1406c9af9c9b6285fddb3f178009" + }, + "vllm/distributed/device_communicators/all2all.py": { + "path": "/vllm/distributed/device_communicators/all2all.py", + "sha256": "1f1b69236acd3cd7bd94520fd6d591bfd31b57c4bc7c9f9f4161ea8bbd0c5f26" + }, + "vllm/distributed/device_communicators/all_reduce_utils.py": { + "path": "/vllm/distributed/device_communicators/all_reduce_utils.py", + "sha256": "ed0ab4dd05b2519a6313892e68824c97b540034664d7f8c3d031b322e33e1bfc" + }, + "vllm/distributed/device_communicators/base_device_communicator.py": { + "path": "/vllm/distributed/device_communicators/base_device_communicator.py", + "sha256": "4a7670f12ed7c7621b25d476e2687c24ca01f3be183fff4a6a25337596fe506b" + }, + "vllm/distributed/device_communicators/cpu_communicator.py": { + "path": "/vllm/distributed/device_communicators/cpu_communicator.py", + "sha256": "e1856c8e91cfbbb4d9ce990c1236e258ba4021e226afcbab645653380b38d64b" + }, + "vllm/distributed/device_communicators/cuda_communicator.py": { + "path": "/vllm/distributed/device_communicators/cuda_communicator.py", + "sha256": "102d95c67ec798cf352b817ba92e8abc9da37f30d1bbdf3aab45d3927b627b93" + }, + "vllm/distributed/device_communicators/cuda_wrapper.py": { + "path": "/vllm/distributed/device_communicators/cuda_wrapper.py", + "sha256": "333b6d9ed173e7a18c7f2b6627a3c9c9ed88892ce52015f05e29d6d245e48ee3" + }, + "vllm/distributed/device_communicators/custom_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/custom_all_reduce.py", + "sha256": "a048c1327c23580805600c0c951831bec333b1ffc4eb26a0e3d34119c4f0c445" + }, + "vllm/distributed/device_communicators/flashinfer_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/flashinfer_all_reduce.py", + "sha256": "b4359760e9b55963676109a5c3a015fb82e190d4df1d021de9ee01e7814cbdda" + }, + "vllm/distributed/device_communicators/flashinfer_pcie_ipc_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/flashinfer_pcie_ipc_all_reduce.py", + "sha256": "8b67b0fc356a565095f56b475cc89c513e3a5eff051ab1c52e5beb0c1a79e9f2" + }, + "vllm/distributed/device_communicators/mnnvl_compat.py": { + "path": "/vllm/distributed/device_communicators/mnnvl_compat.py", + "sha256": "72ee1e6f9571b4c8ecbd9f60cd469d1b565cb79cab519a688a93f290906a2615" + }, + "vllm/distributed/device_communicators/pynccl.py": { + "path": "/vllm/distributed/device_communicators/pynccl.py", + "sha256": "882fb83c5a3c565a3f8fd664b79f5ceae566dca180019ecafd74bc8c11d9f8cf" + }, + "vllm/distributed/device_communicators/pynccl_allocator.py": { + "path": "/vllm/distributed/device_communicators/pynccl_allocator.py", + "sha256": "390e2576cbf4ae06341ca4dab24fc7e4d4f7c24dd444329ed05d828a9ce91460" + }, + "vllm/distributed/device_communicators/pynccl_wrapper.py": { + "path": "/vllm/distributed/device_communicators/pynccl_wrapper.py", + "sha256": "ce63c8da57bb88d4cf89956bd70bb63f0f44bfad468ddb37b765611551f6d99f" + }, + "vllm/distributed/device_communicators/quick_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/quick_all_reduce.py", + "sha256": "8aacb23e7c297b0ae2f80d99c5affd2e7517115d7874be51069d14a44db7b5f2" + }, + "vllm/distributed/device_communicators/ray_communicator.py": { + "path": "/vllm/distributed/device_communicators/ray_communicator.py", + "sha256": "332c37f65495b60564d61db59bc2d30ca0236adc33442d01464790bde9aec897" + }, + "vllm/distributed/device_communicators/shm_broadcast.py": { + "path": "/vllm/distributed/device_communicators/shm_broadcast.py", + "sha256": "f3e7a3f3ff713fccbd535e0d41650ee05bdf8677e83d4b90519910645022c30b" + }, + "vllm/distributed/device_communicators/shm_object_storage.py": { + "path": "/vllm/distributed/device_communicators/shm_object_storage.py", + "sha256": "e097bf7ac0141fe8db4131e8fd553ca2ad5b0600b22a56f3924af6b795e7207c" + }, + "vllm/distributed/device_communicators/symm_mem.py": { + "path": "/vllm/distributed/device_communicators/symm_mem.py", + "sha256": "b06e3ddb9ae880a30ec4a103ce32eb9794223bb0293832e89572af28adaaa544" + }, + "vllm/distributed/device_communicators/xpu_communicator.py": { + "path": "/vllm/distributed/device_communicators/xpu_communicator.py", + "sha256": "527cbfb250760abc62096ee7cd612307b821f21b72dee1687ad866620ec89b6d" + }, + "vllm/distributed/ec_transfer/__init__.py": { + "path": "/vllm/distributed/ec_transfer/__init__.py", + "sha256": "061405bb51df7409c9938b62e25caa8bd6ebf85da6d1700dbd4affe2a0825135" + }, + "vllm/distributed/ec_transfer/ec_connector/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/base.py", + "sha256": "22d4913375bb622473fbe1a77f9376b804949cd8a7e31e9518208f9561d161e2" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/common.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/common.py", + "sha256": "e2267abd8d00a6d2605e1a82ea5c73396a71b427452eab469fcca0134c334e7c" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/connector.py", + "sha256": "72cd35d9fd754a2992dd090a8af13c91e0789b4038ac29276750d823120235db" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/base.py", + "sha256": "19e8df88b0fa831997896355ecdd49e0d86cb074cd7ae28aed0b328b0bb3ab2e" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/zmq.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/zmq.py", + "sha256": "435641c0e37551ab4937855abd067be26905b91215e759cbd9d28a419a34ff9a" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/base.py", + "sha256": "3be698aeb67d32ee3741e76b2fb71806941c587578583acf8fbc42fbf22b46a5" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/nixl.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/nixl.py", + "sha256": "03af8f6549a6027b7262a482907af591e45f28b9b1c5a3408bbc6600e38797e5" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/ec_shared_region.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/ec_shared_region.py", + "sha256": "e40607952c9920024455eca2f419e8c3ef1de9a4d8b27c147a33bb941b8c08b1" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/protocol.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/protocol.py", + "sha256": "05878336884396bfbef77b96b0fa6359f6fa0aba912961f14a84f5a436f27038" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/__init__.py", + "sha256": "01c42385bf3a55cff09cc05ba956f6dd4b8b6b986bf4d6eca4e566cb045b48e0" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/embedding_cache.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/embedding_cache.py", + "sha256": "7359fb980af1fc30b3253681310ef636e2b4a19134e04a93270c9c45de2572d8" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/session.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/session.py", + "sha256": "5973548a919e13c866222b91d502686a6757a31e5a5664b879bf2887ed9fb212" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/utils.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/utils.py", + "sha256": "160ac665f20f2c75b343c1e784084f2b0b4d1cf8fdb28ee15deee4dc8ed0ce45" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/worker/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/worker/__init__.py", + "sha256": "f08d296d3560c42173ae8af961af4a768033ccf1e36e9c17c0cdd53013d0c52e" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/worker/descriptor_buffers.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/worker/descriptor_buffers.py", + "sha256": "be7c81be214e995da8499105ba485854d9c19d6f8e905f8f1b87b83694ca0864" + }, + "vllm/distributed/ec_transfer/ec_connector/example_connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/example_connector.py", + "sha256": "09022ce07a89114bb65d9befd2e60873453aed11bbac8c0a75c1e6084e785a5f" + }, + "vllm/distributed/ec_transfer/ec_connector/factory.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/factory.py", + "sha256": "d6cedca0a99c3dd2b03cd1c15d17472b983e3f7d8f5baf4a12eecaf6abedb817" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/__init__.py", + "sha256": "1cbfc2f95f8f4d48a9253056eb1fd4b562062884e3fd5cb6571583c352fc16f3" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/config.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/config.py", + "sha256": "98c60696f79d1de67d2364cd9e8a42a393b5c8e17ed9af2f971368e47891d7b3" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/control.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/control.py", + "sha256": "58e0d1a423fbe958bfa586ac26a17107e08d0b31d044b4c74ab4dde880e7ca9b" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/memory.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/memory.py", + "sha256": "d5e90b1348de670a70f110d58eedcbdbd053db72c21dd007c3f5275c53951149" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/metadata.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/metadata.py", + "sha256": "497a7e6dfffb7fce80a41d5989f96119b970c143df77bb9d0f9c91d7a46e8c42" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/producer.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/producer.py", + "sha256": "97fa4d0b19475574778eab02f55fad73db9642beb9156da890314fd53fa1a7ab" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/reservation.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/reservation.py", + "sha256": "4790bc65cde4db5f17733ca2c2910980ba594a8a9b79ee27c5b957dffd4c1113" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/scheduler.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/scheduler.py", + "sha256": "53004b62529a31fdd80dfb2e6026610b95041a77e91f731ae526fefd84e7968d" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/state.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/state.py", + "sha256": "92f375d6c5cc9c83dbe95a7977ad8eb0f1b5629ccee92968bcacdc94eee15d65" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/transfer.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/transfer.py", + "sha256": "ada2113a5402054f1149d3edc2537f4e5e1bd696c9b17291c9f2b4cbf6b59753" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/worker.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/worker.py", + "sha256": "89eb91bb64845b3b121d502972a6b04d448714253becd2ea662e5691cd5acdd7" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake_ec_connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake_ec_connector.py", + "sha256": "aaebab4711bc00dd0c622dfbfd8639fc41e7ed5d1658d7d68fe33e4d5fbef3ba" + }, + "vllm/distributed/ec_transfer/ec_connector/utils.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/utils.py", + "sha256": "11b9014b9c0697f8846deff1a55a22fa86a15dc2ac3e139442fb6d513ac03059" + }, + "vllm/distributed/ec_transfer/ec_transfer_state.py": { + "path": "/vllm/distributed/ec_transfer/ec_transfer_state.py", + "sha256": "9487a41f23fa1a4fa6dfca8b42b8e97a0ee19d8406ffd1dcf4bef66315180827" + }, + "vllm/distributed/elastic_ep/__init__.py": { + "path": "/vllm/distributed/elastic_ep/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/elastic_ep/elastic_execute.py": { + "path": "/vllm/distributed/elastic_ep/elastic_execute.py", + "sha256": "b8f60a4183c79ff6051095b5f95bb385bc7fea0cffe8cd9ebc9087ab0e9f01b5" + }, + "vllm/distributed/elastic_ep/elastic_state.py": { + "path": "/vllm/distributed/elastic_ep/elastic_state.py", + "sha256": "fbf049199841a086fdf2fc1ab8498ef017ad3bf319db65c3ae61acbb536d2e10" + }, + "vllm/distributed/elastic_ep/standby_state.py": { + "path": "/vllm/distributed/elastic_ep/standby_state.py", + "sha256": "15282597550ebd0e07b8492ff192aea1ec0dcec8f0ad34009123e1002cc140c1" + }, + "vllm/distributed/eplb/__init__.py": { + "path": "/vllm/distributed/eplb/__init__.py", + "sha256": "1b9c2ee22abb5888c354c5aa01f0944f253e5e24e135d019778398bbe495a628" + }, + "vllm/distributed/eplb/async_worker.py": { + "path": "/vllm/distributed/eplb/async_worker.py", + "sha256": "424328600ad1003286fc5dfffa1f9482007314c060947818b2f94a8b97811f5e" + }, + "vllm/distributed/eplb/eplb_communicator.py": { + "path": "/vllm/distributed/eplb/eplb_communicator.py", + "sha256": "ba30d9d40e7b81d3f42aa9041d2f328edca4073cfe2de920285eb68375501ed8" + }, + "vllm/distributed/eplb/eplb_state.py": { + "path": "/vllm/distributed/eplb/eplb_state.py", + "sha256": "2f06bc8c63f3fdf55edb5032ae55c0ffcac3e67720ce74ea312e3d141b12acf4" + }, + "vllm/distributed/eplb/eplb_utils.py": { + "path": "/vllm/distributed/eplb/eplb_utils.py", + "sha256": "058af6104faa6d4085c1dca80bbe60d92bf0a7ec9cd92c775a180546c9d8c9c3" + }, + "vllm/distributed/eplb/policy/__init__.py": { + "path": "/vllm/distributed/eplb/policy/__init__.py", + "sha256": "daeb266c88442832b1ab8c8c4cc064891b38b9e9ba00aea324f926c87dc6d37e" + }, + "vllm/distributed/eplb/policy/abstract.py": { + "path": "/vllm/distributed/eplb/policy/abstract.py", + "sha256": "b9fd34c28bbfdded03360d7f3f6f8fb978e82689190d7ae4501dfe520e958c62" + }, + "vllm/distributed/eplb/policy/default.py": { + "path": "/vllm/distributed/eplb/policy/default.py", + "sha256": "3b54229e6240d050480390f6b29d4744fd38437d23719f78a6decf7002296a29" + }, + "vllm/distributed/eplb/rebalance_execute.py": { + "path": "/vllm/distributed/eplb/rebalance_execute.py", + "sha256": "b387e228791149018536eee96cf955b33ba79d801cdc36849d1b47a580ec2597" + }, + "vllm/distributed/kv_events.py": { + "path": "/vllm/distributed/kv_events.py", + "sha256": "de08f01e8736881560256c350a3b6418999dd4aa30f9c6ec9159527f7ed6899a" + }, + "vllm/distributed/kv_transfer/__init__.py": { + "path": "/vllm/distributed/kv_transfer/__init__.py", + "sha256": "c1be4e58ec6923bae607a355ad22891c740f056a69ff7358b1e10ea3fd2680ea" + }, + "vllm/distributed/kv_transfer/kv_connector/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/base.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/base.py", + "sha256": "2ae2a2c48f5731f3533166a75440fe91e764332305b5d713df840edba970789d" + }, + "vllm/distributed/kv_transfer/kv_connector/factory.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/factory.py", + "sha256": "add99c93c587b0098b90b1f8fd6940bdd1f15c236c5c6f1a258411863cb902d3" + }, + "vllm/distributed/kv_transfer/kv_connector/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/utils.py", + "sha256": "317ed40dc837671ca6e666165222e641a0f9b3992aea63bbf54de7e13d40b3a4" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/__init__.py", + "sha256": "5beb6ccad12fdcfe1581982da6f18321caca50e73a6b3259ebf3c8dc8b3ffcca" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/base.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/base.py", + "sha256": "97af64220475c6c9e8273438d7b5138b105ebe6944beb783facb36a3bb76f31b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/decode_bench_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/decode_bench_connector.py", + "sha256": "b4151c88cdec28f1ff9259047abc17baf23b892f4b68769a93bf26e0442b9017" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/example_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/example_connector.py", + "sha256": "6226876ef52d10d0d284d29c337ab44698e8bac6abdb2e0ece53b5756c55d068" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/example_hidden_states_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/example_hidden_states_connector.py", + "sha256": "58c22534dcad0fb73599a2d70a2fb104d5b612a4723be5e777f56a56fe07892c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/flexkv_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/flexkv_connector.py", + "sha256": "de4f68c3bd565ed898e47e0b2980049b966ff31888f1957050d30995d4953762" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_client.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_client.py", + "sha256": "bea6ecff2be281c7e96c1551c7bf463cbb01f2964696067c0ebdb683844f9aab" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_connector.py", + "sha256": "e67ed58015090e5eea9d499883f2a9422673d07f8bdbe0ccff7db15d2460de13" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_metadata_server.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_metadata_server.py", + "sha256": "6800e5cf37809f8a8e28c469c14a434db288bc3bf83a8b62ee06910a20c2da19" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/common.py", + "sha256": "8f2c02c08227a9093e6aeb183961aba36b7812cfc29b8c047a2b2c9d82f79c15" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/gather_scatter_helper.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/gather_scatter_helper.py", + "sha256": "08c1b43de34fbeca77357d7576ac1d17cba974b59d695562f68bb713061e7b54" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/hf3fs_mock_client.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/hf3fs_mock_client.py", + "sha256": "bec61a9b0c4b9124b2292d7646d76411da44396389349b53cdcbc46353c8780e" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/connector.py", + "sha256": "8c61094ce0a3a702908f9576f69482e6bf314738a2cbe33a7d3b47258fa0ab43" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/stats.py", + "sha256": "d9383a6ad6ab6b8f812d29d90495407b770eeddb79b86e9d0e3216c0bd16e0ed" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/worker.py", + "sha256": "251c0d8e57e4739c03ce3e1c899a95ff5b1752eb27676c28ab88c4ebd62c4776" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py", + "sha256": "5991f9ff8832df32bd421eb67e48237270ea0a408180e523810bb43606acf8f3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/__init__.py", + "sha256": "c53be9796e76cde637514bfc40a525d8c09bb2784b406cb516790d8285dfe433" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/multi_process_adapter.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/multi_process_adapter.py", + "sha256": "6480d67b31ed603027a83edf327880a38aee45eaeee2da9a4efa93e95527c166" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/utils.py", + "sha256": "e204fa6a853ac9c122d7a4e9d146902230f81c48d4321ed5edfdbf979dd49ba2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/vllm_v1_adapter.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/vllm_v1_adapter.py", + "sha256": "e6fe55049c6b007248516d69640e2f3a4809f9d286091a1014ae0949987fa8f1" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_mp_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_mp_connector.py", + "sha256": "c712c386a7c57bf0355a1441ba574232c3aa5498fcb70713a2b3f5d18b64f9c1" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/metrics.py", + "sha256": "de1b1797d0448f74370919dbb0278767f390e8f59e00a0c0528abefb302babc2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_connector.py", + "sha256": "516be01320e64b0110e102eeb69a6ba766dd5ac8cb3036db6b97b7d54413323d" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_utils.py", + "sha256": "26877610463fa8e9d6b092772f2551bcc0c3ac794cbe63996df0414666a8ebba" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/rdma_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/rdma_utils.py", + "sha256": "716e5042edecaba36c7ca763474988f32fa09c2668b8260260149df610af8f83" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/stats.py", + "sha256": "f39b2f0b1db2e4f922e27e684a3f7bbf5bb279b82a0a8c3bb0c7ae69b6d14d24" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/connector.py", + "sha256": "17a350bdb89e17e415d6c52a48684dc15c35a804378daf03e1f3bee1b1b123a3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/coordinator.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/coordinator.py", + "sha256": "a8eb6c2157a96e8d25233b82347ac8409a41d6390b4f2c64242119c05911010c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/data.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/data.py", + "sha256": "d3cfefdb4165a24995749cba452641b318065baa95bb1bae62f922a2f8886e7b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/metrics.py", + "sha256": "f2b9ef8927632d142aad11a374d0725c6e619ea0bb7fea9eda3f3895eb7d277a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/protocol.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/protocol.py", + "sha256": "ccb1cf6a84a932a375215627d2aaac482c351a05df015d636d05373a6845b7c8" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/scheduler.py", + "sha256": "283849ff581ec206444cdf5621622377f1c925e8d7e05cb9294af2f3a5094e79" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py", + "sha256": "55f1682dfd1ed7af689166421337126a0e1d08afa4774a242e098d79e0c1e95b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_common.py", + "sha256": "549bb4fe22dca5095515b9c0712c31cc81a9d4923881e9f112317640fd8c04ab" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_connector.py", + "sha256": "c0f474bc34b579d889fae92eaf43eaca241be51a4697a187a942f0df4e6b6a98" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_engine.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_engine.py", + "sha256": "d842f3772fc6588d5a329a67572324cb74709aa3df4033e64c791a1e706c8e88" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_layout.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_layout.py", + "sha256": "2b4ec046a78897236b0626939bb828b6ec095355097d10bca39e5f3e1c992553" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py", + "sha256": "12d8387239f3194f2cb63ccbd64824648047210323572d66671e6a1eed349fc3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/__init__.py", + "sha256": "cc3145fe3b6d219a267bf40a0f7c0cc9430e4289f94acab2df761b99b671e7ba" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_scheduler.py", + "sha256": "7a1db8c54e4cd846bdac747344f2aea2c2fcf507817928796063225223b7e169" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_worker.py", + "sha256": "49a2e4faf99bef146b5a1d4d18d48f240b1e561c438252274494b359db96ef52" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/connector.py", + "sha256": "b6a0dc916d052f344be72ecfcb111509c13580102c11a860fa726cf0888949a9" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py", + "sha256": "2b23a07c1ec5ac5490c3b818737c7192e344ea9f52cd5623f75939f741ab4e21" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_scheduler.py", + "sha256": "ac3daf8e2246581fec84ab28f2133569421b62c32a120be4923e2f4d0f2f9de9" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_worker.py", + "sha256": "e5060c9b6cf022de35ca3d1da7a369cd6a6a2dea26219af9f7633aaf78af8a76" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_scheduler.py", + "sha256": "2d9008e33937a4d6c5cf9cc2f96160f2bdbc8e987fe37f0798a7fd7eb84c9572" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_worker.py", + "sha256": "87de3ea383dd3aa95fb2c287ea26ded8a330859cc1295f9faa69047e80865c2c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/scheduler.py", + "sha256": "09f1bfe7075b926b26a94529480e33b62c3ac273ff826f6c502084f08b1b2a08" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/stats.py", + "sha256": "3e710654e0b68d1a8592f0c4735c81b22f4bf698fb1a2dfea126d35bf2dd1ef2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/tp_mapping.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/tp_mapping.py", + "sha256": "2d43607f98701b2fad6cc0ac2767619a80b7fc2b3a3c2eb6ed0da4fb05dcd8f6" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/utils.py", + "sha256": "93de863fc8307a61d40b62f1b176b57ae93c363d34b9e9ddc8e666265b6d45dc" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/worker.py", + "sha256": "5134a36ac100ce7a64f5311029a37ac12c38d91093f63100f51f7fe53ea7c3ee" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/canonical_mapping.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/canonical_mapping.py", + "sha256": "e0b3c6f9806a650e0370c43c5068fc31c0fec94615089e15fdf270d7d96f2b64" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/common.py", + "sha256": "9b3f042c6fa1581d10e8f688d2d9bc927bb41b780a9ea01f514d57228e20c978" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/config.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/config.py", + "sha256": "aea82e60889e78dcad8564ec8285b65a6a372824a1545a98ea8e78b6f4fd418a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/events.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/events.py", + "sha256": "d7039b67be95fd444966628184040a94880873c0611c0e6e7525a22650ffdefb" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/metrics.py", + "sha256": "13d76df014e86691f58dc89a879f9808b124690c9267dd5fa3b2d4004d4c5fdf" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/scheduler.py", + "sha256": "2c5282f4a3165cd787fb355e215e3869f1bdd3f2c795b2155fc537c9d135191a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/worker.py", + "sha256": "acc2df53262441dfc6421a3af7f0cbd68cbfaedbd42bbc384d8e1da2d965d194" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py", + "sha256": "cdc16ca7339a10e1993bd6220e6273f86a4e99779f58f25098a24ad31bb0dbd8" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py", + "sha256": "96238ca82ccf07a1eeb59b8f66de17b09034e3eb993ad9a0a836511d3f69706b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/ssm_conv_transfer_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/ssm_conv_transfer_utils.py", + "sha256": "59a949709482e65a007fbe5352fe9b4bb54c2dcc10ad2c1c41f754b6e13299f4" + }, + "vllm/distributed/kv_transfer/kv_transfer_state.py": { + "path": "/vllm/distributed/kv_transfer/kv_transfer_state.py", + "sha256": "2e5fe09438d6e2ee642f8a26cf7dcf632e870d955d30baf002b76a8bfe836d05" + }, + "vllm/distributed/nixl_utils.py": { + "path": "/vllm/distributed/nixl_utils.py", + "sha256": "0bffa3c052c9f67472b1c0bc3816114891b010c968bf4b8a292e7da4d687db53" + }, + "vllm/distributed/parallel_state.py": { + "path": "/vllm/distributed/parallel_state.py", + "sha256": "d9b10ad56833ebc08a753e1a050ef0989c30d4134021b7b7b00150b7bd01adc6" + }, + "vllm/distributed/stateless_coordinator.py": { + "path": "/vllm/distributed/stateless_coordinator.py", + "sha256": "f52848fbe985ed47b1f3e3ca555314736ca06436e8d738ab4390101f0672dcb0" + }, + "vllm/distributed/utils.py": { + "path": "/vllm/distributed/utils.py", + "sha256": "792146b357139e705064a68d3b66858de8a0baaca4dc7db1232fa217d45db231" + }, + "vllm/distributed/weight_transfer/__init__.py": { + "path": "/vllm/distributed/weight_transfer/__init__.py", + "sha256": "3fb9d4712b7c131d522f5e76e73cd8c333f3cc7af86e2d5ecf9b61b57b3b7f5a" + }, + "vllm/distributed/weight_transfer/base.py": { + "path": "/vllm/distributed/weight_transfer/base.py", + "sha256": "8ab06feb04f1379d0558fbdb77fde46bc84f179e0a26742cabab937e88caa38d" + }, + "vllm/distributed/weight_transfer/clients.py": { + "path": "/vllm/distributed/weight_transfer/clients.py", + "sha256": "ff85c79c350241e6d2749ca23c9d295a3289b4b62bfdf0257d32eb94a0151d36" + }, + "vllm/distributed/weight_transfer/factory.py": { + "path": "/vllm/distributed/weight_transfer/factory.py", + "sha256": "4e979eeac8c5bcdbffb10eb4765cfb30120fa7595c6c2561d3fa1a966ced61c8" + }, + "vllm/distributed/weight_transfer/ipc_engine.py": { + "path": "/vllm/distributed/weight_transfer/ipc_engine.py", + "sha256": "1af578293f387a19073c322b24143c3ae4716ce0c5d2bac2a4ef26fe20119330" + }, + "vllm/distributed/weight_transfer/nccl_common.py": { + "path": "/vllm/distributed/weight_transfer/nccl_common.py", + "sha256": "7b2ef7dc7481c3f478f17c49aa36c7bed54142ec5c93d36ed8426c8fdf09e500" + }, + "vllm/distributed/weight_transfer/nccl_engine.py": { + "path": "/vllm/distributed/weight_transfer/nccl_engine.py", + "sha256": "7fd020c919dc7b4723fb78e64da977b180d0fef0cd21df955a037b848dbaa008" + }, + "vllm/distributed/weight_transfer/packed_tensor.py": { + "path": "/vllm/distributed/weight_transfer/packed_tensor.py", + "sha256": "d0a27fb0be1dc029bd5a1d44fdb57a5e54aa4cd74308bedc339e86ac02c7494c" + }, + "vllm/distributed/weight_transfer/sharded_rdt_common.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_common.py", + "sha256": "be0b13801f24e7b62999b19d733c030510353603a2d5320d5dc98ee02daf22a2" + }, + "vllm/distributed/weight_transfer/sharded_rdt_engine.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_engine.py", + "sha256": "2f791970b4815511a7578ef6c957e7da97b071d26a39087a09a17475909791ee" + }, + "vllm/distributed/weight_transfer/sharded_rdt_fake.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_fake.py", + "sha256": "ee11164e17b5f2793252ce77741b8b94e0583046abf896a590131b2008d1fbb9" + }, + "vllm/distributed/weight_transfer/sharded_rdt_trainer.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_trainer.py", + "sha256": "dd413ff461d41826ccd3eb87d3df22f6cd7f24e09aac7644e3e5b40d7beec484" + }, + "vllm/distributed/weight_transfer/sparse_nccl_engine.py": { + "path": "/vllm/distributed/weight_transfer/sparse_nccl_engine.py", + "sha256": "e11b409454dda2b05ea34e8115ac19027c5e65cb2a5e9682c494f16a50e978f4" + }, + "vllm/model_executor/determinism/__init__.py": { + "path": "/vllm/model_executor/determinism/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/determinism/batch_invariant.py": { + "path": "/vllm/model_executor/determinism/batch_invariant.py", + "sha256": "af8f8d256a48fc214edf426fbe891fb15bd8b1d7ae98b811c736ff1eb0fae798" + }, + "vllm/model_executor/determinism/batch_invariant_configs.py": { + "path": "/vllm/model_executor/determinism/batch_invariant_configs.py", + "sha256": "72ea0d4df0ab5ae288abb7df5c203d2ad5f1709c7295d87ec72da775fddc1b7a" + }, + "vllm/model_executor/layers/fused_moe/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/__init__.py", + "sha256": "64a32665be6d5afcfbaf7a0915717267278b66b880b908b0263ea58f08e51b5e" + }, + "vllm/model_executor/layers/fused_moe/activation.py": { + "path": "/vllm/model_executor/layers/fused_moe/activation.py", + "sha256": "78dec0e85e0c040304515f64ccf8f2c6a7a2e5b9f1124a2138a97d9a02585541" + }, + "vllm/model_executor/layers/fused_moe/all2all_utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/all2all_utils.py", + "sha256": "dc4750a446f7de31d09a46034da5fdf479bc169af90f47aa9af8ae15e67b0828" + }, + "vllm/model_executor/layers/fused_moe/b12x.py": { + "path": "/vllm/model_executor/layers/fused_moe/b12x.py", + "sha256": "ee76cc6aa801e24be8ec78a9e8502061ad48667d5ff8711e43f68fba912425bd" + }, + "vllm/model_executor/layers/fused_moe/config.py": { + "path": "/vllm/model_executor/layers/fused_moe/config.py", + "sha256": "a3a87cebcc7ac85d73f471dcfafc2d899c6fc08f264777b74a0e919adac9e03f" + }, + "vllm/model_executor/layers/fused_moe/deep_gemm_utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/deep_gemm_utils.py", + "sha256": "8fdcd857eb333f9c68902105f157568d52067c94ba1e2df6dbfe0474ef1f4c02" + }, + "vllm/model_executor/layers/fused_moe/eep_reconfigure.py": { + "path": "/vllm/model_executor/layers/fused_moe/eep_reconfigure.py", + "sha256": "9d7580265e8563e1140c2bb4c3a81a35ddd54903f5ec0a2720ffc064681f02f9" + }, + "vllm/model_executor/layers/fused_moe/expert_map_manager.py": { + "path": "/vllm/model_executor/layers/fused_moe/expert_map_manager.py", + "sha256": "308c00f63fcb6f44518ec3a56d8f902c7bba75928c2e3aea30fbe1f3f473973b" + }, + "vllm/model_executor/layers/fused_moe/experts/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a16_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a16_moe.py", + "sha256": "53deea255175171971422d14082ad139b5ec7b62e21429a4c7cc0ebbefd29cdc" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a8_moe.py", + "sha256": "f3fc51b95ed89862381908a0134e326228827f44854248db9585a9c4899c34f4" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp8_moe.py", + "sha256": "af6db1760961a5a71234f8b1cdf42e9e30a236e13601b0826a75110b79724948" + }, + "vllm/model_executor/layers/fused_moe/experts/batched_deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/batched_deep_gemm_moe.py", + "sha256": "b0cd4ea706583518dc608fb56f832fc3595f24bd863b03ef1e8c22b36b873508" + }, + "vllm/model_executor/layers/fused_moe/experts/cpu_int4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cpu_int4_moe.py", + "sha256": "67170af3ba9dc4c4f71d78a72efc3fa4e366eac614936a79911dae5c75ac1864" + }, + "vllm/model_executor/layers/fused_moe/experts/cpu_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cpu_moe.py", + "sha256": "0754cd4ff1b28e6d3932a67609d335acefd28f95a841f0492923813356a6d81e" + }, + "vllm/model_executor/layers/fused_moe/experts/cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cutlass_moe.py", + "sha256": "db901bdbcd3fdac23a1d74e39c51e67f14a82be787b2fd704ed1e787372ae868" + }, + "vllm/model_executor/layers/fused_moe/experts/deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/deep_gemm_moe.py", + "sha256": "16911a64a72eafc26a1bcb544a91f90144d85dc41e3ee57cf20e89925227bbb7" + }, + "vllm/model_executor/layers/fused_moe/experts/fallback.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fallback.py", + "sha256": "1bdd0a4f2ebaa40ec96a5aacc07aee61511af59e6324ce456aa65003b6e2991a" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_b12x_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_b12x_moe.py", + "sha256": "e613afe5da2742e42c717c1a0a56bd9e1c7e3e0452a828db0013d81063518954" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_batched_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_batched_moe.py", + "sha256": "295254dfeeec8df3eb8110e6f659a946cb9cded3de1565ecad4d741b3c3f3e00" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_moe.py", + "sha256": "08578bcd0cf72d6a470e40950175e73639efaa6d8d23c6da0869345312b229c9" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutlass_moe.py", + "sha256": "52887cec5fe628e0a4e7793deb546b40f6c29f7362b3b436c10ca36934ab9826" + }, + "vllm/model_executor/layers/fused_moe/experts/fused_batched_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fused_batched_moe.py", + "sha256": "2435587fc7f8fe8ea341ea0eb8f14c11f3f5b31fbbb9b29ce569ad3bace6e6a0" + }, + "vllm/model_executor/layers/fused_moe/experts/fused_humming_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fused_humming_moe.py", + "sha256": "a6830a76ff7f4cd3479b9c8372a30d03e8301604555cbdbcd9ac89a813b7431a" + }, + "vllm/model_executor/layers/fused_moe/experts/gpt_oss_triton_kernels_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/gpt_oss_triton_kernels_moe.py", + "sha256": "1613a7a6b256e8faee6fdcfae84f293492db6229d28ceb3e8a8d6093af480e36" + }, + "vllm/model_executor/layers/fused_moe/experts/int4_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/int4_emulation_moe.py", + "sha256": "f12857caf0671a341687ad3c5f48616b816ed51e1bcbdefa0a7edbecdb81a79d" + }, + "vllm/model_executor/layers/fused_moe/experts/lora_context.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/lora_context.py", + "sha256": "9b41eefaaa57c5dd0dc54217ef95978821b0c52e90ea4db8b0752e08452bd3e5" + }, + "vllm/model_executor/layers/fused_moe/experts/lora_experts_mixin.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/lora_experts_mixin.py", + "sha256": "b2bc55ed6be98b526c6a5698e2d98300650e78555f56b1820e58c04888e2a373" + }, + "vllm/model_executor/layers/fused_moe/experts/marlin_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/marlin_moe.py", + "sha256": "93916b721548e6194dc70cf6cec224b4b1456a0cc0980235e97beba7bf36541d" + }, + "vllm/model_executor/layers/fused_moe/experts/mxfp8_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/mxfp8_emulation_moe.py", + "sha256": "d09c62ad1398c51ff6f515f2a61014ee9e9a9798d0fe9762c47f446efc5edbef" + }, + "vllm/model_executor/layers/fused_moe/experts/mxfp8_native_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/mxfp8_native_moe.py", + "sha256": "01a42cebf18189e566034111b2145573c655319e8af1a56db60d53a319c40613" + }, + "vllm/model_executor/layers/fused_moe/experts/nvfp4_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/nvfp4_emulation_moe.py", + "sha256": "f24467762b60702f0df122ed64786be839a838a9b6cafaecbd04d35fbfedb189" + }, + "vllm/model_executor/layers/fused_moe/experts/ocp_mx_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/ocp_mx_emulation_moe.py", + "sha256": "dcaa60a9ebdb0bd8223b37af41f018ce7f95716ec7cd8526850f4433a579213b" + }, + "vllm/model_executor/layers/fused_moe/experts/rdna3_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/rdna3_moe.py", + "sha256": "e4abd802dc2f0ad9b338ebde397633c761d881c37813e2dc229902c526b597d8" + }, + "vllm/model_executor/layers/fused_moe/experts/rocm_aiter_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/rocm_aiter_moe.py", + "sha256": "bf09a7b783f5752d61cab76221b32b598d8846d801ee39dc9209d636c9659c6f" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_cutlass_moe.py", + "sha256": "ffce5ad627c540940d122d8df7981644b2eb35d07d480995c0f4f30517815fac" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_deep_gemm_moe.py", + "sha256": "c7209fa5e1ccb184a68b37a0706fc571a76696c2ae79802ddc7f889b1c29684d" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_moe.py", + "sha256": "806fbccfe30f5fbd578acf773add99bdf022b12d617958bd6281aef6de369701" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_bf16_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_bf16_moe.py", + "sha256": "76256de96fefece9c41ffb1108487919e24da364cf4412c6c3474498aba59137" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_fp8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_fp8_moe.py", + "sha256": "b54c7ceb45e5d07aa905f42ea44caccf85ca35ba9fb825d4c01947764510f68b" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_lora_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_lora_moe.py", + "sha256": "dd35a9e4242c0dc8d691168813e14bd5543e591f02ee529d0691e07651942c5a" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_mxfp4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_mxfp4_moe.py", + "sha256": "fe780f125a3dc3ba919659e9b85340bd32afcbfe47733a002bfdfb92eadf400c" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_mxint4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_mxint4_moe.py", + "sha256": "2106d67c2951aa690c4656ca58240d09c366cffe8cb4d9fd575df016c377cc30" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_nvfp4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_nvfp4_moe.py", + "sha256": "e938ac9f058f7c90b41c9610513239bec54a95304bfb5ff5f6897ebd54733d7e" + }, + "vllm/model_executor/layers/fused_moe/experts/xpu_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/xpu_moe.py", + "sha256": "2a11bac0cf9274d963315efd6eebdc62978b0b7aa02e8849ff2a562742f0b86d" + }, + "vllm/model_executor/layers/fused_moe/fused_flydsl_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_flydsl_moe.py", + "sha256": "0e74879ee5c72f616ae4064b9dff3b3a0b583b7fc70b8f92f1e8b730ecd5d39b" + }, + "vllm/model_executor/layers/fused_moe/fused_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe.py", + "sha256": "7072eb06237be9d33dcb0ef7101410f886a6363c98cbee70a014c68b70f639cb" + }, + "vllm/model_executor/layers/fused_moe/fused_moe_method_base.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe_method_base.py", + "sha256": "18dcfc469d3252749801bbf943857f58da85de1f2db8fdff5a9f4986a925dc68" + }, + "vllm/model_executor/layers/fused_moe/fused_moe_modular_method.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe_modular_method.py", + "sha256": "321c744eac1fcaffd6b1b2971204c8baa57dfec53e91e5d24140014d72d64f83" + }, + "vllm/model_executor/layers/fused_moe/hpc_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/hpc_moe.py", + "sha256": "2ca9c5d71b6fd91651027905e2b83103a8823845e053e7153e148cb8e0ee666d" + }, + "vllm/model_executor/layers/fused_moe/layer.py": { + "path": "/vllm/model_executor/layers/fused_moe/layer.py", + "sha256": "def0b4e13bcc1e4e21ee10644e647e2eda1acbf0cc01e76d6128abb59ea08224" + }, + "vllm/model_executor/layers/fused_moe/modular_kernel.py": { + "path": "/vllm/model_executor/layers/fused_moe/modular_kernel.py", + "sha256": "8dc4e0dbbf35b3aac8add63ca6f2a7bbfdadaabbd60826e24598b22c7d8e5c22" + }, + "vllm/model_executor/layers/fused_moe/moe_align_block_size.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_align_block_size.py", + "sha256": "c3f7fc2087836f0160a32ab99ceb1d8f6e87c793679da34dd672e225cb7fa31b" + }, + "vllm/model_executor/layers/fused_moe/moe_fused_mul_sum.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_fused_mul_sum.py", + "sha256": "112e72578002c3bff538418dac64b3b56d995994a2fc5e32b18d2cf3b8392a13" + }, + "vllm/model_executor/layers/fused_moe/moe_output.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_output.py", + "sha256": "6ea4cbd78f9efc7f842c5df246f553f08b991c3479b8b04b89902ed08aaf8e8f" + }, + "vllm/model_executor/layers/fused_moe/moe_permute_unpermute.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_permute_unpermute.py", + "sha256": "1adc592c6254d0c877d66be5406afbc822459c18a838f4bbd094a992e7609d06" + }, + "vllm/model_executor/layers/fused_moe/oracle/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/__init__.py", + "sha256": "4dcf941d50d48bb812de0f39e9194bf17a76b8035fe324889c6038f710fdc453" + }, + "vllm/model_executor/layers/fused_moe/oracle/base.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/base.py", + "sha256": "555bbcd18a3744e64eee4e953daabef3bd268a1bd4faf967d4cfd14d6074f685" + }, + "vllm/model_executor/layers/fused_moe/oracle/fp8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/fp8.py", + "sha256": "245bd36c285df1e6f7c51e52dcda31ad247894577a9f8d765613c2c2feae9aee" + }, + "vllm/model_executor/layers/fused_moe/oracle/int8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/int8.py", + "sha256": "c1b67886511bd966b162db5bca8930f04895fb37a969818a4a10f0726c59547f" + }, + "vllm/model_executor/layers/fused_moe/oracle/int_wna16.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/int_wna16.py", + "sha256": "cfffe8b8b290330be9d18ffa07aeecf296484395ff04df3147d99393e48b55c1" + }, + "vllm/model_executor/layers/fused_moe/oracle/mxfp4.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/mxfp4.py", + "sha256": "b7915e6779b5c88e7dcd2d227f003a8e45071d6d86877013067142d4feb64a8c" + }, + "vllm/model_executor/layers/fused_moe/oracle/mxfp8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/mxfp8.py", + "sha256": "9cfdc8102a04bb844dcd7ed88043bba96ec751794bc093da76c69aa8cf88cf48" + }, + "vllm/model_executor/layers/fused_moe/oracle/nvfp4.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/nvfp4.py", + "sha256": "735b4cdeb1258f11fb02320fc0c70cab5edaca468dd60b07b2d369389d2b0313" + }, + "vllm/model_executor/layers/fused_moe/oracle/unquantized.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/unquantized.py", + "sha256": "c8b8203bd0b73bb7f586f703607394d663f14c05711416ad42d45af564382223" + }, + "vllm/model_executor/layers/fused_moe/oracle/w4a8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/w4a8.py", + "sha256": "d7fa6e2982f20b34d5ce9c5ce28a61122762a3fcdd53d249479472a4f2316c6a" + }, + "vllm/model_executor/layers/fused_moe/oracle/w4a8_int8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/w4a8_int8.py", + "sha256": "6d6f9ca2e67b630002873de2f8d8a231d091c5c2f0f3354a9e8209449b481a4c" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/__init__.py", + "sha256": "2800113263a83c2632e522fb22790b29f63384da75d43de32f0ae2f95e8ae4c1" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/batched.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/batched.py", + "sha256": "d52425dd8c08e47cf8d9c3088daf3b1cc721c8667de4c738d04ba997f9a08ccb" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ht.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ht.py", + "sha256": "465cdf1d6cee91b2ee8c2e43abbea6e8408976e3048c10f44c089f34b415bc60" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ll.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ll.py", + "sha256": "f704922b1db680c4c212982a096e09d6b3eb97d89110313f86ed958a00df21b7" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_v2.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_v2.py", + "sha256": "8d690b016bbcfbc9eb599bcc36a6f798b2f1720c828f4347ea742e218c0cc60d" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_one_sided.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_one_sided.py", + "sha256": "acb57d8342af62bb5672036871cd4b27ecc7f37dfa7c894850bb860e6152a1f0" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_two_sided.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_two_sided.py", + "sha256": "cc5b00d6a157b6eca5afaaf7435165dbd1b4524d6d88bf75808cbe074a389f79" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/mori.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/mori.py", + "sha256": "8e9c3b5b1f0de13f467d95bf2f451cba0e4b0d9a1bdcf98da0988a3a9a79a045" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/naive_dp_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/naive_dp_ep.py", + "sha256": "db015e5b18750bbbf5b2bbaceca877dd6f3f3e74c2a94e8dc185f7413b387f91" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/nixl_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/nixl_ep.py", + "sha256": "1f71d70ac509bf5d3d67a8d95a8ee108a50af6bb5d4bde7181ca28e286f6ffce" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/no_dp_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/no_dp_ep.py", + "sha256": "adbbf529cd22059c95b5380952943a70cf11e05e321dcd707f296bebde61a6e7" + }, + "vllm/model_executor/layers/fused_moe/routed_experts.py": { + "path": "/vllm/model_executor/layers/fused_moe/routed_experts.py", + "sha256": "68c48e5df0ea4a7cc1f04436b7b9153eb53802ecd9bb55d38db8738508daac6d" + }, + "vllm/model_executor/layers/fused_moe/routed_experts_capturer.py": { + "path": "/vllm/model_executor/layers/fused_moe/routed_experts_capturer.py", + "sha256": "cd006bc1a1703418cca3b589fafb2abc4268a086fb3db044bbb64348aeac8b13" + }, + "vllm/model_executor/layers/fused_moe/router/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/layers/fused_moe/router/aiter_shared_routed_fused_moe_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/aiter_shared_routed_fused_moe_router.py", + "sha256": "f47046db1275601a2c67c9232afc7b866c9623a19639d5be867e4c7914a35069" + }, + "vllm/model_executor/layers/fused_moe/router/base_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/base_router.py", + "sha256": "47fa2324bcd9b6ebdc138d69ae6b6ecc0f2463d34bda8c5988bdb0a2a76d3fae" + }, + "vllm/model_executor/layers/fused_moe/router/bf16x3_router_gemm_cutedsl.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/bf16x3_router_gemm_cutedsl.py", + "sha256": "d0f1edd1ebc48d88e490bdb3c93db49bdc0a135ff83e7e0b57130e9f8255fc32" + }, + "vllm/model_executor/layers/fused_moe/router/cpu_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/cpu_router.py", + "sha256": "bff36b15818c87bfbb7ee3def7dc7f6396860abbe5893ff6148801fe941a4b92" + }, + "vllm/model_executor/layers/fused_moe/router/custom_routing_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/custom_routing_router.py", + "sha256": "1a40c7054e3c3a1b3ee2e98f6bc9efa9dfdc11f316a8edf7357dd91533487bfe" + }, + "vllm/model_executor/layers/fused_moe/router/dsv4_topk.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/dsv4_topk.py", + "sha256": "14f7c8487b9aef652dd61c91e0e3c3640b643bf9cd0d8a7184157d71f4beb63e" + }, + "vllm/model_executor/layers/fused_moe/router/fused_moe_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_moe_router.py", + "sha256": "0daa0dc05b931d66767feca444a4cd57ecf140f59b40ea0e8ad213eef6da2b36" + }, + "vllm/model_executor/layers/fused_moe/router/fused_topk_bias_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_topk_bias_router.py", + "sha256": "8fdc28cc248180ad4f11bb4bcda3df47926ec12665a0d84bb712fe83fc6b9376" + }, + "vllm/model_executor/layers/fused_moe/router/fused_topk_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_topk_router.py", + "sha256": "1c80f4af4d781fd66b12aa6a7a0fd30082bc521df40f1252987a8ac4c0bef51c" + }, + "vllm/model_executor/layers/fused_moe/router/gate_linear.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/gate_linear.py", + "sha256": "faa43362c2e7c568498a923c682ca18cae75e87f48d00882770821cb19c21198" + }, + "vllm/model_executor/layers/fused_moe/router/grouped_topk_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/grouped_topk_router.py", + "sha256": "048339e1799cdd42c9dae686a6cb891046577fb391b500f0d12eed73c8f61e52" + }, + "vllm/model_executor/layers/fused_moe/router/rocm_fp32_router_gemm.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/rocm_fp32_router_gemm.py", + "sha256": "9c331ef3d0bb2fb6954387d77ac62a99c5c76d2753c7438bfbb5115f68aae5ac" + }, + "vllm/model_executor/layers/fused_moe/router/router_factory.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/router_factory.py", + "sha256": "019bc8adaa7642abab82843efd53cd1a378f62c652521a1de2b781480eb88742" + }, + "vllm/model_executor/layers/fused_moe/router/routing_simulator_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/routing_simulator_router.py", + "sha256": "a7345df5add00cf3bd93024492d6fc1189fd3ecf2754a11cef1b03a295d791f7" + }, + "vllm/model_executor/layers/fused_moe/router/zero_expert_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/zero_expert_router.py", + "sha256": "dea306edd92e2b9c1b43f982ede8e1e10770d2c66220f5a106e0ed0165276e9c" + }, + "vllm/model_executor/layers/fused_moe/runner/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/layers/fused_moe/runner/moe_runner.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/moe_runner.py", + "sha256": "05893188402fe37229bf72d75088d66193c417d5d502daafd3a55e1bfedaa60c" + }, + "vllm/model_executor/layers/fused_moe/runner/moe_runner_interface.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/moe_runner_interface.py", + "sha256": "189cad01611124eb44594713cbf5918d16fc70196dc81a525ae0a7a97a5fcc51" + }, + "vllm/model_executor/layers/fused_moe/runner/shared_experts.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/shared_experts.py", + "sha256": "d89e4c79c46f6fe61262c51f3facf102e71ce1e4eb3db67f72b6bd8470937be9" + }, + "vllm/model_executor/layers/fused_moe/topk_weight_and_reduce.py": { + "path": "/vllm/model_executor/layers/fused_moe/topk_weight_and_reduce.py", + "sha256": "3dfede72d52bf99af40997994704e6c502ee3bab2bd39bfaa8a68d7dae440203" + }, + "vllm/model_executor/layers/fused_moe/unquantized_fused_moe_method.py": { + "path": "/vllm/model_executor/layers/fused_moe/unquantized_fused_moe_method.py", + "sha256": "182a5ec1874ece2091a24c5303f6ab9ea64a9a61adf325b863927f0cdd83e5d3" + }, + "vllm/model_executor/layers/fused_moe/utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/utils.py", + "sha256": "a93a0bded4008db19d8b38370526ae34fafb9c8278e5b4f60acb6acc8fdc1850" + }, + "vllm/model_executor/layers/mamba/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/abstract.py": { + "path": "/vllm/model_executor/layers/mamba/abstract.py", + "sha256": "dfdc8c836894f574e41d93d76ab989cacd3d7ecf59c97a929abfa48d9364e8ad" + }, + "vllm/model_executor/layers/mamba/gdn/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/gdn/base.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/base.py", + "sha256": "7fec748fc74131f5a45bcaf2644b3fa3a0598fd437d7347f8207ea3644a951c5" + }, + "vllm/model_executor/layers/mamba/gdn/kimi_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/kimi_gdn_linear_attn.py", + "sha256": "1cec4da5c9da73557e192bfb36cd540aae51d3e91283b554449c4a97f0f89bd9" + }, + "vllm/model_executor/layers/mamba/gdn/olmo_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/olmo_gdn_linear_attn.py", + "sha256": "60873ca3bb0c4d17c33bd259b62b658db4883cd23138f47dd4ead62cd2ff0605" + }, + "vllm/model_executor/layers/mamba/gdn/qwen_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/qwen_gdn_linear_attn.py", + "sha256": "b80f8e6f3fff442fb880aebb3209c52f814f66490009f4ac4003de603576d10a" + }, + "vllm/model_executor/layers/mamba/linear/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/linear/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py", + "sha256": "3c480ddd6eba0766ed012a1074bbec5f241d868a87b020b0f6312222c32f93eb" + }, + "vllm/model_executor/layers/mamba/linear/base.py": { + "path": "/vllm/model_executor/layers/mamba/linear/base.py", + "sha256": "26125cd427225954e1846ca361cdaf43f2b56f11b1e217cf26e91a80ef0edb6a" + }, + "vllm/model_executor/layers/mamba/linear/minimax_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/linear/minimax_linear_attn.py", + "sha256": "4adc00f54893b5bc6c31c613deda152a19af3b1bba04153ab5924c3bf2a3aaae" + }, + "vllm/model_executor/layers/mamba/mamba_mixer.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_mixer.py", + "sha256": "a485e937ad9db14d3ad03fde5a9fe795cfa863649563e52fc7e6c52ef631164e" + }, + "vllm/model_executor/layers/mamba/mamba_mixer2.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_mixer2.py", + "sha256": "d58d93e90d9eb90bc5133b79f07c7c62d0032b35d6cf916e3fe34367b81c5cd5" + }, + "vllm/model_executor/layers/mamba/mamba_utils.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_utils.py", + "sha256": "ce9845b4a4ef4bc46577a33038ed69d59ceccb52f30e9c5bdaa36e48be3b2ca4" + }, + "vllm/model_executor/layers/mamba/ops/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/ops/causal_conv1d.py": { + "path": "/vllm/model_executor/layers/mamba/ops/causal_conv1d.py", + "sha256": "044d005cfe59fd0818ed421274e04f3e8dd679b8cdb64fca9f4422f2643484b2" + }, + "vllm/model_executor/layers/mamba/ops/cpu/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/ops/cpu/causal_conv1d.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/causal_conv1d.py", + "sha256": "64104672890ac2ef240c20c7f8059beeade707178574809dbca8721dff5ea6fa" + }, + "vllm/model_executor/layers/mamba/ops/cpu/gdn_attention.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/gdn_attention.py", + "sha256": "a50288945bf5b102ad3025ae536638dcc32d84cf7c22aaf3a85326b0c1c56c1f" + }, + "vllm/model_executor/layers/mamba/ops/cpu/mamba_ssm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/mamba_ssm.py", + "sha256": "5839e576172a3246337f5e4fb1bc19eb583b3e2b2f7e35dd060dc3041eb8372d" + }, + "vllm/model_executor/layers/mamba/ops/gather_initial_states.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gather_initial_states.py", + "sha256": "5198bb6de6d91c583a5f65d926412a76ee04a06fa72aaba76eaf156b27cd0523" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/__init__.py", + "sha256": "b88b52e71fcb21bd3fa215ea171dcd2ad2ff17c97788cfe64caa7ba45c7ecf97" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_h.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_h.py", + "sha256": "f50bbe5c0b6382323ec5dfc24a5e0c7971113d59727515e60c9fe3689734e5ba" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_kkt_inv_uw.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_kkt_inv_uw.py", + "sha256": "b4a65dd194907db08865e0596fe254f915e670a9e6b27ffa2933c1026dde9b1e" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_o.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_o.py", + "sha256": "629f7843a7e611efb9390f2ebb7a4b924b2c328d48a317fddfaa96af4d9bc60a" + }, + "vllm/model_executor/layers/mamba/ops/layernorm_gated.py": { + "path": "/vllm/model_executor/layers/mamba/ops/layernorm_gated.py", + "sha256": "3433f2e3b87c2b2ccf8e9794ce40762c86a6da38a94ecee001f439ea0d0373dd" + }, + "vllm/model_executor/layers/mamba/ops/mamba_ssm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/mamba_ssm.py", + "sha256": "a4515ec7895b40ed878cf380445034b25faa61fbaa799d96c49217bbdfd7e400" + }, + "vllm/model_executor/layers/mamba/ops/replayssm_config.py": { + "path": "/vllm/model_executor/layers/mamba/ops/replayssm_config.py", + "sha256": "5fe9d5d7aa2de6a65875b3796a919b22bc435fd76055ba054bbff43aa005bc44" + }, + "vllm/model_executor/layers/mamba/ops/scatter_states.py": { + "path": "/vllm/model_executor/layers/mamba/ops/scatter_states.py", + "sha256": "f3bb004c73edaba56337747893eb07faf29b270dc8bb9c893ee9b1044e4ead9a" + }, + "vllm/model_executor/layers/mamba/ops/selective_state_update_replayssm_output_only.py": { + "path": "/vllm/model_executor/layers/mamba/ops/selective_state_update_replayssm_output_only.py", + "sha256": "cea7fd3063ca9dcc4e33f180d01ea379195ec515cedc9d0b03b11dc67670d695" + }, + "vllm/model_executor/layers/mamba/ops/ssd_bmm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_bmm.py", + "sha256": "26983d97a7f5c5f9197a16a6bee7b1294839b9ae31a14c14aaee38b43523e630" + }, + "vllm/model_executor/layers/mamba/ops/ssd_chunk_scan.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_chunk_scan.py", + "sha256": "d5ef32e8cb47e2ce71984579df78ab69754895f891766394daf327867cfa4f8f" + }, + "vllm/model_executor/layers/mamba/ops/ssd_chunk_state.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_chunk_state.py", + "sha256": "177e3aa7fe72647133bbd86135533e8688a5802678d4d1564aa549410362316f" + }, + "vllm/model_executor/layers/mamba/ops/ssd_combined.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_combined.py", + "sha256": "1317bbb668d3c60dfe0658850f9968614f03fa5eb61196f8ce6ac17dbb31b480" + }, + "vllm/model_executor/layers/mamba/ops/ssd_state_passing.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_state_passing.py", + "sha256": "36b8c8edba437916a5b789717c61fc22077de01e77892cb96dbff3b00a57410e" + }, + "vllm/model_executor/layers/mamba/ops/ssu_dispatch.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssu_dispatch.py", + "sha256": "bbe0f0e61da87f3ddfead19a79ca376516b63f1ea868be3485333c63fa20ef41" + }, + "vllm/model_executor/layers/mamba/ops/triton_helpers.py": { + "path": "/vllm/model_executor/layers/mamba/ops/triton_helpers.py", + "sha256": "a8795532f22c37a93e82c9d8e3fadcb5f4da98673d7b321fe8481305eaafad30" + }, + "vllm/model_executor/layers/mamba/short_conv.py": { + "path": "/vllm/model_executor/layers/mamba/short_conv.py", + "sha256": "228494efab185ee17374f762874f4c8b9a26aac9decfa8c906ce38446e0de51a" + }, + "vllm/model_executor/models/qwen3_next.py": { + "path": "/vllm/model_executor/models/qwen3_next.py", + "sha256": "4fa5112ac2bf7886d41d9e1f6c3da8793620d1ec49c961b31e9609459a6a7f7a" + }, + "vllm/third_party/flash_linear_attention/__init__.py": { + "path": "/vllm/third_party/flash_linear_attention/__init__.py", + "sha256": "5dbbfa3fc286edb2e970e175ef33cee4f6181c89b0784f5a8986201b2312f54e" + }, + "vllm/third_party/flash_linear_attention/ops/__init__.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/__init__.py", + "sha256": "dd738dc1d08045e76455cdbe16052a5b769e0eb11d6e87ff28353994f880cd6c" + }, + "vllm/third_party/flash_linear_attention/ops/chunk.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk.py", + "sha256": "c105ead259e86aedc248c53e7c4cef07034d0ff12da608d80265d1dd0990803f" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_delta_h.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_delta_h.py", + "sha256": "1b3ad391f939d9443c6b7adb19e57fe381bd5dccea064e8417a4f85b0e713b26" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_o.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_o.py", + "sha256": "3b63b836a8cc561723c23db5a528a0b474d9cd78508d610f0b348c585a889a19" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_scaled_dot_kkt.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_scaled_dot_kkt.py", + "sha256": "7ae41df3755acc7e925a134d848f78bb5fc00b90069039d86403c5853323ea42" + }, + "vllm/third_party/flash_linear_attention/ops/cumsum.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/cumsum.py", + "sha256": "d818215669b451868823202ac0bcea77e7a9d75957254c7c1060a73a55dc39b6" + }, + "vllm/third_party/flash_linear_attention/ops/fused_gdn_prefill_post_conv.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_gdn_prefill_post_conv.py", + "sha256": "590717b2107abc90d72548de06b5d315229eb2775c94614f3f545df11cc2b5df" + }, + "vllm/third_party/flash_linear_attention/ops/fused_norm_gate.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_norm_gate.py", + "sha256": "e6eb90467f29d8a0a04f2a364d20a2c3191b6ab857841bfb82076b33a6022d1a" + }, + "vllm/third_party/flash_linear_attention/ops/fused_recurrent.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_recurrent.py", + "sha256": "fe6f1311014809040497aa0a623e7fa97f4b3457cdc7ee1f1f8aed21f326f755" + }, + "vllm/third_party/flash_linear_attention/ops/fused_sigmoid_gating.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_sigmoid_gating.py", + "sha256": "000ab8996af9788fdb8843a6a3b91833e7a14c8acc0e1ea073a536330f64cb6f" + }, + "vllm/third_party/flash_linear_attention/ops/index.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/index.py", + "sha256": "a4f8b2c052635cb519a80099e8a85411d1d5d6880b38f466788259bbe66b154d" + }, + "vllm/third_party/flash_linear_attention/ops/kda.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/kda.py", + "sha256": "e1f31aaa89b91f8e5db6d070b229e2c81c7206e8caec67de41db97d06be0c476" + }, + "vllm/third_party/flash_linear_attention/ops/l2norm.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/l2norm.py", + "sha256": "520f4513ef4fc97e6b88dc07877cca8e29da0d34e44673fe989e3af002d86381" + }, + "vllm/third_party/flash_linear_attention/ops/layernorm_guard.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/layernorm_guard.py", + "sha256": "42af29be26e8fc94a4658e053c095fcdab9ffdc1bc2446a01e787deda2a298c0" + }, + "vllm/third_party/flash_linear_attention/ops/op.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/op.py", + "sha256": "456da84fd12411cf53c96a90dd4f78f49afb454c3d51d2c524ea8e7106fe8ae5" + }, + "vllm/third_party/flash_linear_attention/ops/solve_tril.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/solve_tril.py", + "sha256": "d1a4ff27623a938825052500afa7e2aa24fadd2fa4c9be6376c9128824f86f82" + }, + "vllm/third_party/flash_linear_attention/ops/utils.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/utils.py", + "sha256": "d6c90d36505e02086954c23ca4dd2fea82a69416d68ff1d0501e16b3148b5b0c" + }, + "vllm/third_party/flash_linear_attention/ops/wy_fast.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/wy_fast.py", + "sha256": "c9fc8259db0a8746dc04f1d799cb73333457118cf89a0bdce8dde8a80a28cd96" + }, + "vllm/v1/attention/__init__.py": { + "path": "/vllm/v1/attention/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backend.py": { + "path": "/vllm/v1/attention/backend.py", + "sha256": "01ac364372afa75fdb22486aa3a9c7cf9aebb742e3471dfb9e0f9d9d36b734bc" + }, + "vllm/v1/attention/backends/__init__.py": { + "path": "/vllm/v1/attention/backends/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backends/b12x.py": { + "path": "/vllm/v1/attention/backends/b12x.py", + "sha256": "443f0a98738fdfefe5b9ab151d278bfd43a8ac807eb2b0b9b2a13d51922afbf9" + }, + "vllm/v1/attention/backends/composite.py": { + "path": "/vllm/v1/attention/backends/composite.py", + "sha256": "4cf3d66dca891562709eed4f50aa14b0ae6c8240d9ea86504a3304b2f356cce0" + }, + "vllm/v1/attention/backends/cpu_attn.py": { + "path": "/vllm/v1/attention/backends/cpu_attn.py", + "sha256": "76fb02a6bd725125565d84bf04f627cf16da5f7ff8f31f87c01ed6a1439398c7" + }, + "vllm/v1/attention/backends/fa_utils.py": { + "path": "/vllm/v1/attention/backends/fa_utils.py", + "sha256": "08fa6e231d3af3a71a6e59162dd12328aa8beb28548165ae58f130a92adb5a83" + }, + "vllm/v1/attention/backends/flash_attn.py": { + "path": "/vllm/v1/attention/backends/flash_attn.py", + "sha256": "b170a4789e18104c1bee35bea70df51abe6766693d8f4726a59f2e6f5c4282aa" + }, + "vllm/v1/attention/backends/flash_attn_diffkv.py": { + "path": "/vllm/v1/attention/backends/flash_attn_diffkv.py", + "sha256": "e4627c88c3ba8caee260540e994cc8137fd2ff7cd7813356b36387c6c88ce30a" + }, + "vllm/v1/attention/backends/flashinfer.py": { + "path": "/vllm/v1/attention/backends/flashinfer.py", + "sha256": "8ee541fde43ed92a417b3f01ea1e6fc64af8ab2eb54cbfc28308a49aaca4ed7f" + }, + "vllm/v1/attention/backends/flex_attention.py": { + "path": "/vllm/v1/attention/backends/flex_attention.py", + "sha256": "ad07f0ad73aeeadc3534b3a05c14f88a62cb3638874239ae9823c49b36276dc3" + }, + "vllm/v1/attention/backends/gdn_attn.py": { + "path": "/vllm/v1/attention/backends/gdn_attn.py", + "sha256": "3831019404a92200a38b43571c040cffeb6638bbdc71e4cb5e680dbc6c93d054" + }, + "vllm/v1/attention/backends/hpc_attn.py": { + "path": "/vllm/v1/attention/backends/hpc_attn.py", + "sha256": "af9e2aec1b498f0ee48a2dce3cf5646edf1976466980b2fd927c0e82b875427c" + }, + "vllm/v1/attention/backends/linear_attn.py": { + "path": "/vllm/v1/attention/backends/linear_attn.py", + "sha256": "bc42144fcd027434c6a10dc9f4c5f991db8899d387af5f6485402ce097eb0513" + }, + "vllm/v1/attention/backends/mamba1_attn.py": { + "path": "/vllm/v1/attention/backends/mamba1_attn.py", + "sha256": "32159dae11cab3c8c576b9514ad97d5108c8d1b4cac9fcfe345ec6a76223aee7" + }, + "vllm/v1/attention/backends/mamba2_attn.py": { + "path": "/vllm/v1/attention/backends/mamba2_attn.py", + "sha256": "a5bcdecb7b9547137023e1c77a386003358fa940eaf5f319ed142211dcdba139" + }, + "vllm/v1/attention/backends/mamba_attn.py": { + "path": "/vllm/v1/attention/backends/mamba_attn.py", + "sha256": "5e7b2c4058fc5e6096d001bff6c789b78368b025bbe4600f191aaca2ff59b59f" + }, + "vllm/v1/attention/backends/mla/__init__.py": { + "path": "/vllm/v1/attention/backends/mla/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backends/mla/aiter_triton_mla.py": { + "path": "/vllm/v1/attention/backends/mla/aiter_triton_mla.py", + "sha256": "ed0e285cdae06a019150c41cc958b3c0b5ceb0e4f299d5318d1c90e2c2395390" + }, + "vllm/v1/attention/backends/mla/amx_mla.py": { + "path": "/vllm/v1/attention/backends/mla/amx_mla.py", + "sha256": "7f5cddec30b2dfe22ccdbd3b9da673c879719bf6da4074317bd60add55f5d15f" + }, + "vllm/v1/attention/backends/mla/compressor_utils.py": { + "path": "/vllm/v1/attention/backends/mla/compressor_utils.py", + "sha256": "3589e94105368ea285c40b82db1a0332682ff5d071fe363627cf4c0d10f3facf" + }, + "vllm/v1/attention/backends/mla/cpu_mla.py": { + "path": "/vllm/v1/attention/backends/mla/cpu_mla.py", + "sha256": "ff2110b9f78e92adf6bab294465cbc294ae1ff71cb1780fed158179e134a4ca6" + }, + "vllm/v1/attention/backends/mla/cutlass_mla.py": { + "path": "/vllm/v1/attention/backends/mla/cutlass_mla.py", + "sha256": "211d298680f9bd793cc468281b316d6633c5f4eb6dcec71d3329b034a23ab9b5" + }, + "vllm/v1/attention/backends/mla/flashattn_mla.py": { + "path": "/vllm/v1/attention/backends/mla/flashattn_mla.py", + "sha256": "ac89e0ad75a37e92566d264bafe324735a80f9ab4709241a4454d17b3d38bb63" + }, + "vllm/v1/attention/backends/mla/flashattn_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashattn_mla_sparse.py", + "sha256": "67dd3ead2e8b9d8cda0825ecc93779cb7d670628bc741c759a7d3cd5d474030f" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla.py", + "sha256": "0c24ff016fb6b0bb41d9e7484b6f1af42f37bcc384ed613473fc3e01ad25f664" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse.py", + "sha256": "2116d965b2067134d8afa5878d4d16c0149b061258f50c4106d993aa13b073cc" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm120.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm120.py", + "sha256": "102ca08793d567f95598eefeb34c3f6ec50b3b9d704f162d1402b97b12b5777b" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm90.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm90.py", + "sha256": "df9fe4970aa3f53cf24784b8534b89e0101a2ca20a35a2ebbc9a12a4463d5993" + }, + "vllm/v1/attention/backends/mla/flashmla.py": { + "path": "/vllm/v1/attention/backends/mla/flashmla.py", + "sha256": "c9d8046a853ecbdeff9ebfc738f5bb34c4f272b278231a09a0fbf73708c7c188" + }, + "vllm/v1/attention/backends/mla/flashmla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashmla_sparse.py", + "sha256": "7a379c717adb9667ce94cbc16c0e3a1fb22a169713db6d7941c141fa84077b3f" + }, + "vllm/v1/attention/backends/mla/index_group.py": { + "path": "/vllm/v1/attention/backends/mla/index_group.py", + "sha256": "c24e028c3c160a9bb92e043da5b5b34c805e84745b7c4b8da6fb8702a0ddd641" + }, + "vllm/v1/attention/backends/mla/indexer.py": { + "path": "/vllm/v1/attention/backends/mla/indexer.py", + "sha256": "2acbc1c4fa57c3424ad95e6ecbe76eb7141747773c3e867ce704f4adccba892a" + }, + "vllm/v1/attention/backends/mla/prefill/__init__.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/__init__.py", + "sha256": "903630eb705dd175bf4ae4558a4bcaa07c110056b6a11eb830fdd2fb21b3c48a" + }, + "vllm/v1/attention/backends/mla/prefill/aiter_flash_attn.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/aiter_flash_attn.py", + "sha256": "571b8a9910c4ea3fefda60659026f3bf0d7b542c34553c8c9a4d43bb82077e61" + }, + "vllm/v1/attention/backends/mla/prefill/base.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/base.py", + "sha256": "138bf3ddaf5a94c3cdbc4e08ac676edcae84b32fc76625e546f3b47f7d8b82ec" + }, + "vllm/v1/attention/backends/mla/prefill/cpu_sdpa.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/cpu_sdpa.py", + "sha256": "1bb686395274a8ec0d9fd7327410a527655fe060cbbc263eab138fea988d96de" + }, + "vllm/v1/attention/backends/mla/prefill/flash_attn.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/flash_attn.py", + "sha256": "5e648c82c82e5f81fe11458eb82b9f90b50fc06df2ade3bf111ee6b7a2ee8481" + }, + "vllm/v1/attention/backends/mla/prefill/flashinfer.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/flashinfer.py", + "sha256": "63861219c35b8abc0ebe01e1f51543c5ed40bd46119ca261d927da7c6826b49b" + }, + "vllm/v1/attention/backends/mla/prefill/registry.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/registry.py", + "sha256": "c8c30b92213d594beaa3cab4d5003da26a85870dbb11d1ab73191962d0645b53" + }, + "vllm/v1/attention/backends/mla/prefill/selector.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/selector.py", + "sha256": "101d9fca7924b0c5d7891a17fe8942611bd6759e32b03a571dc87b14c1430f2f" + }, + "vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py", + "sha256": "047cf07bfcc83db3b11a6a54ffe189f6146e6ec9ad33ce2fa7d18860bf4210f0" + }, + "vllm/v1/attention/backends/mla/prefill/trtllm_ragged.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/trtllm_ragged.py", + "sha256": "9e13ea6f6a25accedd918c0de64bbb812ccb20ffb95350ab018a6e76d493789b" + }, + "vllm/v1/attention/backends/mla/rocm_aiter_mla.py": { + "path": "/vllm/v1/attention/backends/mla/rocm_aiter_mla.py", + "sha256": "b489f5830c655bfb6299801a70d69b9821513c69568ecab3689db5a7be867be5" + }, + "vllm/v1/attention/backends/mla/rocm_aiter_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/rocm_aiter_mla_sparse.py", + "sha256": "91b1d9b3d860a9720bc01b8ebe9bbe8649a7d6bca20d4b63939bc100309bca19" + }, + "vllm/v1/attention/backends/mla/sparse_swa.py": { + "path": "/vllm/v1/attention/backends/mla/sparse_swa.py", + "sha256": "a47853ad8a3fe40f24704592581ea323a18041b84610df010a5534da634e311e" + }, + "vllm/v1/attention/backends/mla/sparse_utils.py": { + "path": "/vllm/v1/attention/backends/mla/sparse_utils.py", + "sha256": "c3cdf060288c05542243a9fe8b5ad3a963ad75e9ce399009b5e45c1235a88ce4" + }, + "vllm/v1/attention/backends/mla/tokenspeed_mla.py": { + "path": "/vllm/v1/attention/backends/mla/tokenspeed_mla.py", + "sha256": "b9ba523c606430cecb99a88b28c53d98a99dcf5e76105a80664338110a20f1ad" + }, + "vllm/v1/attention/backends/mla/triton_mla.py": { + "path": "/vllm/v1/attention/backends/mla/triton_mla.py", + "sha256": "21b16b3b34470edcc33d0423e560837c1d37d4bab31c7b3b9cfd7faa47864b51" + }, + "vllm/v1/attention/backends/mla/xpu_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/xpu_mla_sparse.py", + "sha256": "559c6240fe466521a6b2df4c94aea02ddf3f5efa5ba6954fa180c5a51c0f12d2" + }, + "vllm/v1/attention/backends/recoverssm_metadata.py": { + "path": "/vllm/v1/attention/backends/recoverssm_metadata.py", + "sha256": "02896a667db0f0308371ceb50048b18e5866c0235d163c0357e9a05dcedb3394" + }, + "vllm/v1/attention/backends/registry.py": { + "path": "/vllm/v1/attention/backends/registry.py", + "sha256": "378e8ee78734bd8c8adbe287d4c0a4058dcbb553195a09fbcce00a3cc30adc29" + }, + "vllm/v1/attention/backends/rocm_aiter_fa.py": { + "path": "/vllm/v1/attention/backends/rocm_aiter_fa.py", + "sha256": "d1418af03bf58209c850f466b712d3ea22a14ebb758c42dd43e65738281841fd" + }, + "vllm/v1/attention/backends/rocm_aiter_unified_attn.py": { + "path": "/vllm/v1/attention/backends/rocm_aiter_unified_attn.py", + "sha256": "59d2645eb4c91dc0567754a7163d066f4f2faf48f1957b254fcdd5604e9d8c8c" + }, + "vllm/v1/attention/backends/rocm_attn.py": { + "path": "/vllm/v1/attention/backends/rocm_attn.py", + "sha256": "4a8f57067073fbceb784af6c3467487c450d00fa3957928fadb99a79f6036292" + }, + "vllm/v1/attention/backends/short_conv_attn.py": { + "path": "/vllm/v1/attention/backends/short_conv_attn.py", + "sha256": "84fc460ef2fbd09743b069bec0c14b39542af6c2254a403e37a048427e151121" + }, + "vllm/v1/attention/backends/triton_attn.py": { + "path": "/vllm/v1/attention/backends/triton_attn.py", + "sha256": "1057663d110e1d5229495a799027b27277c1eca325d5b6780fa2259afbf58a1a" + }, + "vllm/v1/attention/backends/triton_attn_diffkv.py": { + "path": "/vllm/v1/attention/backends/triton_attn_diffkv.py", + "sha256": "de0357eae005246642140f1ab8842ba5ed8bff5c84b18a6d3a7bbf409c578301" + }, + "vllm/v1/attention/backends/triton_flash_attn.py": { + "path": "/vllm/v1/attention/backends/triton_flash_attn.py", + "sha256": "176e45329aeb28a2008362bb607d1b8c89816eb665859ab908b0385a11acf1c2" + }, + "vllm/v1/attention/backends/triton_flashinfer.py": { + "path": "/vllm/v1/attention/backends/triton_flashinfer.py", + "sha256": "48d5f967e388d4e8d6bbec8d827b44d855346bc2fada28adf65768bf6623527b" + }, + "vllm/v1/attention/backends/turboquant_attn.py": { + "path": "/vllm/v1/attention/backends/turboquant_attn.py", + "sha256": "616d16d608d9d1fbf6c29548037e7e9cf330f4d36a01aa3ffabf42a731eb6e2b" + }, + "vllm/v1/attention/backends/utils.py": { + "path": "/vllm/v1/attention/backends/utils.py", + "sha256": "fbc221360d2d54cb21ef3f625dc8711500de345a355801548b4337bb9b8abee0" + }, + "vllm/v1/attention/ops/__init__.py": { + "path": "/vllm/v1/attention/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/ops/chunked_prefill_paged_decode.py": { + "path": "/vllm/v1/attention/ops/chunked_prefill_paged_decode.py", + "sha256": "973db848a790b2e8d99e728b2fc4f44b501bbe58c62747244ddff04cfcf11a85" + }, + "vllm/v1/attention/ops/common.py": { + "path": "/vllm/v1/attention/ops/common.py", + "sha256": "b4b67e7fc0cce471e337d742c097fba06da7563816e8799e27719714e31e1d5b" + }, + "vllm/v1/attention/ops/cp_common.py": { + "path": "/vllm/v1/attention/ops/cp_common.py", + "sha256": "2369181862e96db64b14ef20c5c2e249ed2ea5f3dea2467a2aa388372bb86d9d" + }, + "vllm/v1/attention/ops/dcp.py": { + "path": "/vllm/v1/attention/ops/dcp.py", + "sha256": "a478bdc781460f0582cfaf74d6431f1a826c201f02f39d882d12a96139bc3f28" + }, + "vllm/v1/attention/ops/flashmla.py": { + "path": "/vllm/v1/attention/ops/flashmla.py", + "sha256": "8a40d6e120e3ab25a95fcfeb32b0b5b4c1ea02b984633866628536dcd26ed2e8" + }, + "vllm/v1/attention/ops/flydsl_kernels/__init__.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/attention/ops/flydsl_kernels/tq_decode.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/tq_decode.py", + "sha256": "cc4b7f82897596e0974b3d3a710a1a8bc58c3d22b72cc7f461dd1c4acd2e451b" + }, + "vllm/v1/attention/ops/flydsl_kernels/tq_decode_gqa6.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/tq_decode_gqa6.py", + "sha256": "a983f6d375c325900955e11696dab1e2665770e83f84d51f93d3ed5e1d8880e0" + }, + "vllm/v1/attention/ops/flydsl_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/flydsl_turboquant_decode.py", + "sha256": "7b1dd0ef7c7fb28a6a8831759e00b939ab844d067657155cc11cf75532a22c63" + }, + "vllm/v1/attention/ops/int4_per_token_head.py": { + "path": "/vllm/v1/attention/ops/int4_per_token_head.py", + "sha256": "d91968f280cd8eaed7570ab255f0276b40e833e18a25066d371d9ca8149425f2" + }, + "vllm/v1/attention/ops/merge_attn_states.py": { + "path": "/vllm/v1/attention/ops/merge_attn_states.py", + "sha256": "ad08403d2843fc892f0b0b4b9f5fabb81884556f89f7170dca46ccef498a3539" + }, + "vllm/v1/attention/ops/metadata.py": { + "path": "/vllm/v1/attention/ops/metadata.py", + "sha256": "ca882b84c5aaefb1f77e4d8ea09a00103fbc53defa8671bba036c961c17fc760" + }, + "vllm/v1/attention/ops/paged_attn.py": { + "path": "/vllm/v1/attention/ops/paged_attn.py", + "sha256": "016a95f892ec751c86b37be1e12171bad9f0b4076bbf2219ff336f4e9c503653" + }, + "vllm/v1/attention/ops/pcp.py": { + "path": "/vllm/v1/attention/ops/pcp.py", + "sha256": "dadeff95fe2df2be8028baabeef01b0d2d628cd67de2176915e737ce096de3dd" + }, + "vllm/v1/attention/ops/prefix_prefill.py": { + "path": "/vllm/v1/attention/ops/prefix_prefill.py", + "sha256": "b08ad92db715fc03c11699de3de463d55e411f42f77548e06b41049a61de692f" + }, + "vllm/v1/attention/ops/rocm_aiter_mla_merge.py": { + "path": "/vllm/v1/attention/ops/rocm_aiter_mla_merge.py", + "sha256": "564c66e4877732e48a6f7d52405c43dc952eec0f0ae4353d34886bca056132b9" + }, + "vllm/v1/attention/ops/rocm_aiter_mla_sparse.py": { + "path": "/vllm/v1/attention/ops/rocm_aiter_mla_sparse.py", + "sha256": "feec664be5045fd1ba13b8f6ef83b52c96910ddc78baca0431bcf610c9e8f5cc" + }, + "vllm/v1/attention/ops/triton_attention_helpers.py": { + "path": "/vllm/v1/attention/ops/triton_attention_helpers.py", + "sha256": "35aa993d01345f535d2641cf9dcabb8b64c51b20a19707bc5987e616aaa87ddd" + }, + "vllm/v1/attention/ops/triton_decode_attention.py": { + "path": "/vllm/v1/attention/ops/triton_decode_attention.py", + "sha256": "b9823c65eba22d76abf64dad7d7d16a950f67471c86d6cb5b3e983aaf14381ac" + }, + "vllm/v1/attention/ops/triton_merge_attn_states.py": { + "path": "/vllm/v1/attention/ops/triton_merge_attn_states.py", + "sha256": "f63229162181ab93198550b73a115f1cc1034cfd60e6f58bc8ab3e22a6e8ce60" + }, + "vllm/v1/attention/ops/triton_prefill_attention.py": { + "path": "/vllm/v1/attention/ops/triton_prefill_attention.py", + "sha256": "352c1a4ac86146580040579fb217c2e288268830d6602b735713e154f36d74fe" + }, + "vllm/v1/attention/ops/triton_reshape_and_cache_flash.py": { + "path": "/vllm/v1/attention/ops/triton_reshape_and_cache_flash.py", + "sha256": "6cac51475b8c656992a21b2d150acd3a16a95a7ab7d49aab151a3ef13c24b80d" + }, + "vllm/v1/attention/ops/triton_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/triton_turboquant_decode.py", + "sha256": "8e52678136449e4bbca2195fbcbb87426c955a2b1b8422e7ab9511e45ee5f5c6" + }, + "vllm/v1/attention/ops/triton_turboquant_store.py": { + "path": "/vllm/v1/attention/ops/triton_turboquant_store.py", + "sha256": "6e6e2fe74a307d40f0be786ccbaea76d989e3c7b5985f3144a5218c61bf6d902" + }, + "vllm/v1/attention/ops/triton_unified_attention.py": { + "path": "/vllm/v1/attention/ops/triton_unified_attention.py", + "sha256": "65d0fbcf33d00789df8ca688c0a1c908e710cfaef53471178747ecae11f05829" + }, + "vllm/v1/attention/ops/triton_unified_attention_diffkv.py": { + "path": "/vllm/v1/attention/ops/triton_unified_attention_diffkv.py", + "sha256": "7fa36d7b7441f1c396e0348eac61d691d2e459e5c4c393c4aa262dfb670e68f7" + }, + "vllm/v1/attention/ops/turboquant_soa/__init__.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/__init__.py", + "sha256": "6b43b6fcb2a71c44ceff4ed1edd417a839f4901251ba15831b09ad979baa4984" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode.py", + "sha256": "bf00634191bba14cbf4a23c1d67dc3dcb244c2b8989f08362757b54435830986" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode_v2.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode_v2.py", + "sha256": "28e7ecc15c450d3591983a50c46a03aa6ca6fa99304c17c333940617d9916485" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_store.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_store.py", + "sha256": "dccf93b9fdd34f9b9eacd468e9de35b9d93378594487c335cf50642aaec681f2" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_unified_attention.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_unified_attention.py", + "sha256": "b4b2b5f3985b3a6126fd052e6ec1ed91c610da8a525a9ae7470ac829405bd85c" + }, + "vllm/v1/attention/ops/vit_attn_wrappers.py": { + "path": "/vllm/v1/attention/ops/vit_attn_wrappers.py", + "sha256": "a99d57b58269c7521fa5d7d47af06551f3bab2b5c7358ef78165a7f6e20a92a6" + }, + "vllm/v1/attention/ops/xpu_mla_sparse.py": { + "path": "/vllm/v1/attention/ops/xpu_mla_sparse.py", + "sha256": "d98d17110577c2b7b4d05e07bfdae15faf83321b6342a5daaaecce45b9503f38" + }, + "vllm/v1/attention/selector.py": { + "path": "/vllm/v1/attention/selector.py", + "sha256": "87f653ded7974875183c920e3e4589c28116bcbc99714d1da7cb51ae77c0b182" + }, + "vllm/v1/core/sched/__init__.py": { + "path": "/vllm/v1/core/sched/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/core/sched/async_scheduler.py": { + "path": "/vllm/v1/core/sched/async_scheduler.py", + "sha256": "e586a0ef3c6778be56a93e7f9bb712d4de9de6e7d7fe7e3e1d51dae83ecfc508" + }, + "vllm/v1/core/sched/interface.py": { + "path": "/vllm/v1/core/sched/interface.py", + "sha256": "be6c008664096c5660a8879de72b315bbe479bf1d688be9b25891063ec53a367" + }, + "vllm/v1/core/sched/output.py": { + "path": "/vllm/v1/core/sched/output.py", + "sha256": "3a66c8efaefe10c572f6f33cf1f8aa4610758c945130cad62eb9f7331005677c" + }, + "vllm/v1/core/sched/request_queue.py": { + "path": "/vllm/v1/core/sched/request_queue.py", + "sha256": "4b8d938e5fb8152fe61030b8aa991f983fcac9a405c37ed8908045e05e82ae5e" + }, + "vllm/v1/core/sched/scheduler.py": { + "path": "/vllm/v1/core/sched/scheduler.py", + "sha256": "c1db45f3bbad3a875dd8638331b8870c4380ac1ab4734265ba5c863833a82884" + }, + "vllm/v1/core/sched/utils.py": { + "path": "/vllm/v1/core/sched/utils.py", + "sha256": "1ed988044eb8028c77ede875bd1a5fd05ff6998b455d61e3997d6a3d7fc1c3a7" + }, + "vllm/v1/sample/__init__.py": { + "path": "/vllm/v1/sample/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/sample/logits_processor/__init__.py": { + "path": "/vllm/v1/sample/logits_processor/__init__.py", + "sha256": "1f9b02dae8cf6d44484638037123d3a2dec6b7b9a2bcc9afceef1a9bf3eaedec" + }, + "vllm/v1/sample/logits_processor/builtin.py": { + "path": "/vllm/v1/sample/logits_processor/builtin.py", + "sha256": "6105816ece77e5b1dbee0d07abc90ce039d650bac2ddb85c93280c48b00f2ebe" + }, + "vllm/v1/sample/logits_processor/interface.py": { + "path": "/vllm/v1/sample/logits_processor/interface.py", + "sha256": "171dfc6ef9b5b53128e8eaecc4bdf1de413a706d64bf5be686048f583c66eee1" + }, + "vllm/v1/sample/logits_processor/state.py": { + "path": "/vllm/v1/sample/logits_processor/state.py", + "sha256": "a96411f14362c45f839e181dcb3ac01d5b880812bccb3552fc17863b219f44ac" + }, + "vllm/v1/sample/metadata.py": { + "path": "/vllm/v1/sample/metadata.py", + "sha256": "6582cfe1a240c7ddb975f0ef6dd7dcd28dcf0fc7670394390250013977aa7ffd" + }, + "vllm/v1/sample/ops/__init__.py": { + "path": "/vllm/v1/sample/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/sample/ops/bad_words.py": { + "path": "/vllm/v1/sample/ops/bad_words.py", + "sha256": "0b1d0a9b13b92ddcae2c83393c07a34c0f107813725700dee794caa7fe7f3b12" + }, + "vllm/v1/sample/ops/logprobs.py": { + "path": "/vllm/v1/sample/ops/logprobs.py", + "sha256": "b286f69012a6758bfe9250038b0697294dbffe0d32c6906f284c39f75ee48be3" + }, + "vllm/v1/sample/ops/penalties.py": { + "path": "/vllm/v1/sample/ops/penalties.py", + "sha256": "4debfcf247b3887478d2b9ec98f108756bbed2805462777ef6b56f3bdf4ce682" + }, + "vllm/v1/sample/ops/topk_topp_sampler.py": { + "path": "/vllm/v1/sample/ops/topk_topp_sampler.py", + "sha256": "13ea4359832bc914492330958ec4f5ac140f408b8f410cc05c6eaf7ddcd70be4" + }, + "vllm/v1/sample/ops/topk_topp_triton.py": { + "path": "/vllm/v1/sample/ops/topk_topp_triton.py", + "sha256": "0b5fc337058e22bc28a8530ccec904d6ccd89b9548b02955c657ac429b1669d2" + }, + "vllm/v1/sample/rejection_sampler.py": { + "path": "/vllm/v1/sample/rejection_sampler.py", + "sha256": "0bb9d224887ccb1355e16199005cc23a4afc6fa75156eca419851b7247d99750" + }, + "vllm/v1/sample/sampler.py": { + "path": "/vllm/v1/sample/sampler.py", + "sha256": "f95805b2c6d06218c724826aa5f881a606e8d0a534a566aee7c85948520dd216" + }, + "vllm/v1/sample/thinking_budget_state.py": { + "path": "/vllm/v1/sample/thinking_budget_state.py", + "sha256": "962f8f55210eb0a431cb9c78b013e35f7a7dd58d06d6fb2e7fcff1b457356f8e" + }, + "vllm/v1/worker/__init__.py": { + "path": "/vllm/v1/worker/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/block_table.py": { + "path": "/vllm/v1/worker/block_table.py", + "sha256": "a09b8819e1417b7a186cf3472224e2138fc5d41a291c6692bb7df711b0c44259" + }, + "vllm/v1/worker/cp_utils.py": { + "path": "/vllm/v1/worker/cp_utils.py", + "sha256": "e32625d83a641b8dd8df82e92d1b6fb20af0cdf2e8fbd2fb131aa3c215415448" + }, + "vllm/v1/worker/cpu/__init__.py": { + "path": "/vllm/v1/worker/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/cpu/buffer_utils.py": { + "path": "/vllm/v1/worker/cpu/buffer_utils.py", + "sha256": "e7313fd8c2c76ebfb98d2fa53008bc9691d0f83a7d7c05e87602b5a29fb79e04" + }, + "vllm/v1/worker/cpu/model_runner.py": { + "path": "/vllm/v1/worker/cpu/model_runner.py", + "sha256": "24a1c916550051327dd5893243a6d4200f3824b91b3af8aa6f6c793fd7c68c3e" + }, + "vllm/v1/worker/cpu/shm.py": { + "path": "/vllm/v1/worker/cpu/shm.py", + "sha256": "08491af8ad341399d1375f2d21ad00414d4c89b0a5c03f55de8704914bbfcbd9" + }, + "vllm/v1/worker/cpu_model_runner.py": { + "path": "/vllm/v1/worker/cpu_model_runner.py", + "sha256": "92111aba92f00571f1a3c4c6e43cf1da6ccb4d2afac2f4d5abc018a4a6e7e8bd" + }, + "vllm/v1/worker/cpu_worker.py": { + "path": "/vllm/v1/worker/cpu_worker.py", + "sha256": "a8051b9e510ef0af9cc34004f2cbe5c0f902bd0cebc32c9464e744344dfdf849" + }, + "vllm/v1/worker/dp_utils.py": { + "path": "/vllm/v1/worker/dp_utils.py", + "sha256": "8cd19f1bfbc5c4f6ec60df89aea7c8a19b400ebc264f372b103014152e92158c" + }, + "vllm/v1/worker/ec_connector_model_runner_mixin.py": { + "path": "/vllm/v1/worker/ec_connector_model_runner_mixin.py", + "sha256": "fe9b11cebb8562f1bfe98b98a5647b2b081a6e424cb60d4ffe2412c91a99215e" + }, + "vllm/v1/worker/encoder_cudagraph.py": { + "path": "/vllm/v1/worker/encoder_cudagraph.py", + "sha256": "6a08d3779bca1b47dbf9daf6eafe2d3c70dbcb8aeb7d63ba7efacc68241ee3bc" + }, + "vllm/v1/worker/encoder_cudagraph_defs.py": { + "path": "/vllm/v1/worker/encoder_cudagraph_defs.py", + "sha256": "bb7be050fcaa8868e7816c84caec875da57050d65fe7eaf00f3d41473df25e3a" + }, + "vllm/v1/worker/gpu/__init__.py": { + "path": "/vllm/v1/worker/gpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/async_utils.py": { + "path": "/vllm/v1/worker/gpu/async_utils.py", + "sha256": "77e17a4570ead2be30ae9b00888cf077a3b873018c12ca0549b853bfda02c1ba" + }, + "vllm/v1/worker/gpu/attn_utils.py": { + "path": "/vllm/v1/worker/gpu/attn_utils.py", + "sha256": "b9b81e59dda2720b1f9c434471381f879228832443e52756e469b4ad4905888f" + }, + "vllm/v1/worker/gpu/block_table.py": { + "path": "/vllm/v1/worker/gpu/block_table.py", + "sha256": "61c004315d5af7e7eae4e2a9e6be92ea82c520327690a7f55a73bb9ce95f520a" + }, + "vllm/v1/worker/gpu/buffer_utils.py": { + "path": "/vllm/v1/worker/gpu/buffer_utils.py", + "sha256": "6597f701a30261bf250e9ad5a29737264624a1caa20527aeea0dad630325b093" + }, + "vllm/v1/worker/gpu/cp_utils.py": { + "path": "/vllm/v1/worker/gpu/cp_utils.py", + "sha256": "456c1bb7e262d99ff555522a4f134e5a9b42aee23290be25455eaef36ee8eaaf" + }, + "vllm/v1/worker/gpu/cudagraph_utils.py": { + "path": "/vllm/v1/worker/gpu/cudagraph_utils.py", + "sha256": "6e9c042890603535e300a40df8ee159dbed1058a64a83ae50ff0329e332e05ff" + }, + "vllm/v1/worker/gpu/dp_utils.py": { + "path": "/vllm/v1/worker/gpu/dp_utils.py", + "sha256": "e26867bc89e6bfc933cabc5ed13e5dc7b8d2d3030118ca1ca64c8785dabc0fc1" + }, + "vllm/v1/worker/gpu/ec_connector.py": { + "path": "/vllm/v1/worker/gpu/ec_connector.py", + "sha256": "2afe6e641f4ae3eb3b8da336c74eaa7479bf617b27cfb39a1fcbe487686f0a08" + }, + "vllm/v1/worker/gpu/eplb_utils.py": { + "path": "/vllm/v1/worker/gpu/eplb_utils.py", + "sha256": "1829fac11464aed4649179b302df198de51b95d0589f4e56bea305a876a63e26" + }, + "vllm/v1/worker/gpu/input_batch.py": { + "path": "/vllm/v1/worker/gpu/input_batch.py", + "sha256": "d5dd956eb319bd69dd9e762047833d81ad40b21fce619fcb2133759e73620694" + }, + "vllm/v1/worker/gpu/kv_connector.py": { + "path": "/vllm/v1/worker/gpu/kv_connector.py", + "sha256": "b89a4333f1e552d86e1815674b59e9f1335f0f49c0a7b46082439076f62c6a81" + }, + "vllm/v1/worker/gpu/lora_utils.py": { + "path": "/vllm/v1/worker/gpu/lora_utils.py", + "sha256": "1e90eddd9ddb4ca55e574bb28e87ae3a6f6750175a62d373102426543f4ccd66" + }, + "vllm/v1/worker/gpu/metrics/__init__.py": { + "path": "/vllm/v1/worker/gpu/metrics/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/metrics/logits.py": { + "path": "/vllm/v1/worker/gpu/metrics/logits.py", + "sha256": "ea058d7510a077a55f8ac7e4c3d596508346244e908cb372865d7159f62edc89" + }, + "vllm/v1/worker/gpu/mm/__init__.py": { + "path": "/vllm/v1/worker/gpu/mm/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/mm/encoder_cache.py": { + "path": "/vllm/v1/worker/gpu/mm/encoder_cache.py", + "sha256": "89c500338fddbeee7c4fca978a3a7c4c566a03e848e399d303fbee3c80631cd2" + }, + "vllm/v1/worker/gpu/mm/encoder_runner.py": { + "path": "/vllm/v1/worker/gpu/mm/encoder_runner.py", + "sha256": "0981e352d70301b7154a217a48665ffe35f215d053ec5740c2515a3e1e11b4e6" + }, + "vllm/v1/worker/gpu/mm/lora.py": { + "path": "/vllm/v1/worker/gpu/mm/lora.py", + "sha256": "a3eddfad6ad64de276964240c28dc080888df4a56dd5eac18f89428f2cbb7a01" + }, + "vllm/v1/worker/gpu/mm/rope.py": { + "path": "/vllm/v1/worker/gpu/mm/rope.py", + "sha256": "0924375bcb367267e783b57dd2ad9de1189d97025ce4313baaa54f2911eaaf1e" + }, + "vllm/v1/worker/gpu/model_runner.py": { + "path": "/vllm/v1/worker/gpu/model_runner.py", + "sha256": "174c93db921c23cf0396eee4764be25b2bd2d4b6a06e9fa41ce3598b884ce8ce" + }, + "vllm/v1/worker/gpu/model_states/__init__.py": { + "path": "/vllm/v1/worker/gpu/model_states/__init__.py", + "sha256": "07815d0b788fc88185772f581bbf892a675259f9288375571f29887622f8d93c" + }, + "vllm/v1/worker/gpu/model_states/default.py": { + "path": "/vllm/v1/worker/gpu/model_states/default.py", + "sha256": "bb614f814780f052e869f9acf31dfbfa68718ee7dc6252eefa901b5730ee8a2a" + }, + "vllm/v1/worker/gpu/model_states/encoder_decoder.py": { + "path": "/vllm/v1/worker/gpu/model_states/encoder_decoder.py", + "sha256": "a5868059d8af672548b41d0e623e884320e6ed61e6aaca2d2828ff5be0356f2f" + }, + "vllm/v1/worker/gpu/model_states/encoder_only.py": { + "path": "/vllm/v1/worker/gpu/model_states/encoder_only.py", + "sha256": "84e96b55a2639e2a73fa4a0308acc89c8d053dc715481180b237e0196dcef99f" + }, + "vllm/v1/worker/gpu/model_states/interface.py": { + "path": "/vllm/v1/worker/gpu/model_states/interface.py", + "sha256": "5675b6fedc7403a9ab410b1e5565974e78fac23c42ab4253ae1da52d6e09b594" + }, + "vllm/v1/worker/gpu/model_states/mamba_hybrid.py": { + "path": "/vllm/v1/worker/gpu/model_states/mamba_hybrid.py", + "sha256": "573e130ac5587d4822fabf97adad1ad0fda02ff83c5e70df879a5bb175ae845c" + }, + "vllm/v1/worker/gpu/model_states/mm_pruning.py": { + "path": "/vllm/v1/worker/gpu/model_states/mm_pruning.py", + "sha256": "b150940b12ae76048f050a8eeb54d532bbdc530a18ffbf320ddeeb0cfaa90f93" + }, + "vllm/v1/worker/gpu/model_states/prompt_embeds.py": { + "path": "/vllm/v1/worker/gpu/model_states/prompt_embeds.py", + "sha256": "11f9e270925c2df6a505557605ac2b859bb145cf3420b0111e7482a1c544f9b1" + }, + "vllm/v1/worker/gpu/model_states/recoverssm.py": { + "path": "/vllm/v1/worker/gpu/model_states/recoverssm.py", + "sha256": "b4b660e62eaf33f4fe8271f83ed1fb6de6bc08f800a8073b27803e42fb29a645" + }, + "vllm/v1/worker/gpu/pcp_manager.py": { + "path": "/vllm/v1/worker/gpu/pcp_manager.py", + "sha256": "2d80df0ed5b18a2069f9d0689cb59923ffe324ba200fcafe242da23da3a6ddaa" + }, + "vllm/v1/worker/gpu/pool/__init__.py": { + "path": "/vllm/v1/worker/gpu/pool/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/pool/pooling_runner.py": { + "path": "/vllm/v1/worker/gpu/pool/pooling_runner.py", + "sha256": "f8463f7648cce0f3f29418a4d9fee61634ead760957cf236d06d61cf8cd986e7" + }, + "vllm/v1/worker/gpu/pp_utils.py": { + "path": "/vllm/v1/worker/gpu/pp_utils.py", + "sha256": "dadeef0bebf61d0ad44a28d06372208ec4e6389224d6017f412683b026bdbb5c" + }, + "vllm/v1/worker/gpu/sample/__init__.py": { + "path": "/vllm/v1/worker/gpu/sample/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/sample/bad_words.py": { + "path": "/vllm/v1/worker/gpu/sample/bad_words.py", + "sha256": "8d3cbd5613398260314d94739d8ee0e1ac0c22abf2f960f541d3c0d4e39d360b" + }, + "vllm/v1/worker/gpu/sample/batch_shard.py": { + "path": "/vllm/v1/worker/gpu/sample/batch_shard.py", + "sha256": "c30274a3a04e6a03e89be9cd7c62de602b1aba4d412f64540ab6201036de3928" + }, + "vllm/v1/worker/gpu/sample/gumbel.py": { + "path": "/vllm/v1/worker/gpu/sample/gumbel.py", + "sha256": "3ec1df510bdad13e8b0a457b5b67c98affdf6e57369e56cb471246cc8f40dd34" + }, + "vllm/v1/worker/gpu/sample/logit_bias.py": { + "path": "/vllm/v1/worker/gpu/sample/logit_bias.py", + "sha256": "9e80a3fe6f3c7474723408cfff52183f4585fdeedd9c2312843ee98d0b12724c" + }, + "vllm/v1/worker/gpu/sample/logprob.py": { + "path": "/vllm/v1/worker/gpu/sample/logprob.py", + "sha256": "f47479a818192acb6b297c79fa67a3b2f9820e3492a394d5adda777e9b7c832e" + }, + "vllm/v1/worker/gpu/sample/min_p.py": { + "path": "/vllm/v1/worker/gpu/sample/min_p.py", + "sha256": "4cb5e2f45e1ced6f9685283a7a5c8cfd7204d9a249822e866cfff756c7f04f62" + }, + "vllm/v1/worker/gpu/sample/output.py": { + "path": "/vllm/v1/worker/gpu/sample/output.py", + "sha256": "d6e298c0f197d487a8faaf7200f500fa83df1d7a4bbf4339cadd6a18008f7f9c" + }, + "vllm/v1/worker/gpu/sample/penalties.py": { + "path": "/vllm/v1/worker/gpu/sample/penalties.py", + "sha256": "46c29434caf5f415129ef4a9bb2b8d4f62d2765596e3e07f73ad2b198c7def1b" + }, + "vllm/v1/worker/gpu/sample/prompt_logprob.py": { + "path": "/vllm/v1/worker/gpu/sample/prompt_logprob.py", + "sha256": "4cf22d390e7bf59e44c458cff7180268db63e95d06af2f1e14d720a2d77c9663" + }, + "vllm/v1/worker/gpu/sample/sampler.py": { + "path": "/vllm/v1/worker/gpu/sample/sampler.py", + "sha256": "832c9945d201a1e730ff9b4b52076aa83bd4a5064e1e4cfea952cf84d4a8d1f0" + }, + "vllm/v1/worker/gpu/sample/states.py": { + "path": "/vllm/v1/worker/gpu/sample/states.py", + "sha256": "4e3671f93695ba5a48fad7d2d13beb231ac8741034904ed5a15d9f7b9b86662e" + }, + "vllm/v1/worker/gpu/sample/thinking_budget.py": { + "path": "/vllm/v1/worker/gpu/sample/thinking_budget.py", + "sha256": "020513e1d3406f367de6ad995a95055008fd0c28f2873647e8283c9870e22404" + }, + "vllm/v1/worker/gpu/sample/trace_replay.py": { + "path": "/vllm/v1/worker/gpu/sample/trace_replay.py", + "sha256": "d2a7d3b3b55379efabe4740a4b7f14030126dc11be36f6ea974164ce42316a50" + }, + "vllm/v1/worker/gpu/sample/watermark.py": { + "path": "/vllm/v1/worker/gpu/sample/watermark.py", + "sha256": "a3581458169dab9153eb09fd67218e0ee5585406537a9de80ad528ae62b030c0" + }, + "vllm/v1/worker/gpu/shutdown.py": { + "path": "/vllm/v1/worker/gpu/shutdown.py", + "sha256": "bb470f14b17c7e52571ef8938b2a9527e7c2846852ae8a3a94b69cd1c30aa4b1" + }, + "vllm/v1/worker/gpu/spec_decode/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/__init__.py", + "sha256": "1f1f84bfe6f4f5af3a7e21a7a8716ecf7b9013da1d03327668a3ee36afc24c32" + }, + "vllm/v1/worker/gpu/spec_decode/acceptance_estimator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/acceptance_estimator.py", + "sha256": "505b843bdd75928b03793b395b47b8be914bd7fe2a3351c8ec04339baeebb1c2" + }, + "vllm/v1/worker/gpu/spec_decode/adaptive_verification.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/adaptive_verification.py", + "sha256": "276b2fec56758a94c71b717f6786b8a6f126db2e20cf964350202feee61a0a39" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/cudagraph_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/cudagraph_utils.py", + "sha256": "13392ef0a9ed59eb9c2b2bad43d7c61beb212a8805849e46b5130c230275d0a5" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/speculator.py", + "sha256": "5b97f54e20ddf65b98e939832d050745f67ef43cfa145786da300f1a8322e3c6" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/cudagraph.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/cudagraph.py", + "sha256": "beab567ae2df6a2ba2cd92fe7ee452c6b959b8a7037a4b5f493993a1824619bb" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/speculator.py", + "sha256": "f9c100f42f9326e48eb84e89281897e859ba761943f54d593523555ccd98dc63" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/utils.py", + "sha256": "53d2c3ad474d290d2c6df027446bbd80ac7447684e5242ab2c3c5337d2abd383" + }, + "vllm/v1/worker/gpu/spec_decode/dflash2/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash2/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/dflash2/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash2/speculator.py", + "sha256": "b70043550938a1df9aecc85d8c8224c38c929ca34f68834572f6e723854d2027" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/speculator.py", + "sha256": "dcf4abdedbd2bddd0d76be198ccf5b4e467c46f645038c35fcab821491a35b03" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/utils.py", + "sha256": "86af2bf30604a184312e8f076097b91ecfec704f409f9d68d634b03d6b318070" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/eagle3_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/eagle3_utils.py", + "sha256": "201ee875fcc3d076a8fc1f3876dcbf85736b221a368555243a8987ff26a1674e" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/speculator.py", + "sha256": "746e318a4f266d75522ff7f3731ea9b4527b7b4824f71364d1a62184ea1f7b3d" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/utils.py", + "sha256": "94de6f55a1761f24f4aa1388cbc3b3763d4ab3ee53260330056ad31ce0b78236" + }, + "vllm/v1/worker/gpu/spec_decode/extract_hidden_states.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/extract_hidden_states.py", + "sha256": "93c4233be7b2d2290b33902ea9b3bb5274c11701830851d03967a22144536e2d" + }, + "vllm/v1/worker/gpu/spec_decode/gemma4/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/gemma4/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/gemma4/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/gemma4/speculator.py", + "sha256": "9991210d7babd2caf2cd10797ca8688543dedeafbc3b86bc7c979c1a6ae9f949" + }, + "vllm/v1/worker/gpu/spec_decode/mtp/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/mtp/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/mtp/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/mtp/speculator.py", + "sha256": "926d6c9ffdb368c971647911a60493820d056ce236fcae9d94a42fa2e006255d" + }, + "vllm/v1/worker/gpu/spec_decode/multi_module_mtp/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/multi_module_mtp/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/multi_module_mtp/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/multi_module_mtp/speculator.py", + "sha256": "d9d4735b9b33829332b0e845b6d3073b2f0436045ed693b25c6434f351644127" + }, + "vllm/v1/worker/gpu/spec_decode/rejection_sampler.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/rejection_sampler.py", + "sha256": "030db5bfca162cc1f305112f299de5d6d61c59d3ed0807fee46575441ca4086d" + }, + "vllm/v1/worker/gpu/spec_decode/rejection_sampler_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/rejection_sampler_utils.py", + "sha256": "214b61fa0abe88573beb779872c035b3954e5651a85bd438d99ee5905d3a62ec" + }, + "vllm/v1/worker/gpu/spec_decode/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/speculator.py", + "sha256": "3a1ab15bf8b20918852eb835fe9755046e99dcbac6ba6ca3d414949fc8bc695a" + }, + "vllm/v1/worker/gpu/spec_decode/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/utils.py", + "sha256": "282f2929eddae9ca7312269f799be07472334b6df9fd91878b5e839ec05e418c" + }, + "vllm/v1/worker/gpu/states.py": { + "path": "/vllm/v1/worker/gpu/states.py", + "sha256": "99418f5df43ca612ded72609fee011620b065b2cab2f249ccb387096bf4ae71a" + }, + "vllm/v1/worker/gpu/structured_outputs.py": { + "path": "/vllm/v1/worker/gpu/structured_outputs.py", + "sha256": "18a10532db7e66b55e334acacd1fd989ad6361adf31dd0de9a9a65e23db25951" + }, + "vllm/v1/worker/gpu/ubatch_utils.py": { + "path": "/vllm/v1/worker/gpu/ubatch_utils.py", + "sha256": "5092e2e58af0561c8dc12e62847cfc6dda9ca20dfbd33e7f0cd77a83fe87f7c5" + }, + "vllm/v1/worker/gpu/warmup.py": { + "path": "/vllm/v1/worker/gpu/warmup.py", + "sha256": "423ac32d58fe008c228cfa223e4fcebfcf87e3463a9dbdf80a083c0578d73723" + }, + "vllm/v1/worker/gpu_input_batch.py": { + "path": "/vllm/v1/worker/gpu_input_batch.py", + "sha256": "18cf455c9d0eea61cc581c7932f2e6cd09786914e82dd35eef1c1430da359a0f" + }, + "vllm/v1/worker/gpu_model_runner.py": { + "path": "/vllm/v1/worker/gpu_model_runner.py", + "sha256": "87c29d08c0bbf66993d8b984811e7325e35e6436242a773feb55ec88f16b2c51" + }, + "vllm/v1/worker/gpu_ubatch_wrapper.py": { + "path": "/vllm/v1/worker/gpu_ubatch_wrapper.py", + "sha256": "4233cfbe8c9884b042c4363890108f616483b694ebe9a6e69578dcf89c6dac5c" + }, + "vllm/v1/worker/gpu_worker.py": { + "path": "/vllm/v1/worker/gpu_worker.py", + "sha256": "6994436e4547c0996ab555b3e814e8ccea26b650dfc1b378b97d640745309347" + }, + "vllm/v1/worker/kv_connector_model_runner_mixin.py": { + "path": "/vllm/v1/worker/kv_connector_model_runner_mixin.py", + "sha256": "e1cc76d065a7e60aacddb190ae795a480b65cd02ba71a1fc699a02a85c1a3de2" + }, + "vllm/v1/worker/lora_model_runner_mixin.py": { + "path": "/vllm/v1/worker/lora_model_runner_mixin.py", + "sha256": "fef6092a15d8d37f6fa22495e6106e2e5280180908d61ce43d9ff5bf4eef3f2f" + }, + "vllm/v1/worker/mamba_utils.py": { + "path": "/vllm/v1/worker/mamba_utils.py", + "sha256": "23fdaa4e8f63ee8f938eaa1a2b39f803cb04fa6ecd69789563254b1a0691413a" + }, + "vllm/v1/worker/mm_encoder_model_runner.py": { + "path": "/vllm/v1/worker/mm_encoder_model_runner.py", + "sha256": "780c41be84ad022205c21c1decb6bb8d5afb03bc7be120c1f7df03b710acc3d7" + }, + "vllm/v1/worker/sentinel/__init__.py": { + "path": "/vllm/v1/worker/sentinel/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/sentinel/gpu_worker_sentinel.py": { + "path": "/vllm/v1/worker/sentinel/gpu_worker_sentinel.py", + "sha256": "3959b8619d052c5dd247815074e03ec21ec9b43cc424ff2d296abc19b227b852" + }, + "vllm/v1/worker/startup_plan.py": { + "path": "/vllm/v1/worker/startup_plan.py", + "sha256": "84bcbb4f7a9fd7c8d10c9c895aadd9673d44c767b9132368d11eb5e017afe86b" + }, + "vllm/v1/worker/ubatch_utils.py": { + "path": "/vllm/v1/worker/ubatch_utils.py", + "sha256": "b34dce551b5195c414e6a3a997c75961cc7a17f24c7c980487fe3d3e2ba7a798" + }, + "vllm/v1/worker/ubatching.py": { + "path": "/vllm/v1/worker/ubatching.py", + "sha256": "40391241c564feb5f16c77898ae6ae152ed6e71a4682e2a406387785d8de02d7" + }, + "vllm/v1/worker/utils.py": { + "path": "/vllm/v1/worker/utils.py", + "sha256": "0ca3ec6bf4d20076145b7fe64e564962adebedc8f75a856b517ba0b2f2d77acf" + }, + "vllm/v1/worker/worker_base.py": { + "path": "/vllm/v1/worker/worker_base.py", + "sha256": "4a1a5266b912fe97991d8dc89d92b923990da9f6cb4b817d00d52e9c0d26dd7c" + }, + "vllm/v1/worker/workspace.py": { + "path": "/vllm/v1/worker/workspace.py", + "sha256": "d21c08167d1d0d1c0cddaa80453a53a0b4dec5d81b5a537c94a21324344976b3" + }, + "vllm/v1/worker/xpu_model_runner.py": { + "path": "/vllm/v1/worker/xpu_model_runner.py", + "sha256": "07fa0390d28f2b8c3c3c0019eb9c3b126e2397aea268ba47c889f06b423deb23" + }, + "vllm/v1/worker/xpu_worker.py": { + "path": "/vllm/v1/worker/xpu_worker.py", + "sha256": "711b56432506b58041cd86e71320c3960413f7bd61061990b66488421d81cfc3" + } + }, + "prefix": "", + "pth": { + "/__editable__.megatron_core-0.16.0rc0.pth": "d55c9b64480b34aae3d4d31e7706b93391c969dec6e0498e50963b03445a57b0", + "/__editable__.rl_kernel-0.1.0.pth": "1454c4987b35762a0d189d4e901c5d077fde62a1944fbaabecea230e57f3923a", + "/__editable__.vime-0.3.2.pth": "77eec5d06d628cb952e65edd813ca88d8db67ccc785083e1b7b29011b92bec4f", + "/distutils-precedence.pth": "2638ce9e2500e572a5e0de7faed6661eb569d1b696fcba07b0dd223da5f5d224", + "/qwen3_next_cuda_runtime.pth": "e0d3ab57dd3ff4f5d55fcf76e83c549cc00b3c813e6f717c540d5ded79fa2f49", + "/qwen3_next_megatron_source.pth": "8556ac057538e82856cb76cbbc954f58312a3f45373daec3eec826031cfd2709", + "/__editable__.rl_kernel-0.1.0.pth": "1454c4987b35762a0d189d4e901c5d077fde62a1944fbaabecea230e57f3923a", + "/distutils-precedence.pth": "2638ce9e2500e572a5e0de7faed6661eb569d1b696fcba07b0dd223da5f5d224", + "/nvidia_cutlass_dsl_packages.pth": "cc710b99ddb3d76361a70461461d274212a979d00c381d821fce5bb3ad9cf246" + }, + "pyvenv_cfg_sha256": "48579f2c6d35c3d535c2690d7d426587c4b8e92021463f0266b38d35dfbbb834", + "sources": { + "/Megatron-LM-training": { + "patch_sha256": "f66035f12501aa1d08e8884e0dea5a22d59825d717aeda73c3e83876e3efd79f", + "path": "/Megatron-LM-training", + "tree": "731fc44a368d6cac8c6171a29d5c687ff0d95bd1" + }, + "/vime": { + "patch_sha256": "66949839d4c18329444f4f9f6dcd702b53ce1b94e9aa15ed111f28743bfaa4b9", + "path": "/vime", + "tree": "f5174e67dbcdaef983eecd45f215fef2d8429dd0" + } + }, + "version": "3.12.14 | packaged by Anaconda, Inc. | (main, Aug 27 2026, 14:46:43) [GCC 14.3.0]" + }, + "sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca" + }, + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "cuda_identity": { + "home": "", + "nvcc_sha256": "b8e2347d9d7fcadf8812a27324d515de99d033d3e48611811ece7e66d7895f8a" + }, + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "operator_requirements": { + "suite": "all", + "case_ids": [ + "tests/check_qwen3_next_attention.py::test_d256_backward_with_cached_prefix_matches_float64_formula", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[1024]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[256]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[64]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[8]", + "tests/check_qwen3_next_attention.py::test_d256_input_device_guard_and_nondefault_stream", + "tests/check_qwen3_next_attention.py::test_native_backward_rejects_malformed_probability_and_gradient_buffers", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[0]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[2]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_target_inputs_do_not_depend_on_companions", + "tests/check_qwen3_next_batch_invariance.py::test_triton_chunked_prefill_is_batch_invariant", + "tests/check_qwen3_next_conv_bridge.py::test_chunked_and_reordered_sequences_match", + "tests/check_qwen3_next_conv_bridge.py::test_empty_sequence_preserves_cache_and_gradients", + "tests/check_qwen3_next_conv_bridge.py::test_response_gradient_reaches_prompt_and_convolution_weight", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths0]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths1]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths2]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-4]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[1]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[4]", + "tests/check_qwen3_next_core_matrix.py::test_variable_lengths_empty_and_mixed_step_match_independent_sequences", + "tests/check_qwen3_next_forward.py::test_combine_has_fixed_route_order_and_differentiable_weights", + "tests/check_qwen3_next_forward.py::test_full_vocabulary_logprob_entropy_modes_and_gradient", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_fail_closed_on_the_tensor_descriptor_path", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[128]", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[512]", + "tests/check_qwen3_next_forward.py::test_logprob_nan_rejected_before_comparison", + "tests/check_qwen3_next_forward.py::test_moe_vjp_matches_independent_double_formula", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[1024-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[128-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-16]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-256]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-3072]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-37984]", + "tests/check_qwen3_next_forward.py::test_qwen_moe_actual_tp4_shapes_and_independent_training_forward", + "tests/check_qwen3_next_forward.py::test_route_weights_are_batch_invariant", + "tests/check_qwen3_next_forward.py::test_shared_linear_vjp_and_empty_tokens", + "tests/check_qwen3_next_forward.py::test_stable_route_tie_boundary_and_router_gradient", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_backward_matches_recomputed_recurrence_vjp", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_forward_is_provider_exact_and_does_not_mutate_inputs", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_keeps_prompt_state_gradient_through_response", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[False]", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[True]", + "tests/check_qwen3_next_gdn_bridge.py::test_initial_state_vjp_matches_provider_directional_difference", + "tests/check_qwen3_next_gdn_sequence.py::test_1024_token_chunk_continuation_is_bitwise_exact", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad0]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad1]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad2]", + "tests/check_qwen3_next_gdn_sequence.py::test_chunk_boundary_retains_prompt_and_initial_state_gradients", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths0]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths1]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths2]", + "tests/check_qwen3_next_gdn_sequence.py::test_reserved_and_duplicate_slots_are_rejected", + "tests/check_qwen3_next_norm_providers.py::test_custom_op_has_distinct_native_and_cuda_paths", + "tests/check_qwen3_next_norm_providers.py::test_gdn_decode_provider_env_defaults_are_recorded", + "tests/check_qwen3_next_norm_providers.py::test_our_gated_op_is_batch_invariant", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_cuda]", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_native]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots0]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots2]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots3]", + "tests/check_qwen3_next_shared_core.py::test_independent_training_forward_matches_inference_and_retains_gradients", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[1024]", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[8]", + "tests/check_qwen3_next_shared_core.py::test_unimplemented_provider_profile_is_rejected", + "tests/test_qwen3_next_norm.py::test_bad_weight_shape_raises", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[16]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[1]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[2]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[32]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[48]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[64]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[8]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[128]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[2048]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_with_padding", + "tests/test_qwen3_next_norm.py::test_call_matches_forward", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[128]", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[2048]", + "tests/test_qwen3_next_norm.py::test_cuda_default_offset_preserves_plain_convention", + "tests/test_qwen3_next_norm.py::test_cuda_gated_backward_matches_autograd_golden", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_matches_golden_within_contract", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_bad_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_mismatched_gate", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_backward_uses_the_sigmoid_derivative", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_swish_is_an_alias_for_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_unit_weight_is_plain_norm_times_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_weight_offset_is_applied_in_fp32", + "tests/test_qwen3_next_norm.py::test_cuda_gated_wrapper_rejects_equal_numel_wrong_shape", + "tests/test_qwen3_next_norm.py::test_cuda_gated_zero_gate_zeroes_output", + "tests/test_qwen3_next_norm.py::test_cuda_offset_equals_explicit_fp32_weight", + "tests/test_qwen3_next_norm.py::test_cuda_offset_is_not_folded_through_bfloat16", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_backward_is_offset_aware", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_within_tolerance_of_golden", + "tests/test_qwen3_next_norm.py::test_deterministic_repeat", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype0]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype1]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype2]", + "tests/test_qwen3_next_norm.py::test_eps_inside_sqrt", + "tests/test_qwen3_next_norm.py::test_gated_batch_invariance_slice", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedHFOp]", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedOp]", + "tests/test_qwen3_next_norm.py::test_gated_conventions_diverge_in_low_precision", + "tests/test_qwen3_next_norm.py::test_gated_cuda_op_rejects_bad_activation_at_construction", + "tests/test_qwen3_next_norm.py::test_gated_extension_handles_empty_batch_and_nondefault_stream", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[dy_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[gate_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[rstd_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_shape]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_matches_hf_formula_fp32", + "tests/test_qwen3_next_norm.py::test_gated_shape_mismatch_raises", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_strict_matches_vllm_formula_fp32", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[128]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[2048]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_offset_applied_in_fp32_not_folded_into_bf16", + "tests/test_qwen3_next_norm.py::test_op_batch_invariance_on_device", + "tests/test_qwen3_next_norm.py::test_plain_reference_is_unchanged_by_the_offset_plumbing", + "tests/test_qwen3_next_norm.py::test_weight_offset_is_one", + "tests/test_qwen3_next_norm.py::test_zero_centred_cuda_constructor_rejects_missing_extension", + "tests/test_qwen3_next_norm.py::test_zero_centred_op_inherits_the_plain_reference", + "tests/test_qwen3_next_norm.py::test_zero_weight_is_identity_scaling" + ], + "case_ids_sha256": "694c931b65f9cfa5db963f2eca6d11bd309546c824a1df52f9da2ab128e83e0f", + "norm_gates": [ + "qwen3_next_rms_norm-forward.json", + "qwen3_next_rms_norm-gradient.json", + "rms_norm_gated-forward.json", + "rms_norm_gated-gradient.json" + ] + }, + "layer_requirements": { + "schema_version": 1, + "gates": { + "gdn": { + "script": "scripts/qwen3_next_tp_gdn_check.py", + "output_option": "--output", + "scope": "tp4_gdn_layer0", + "groups": { + "cases": [ + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "prompt-gradient", + "replicated-norm-gradient", + "hf-load-export" + ] + }, + "script_sha256": "cc4338893f90af004c51c20fc67d1a9a3f4bf8d26775277f72671c02983e4df5" + }, + "attention": { + "script": "scripts/qwen3_next_tp_attention_check.py", + "output_option": "--output", + "scope": "tp4_full_attention_layer3", + "groups": { + "attention.cases": [ + "hf-load-export", + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "batch4-varlen-reorder", + "sixteen-token-decode", + "prompt-gradient", + "kv-pair-gradient", + "qk-norm-gradient" + ] + }, + "script_sha256": "d27d43efb05415a8ef5892c3c2238a2b9744a4821f5466faf46c6510e6e01bec" + }, + "moe": { + "script": "scripts/qwen3_next_tp_moe_check.py", + "output_option": "--output", + "scope": "tp4_moe_block_layer0", + "groups": { + "moe.cases": [ + "hf-load-export-all512experts", + "routes-replicated-8", + "full-chunk-reorder-8", + "routes-replicated-64", + "full-chunk-reorder-64", + "routes-replicated-256", + "full-chunk-reorder-256", + "routes-replicated-1024", + "full-chunk-reorder-1024", + "training-forward", + "all-parameter-gradient", + "replicated-router-gradient" + ] + }, + "script_sha256": "d5c1bbbb82e408b65871b0cb1638d7a6cf8cfe07f0a3315a657b7dc232d544be" + }, + "adapters": { + "script": "scripts/qwen3_next_adapter_check.py", + "output_option": "--out", + "scope": "gdn_engine_adapter_component", + "groups": { + "cases": [ + "batch1-length8", + "batch1-length64", + "batch1-length256", + "batch1-length1024", + "batch4-length8", + "batch4-length64", + "batch4-length256", + "batch4-length1024", + "mixed-prefill-decode16-reorder" + ] + }, + "fields": { + "prompt_gradient": "passed", + "hf_conv_roundtrip": "passed", + "batch_invariance_capability_registered": false + }, + "script_sha256": "3ce45bb317237c1a06533116d65fb77c2a23b6f503ae46406ede543036eb0f20" + }, + "heads": { + "script": "scripts/qwen3_next_tp_head_check.py", + "output_option": "--output", + "scope": "tp4_embedding_lm_head_only", + "groups": { + "cases": [ + "hf-embedding-roundtrip", + "hf-lm-head-roundtrip", + "replicated-norm-gradient", + "nonzero-finite-embedding-head-gradient", + "embedding-repeat-100", + "batch-invariant-prompt8", + "batch-invariant-prompt64", + "batch-invariant-prompt256", + "batch-invariant-prompt1024", + "logprob-original-and-promoted-logits", + "entropy-interface" + ] + }, + "script_sha256": "0504185d21a75405c8e994bc57b016cf4ec357d8b16e7430772c11934f2af876" + } + }, + "scheduler_case_ids": [ + "p0008-b1-full", + "p0008-b1-chunked", + "p0008-b4-full", + "p0008-b4-chunked", + "p0064-b1-full", + "p0064-b1-chunked", + "p0064-b4-full", + "p0064-b4-chunked", + "p0256-b1-full", + "p0256-b1-chunked", + "p0256-b4-full", + "p0256-b4-chunked", + "p1024-b1-full", + "p1024-b1-chunked", + "p1024-b4-full", + "p1024-b4-chunked" + ], + "registry_sha256": "e3949a750cb27c1897a000f3b023f912629906612ae8949c1575d0acc36df5ec", + "case_ids_per_rank": [ + "adapters/cases/batch1-length1024", + "adapters/cases/batch1-length256", + "adapters/cases/batch1-length64", + "adapters/cases/batch1-length8", + "adapters/cases/batch4-length1024", + "adapters/cases/batch4-length256", + "adapters/cases/batch4-length64", + "adapters/cases/batch4-length8", + "adapters/cases/mixed-prefill-decode16-reorder", + "attention/attention.cases/batch4-varlen-reorder", + "attention/attention.cases/full-chunk-1024", + "attention/attention.cases/full-chunk-256", + "attention/attention.cases/full-chunk-64", + "attention/attention.cases/full-chunk-8", + "attention/attention.cases/hf-load-export", + "attention/attention.cases/kv-pair-gradient", + "attention/attention.cases/prompt-gradient", + "attention/attention.cases/qk-norm-gradient", + "attention/attention.cases/sixteen-token-decode", + "gdn/cases/full-chunk-1024", + "gdn/cases/full-chunk-256", + "gdn/cases/full-chunk-64", + "gdn/cases/full-chunk-8", + "gdn/cases/hf-load-export", + "gdn/cases/prompt-gradient", + "gdn/cases/replicated-norm-gradient", + "heads/cases/batch-invariant-prompt1024", + "heads/cases/batch-invariant-prompt256", + "heads/cases/batch-invariant-prompt64", + "heads/cases/batch-invariant-prompt8", + "heads/cases/embedding-repeat-100", + "heads/cases/entropy-interface", + "heads/cases/hf-embedding-roundtrip", + "heads/cases/hf-lm-head-roundtrip", + "heads/cases/logprob-original-and-promoted-logits", + "heads/cases/nonzero-finite-embedding-head-gradient", + "heads/cases/replicated-norm-gradient", + "moe/moe.cases/all-parameter-gradient", + "moe/moe.cases/full-chunk-reorder-1024", + "moe/moe.cases/full-chunk-reorder-256", + "moe/moe.cases/full-chunk-reorder-64", + "moe/moe.cases/full-chunk-reorder-8", + "moe/moe.cases/hf-load-export-all512experts", + "moe/moe.cases/replicated-router-gradient", + "moe/moe.cases/routes-replicated-1024", + "moe/moe.cases/routes-replicated-256", + "moe/moe.cases/routes-replicated-64", + "moe/moe.cases/routes-replicated-8", + "moe/moe.cases/training-forward" + ], + "case_ids_sha256": "be74417dfbd6031ba27978d06d04bb15daaab2aeb57d132c7e0d41176b28b46e" + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + } +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/layers/checkpoint.json b/docs/usage/evidence/qwen3-next-chain-b200/layers/checkpoint.json new file mode 100644 index 000000000..4488f19f1 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/layers/checkpoint.json @@ -0,0 +1,14 @@ +{ + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "shards_verified": 41, + "metadata_sha256": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + } +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/layers/environment.json b/docs/usage/evidence/qwen3-next-chain-b200/layers/environment.json new file mode 100644 index 000000000..35314d506 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/layers/environment.json @@ -0,0 +1,4511 @@ +{ + "environment": { + "identity": { + "base_prefix": "/miniconda3/envs/rlkernel", + "binary": "/python3.12", + "binary_sha256": "6a1eb3ffc29f3a6b0ece607b016b4cfa5ca3ac57b34f17ed3266b404f78d2729", + "build_tools": { + "ninja": { + "path": "/miniconda3/envs/rlkernel/bin/ninja", + "sha256": "08639e194fffa7f08b259fc4abfa4803aff66b64de52549cee42ec527d55cea6" + } + }, + "distributions": [ + { + "direct_url": null, + "metadata_sha256": "6f1038270be40f9b8c0bcf391c627e7d7f41ccdd19aa192d6eac1dbfc3b19abc", + "name": "GitPython", + "version": "3.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "3f71971502087521f123c9daa26bc12d31d3466738b567390b8602acad3be22a", + "name": "Jinja2", + "version": "3.1.6" + }, + { + "direct_url": null, + "metadata_sha256": "818fb343b7b6b99a32771bf4813521ae6440b4c7579b3ae46e32dd02da0afeee", + "name": "Markdown", + "version": "3.11" + }, + { + "direct_url": null, + "metadata_sha256": "dc1ee42cf8ecfeee0ab60b15b21d291833e0732548efcb7bb5b3564dca3e5bf7", + "name": "MarkupSafe", + "version": "3.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "de7389b142450a0014234286b0876f328439b823c355c73d0aed41fd67ec208c", + "name": "PyJWT", + "version": "2.15.1" + }, + { + "direct_url": null, + "metadata_sha256": "ffcad4415cafb22b8b536a61595e9ee13438b51d31b0763c1b273ce3bc58e840", + "name": "PyYAML", + "version": "6.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "8562d701cc52d9cafbb418942b0e072fc087ed8ddcf35cd10224c1b2ed8bdd91", + "name": "Pygments", + "version": "2.21.0" + }, + { + "direct_url": null, + "metadata_sha256": "b6c25fcfdcc495edf248a10ca4ad28327ef2ed6047a6ec5c6346e121414c7f21", + "name": "Werkzeug", + "version": "3.1.9" + }, + { + "direct_url": null, + "metadata_sha256": "55c400d24c71b581d9c0992f71df6047cf6c878bebe61a7d45d6e02dc0e4c510", + "name": "absl-py", + "version": "2.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "13db521f90a6a882027b2388eaa2ebf252945f9c2adb7e7e371da18239da4df0", + "name": "accelerate", + "version": "1.15.0" + }, + { + "direct_url": null, + "metadata_sha256": "86fe44e38e67872dd895c729044942ba2c2f934ae439a899fb83a186206b7fd4", + "name": "agent-detector", + "version": "2.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "afe11fe9f5aa54e734cdd51659bed8c89dc6bcd5aef0ad96f2d20149c8de5456", + "name": "aiohappyeyeballs", + "version": "2.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "570b307bc0b53fbbd3ed2ce0b7eca6bbf2fa73bf75e24a480f1034d8c0b832bf", + "name": "aiohttp", + "version": "3.14.3" + }, + { + "direct_url": null, + "metadata_sha256": "44b7f8e14c4770793e747fad50c9e0a6ee7357651d878554f192d94768dc14a8", + "name": "aiohttp-cors", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "648813a44a9ae0ab2f20ee86d2404dcc38e3f9e80c63316cf6e536735df14e54", + "name": "aiosignal", + "version": "1.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "f6a3f6668bacef7f73a2c19ccb2be910b2363d1731c4725cb04364d99e24935a", + "name": "annotated-doc", + "version": "0.0.5" + }, + { + "direct_url": null, + "metadata_sha256": "fc6d752cde6a6a4bff03474386de750e130b75da3c7815ee909f45b51fea98c8", + "name": "annotated-types", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "4e89d670a4b20029da30e5a9e8ebcbc844deff9c44209552bafd5537249c8b9e", + "name": "anthropic", + "version": "1.9.0" + }, + { + "direct_url": null, + "metadata_sha256": "b5a6f00800956387fcddab1fe1b5aa8502c249b86cfb16d58ed700f282f60142", + "name": "antlr4-python3-runtime", + "version": "4.9.3" + }, + { + "direct_url": null, + "metadata_sha256": "a6008defa9492cd08250217b134782cad1db4580e1d7ddf69cc2a2a48cea24e0", + "name": "anyio", + "version": "4.15.1" + }, + { + "direct_url": null, + "metadata_sha256": "7877c64ce8957237363f2df313819bb07f50752df016d14c5a5a99bec10f5deb", + "name": "apache-tvm-ffi", + "version": "0.1.11" + }, + { + "direct_url": null, + "metadata_sha256": "3543ca8f0e072c00ab111b20eba99ce86dbf93ada28988775bc2677284b3c07a", + "name": "astor", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "d4b328c09c024fe1e4d788a9c7715ad726095131b815cd35fd933268226f6269", + "name": "attrs", + "version": "26.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "4850c4d696a5e2a2ecbb3dd792b060acc1de79e09800669b0b9fc3a22c055e6d", + "name": "av", + "version": "19.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "863ff92208d0a02dabfa008bfe91846a5c401ded301e5687dca7dc63c911865f", + "name": "babel", + "version": "2.18.0" + }, + { + "direct_url": null, + "metadata_sha256": "f32e6df3197f05202e586624d95c5e217003d80cee655c165d533102f628df21", + "name": "backrefs", + "version": "8.0" + }, + { + "direct_url": null, + "metadata_sha256": "905c362f655fbc6d37a24686efc2b3bfbd3123b8ee5a443a43f6750d87455e90", + "name": "blake3", + "version": "1.0.10" + }, + { + "direct_url": null, + "metadata_sha256": "07c85682b6aefd5c9b48890d306c1604311902295704892ede48e5a83219a8d3", + "name": "blobfile", + "version": "3.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "2d582941a7081625a35f35a0c4a2e80f7737312e29c38e5fdb6fc08f9c113077", + "name": "bracex", + "version": "3.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "3b60c55bae0d0340c3a3fd918635bbfa3087579da66e0fd7f6be7a3782c0da3d", + "name": "cachetools", + "version": "7.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "5d11a6878d5bc3f22290281a19ef7b36daa95c910780950608b95cd788c7e12e", + "name": "cbor2", + "version": "6.1.4" + }, + { + "direct_url": null, + "metadata_sha256": "362c9942c48051f168ed2b9f2146266b7792d3c05e164cd6afc3f3b65884fdc9", + "name": "certifi", + "version": "2026.7.22" + }, + { + "direct_url": null, + "metadata_sha256": "b4abf1bcf1c1d8e0272d8007fc974499ea59e5f2a5b98af3c78a5e67515a9d87", + "name": "cffi", + "version": "2.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "766120f13c177446f51929a4d201104bc935b6d5a2a176cd6716edce757d3d95", + "name": "cfgv", + "version": "3.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "610e9a9d03ce837ffe6e42be5e02e70087f73863f7350bf7bb7f0511edcc5ec0", + "name": "charset-normalizer", + "version": "3.5.2" + }, + { + "direct_url": null, + "metadata_sha256": "7ad836b3147c9702546d9c28b4fa5be23b24445439db5d0d2a58d17281c84daa", + "name": "click", + "version": "8.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "4c5f00599ebcbf11d337e48a72784d256ca3d704fa9e9f5daadd60065e6776b7", + "name": "cloudpickle", + "version": "3.1.2" + }, + { + "direct_url": null, + "metadata_sha256": "a0970189e3ab7a596d6902d5f61f93b414f138f03d3cf19029145657bfceb382", + "name": "cmake", + "version": "4.1.2" + }, + { + "direct_url": null, + "metadata_sha256": "94a6ebf9718e55f254a43ce0d2f04e0d6d44e7141b6f3144a84feb6519a77bfd", + "name": "colorama", + "version": "0.4.6" + }, + { + "direct_url": null, + "metadata_sha256": "ca8ec227f406d970a645ec482b20619128dd34b9cf71159cc24e27db461a2711", + "name": "colorful", + "version": "0.5.8" + }, + { + "direct_url": null, + "metadata_sha256": "bbaa51b7e4d8f142bd075d01257c0572c0c844796d51426e35c8096a13e8da76", + "name": "compressed-tensors", + "version": "0.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "6063d8ff7ebc458d63a4332853d7ababf4ee2b86336362c8d2b12be6e998eb6b", + "name": "connectrpc", + "version": "0.11.1" + }, + { + "direct_url": null, + "metadata_sha256": "ac5f4b5a5f68080bd9c3fe77399fe8a1bff2ee5923c49db1df544dd054cbf15b", + "name": "cryptography", + "version": "50.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "f41d2f6b4616accca2f5e1dd47aa9e8937c28076cde698226d93e727751f3099", + "name": "cuda-bindings", + "version": "13.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "e5ca6ed34c687c6f4a4d157ad0a2cf06ec0316fe8c4c0ddeb666ad76dd6f30f4", + "name": "cuda-core", + "version": "1.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "89baadd9da23dce9990481519544115615ba3cbd2d1a41e09feea7756fffb378", + "name": "cuda-pathfinder", + "version": "1.8.2" + }, + { + "direct_url": null, + "metadata_sha256": "1ab914b9a57ca601df2e3cfe9608427b15d8afb78029076ace5d1caf9fd45f08", + "name": "cuda-python", + "version": "13.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "73d97a5eb578223b4895ef4f234574d14219cef9999ff7d0e92a3d0dd057bd3f", + "name": "cuda-tile", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "ae6f957fe66ed63081d1d83ee6e8838f3a0af2c6fce1223629d0dd6264565ead", + "name": "cuda-toolkit", + "version": "13.0.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "1f8e0ae51ad5feea63f58ed2e24f3da6f23ed548043235a14f7623d961dd9b64", + "name": "datasets", + "version": "5.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "153f4a4d6ff03dbe5c8ad7fe54bc2e7b989a4947b70f7aa77fbf652b394f2a2e", + "name": "depyf", + "version": "0.20.0" + }, + { + "direct_url": null, + "metadata_sha256": "ee09fc752d7271aac93079cfd63409957dc6b536c1ffd9355a01bf7297e72aa6", + "name": "detect-installer", + "version": "0.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "a7feab2c4f69fd5f85e5a3cb495a7f1870a6bf8199dcee5339e8118f7acbdc09", + "name": "dill", + "version": "0.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "fef3fde661fe30ba7bd1d78841a797136b2b3461705bb4eb92dc54f8308bbaae", + "name": "distlib", + "version": "0.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "fef3fde661fe30ba7bd1d78841a797136b2b3461705bb4eb92dc54f8308bbaae", + "name": "distlib", + "version": "0.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "a3ca2e39abe76c4a33d5fe4a2a84375ec9f25cdfdb7e1d8ea406bd6f1603205c", + "name": "dnspython", + "version": "2.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "92a07daad5e6ff461199de14e845d9b376e309ef916ce5379f3c9cd4e3b1623f", + "name": "dockerfile-parse", + "version": "2.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "5b566b25f0cbe4955d0b16844a7cc6d2002caa3bde2dfda7f301fd8870cbaa56", + "name": "docstring_parser", + "version": "0.18.0" + }, + { + "direct_url": null, + "metadata_sha256": "5a1080b5768c6c591e1c4f9c9812cafa808781b9eeb198043bf185e22d4a1613", + "name": "e2b", + "version": "2.51.0" + }, + { + "direct_url": null, + "metadata_sha256": "0a63979e0b946e16238e4339e60d9c1eb5a7ce3ea93dae78b5da9c65a6190540", + "name": "einops", + "version": "0.8.2" + }, + { + "direct_url": null, + "metadata_sha256": "16cbe67a57558f1d4bfdbc22a454434ba301750c57a62b1d3f5361c9e5cddc00", + "name": "email-validator", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "0617ddb55b90b42ddc9398dc7e91d61fe928a2504939f76526dc15b22d238caa", + "name": "fastapi", + "version": "0.136.3" + }, + { + "direct_url": null, + "metadata_sha256": "ddd82b9666c21988e234d623e2575e1b89fd4133260eeab43fc9a7c074f7024a", + "name": "fastapi-cli", + "version": "0.0.32" + }, + { + "direct_url": null, + "metadata_sha256": "611602e834d42e10433155ff5f5581358d732fa6b6f6f7820a8f79e74b1ce1f9", + "name": "fastapi-cloud-cli", + "version": "0.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "794524e4a9659bda6043721d848d028ea49996085a33326094fbaaa3f6e6b895", + "name": "fastar", + "version": "0.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "711401d36e60e10e35beb4d0f1bb42bf0c4d86339ae52f32b9aa4a4d790530dd", + "name": "fastsafetensors", + "version": "0.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "efaea9742e348c4c4bdcc6f616a33cc5aa3ae926494a72a46690b7da2f08ed5c", + "name": "filelock", + "version": "4.0.7" + }, + { + "direct_url": null, + "metadata_sha256": "99bd6c3f10781d3d2d350f2c3c9fc4765b55f25de8a6d6dd1f71501802d1255e", + "name": "fla-core", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "0a6ef979b75295cee2b5293ad4942b0cf2682e9e38680203064e0b70249c1a96", + "name": "flash-linear-attention", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "76b70a11ca82ea4606b529e7a8658cb3fe71412afa46f2ed57101dd91ba27558", + "name": "flashinfer-python", + "version": "0.6.18.post1" + }, + { + "direct_url": null, + "metadata_sha256": "ba8ff415192b5cbb90efce046e2271a00c8184afc362d8b47fbbc84d5e558b05", + "name": "frozenlist", + "version": "1.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "e7712831c80eb13b08fb7f7cc33988a8f24654af9eba7c6f5f943b2636e4306a", + "name": "fsspec", + "version": "2026.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "025de85c794878d0caa737869307447595f514ebf9599eacb5b1a501bae479b6", + "name": "fsspec", + "version": "2026.9.0" + }, + { + "direct_url": null, + "metadata_sha256": "ca94883bdeaa3740b45b6994443b445fd67c6e4a8064ac3bf9d92d2a5221eee8", + "name": "ghp-import", + "version": "2.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "a7e90983562a035cf767baa63d8c32bc37e1de7cad71ac7b6b2bc70a95bba4eb", + "name": "gitdb", + "version": "4.0.12" + }, + { + "direct_url": null, + "metadata_sha256": "dd96143ec79178bef685c1f5c0a58a87a66d003b421e605de65697308321d518", + "name": "google-api-core", + "version": "2.40.0" + }, + { + "direct_url": null, + "metadata_sha256": "0735d57088a83df2355e16843107fb0112abe2178fc5bb8132947a7ad962aa41", + "name": "google-auth", + "version": "2.59.1" + }, + { + "direct_url": null, + "metadata_sha256": "2f3aa9d9500d329560440e6a5a152e420aad5f5bbb23701f45b740be721784a1", + "name": "googleapis-common-protos", + "version": "1.75.5" + }, + { + "direct_url": null, + "metadata_sha256": "06d74ab04fdc03fad368868907f0d10e7d9f397aab58d58965c0b78ffaec34cc", + "name": "griffelib", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "7ee1c179e2c68a62968308b2f96f4f3469176ee3ac8bdb494ac80188d4d41271", + "name": "grpcio", + "version": "1.84.0" + }, + { + "direct_url": null, + "metadata_sha256": "04cf3a4a91575850f386f4fcfdedd8e7fbfba08feff038fbc1296d1e854db2dd", + "name": "h11", + "version": "0.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "b954a6ba4739c0cc878bb8ea27ea7c7154a48bb4b7c06dba9e9cf880cf0ec930", + "name": "h2", + "version": "4.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "6f0d7bf86e75d0bda1ceccc82367c0145ad0ec522c4d4f51bb454f467faadcc9", + "name": "hf-xet", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "f991b847550cf8225f69562902b5ccb591b2ce9a08fe07ef6e6d701bdb4694a7", + "name": "hpack", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "314d194165c4700034c1c67cee847d549a6d7091374c71f2cef0186ec56a3eb9", + "name": "httpcore", + "version": "1.0.9" + }, + { + "direct_url": null, + "metadata_sha256": "aed9767360bed1bcbda71e3b1a3c996603f86558bc77a1693ee3d09973d20cad", + "name": "httpcore2", + "version": "2.13.1" + }, + { + "direct_url": null, + "metadata_sha256": "8fa3bf3510c35e2eea9f523a1cace7120079cf51d76c4acea97de95806aaa14a", + "name": "httptools", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "3bf4804c215d111b6a4702cf9000021ab39807d1ed3207dd011b14b2843b2d14", + "name": "httpx", + "version": "0.28.1" + }, + { + "direct_url": null, + "metadata_sha256": "d11dd50813b8914bd9455e8b2b591171cd2b1618883943153afadc8bb9224678", + "name": "httpx2", + "version": "2.13.1" + }, + { + "direct_url": null, + "metadata_sha256": "43b119c34ad2b2aacc032a1a6a8feb142fdb5ca407a3519325d74dd53d8904df", + "name": "huggingface_hub", + "version": "1.33.0" + }, + { + "direct_url": null, + "metadata_sha256": "9ce850d5a6b775e5ef4a335f907e579a878e058213121b6eec567781ea68c585", + "name": "humming-kernels", + "version": "0.1.12" + }, + { + "direct_url": null, + "metadata_sha256": "67aa4f6717d82446a51ce350e7c4769eba0c4a22d2f428255cddd9d24b11a914", + "name": "hyperframe", + "version": "6.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd9511ede42f63b995c3f71944f908cb8f014048b63ecc1c8d420525a3354b59", + "name": "identify", + "version": "2.6.20" + }, + { + "direct_url": null, + "metadata_sha256": "af3c3a62bb5d82d6a43454684e0b1dedde27a21ea90eacfb1bed9814619f06d0", + "name": "idna", + "version": "3.20" + }, + { + "direct_url": null, + "metadata_sha256": "cf71393f3d079ce2e859384573e65aaacd1709bef700701f629df32398b598f0", + "name": "ijson", + "version": "3.5.1" + }, + { + "direct_url": null, + "metadata_sha256": "9305763e93d03df0e36516b1125fa046a6ebe37d44589e200e0593cf4bdfd980", + "name": "importlib_metadata", + "version": "9.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "32860c3c19b2e91f6cb5bd83400b5870cda051bc74a5a08822c8c666af0990db", + "name": "iniconfig", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "560faabb3d45d779e445a74e7e806a786f95f2200fa06d979603b7f0ee1cfb39", + "name": "instanttensor", + "version": "0.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "f6fc1f0d389e4245fc2a1a0fdfee09422e56200cb6f94659668456997ff4f7a9", + "name": "interegular", + "version": "0.3.3" + }, + { + "direct_url": null, + "metadata_sha256": "d10f300731197a4829b77f0c883bb3cf8a37ae8c76a302e095fa95d6427706d0", + "name": "jiter", + "version": "0.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "5b0c8d4b4c535a2432fb206223d774509b6e20af374c6a4b6f98bf72a7de6702", + "name": "jmespath", + "version": "1.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "6c4032c2e74273452cd77399af2ee85198f49c22da897983f26d2ed6f787c4e8", + "name": "jsonschema", + "version": "4.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "aaa6cd66f423729e8da397c9d533b7d731f6b25f3d6371b9338c36bdb9be74a0", + "name": "jsonschema-specifications", + "version": "2025.9.1" + }, + { + "direct_url": null, + "metadata_sha256": "f7c0687c032593106a2e5a3c241cf8043e7e2c222bddb0022b4cb2bf5de67115", + "name": "lark", + "version": "1.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "4511c6b04efc57a5f5333edc1f5f48b9f5412c3923d4bc19b715bdf47977511c", + "name": "linkify-it-py", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "be929870f6ecae18a819c56118f1101f3076e25ac6a4843ca6f4707ebd1e87c6", + "name": "llguidance", + "version": "1.7.6" + }, + { + "direct_url": null, + "metadata_sha256": "cf2b87669bead3e76ec54207f3354c13f73b50c32fcd13c8d627084b3379139e", + "name": "llvmlite", + "version": "0.47.0" + }, + { + "direct_url": null, + "metadata_sha256": "0a416d79c5543d94d2b18807626293d4f47655d1d22724c7ae296e413078aaba", + "name": "lm-format-enforcer", + "version": "0.11.3" + }, + { + "direct_url": null, + "metadata_sha256": "16bc1f59e34fd2a6633bd395276052eacd2c777b2cf72781e76b203f013a8fac", + "name": "loguru", + "version": "0.7.3" + }, + { + "direct_url": null, + "metadata_sha256": "5216d5acfd039a7b581a826186309594b228d37d2c8d56864124ea666689fe4e", + "name": "lxml", + "version": "6.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "f59d772b35315a928672bfcccfb89d82c0aac672c5275c048f7a93b79015bcea", + "name": "markdown-it-py", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "b137367ef0056711cbf5e53015df9168cab80373104e7899b1c0263a21d9c99c", + "name": "mcp", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "38e0b9edaae09e58cd1461fc961ced22672038a697930bedef153a74befb3de1", + "name": "mcp-types", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "799f49685865fd9cc8915fdb92a33e102eeeffad562b03b4aeffb6f422b771c1", + "name": "mdit-py-plugins", + "version": "0.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "481f9cbe08596c6eaba6343e0efa1b13b2362c30dce0610f7c08523f1d98388d", + "name": "mdurl", + "version": "0.1.2" + }, + { + "direct_url": "{\"dir_info\": {\"editable\": true}, \"url\": \"file:///Megatron-LM-training\"}", + "metadata_sha256": "2876c0c760bbfc93bd7d737bf0db2866a937308a7c1707c3a2bb59d4795986ff", + "name": "megatron-core", + "version": "0.16.0rc0" + }, + { + "direct_url": null, + "metadata_sha256": "a6e34d488c879f57ce042bec38f8864ba3ea7d6ecf0ab757fc88fe8dc0a22f26", + "name": "memray", + "version": "1.20.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd26d80dc9676b1fb8c894355bd525fbe7f49a6a86a555c72e9ec6d927247c33", + "name": "mergedeep", + "version": "1.3.4" + }, + { + "direct_url": null, + "metadata_sha256": "dd1b3b89e88d1c65a26e6e72dd075eabbc220bfb138769ec8b64578ee911795c", + "name": "mistral_common", + "version": "1.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "4859847a9f6321daf8849cf7fd1542ff430db6563a2abf9ac0d62a5b21bd951d", + "name": "mkdocs", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "1729fc31479f2582486cdc85397417659dd3b2fb3f920553de66cfe59d5f0b3e", + "name": "mkdocs-awesome-nav", + "version": "3.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "88b4b7b7c0aba5547befdedaf515c8df4867361daf55ff60b72578464d72dcbe", + "name": "mkdocs-get-deps", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "ad33bb33fb16b1f69689c4682550e97232154e367e2c8c8aee9dad0f10d269ce", + "name": "mkdocs-git-revision-date-localized-plugin", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "ed69fbfb9ac00c10c5a383a12ff9d2b9919ae184e408554434199211643d6040", + "name": "mkdocs-material", + "version": "9.7.7" + }, + { + "direct_url": null, + "metadata_sha256": "d1c549b61701148b97f8246bc924b2840e504b37b0ce7a27e78ddf81261e5363", + "name": "mkdocs-material-extensions", + "version": "1.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "4ad6171f3bf6812e4de90670ff0089d445093d4fe1d05d55f17b96a4a192a816", + "name": "ml_dtypes", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "4ad6171f3bf6812e4de90670ff0089d445093d4fe1d05d55f17b96a4a192a816", + "name": "ml_dtypes", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "b0dbdfa30ab6b1ce637a794899c9e43019182b6d1ab2d07b90f647f7331eba6b", + "name": "model-hosting-container-standards", + "version": "0.1.16" + }, + { + "direct_url": null, + "metadata_sha256": "95424470e481cfa8d18b30963b6de3aafe16614b1ea0414e184a008571dde84f", + "name": "mpmath", + "version": "1.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "eb184d83489401903615ce8a78d98d5b933dec0f7246811d396a529915fe797c", + "name": "msgpack", + "version": "1.2.3" + }, + { + "direct_url": null, + "metadata_sha256": "520006303d6a0e859970b83f7d452196e2e8f6dab08f6dcf1ba5823c1230025f", + "name": "msgspec", + "version": "0.22.0" + }, + { + "direct_url": null, + "metadata_sha256": "010d2fe039006070a711a476b171b7b7da5c29ccad3c4eecd77ef3711b07c2d0", + "name": "multidict", + "version": "6.9.1" + }, + { + "direct_url": null, + "metadata_sha256": "235634cc7ebda45f8a84dfdb1b9b35ac1a77a1888b34650c3a616d23e4a7e93f", + "name": "multiprocess", + "version": "0.70.19" + }, + { + "direct_url": null, + "metadata_sha256": "7c545b4b3e5e83d3fde41352272c10cb9deeaba5b7138fbf24383e952af8822e", + "name": "natsort", + "version": "8.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "311ee8cdaeaf9f11acf51cda9c3b5b191f76ce9d98bc3418164c3189bbc37a08", + "name": "nccl4py", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "66360539217852c3b44b37f409eade7e1559baf018bb363bacb2aa3a9759b203", + "name": "networkx", + "version": "3.7" + }, + { + "direct_url": null, + "metadata_sha256": "e8b0b1746808b87816c47e4531780ded7f246bed9575a89e8b40200aa81e9a13", + "name": "ninja", + "version": "1.13.2" + }, + { + "direct_url": null, + "metadata_sha256": "77c1117f0dbc41560ddc6e6b37b542fb4e88afcd4ef82ec06593e5bbd5f37121", + "name": "nodeenv", + "version": "1.11.0" + }, + { + "direct_url": null, + "metadata_sha256": "9af629898406c9eaa69897fe09220dc483270cdba89f6b20bf0165cdf0e1668e", + "name": "numba", + "version": "0.65.0" + }, + { + "direct_url": null, + "metadata_sha256": "0c7281a81cf76e40b27c1385ffd8a215d7227adc219f177ce807ead9e91994a5", + "name": "numpy", + "version": "2.3.5" + }, + { + "direct_url": null, + "metadata_sha256": "0c7281a81cf76e40b27c1385ffd8a215d7227adc219f177ce807ead9e91994a5", + "name": "numpy", + "version": "2.3.5" + }, + { + "direct_url": null, + "metadata_sha256": "bab990ced4537ce74ef5961ca933c4c6fd604fd09a5827a4a428c55bcb0be35b", + "name": "nvdlfw_inspect", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "10f6595146332d35f7f15a000e08b5c81432528c5d026470c1d03f0c1399fb70", + "name": "nvidia-cublas", + "version": "13.1.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "58e933b4ac8e49f098b16ab7480d03bd792afc3d1db10d0aacbdcc2c62e48fa3", + "name": "nvidia-cuda-cccl", + "version": "13.3.4.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "baac937970681d41aa0c3708b3d55d73f8d29e70aceaac0e71fe6d1548e94a09", + "name": "nvidia-cuda-crt", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "8d51e5c76ef5707b0b80d5ec9a791c0f11a480ab721820cf100a3cc566017eef", + "name": "nvidia-cuda-cupti", + "version": "13.0.85" + }, + { + "direct_url": null, + "metadata_sha256": "724bf56e61ddef5d4c2482ff64103a973b911b110b668acaea5373f6c83c1c5c", + "name": "nvidia-cuda-nvcc", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "c54801dbd815d534519a761f1f328325aa0f1d1f1659aa969fa74e7a2c76eee9", + "name": "nvidia-cuda-nvdisasm", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "af51f248363020b9fdfd2743704e901bf3d19a1a1ce1fe44fb98ba148bfc0157", + "name": "nvidia-cuda-nvrtc", + "version": "13.0.88" + }, + { + "direct_url": null, + "metadata_sha256": "055f7fc69a5a2159de82cd0718da02c8852e81c8a71ebb117b8e799badd7167e", + "name": "nvidia-cuda-runtime", + "version": "13.0.96" + }, + { + "direct_url": null, + "metadata_sha256": "df18686dbdb3074ca375a1d6c623a04102fd348950c67a721397349c6d4f0477", + "name": "nvidia-cudnn-cu13", + "version": "9.20.0.48" + }, + { + "direct_url": null, + "metadata_sha256": "abd0ca3f67af19a4d383ff2a012ae0090d4731c6492fd47236615308a50b3981", + "name": "nvidia-cudnn-frontend", + "version": "1.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "4a78545d424d0c5038353f7046a8ae40ceaf312045d71399eac9511f5fc15434", + "name": "nvidia-cufft", + "version": "12.0.0.61" + }, + { + "direct_url": null, + "metadata_sha256": "e49b909195c03ddbe203729d9b31dd88e3f207368333d1909c67c6b130a0c696", + "name": "nvidia-cufile", + "version": "1.15.1.6" + }, + { + "direct_url": null, + "metadata_sha256": "bb15a754c6be32c23aaac13c1cfa7a8ce53d92bc26652ec3b609f7a5cce3e7d1", + "name": "nvidia-curand", + "version": "10.4.0.35" + }, + { + "direct_url": null, + "metadata_sha256": "0dd58f677811eac04901a793740932e5a2a8fff2f5453aa6351614eb18391bb6", + "name": "nvidia-cusolver", + "version": "12.0.4.66" + }, + { + "direct_url": null, + "metadata_sha256": "8aeb284782ef6883095a5d1c110e221cad023a99afcfd5cdb4969a25e146d562", + "name": "nvidia-cusparse", + "version": "12.6.3.3" + }, + { + "direct_url": null, + "metadata_sha256": "09555246122896eaca3b8313eecfca4b339fefd3b597874cb9fe3bf29dab38c9", + "name": "nvidia-cusparselt-cu13", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "ac77bac79fbfb0c52ac6e2e5abc936b1e127be2192f0cbc27b00be3125fa86ae", + "name": "nvidia-cutlass-dsl", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "1ec968ec7c4083f7fe4e1fb8384c7e9b853a81491fef9f4cb1cf755961aaedf6", + "name": "nvidia-cutlass-dsl-libs-base", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "cc6f3846cd820013eaa6e2665c493d70c607be6ce7349b939eb4742888470585", + "name": "nvidia-cutlass-dsl-libs-core", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "2357d0df2d0d17c0b16663b8a89df53f751b19721f66821fd88fa78112c08e55", + "name": "nvidia-cutlass-dsl-libs-cu12", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "244590c25662dcf777b1daae97a858afe1a1aec62e5e6678b217007a459ab552", + "name": "nvidia-cutlass-dsl-libs-cu13", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "c3a25ada01f57418c1b897406c3abab18834e6adc573ab7b060620c453afb6db", + "name": "nvidia-ml-py", + "version": "13.615.71" + }, + { + "direct_url": null, + "metadata_sha256": "56baad4e7f699902b03b17580933f7bd50b6ea97b7df9d7e807750973da7529c", + "name": "nvidia-nccl-cu13", + "version": "2.29.7" + }, + { + "direct_url": null, + "metadata_sha256": "98810ef0ab8badc369e6a46a038f8ee9f412c0c753fb5ad580544f23a0aa7962", + "name": "nvidia-nvjitlink", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "b0f54ee21909d19640a58e05da755c91763eb5725f544fd0d4b84b2f5f94deba", + "name": "nvidia-nvshmem-cu13", + "version": "3.4.5" + }, + { + "direct_url": null, + "metadata_sha256": "06dc1a593c7e8b8c3f29184228c83f8f7ef57787ad91f3e5bcae1d238dd3092a", + "name": "nvidia-nvtx", + "version": "13.0.85" + }, + { + "direct_url": null, + "metadata_sha256": "32ee63450a437b6a6ed227ff6549144aa596197a322993521ec7af826ebd413e", + "name": "nvidia-nvvm", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "32c2efdcd2c673b3b7f35ca9c2cccefaad36f1f0a920648a13cad85f6a5767b2", + "name": "nvtx", + "version": "0.2.15" + }, + { + "direct_url": null, + "metadata_sha256": "3419d80e114a2c19fa9bd3582939a3942f19673055707ba6ca2ca489d58b41e0", + "name": "omegaconf", + "version": "2.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "28971076ce9c279d4b889496b046d55a1e05b02fb9851ceb717e9a10df799572", + "name": "onnx", + "version": "1.23.1" + }, + { + "direct_url": null, + "metadata_sha256": "1246f5a4d8295907a42e809ed9173ede2510ec9d260d2168989d126564897fa5", + "name": "onnx-ir", + "version": "1.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "e14643636835759700dff286f949c5ec34e7eac7ac47f44096414f0e0f1c3101", + "name": "onnxscript", + "version": "0.7.2" + }, + { + "direct_url": null, + "metadata_sha256": "00f847e99939207bd70dfd806428f6b20a3d01074b59325e4c76149a2e19be26", + "name": "openai", + "version": "3.22.1" + }, + { + "direct_url": null, + "metadata_sha256": "598d3ad5a22a14a7c4f1d218b43e345f32b0ba094b753467bae8a3f708fd48cb", + "name": "openai-agents", + "version": "0.22.3" + }, + { + "direct_url": null, + "metadata_sha256": "5a0afcb1ce845e05da12beb1767f5d2749bbc9e9050718c6b9fa3c225713c9eb", + "name": "openai-harmony", + "version": "0.0.8" + }, + { + "direct_url": null, + "metadata_sha256": "e86a6b6fcbbe152805f782c57df321002892e163019574877e9829272e25eb4e", + "name": "opencensus", + "version": "0.11.4" + }, + { + "direct_url": null, + "metadata_sha256": "53d669c8bd3d32d3275153b454e515ca5cc6dec92fae3a98309b5a2b19fe6d2d", + "name": "opencensus-context", + "version": "0.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "19778b6d66b0e45bf73e11fa37a208949d5b393aef914627394d5601455546a6", + "name": "opencv-python-headless", + "version": "5.0.0.93" + }, + { + "direct_url": null, + "metadata_sha256": "19778b6d66b0e45bf73e11fa37a208949d5b393aef914627394d5601455546a6", + "name": "opencv-python-headless", + "version": "5.0.0.93" + }, + { + "direct_url": null, + "metadata_sha256": "a3f5434fa7c80f7f7abc82173da639c8e9c59d30b4027182645562bd3d2f4f97", + "name": "opentelemetry-api", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "8611977ea596e4827874582e86250618444e1c718229dddfc16e5ea437ce5fcb", + "name": "opentelemetry-exporter-http-transport", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "2cfd41e5ca33292d987ba71fa6186d11e16ed66888f3a26f8a3a99060c4b5e90", + "name": "opentelemetry-exporter-otlp", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "3bb4494220732d4bf10e1dba231ea7638cedaa5362e1f23a50d34a14f520fea8", + "name": "opentelemetry-exporter-otlp-common", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "27fb1c8aa5c2cd07776f9f3281fc618cd3feb96017757c33d2b3586fb7fec88b", + "name": "opentelemetry-exporter-otlp-proto-common", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "5cba6098cdd0bfb06853a6c704a2451c4f82c9dea376a30b59ecd279296648ad", + "name": "opentelemetry-exporter-otlp-proto-grpc", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "6f53ef1c172ebf87af69b9ef390aa908506d0cd14bc7811985fdd937a4058808", + "name": "opentelemetry-exporter-otlp-proto-http", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "1910f4e7ebd497e98b6d231e10275288fda2cd1885117575706c62f45e065889", + "name": "opentelemetry-exporter-prometheus", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "fab18b721e30be41448be252e1dca43b48e7f15d971e0bb552492c0ef4b07bee", + "name": "opentelemetry-proto", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "3644a79f55762a646799ff52b9d837e01c8192b7b28f735a383f55c90edb9bc2", + "name": "opentelemetry-sdk", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "add3db481f7f401f65cfbddb058fde3bb4c9dd7b61064a84f8598ad7efe0b11c", + "name": "opentelemetry-semantic-conventions", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "0dfff30e912520a226bcf7a547393484cfcd8c738439c7b48418f61c95109480", + "name": "opentelemetry-semantic-conventions-ai", + "version": "0.5.1" + }, + { + "direct_url": null, + "metadata_sha256": "210ce26bad0a245a72831b4fa029708c245d4d670a88c8d5a69b1446c24a95e4", + "name": "orjson", + "version": "3.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "35ff73511848f5f934ccc39d538014716ec4579e76d54e0e407ff51794a7939c", + "name": "outlines_core", + "version": "0.2.14" + }, + { + "direct_url": null, + "metadata_sha256": "8ee2f7138ade46b6e348a6d099612f5bd6caff13511f3b4144327f37ce50eacf", + "name": "packaging", + "version": "26.3" + }, + { + "direct_url": null, + "metadata_sha256": "a4ab87bf8083001f25ccdc46095f05b678b3569dd58edc2cf941e3e7f64d7c88", + "name": "paginate", + "version": "0.5.7" + }, + { + "direct_url": null, + "metadata_sha256": "1de96a6c28c2e5613c9c87cd4ad9484791001cf58df43cf2ba74d5c4f85f0ad2", + "name": "pandas", + "version": "3.0.6" + }, + { + "direct_url": null, + "metadata_sha256": "d05b8d05da9f78176b2eefaacdfaa5e96708ec4f488daea8bbc52e3ed1bc3954", + "name": "partial-json-parser", + "version": "0.2.1.1.post7" + }, + { + "direct_url": null, + "metadata_sha256": "c1d126edceac2685e29403a8ae3a27c47143dce1f0252fa3931771562f1e2b4f", + "name": "pathspec", + "version": "1.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "30325dc8ce17bc64f9dbc0a449232fd35841a019df22a6f481007c9c5a28c1cb", + "name": "pillow", + "version": "12.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "cbc0b7b6e63b50dcb7c17cf3526a9304f285d9a31353adf3b22acc2059ab23f5", + "name": "pip", + "version": "25.0.1" + }, + { + "direct_url": "{\"dir_info\": {}, \"url\": \"file:///work\"}", + "metadata_sha256": "6ba03b5bc457a2a3d92468729501b5892a0d38ebcc36766c58859449498c5743", + "name": "pip", + "version": "26.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "0421937c4410b61c5325233d5b7671ae933bae8de174f87586ac55aa804851ea", + "name": "platformdirs", + "version": "4.12.2" + }, + { + "direct_url": null, + "metadata_sha256": "2bcffab42626e1fb50d6329765619312d30fe7f4880e98dcee99c92ebd283bb4", + "name": "pluggy", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "7e7562ba7c032f8edd02641ae71b1ac2d8f388103a68d777a7e907d19e75bc17", + "name": "pre_commit", + "version": "4.6.2" + }, + { + "direct_url": null, + "metadata_sha256": "bbe0a7662602ddd23f929fe0ee98e9d04406e138aeee18ce4861af186ea6060d", + "name": "prometheus-fastapi-instrumentator", + "version": "8.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "ece4a61f3ffb92a083fd5e47e180e3e070342e60a3bd93876a879e79a643e821", + "name": "prometheus_client", + "version": "0.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "5feba21a58eaa126e7e7739e57e2572e5bb251fcbf56e439e508acc47d769314", + "name": "propcache", + "version": "0.5.4" + }, + { + "direct_url": null, + "metadata_sha256": "3f136dbf7239c987a7685acd33440cc5efd6c4107b4b11c425201b4de70ae36f", + "name": "proto-plus", + "version": "1.29.0" + }, + { + "direct_url": null, + "metadata_sha256": "118b5ad013120a7a6e24714595ad776bf264d7b0060389133310d18ea1480902", + "name": "protobuf", + "version": "7.36.2" + }, + { + "direct_url": null, + "metadata_sha256": "0849f5a519bf9bc23ef204443fdd8d6d10678863acac7ca9340fc11bfba5a856", + "name": "protobuf-py", + "version": "0.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "eab5f2f4fd98f67a710a8fb1975b64ffa880a4f977566f022c567e08e324ccd6", + "name": "protobuf-py-ext", + "version": "0.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "39009938840de3a8b2a37eb4668d2601aae8c74e4b74743f73e59996b5b7e6e1", + "name": "psutil", + "version": "7.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "df44b58e8a4cfe57f65773ec47f7bdf2a14c8f5f73a7abf331a6b6237d6d691a", + "name": "py-cpuinfo", + "version": "9.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "2fd4a9efc5e5c74ae4c2fcf1970193c524c62ab22af8d5e66ebf7df9e6e46e83", + "name": "py-spy", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "d2ccdeb15cddedc81637a83e40baa6397fe269023b738d0fc3cb2d90722e290b", + "name": "pyarrow", + "version": "25.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "47b9f28e971a56f5adf949e0bcf105b0bf6587946566ecf197a2819d8848cc01", + "name": "pyasn1", + "version": "0.6.4" + }, + { + "direct_url": null, + "metadata_sha256": "82ce4c01c6d36841b9801fcdabab9bfe61d0b5e4e440c275941d8a2d4a790730", + "name": "pyasn1_modules", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "45cb345e4c12f63bc843b8c88902cc44c4d624a55aaef8cd5ffbc0ad16356fbe", + "name": "pybase64", + "version": "1.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "d311ae661edeac8ff029ab2960d065a7e792ebf8f79af682daa53109fe81318b", + "name": "pybind11", + "version": "3.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "cce9c0d440d065d4cdfb0d00004b8ddd65cf363a740efc5b0920b29201a59cd9", + "name": "pycountry", + "version": "26.2.16" + }, + { + "direct_url": null, + "metadata_sha256": "a1e33542883c249bf6c263b0023b9ea8a6131a77d9cb2cbc88316968e5eada83", + "name": "pycparser", + "version": "3.0" + }, + { + "direct_url": null, + "metadata_sha256": "faffcc4d7d359cb1047a9f67f7c65096b838c6db6c62852ef20fb27d55649a95", + "name": "pycryptodomex", + "version": "3.23.0" + }, + { + "direct_url": null, + "metadata_sha256": "98929f4cb80451dc3c6c8cd541a3081dccf0dee94afe7d9fa5c214a18ff236ce", + "name": "pydantic", + "version": "2.13.5" + }, + { + "direct_url": null, + "metadata_sha256": "8eccadbe707db97c397fb79073fe791b7998ef3a85f04f817f8991f7697b190b", + "name": "pydantic-extra-types", + "version": "2.11.1" + }, + { + "direct_url": null, + "metadata_sha256": "8f00c91deb34399316a5386eb2e76fe09f14a08dc3045f2e7dce9bf8573796bd", + "name": "pydantic-settings", + "version": "2.15.0" + }, + { + "direct_url": null, + "metadata_sha256": "66c729edddc20bf2764bb18bd87d907b08690e50355f39b97acc737b26d1d164", + "name": "pydantic_core", + "version": "2.46.5" + }, + { + "direct_url": null, + "metadata_sha256": "394500d78a0c1a433ae8ca3693152c08f6a901121d4b069cf1540a19759e2950", + "name": "pylatexenc", + "version": "2.11" + }, + { + "direct_url": null, + "metadata_sha256": "df2e9e9847a2aea0ae6e20fd325aeb16cf3ce7f8913462db6c2398363cd0c0bf", + "name": "pymdown-extensions", + "version": "12.1" + }, + { + "direct_url": null, + "metadata_sha256": "82fcfe724db9f0b51348da89f4f5cdc0b08d08882b1bbc0ca4913d3a0a93bcb9", + "name": "pynvvideocodec", + "version": "2.0.4" + }, + { + "direct_url": null, + "metadata_sha256": "3722422cc1478b175879143dfb78f98b7a5f53f4f684d71b7054fe2e8acd3b89", + "name": "pyqwest", + "version": "0.10.0" + }, + { + "direct_url": null, + "metadata_sha256": "7d1d1c276b7c372d55d17ac7d30f0a4b80a746e147347b8510d1355eea7f80c8", + "name": "pytest", + "version": "9.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "89e7c1c932e52b74bdcaf504389d2d1a2d7ca559b02bf5a09fc80ebd58ad10f7", + "name": "python-dateutil", + "version": "2.9.0.post0" + }, + { + "direct_url": null, + "metadata_sha256": "54f30f811841b6d772f31715712c85bfe0041839cb071f78daf41c700a98642b", + "name": "python-discovery", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "54f30f811841b6d772f31715712c85bfe0041839cb071f78daf41c700a98642b", + "name": "python-discovery", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "0cc19efd76cfbf3bcb2cb0d3ab82191036855859455aa3812c5e9e591e3f34e8", + "name": "python-dotenv", + "version": "1.2.3" + }, + { + "direct_url": null, + "metadata_sha256": "1d866c6124631b9ce1797ad412fff298ab53fc2d95210281d7c8f20e920753fa", + "name": "python-json-logger", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "2d18a1e7286d92a656ead5ec6f83d5ae6dc858634624f6b264703ae88d24d718", + "name": "python-multipart", + "version": "0.0.32" + }, + { + "direct_url": null, + "metadata_sha256": "beaa0efe9ba4b34843f5a0fc7379a73f10e95adb8cc0c31f359ab6f3a42b4def", + "name": "pyyaml_env_tag", + "version": "1.1" + }, + { + "direct_url": null, + "metadata_sha256": "238dc769e22d4f5626750cdff36e920e4a8d69c10d88de6d79b40a59cc13d873", + "name": "pyzmq", + "version": "27.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "de0a5e855bb5bb78b7acdcd2ca60619c6a0c109814881589caf158ec07155662", + "name": "quack-kernels", + "version": "0.6.5" + }, + { + "direct_url": null, + "metadata_sha256": "961ffef199b876fb4d7b10903d78e79f359d703b1638834c61d70b9879932918", + "name": "qwen-vl-utils", + "version": "0.0.14" + }, + { + "direct_url": null, + "metadata_sha256": "faf6ab9027d12de992827a2d8a224996fe6747a8c5f7d31ae495983dc73eefe9", + "name": "ray", + "version": "2.54.0" + }, + { + "direct_url": null, + "metadata_sha256": "c50d8b3ff4d113925b60dc47d1d28e87248a3338024241b0a3a66c8794fbce0c", + "name": "referencing", + "version": "0.37.0" + }, + { + "direct_url": null, + "metadata_sha256": "02acdc52d6f21d5f4b172254daaa94edfaa44c9ebe14d1c00cc4c8fe99b0e1df", + "name": "regex", + "version": "2026.9.29" + }, + { + "direct_url": null, + "metadata_sha256": "ac08207697217d1ffde8a161b424d77d6e2af6b62630fa26d75d08f11076cdca", + "name": "requests", + "version": "2.34.2" + }, + { + "direct_url": null, + "metadata_sha256": "f1abd635c3dff607a4fd654c62a88d9d4c21843cfc9176116c156f4269ca21b5", + "name": "rich", + "version": "15.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "932ff7743a756d0efcc45528d64c275ac3cb40a8dd1787ea10cb303907f0ae4f", + "name": "rich-toolkit", + "version": "0.20.5" + }, + { + "direct_url": null, + "metadata_sha256": "294a1405c0fa34b5f735bcb46459050436849a1e584c643544de99c07c529fb7", + "name": "rignore", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "5e54dd00b4ad336c5161d47de2a5c2212090c44629c28b6538b156256e49282d", + "name": "rpds-py", + "version": "2026.6.3" + }, + { + "direct_url": null, + "metadata_sha256": "0d5895abd80bfc0027c02943abaea4547061b9004bd134950d640d619a697835", + "name": "safetensors", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "91d5de3f641f33a8fbb4b6e91772da68d50b68686971d7b66af2068f2e77b694", + "name": "scipy", + "version": "1.17.1" + }, + { + "direct_url": null, + "metadata_sha256": "297fb30f701a800489c12893a951da3e5bd1f80061a1f43f0d3e9f1d4c6bc6fd", + "name": "sentencepiece", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "4245e0388ddf2048a38ae2a24a3d2c583408b2454aadc680d3c3beede639db3f", + "name": "sentry-sdk", + "version": "2.71.0" + }, + { + "direct_url": null, + "metadata_sha256": "ae8a9e6feec1a76e954d65ea48ac57842c9a7bfb5ac6e5ea82400a5ba9f71a98", + "name": "setproctitle", + "version": "1.3.7" + }, + { + "direct_url": null, + "metadata_sha256": "341d00772017437d0f6e3c943ae353f243c39fedfba403aea47cced927a76516", + "name": "setuptools", + "version": "79.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "ff4bcfb192bd542ed8f1794fb32ffc9eabd932d6e03cb00a4ad5e35a2469af88", + "name": "setuptools", + "version": "80.10.2" + }, + { + "direct_url": null, + "metadata_sha256": "f1e5a532fb8cda0bbc370e3db6cb9cea72a065d12ddd6a14976ba3cf66264221", + "name": "shellingham", + "version": "1.5.4" + }, + { + "direct_url": null, + "metadata_sha256": "2aba2cfd9c2ad7625a5d374d141af317d8f92d3534997bf98d127e52848dfc81", + "name": "six", + "version": "1.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "69ae2dfe547624be97fae348e1cfa3793f8854eed32cc1603badedc7d48fb36e", + "name": "smart_open", + "version": "8.0.2" + }, + { + "direct_url": null, + "metadata_sha256": "d415e6c6de7dee117d254a342668c489931bc88eac7ec8678b452078e366da6e", + "name": "smmap", + "version": "5.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "093bc4f0740a6fc28692e616aa8fe68d7e1d76426cc5a5faf9ea722a8ee7aaae", + "name": "sniffio", + "version": "1.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "b3cef071eb1dbeaa76a1273fe2ca2cc8ef36e835165253952d93780962529ac1", + "name": "sse-starlette", + "version": "3.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "3c01ca830e213f0311fe37bc3b46b8ab230a5e7acb894bf0fc8785cb7ccfed48", + "name": "starlette", + "version": "1.7.0" + }, + { + "direct_url": null, + "metadata_sha256": "6017ca508a293cf47a88a78cb330e9cbd131d74ec3c7fbf89bd4300ed3129d30", + "name": "supervisor", + "version": "4.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "fd5eb4925b04f9bffbc6c4f92bf8aea7243b918b43cd359493fce48a7dd3b336", + "name": "sympy", + "version": "1.14.0" + }, + { + "direct_url": null, + "metadata_sha256": "f09f0e24282c5a86346bcd5b10ae5ff81869fa8ef69c3ba524bd0a817a87dda9", + "name": "tabulate", + "version": "0.10.0" + }, + { + "direct_url": null, + "metadata_sha256": "519fa19c146fd58a0a75ecf1461e4bd98f9c06d01800c37d4a80f5fef095f4e1", + "name": "tensorboard", + "version": "2.21.0" + }, + { + "direct_url": null, + "metadata_sha256": "1af7ad76e4073b01ab147eb3c1d8e38b95d38062c6c9bc63890150738642e8eb", + "name": "tensorboard-data-server", + "version": "0.7.2" + }, + { + "direct_url": null, + "metadata_sha256": "9e597f62fc07e3b931d5c8fb0e90706fb6d45465cfb5d01dbd27ba7fc135c02c", + "name": "tensorstore", + "version": "0.1.80" + }, + { + "direct_url": null, + "metadata_sha256": "0da993d16ef6326f471796fcb065622f309c5c1aae6c6295b488ea64bb5c880c", + "name": "textual", + "version": "8.2.8" + }, + { + "direct_url": null, + "metadata_sha256": "52ca6148d4fd1497254855fa610cfdde99191cd42bce7a452fd3a68855504ac0", + "name": "tiktoken", + "version": "0.14.0" + }, + { + "direct_url": null, + "metadata_sha256": "0df9eb495cfb477dcbdfbdcd8c04d952d3eb00d77831630760571e13545398e5", + "name": "tilelang", + "version": "0.1.12" + }, + { + "direct_url": null, + "metadata_sha256": "802b576e011dc61bd2681593e8d802714b6c4ce636a9cf87035026db32ce6262", + "name": "tokenizers", + "version": "0.23.2" + }, + { + "direct_url": null, + "metadata_sha256": "4e1631b2164a49ff9a848d86ce504fdcc15e3540dbb262df8f33a2681a8de513", + "name": "tokenspeed-mla", + "version": "0.1.8" + }, + { + "direct_url": null, + "metadata_sha256": "05086095a775c5dca70998dcf442a848c13f9c68b54a54c510c3542c5abb6563", + "name": "tokenspeed-triton", + "version": "3.8.10.post20260920" + }, + { + "direct_url": null, + "metadata_sha256": "71daba472d0c5ffc25c0231dc29688ab0cb13d5bc7e7d93f6c4cce4169c50048", + "name": "torch", + "version": "2.13.0" + }, + { + "direct_url": null, + "metadata_sha256": "cccd2f1c0e5866e63732f58798c8d642ee6d10cd560d6f691e7981b908c246c9", + "name": "torch_c_dlpack_ext", + "version": "0.1.5" + }, + { + "direct_url": "{\"dir_info\": {}, \"url\": \"file:///torch_memory_saver\"}", + "metadata_sha256": "6276cef17dedbb5ee0d6157bbf63b832e916026281328d995ad3d488c2539618", + "name": "torch_memory_saver", + "version": "0.0.9.post1+slime" + }, + { + "direct_url": null, + "metadata_sha256": "29809ca2c86dda5079654f1f70564a64435e9d08f1964a2412b6f514e1b5ff64", + "name": "torchaudio", + "version": "2.11.0" + }, + { + "direct_url": null, + "metadata_sha256": "7e9be0f3a290e3fd9370d8fe010c7ffd006d5d3d05ab8bdf7df8f92f0fca9c39", + "name": "torchcodec", + "version": "0.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "181fa5e6b399c378711eddcdacd756d3c51317916f8eb160ee36cae7fae9589f", + "name": "torchvision", + "version": "0.28.0" + }, + { + "direct_url": null, + "metadata_sha256": "43d1261aff90cf3d5b1b40cf1f94234d61409b14e59f3766f457c1eec7f7ac15", + "name": "tqdm", + "version": "4.70.1" + }, + { + "direct_url": "{\"archive_info\": {\"hash\": \"sha256=3e1d9f534781c8e608240da0b495b8246317a36382f7609017cbaa7fb1d53f7b\", \"hashes\": {\"sha256\": \"3e1d9f534781c8e608240da0b495b8246317a36382f7609017cbaa7fb1d53f7b\"}}, \"url\": \"file:///wheels/transformer_engine-2.16.1%2Bc9877beb-cp312-cp312-linux_x86_64.whl\"}", + "metadata_sha256": "d882f743161d9d9f35dee4e1a8cc9136fa495f7c660caace01ab8f5602d76aa7", + "name": "transformer_engine", + "version": "2.16.1+c9877beb" + }, + { + "direct_url": null, + "metadata_sha256": "465797a59706d83b45c93fde750b228c3b6e1addc44115de2c4c02ad66d9c5ea", + "name": "transformers", + "version": "5.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "a91982ca086667c592a951973434f7c5a9f27a8300bc97af78dfb496afe53e71", + "name": "triton", + "version": "3.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "d26fbb244532c4051e715f9047cd943e2cc4abb0ac6f2a517fa2986eb1ea726a", + "name": "truststore", + "version": "0.10.4" + }, + { + "direct_url": null, + "metadata_sha256": "c84af1a069084b1b440b3594068dec29200d52d4c1a9b652030448717f270158", + "name": "typer", + "version": "0.27.2" + }, + { + "direct_url": null, + "metadata_sha256": "0ad6653b7439f4bb6a596cb7b01ed1b716458467525c4dc40b75d62bdb943c98", + "name": "typing-inspection", + "version": "0.4.4" + }, + { + "direct_url": null, + "metadata_sha256": "d005280aa13b334ac942d20219102865e559f69ffd06c35c248b2f0d0da3b933", + "name": "typing_extensions", + "version": "4.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "fba2930e9030a18965d243f8d330748db2e67572a81b3b68710462fb5110332a", + "name": "urllib3", + "version": "2.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "bc5717bd6524a33838f285261868bcc8e311e8c29fdb19e41d56c38b04890e84", + "name": "uvicorn", + "version": "0.54.0" + }, + { + "direct_url": null, + "metadata_sha256": "741c006d8441f562aa853a5430df236fbb4af923445491f396bf09943bd30258", + "name": "uvloop", + "version": "0.22.1" + }, + { + "direct_url": "{\"dir_info\": {\"editable\": true}, \"url\": \"file:///vime\"}", + "metadata_sha256": "f85aa01dfdc868756a6583434bbff040f29eb511d47d5b25ada063a84353aac6", + "name": "vime", + "version": "0.3.2" + }, + { + "direct_url": null, + "metadata_sha256": "c25431aaf1950971fe96292f395a41a55b403127bfca0d0b8f7dc9cff5dab75d", + "name": "virtualenv", + "version": "21.14.1" + }, + { + "direct_url": null, + "metadata_sha256": "4e3ee0a31d85e56268640aae853bcee4794dfe8c0483c5c6370517e480c81ae0", + "name": "virtualenv", + "version": "21.14.5" + }, + { + "direct_url": null, + "metadata_sha256": "d4ed5c7551cddb8c1aeff2f9f27b3491f6ad2c9afda8e7bb9779c33fa12a536c", + "name": "vllm", + "version": "0.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "84b482e09bac949e992594757214a1920c667a5d898ee320e309250697f6d26e", + "name": "vllm-router", + "version": "0.1.15" + }, + { + "direct_url": null, + "metadata_sha256": "9b16c871eb1060a5218e9b9a9ad33288d94844cfaf43f08dbb6c32423bde8fe3", + "name": "wandb", + "version": "0.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "8e4f2be437dfe4eb3c6c959e517ac20b75d06525563f1ebcbf06f9ec648bd7c1", + "name": "watchdog", + "version": "6.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "15218afb42938907c2ca74c54e3d8e3a5406493c4761e29e38e82bfec0f84296", + "name": "watchfiles", + "version": "1.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "8863af96e88b7db9990da99aa6c46816eacc3d2f9ae1297b53381b033cd70119", + "name": "wcmatch", + "version": "11.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "f46e6bd6cfafb2b684c29587b017b7096fd9155b74eda25a22eca784b9803ab7", + "name": "websockets", + "version": "16.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "ce82db5ccfefa4bfbe4e25a36e1f91e8e7d51fcaeb31586c4d48e1c69f99168b", + "name": "websockets", + "version": "17.1" + }, + { + "direct_url": null, + "metadata_sha256": "0f142a2c09eac643c7d0bfe77f3f121184c0b17914afbd32af669ed19b2b02ef", + "name": "wheel", + "version": "0.47.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd58938e51a3c5cb363f6f22eaa2a8a7accc1ce373388de167a82f77d3e5783f", + "name": "wrapt", + "version": "2.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "b0b72c1941f04499ca7e1a3a6e479aee8df902c3d49979624b59dba8c3228d37", + "name": "xgrammar", + "version": "0.2.8" + }, + { + "direct_url": null, + "metadata_sha256": "ef8861f39e5c36255966a36032651f937d890d55f31f1c26304b488f1ba34332", + "name": "xxhash", + "version": "4.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "740c08057b6eb69c58402c87d652af0a471e46325d811f2c605632a18817152f", + "name": "yarl", + "version": "1.25.1" + }, + { + "direct_url": null, + "metadata_sha256": "7b060e4d24394b5431875e2f74fec8e6bffa79d2e6b4cb8c7e2a5187dd2d8d69", + "name": "z3-solver", + "version": "4.15.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "3d76d4fbc95f0851191147db12300938c67a6f8fb1df884886d9601272ccc4e8", + "name": "zipp", + "version": "4.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "d3de2651e4e908dbb7c9d80508e5179590217dfac4993dc8b04381c5b9718c4c", + "name": "zstandard", + "version": "0.25.0" + } + ], + "executable": "", + "installed_provider_sources": { + "vllm/compilation/__init__.py": { + "path": "/vllm/compilation/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/backends.py": { + "path": "/vllm/compilation/backends.py", + "sha256": "fa4bff8920b363efbbde9456f135fa9d2c004a5bde1898877f177418b2d8b008" + }, + "vllm/compilation/base_static_graph.py": { + "path": "/vllm/compilation/base_static_graph.py", + "sha256": "5cfe8e06db84aa42cd41cdd93ebe93af00b3a242c8011042057530e2922b523a" + }, + "vllm/compilation/breakable_cudagraph.py": { + "path": "/vllm/compilation/breakable_cudagraph.py", + "sha256": "3cc427612a08e2b9b3fee47548026400c1d0776e2d4747535e59ef5512bdf1e8" + }, + "vllm/compilation/caching.py": { + "path": "/vllm/compilation/caching.py", + "sha256": "71d212452dde742fbf28b8a01ed29d3c08a7457ff7f8da2a20ce9d17e902c2cf" + }, + "vllm/compilation/codegen.py": { + "path": "/vllm/compilation/codegen.py", + "sha256": "e04833bec88cf9d1a13aa7341e30e3233d1138bfe23424e0fd34d664b3fedb9f" + }, + "vllm/compilation/compiler_interface.py": { + "path": "/vllm/compilation/compiler_interface.py", + "sha256": "8d84e2864bf83f754bae9e9f77119e0287cca9f97f5fa5ec2535e07b5ad88944" + }, + "vllm/compilation/counter.py": { + "path": "/vllm/compilation/counter.py", + "sha256": "d8158c54dd36a357bf24f6f84dc22f572d3a27f4875f3d5779b12bc5d454ff76" + }, + "vllm/compilation/cuda_graph.py": { + "path": "/vllm/compilation/cuda_graph.py", + "sha256": "05c86392d7fae967ac73076dba7e01990a0e3ae619e4866450a0c1be56bd1192" + }, + "vllm/compilation/decorators.py": { + "path": "/vllm/compilation/decorators.py", + "sha256": "cab6962e8a1fead59c75f5ed8cb4732f9e5441ff972030c2f4b1c4ba0c58de3c" + }, + "vllm/compilation/monitor.py": { + "path": "/vllm/compilation/monitor.py", + "sha256": "43b24c5cb1bc4d32dc979f3222596905c7b3acc58415328a234402e6edc76abf" + }, + "vllm/compilation/partition_rules.py": { + "path": "/vllm/compilation/partition_rules.py", + "sha256": "857d2fb06dc871ea1d3717cd01fbd4e5205984100d98b7b72a2933d6ff1cfa4d" + }, + "vllm/compilation/passes/__init__.py": { + "path": "/vllm/compilation/passes/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/fusion/__init__.py": { + "path": "/vllm/compilation/passes/fusion/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/fusion/act_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/act_quant_fusion.py", + "sha256": "1fa9c3ca4fb424685b7053c3dda89dda16c98dc5645d85f0f28dca58429792b3" + }, + "vllm/compilation/passes/fusion/add_rms_fusion.py": { + "path": "/vllm/compilation/passes/fusion/add_rms_fusion.py", + "sha256": "e46998552628aa5cd5962fc39ea39ae824fd97e6aeba1d176e9cc7cade39837b" + }, + "vllm/compilation/passes/fusion/allreduce_rms_fusion.py": { + "path": "/vllm/compilation/passes/fusion/allreduce_rms_fusion.py", + "sha256": "0af193505880cec0f6ffa224c688bce3c9ddc318dccdf04a696b4e4b4506a963" + }, + "vllm/compilation/passes/fusion/attn_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/attn_quant_fusion.py", + "sha256": "ecc64e82be4481954c9cac6c23d7794846ab19486b570f2dda07ab5ad67c5a49" + }, + "vllm/compilation/passes/fusion/collective_fusion.py": { + "path": "/vllm/compilation/passes/fusion/collective_fusion.py", + "sha256": "1e2c8539d6960b45907fb3bf0482441ea7250e97c56ffdea1500514efa0b164d" + }, + "vllm/compilation/passes/fusion/matcher_utils.py": { + "path": "/vllm/compilation/passes/fusion/matcher_utils.py", + "sha256": "50ac5714ce1bb113520de769ea6234316acc470a8cdf2537a996ce9a9d54337d" + }, + "vllm/compilation/passes/fusion/mla_attn_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/mla_attn_quant_fusion.py", + "sha256": "a966fe7f58bf9228379f793f5fd851735a97f9639722766b2a20cb79a9e4baec" + }, + "vllm/compilation/passes/fusion/mla_rope_kvcache_cat_fusion.py": { + "path": "/vllm/compilation/passes/fusion/mla_rope_kvcache_cat_fusion.py", + "sha256": "1602cc28055ffa8d1123ddb1d256bf0bd12006fd06ea7e16a986c55746dbe0dc" + }, + "vllm/compilation/passes/fusion/qk_norm_rope_fusion.py": { + "path": "/vllm/compilation/passes/fusion/qk_norm_rope_fusion.py", + "sha256": "aebc7d1a5189b65ac665afcc169e7baebd53efe719c48e35e7c5babe85af0d39" + }, + "vllm/compilation/passes/fusion/qk_norm_rope_kvcache_fusion.py": { + "path": "/vllm/compilation/passes/fusion/qk_norm_rope_kvcache_fusion.py", + "sha256": "f0cfd0d83ec4acb09f9bf91d199b114e9d4995e3059c13eb23a6978ce7c07eb2" + }, + "vllm/compilation/passes/fusion/rms_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rms_quant_fusion.py", + "sha256": "4852aa44e0e2087043fdac271bda9b8d9bfe3201bb84ce3919b8ed454d8083c4" + }, + "vllm/compilation/passes/fusion/rocm_aiter_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rocm_aiter_fusion.py", + "sha256": "372e76c68c75209a085deec6dd22b3816be633613ca82f6f2925c1b3773d61a0" + }, + "vllm/compilation/passes/fusion/rope_kvcache_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rope_kvcache_fusion.py", + "sha256": "3a756e9049593537143b5a56ab9185a6bc83f57ed81d84226d7791a46a984b53" + }, + "vllm/compilation/passes/fusion/sequence_parallelism.py": { + "path": "/vllm/compilation/passes/fusion/sequence_parallelism.py", + "sha256": "3af7e420dcb35fff0bae0f8f599d0f1bda34445ebe194059892a434b2976d654" + }, + "vllm/compilation/passes/fx_utils.py": { + "path": "/vllm/compilation/passes/fx_utils.py", + "sha256": "730708213acf9d1b5f3176b433dfc197a5f3c81b5ce443f0923c526924833003" + }, + "vllm/compilation/passes/inductor_pass.py": { + "path": "/vllm/compilation/passes/inductor_pass.py", + "sha256": "1f380aacf7adabb8bf8b7d41c0a93473947f0716f7445bd910fd448f6c08e672" + }, + "vllm/compilation/passes/ir/__init__.py": { + "path": "/vllm/compilation/passes/ir/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/ir/clone_elimination.py": { + "path": "/vllm/compilation/passes/ir/clone_elimination.py", + "sha256": "5297078f5cddce081faba5215814275381d2083b32318fcfeb2bf9d69fedb7c7" + }, + "vllm/compilation/passes/ir/inplace_functionalization.py": { + "path": "/vllm/compilation/passes/ir/inplace_functionalization.py", + "sha256": "2dc4f22c6f05224828c2941479185b1452d4490f488b7f0bfd124334e7809fed" + }, + "vllm/compilation/passes/ir/lowering_pass.py": { + "path": "/vllm/compilation/passes/ir/lowering_pass.py", + "sha256": "d9c3d90f63138420f0e5489447b5996573fcfbbab939da2efccd00848492b172" + }, + "vllm/compilation/passes/ir/utils.py": { + "path": "/vllm/compilation/passes/ir/utils.py", + "sha256": "f59d33a6c7d0616cbeec1e9fb1d6c948881bf81fe124caeb906eac2e2197ea21" + }, + "vllm/compilation/passes/pass_manager.py": { + "path": "/vllm/compilation/passes/pass_manager.py", + "sha256": "486979a058aa2e20ebedcbb6e039f7a59f38d2efd2cda11219fae4067be0968d" + }, + "vllm/compilation/passes/utility/__init__.py": { + "path": "/vllm/compilation/passes/utility/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/utility/fix_functionalization.py": { + "path": "/vllm/compilation/passes/utility/fix_functionalization.py", + "sha256": "ad5b504a05ccee023869b0c8df70ec2fff9a4a80d25fd903e2b532f470e7203f" + }, + "vllm/compilation/passes/utility/noop_elimination.py": { + "path": "/vllm/compilation/passes/utility/noop_elimination.py", + "sha256": "8abf85d28c13f95059f2acbc0275b9b9ed2ad4990f7c5763bbe3067a4aa629ce" + }, + "vllm/compilation/passes/utility/post_cleanup.py": { + "path": "/vllm/compilation/passes/utility/post_cleanup.py", + "sha256": "1c38b14fc209165cbcf8ca763a17ac4e528b97f59b573e5d52df2cce7d758de3" + }, + "vllm/compilation/passes/utility/scatter_split_replace.py": { + "path": "/vllm/compilation/passes/utility/scatter_split_replace.py", + "sha256": "138402cc3097768a32e9e5b8d1a054b6176e494bddc8684e23ca2dc5fdc3fdda" + }, + "vllm/compilation/passes/utility/split_coalescing.py": { + "path": "/vllm/compilation/passes/utility/split_coalescing.py", + "sha256": "0b02acd9e1ad43d7b3e128b914e969b9580773f2818078846dfbf163a8bd0871" + }, + "vllm/compilation/passes/vllm_inductor_pass.py": { + "path": "/vllm/compilation/passes/vllm_inductor_pass.py", + "sha256": "4f83ffb67f834a214221d810c7843a8e41eb4e5930eb40adbd8cf054ff6fb9c6" + }, + "vllm/compilation/piecewise_backend.py": { + "path": "/vllm/compilation/piecewise_backend.py", + "sha256": "6525318ff3ca2e4978e24dd9232a7ae0a02e920e19604b83db6f6043d1f8a54d" + }, + "vllm/compilation/wrapper.py": { + "path": "/vllm/compilation/wrapper.py", + "sha256": "c1b1fca679ea16aa07a696831a810c0d531da2bb0ea32dd6f1a95cdaef36de07" + }, + "vllm/config/__init__.py": { + "path": "/vllm/config/__init__.py", + "sha256": "56fb0cb1598d297e4f95a97e5d86dc624145d1532f5faa432b7d2834d7155bd5" + }, + "vllm/config/attention.py": { + "path": "/vllm/config/attention.py", + "sha256": "c41f345b512d9b7df882328257eb3a6381f41088c11ae83b5ecd8a9e8265d1bc" + }, + "vllm/config/cache.py": { + "path": "/vllm/config/cache.py", + "sha256": "f1c226ba679c884930dbfcaf41a57248b137a9a20d3ed8e3d3b31752bb484c07" + }, + "vllm/config/compilation.py": { + "path": "/vllm/config/compilation.py", + "sha256": "c9cec5c7200e8e559810ec8c30113ad61dab6780f9f7fb3c116bd0d9b5a43065" + }, + "vllm/config/device.py": { + "path": "/vllm/config/device.py", + "sha256": "7b82eee02ceb5842337451a27a3d5729920c47e25e8f6bf3997f5146f9330a9c" + }, + "vllm/config/diffusion.py": { + "path": "/vllm/config/diffusion.py", + "sha256": "1fa9fd2478a866098a28a3586b55af2f9738656b7813a55d76539c10dd99fe8d" + }, + "vllm/config/ec_manager_config.py": { + "path": "/vllm/config/ec_manager_config.py", + "sha256": "418b387dbe7bdf67deddce331c205768a2d42aea37141f59fb02a8a1528e3552" + }, + "vllm/config/ec_transfer.py": { + "path": "/vllm/config/ec_transfer.py", + "sha256": "0eabb2c25194676d23c6acf59562672a1dd24415043ac5737d621ce0d681ec70" + }, + "vllm/config/engram.py": { + "path": "/vllm/config/engram.py", + "sha256": "34043a22385a041d4e9be8857f64174c990c2ca8308b97b6a952b5ab96c20ee5" + }, + "vllm/config/fault_tolerance.py": { + "path": "/vllm/config/fault_tolerance.py", + "sha256": "b166b24373d599fb15ddc575e3061cf0dcb42174d0369d8468008e7ffbb2a4e2" + }, + "vllm/config/kernel.py": { + "path": "/vllm/config/kernel.py", + "sha256": "27e23c584cf862f4091858db6dc85bbc2a01f4baf9dca3f232ae6f3bac02390e" + }, + "vllm/config/kv_events.py": { + "path": "/vllm/config/kv_events.py", + "sha256": "b1dbaee3e6830e381e9157fe3bab0d65c357da88ff7cdf8b1e4b3a4e75c82a87" + }, + "vllm/config/kv_transfer.py": { + "path": "/vllm/config/kv_transfer.py", + "sha256": "506fae7a9d7f32cb3646156cf9249a856f6317dff6c4c85db70efd34418c429b" + }, + "vllm/config/load.py": { + "path": "/vllm/config/load.py", + "sha256": "bd6431c22e078362d749a56a2c84145432ebf2605d8bcfa2ac679182d18ed630" + }, + "vllm/config/lora.py": { + "path": "/vllm/config/lora.py", + "sha256": "ed6cf6575f5950f079a62f904caeae93d1a4745dd8c21788b74367883bcd4b08" + }, + "vllm/config/mamba.py": { + "path": "/vllm/config/mamba.py", + "sha256": "2090f791201ca45dd4f1d72b8651268890eb07574b6084721194eb8fdf612c48" + }, + "vllm/config/model.py": { + "path": "/vllm/config/model.py", + "sha256": "f4168b67cc93ce72ff2a6d4c66974223e32fd0f1fab4c05e44bd68a275e18d69" + }, + "vllm/config/model_arch.py": { + "path": "/vllm/config/model_arch.py", + "sha256": "2babe28329d7b60b4e205f6d72c687f0f66e6535aa2f20411469e5ec362f6b5f" + }, + "vllm/config/multimodal.py": { + "path": "/vllm/config/multimodal.py", + "sha256": "271911aee151f17f092228cecee82af0713e9a47340ffdf66834ca7638a50d22" + }, + "vllm/config/observability.py": { + "path": "/vllm/config/observability.py", + "sha256": "d57c59ec776477ab0a20e9f2b945bc954d8ea3737c869259480e9aa10dfb9f6d" + }, + "vllm/config/offload.py": { + "path": "/vllm/config/offload.py", + "sha256": "6f2db3d9a2730588473d5155811690c6241b167a21dcb62fbbd9ebb6386de42c" + }, + "vllm/config/parallel.py": { + "path": "/vllm/config/parallel.py", + "sha256": "f012ace89e3fb730a467f729f602679bc145c49f0d10721811c9d818570e7b2b" + }, + "vllm/config/pooler.py": { + "path": "/vllm/config/pooler.py", + "sha256": "9f01913dcb7bccbf9b672b16643f18471ae202455992e8afaf0725a17f2b3d08" + }, + "vllm/config/profiler.py": { + "path": "/vllm/config/profiler.py", + "sha256": "04d24fa1dc7cfedca6b5c7d9115f7f7021722fc46a5b15234a1e3b3a506c93e5" + }, + "vllm/config/quantization.py": { + "path": "/vllm/config/quantization.py", + "sha256": "acffc52f525b39a88efd656f1ed705ce3a1b758298bb0684fac7694776bc10b4" + }, + "vllm/config/reasoning.py": { + "path": "/vllm/config/reasoning.py", + "sha256": "2c4f7bdee48a9fb3d93787c4c32361c2411417cce452cfde86808d8759977861" + }, + "vllm/config/scheduler.py": { + "path": "/vllm/config/scheduler.py", + "sha256": "822179da62be4bca0619c8590082ae09123f5c4415f9cc2037be673748239edb" + }, + "vllm/config/speculative.py": { + "path": "/vllm/config/speculative.py", + "sha256": "9c642a87264339c0dbc1d0b57330572149df0f9d5e16c6893b9895e50a619e19" + }, + "vllm/config/speech_to_text.py": { + "path": "/vllm/config/speech_to_text.py", + "sha256": "bf4a566fbde6a1cec1e209070b739650c3302c12696739c88049cb8f723a4c3f" + }, + "vllm/config/structured_outputs.py": { + "path": "/vllm/config/structured_outputs.py", + "sha256": "55649776594349b8b4aa3e08fc4c88068366732a486d6fb235079188044aa829" + }, + "vllm/config/utils.py": { + "path": "/vllm/config/utils.py", + "sha256": "d035e9e488ba92b6c47a96cf05d9b2a850d53eda8a05115b22ff9af8dbc2fc64" + }, + "vllm/config/vllm.py": { + "path": "/vllm/config/vllm.py", + "sha256": "956b812e5a719bcbfa3a3958801361b38b9c928c96b8c073311bbb96376dfb7a" + }, + "vllm/config/watermarking.py": { + "path": "/vllm/config/watermarking.py", + "sha256": "30e6620a3cd7529f0736ad55e38bc326a6a78dee4552f0722208400041c94a1f" + }, + "vllm/config/weight_transfer.py": { + "path": "/vllm/config/weight_transfer.py", + "sha256": "92edd9e5ea90c97a8f3c5f20abf1734a105ee1f3f89e306e7ba87e758f1f767e" + }, + "vllm/distributed/__init__.py": { + "path": "/vllm/distributed/__init__.py", + "sha256": "97f28c30b32662af8cab163939e4ee423037f11630752e13b55cbc25a7d0ab71" + }, + "vllm/distributed/communication_op.py": { + "path": "/vllm/distributed/communication_op.py", + "sha256": "3c3f8ac60db38ece891d39dc1e2f6f1947ad438685893d2e5777d072320bd1b8" + }, + "vllm/distributed/device_communicators/__init__.py": { + "path": "/vllm/distributed/device_communicators/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/device_communicators/aiter_custom_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/aiter_custom_all_reduce.py", + "sha256": "f8eb027ce7a85d94af6260960ceb7f36fc6f1406c9af9c9b6285fddb3f178009" + }, + "vllm/distributed/device_communicators/all2all.py": { + "path": "/vllm/distributed/device_communicators/all2all.py", + "sha256": "1f1b69236acd3cd7bd94520fd6d591bfd31b57c4bc7c9f9f4161ea8bbd0c5f26" + }, + "vllm/distributed/device_communicators/all_reduce_utils.py": { + "path": "/vllm/distributed/device_communicators/all_reduce_utils.py", + "sha256": "ed0ab4dd05b2519a6313892e68824c97b540034664d7f8c3d031b322e33e1bfc" + }, + "vllm/distributed/device_communicators/base_device_communicator.py": { + "path": "/vllm/distributed/device_communicators/base_device_communicator.py", + "sha256": "4a7670f12ed7c7621b25d476e2687c24ca01f3be183fff4a6a25337596fe506b" + }, + "vllm/distributed/device_communicators/cpu_communicator.py": { + "path": "/vllm/distributed/device_communicators/cpu_communicator.py", + "sha256": "e1856c8e91cfbbb4d9ce990c1236e258ba4021e226afcbab645653380b38d64b" + }, + "vllm/distributed/device_communicators/cuda_communicator.py": { + "path": "/vllm/distributed/device_communicators/cuda_communicator.py", + "sha256": "102d95c67ec798cf352b817ba92e8abc9da37f30d1bbdf3aab45d3927b627b93" + }, + "vllm/distributed/device_communicators/cuda_wrapper.py": { + "path": "/vllm/distributed/device_communicators/cuda_wrapper.py", + "sha256": "333b6d9ed173e7a18c7f2b6627a3c9c9ed88892ce52015f05e29d6d245e48ee3" + }, + "vllm/distributed/device_communicators/custom_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/custom_all_reduce.py", + "sha256": "a048c1327c23580805600c0c951831bec333b1ffc4eb26a0e3d34119c4f0c445" + }, + "vllm/distributed/device_communicators/flashinfer_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/flashinfer_all_reduce.py", + "sha256": "b4359760e9b55963676109a5c3a015fb82e190d4df1d021de9ee01e7814cbdda" + }, + "vllm/distributed/device_communicators/flashinfer_pcie_ipc_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/flashinfer_pcie_ipc_all_reduce.py", + "sha256": "8b67b0fc356a565095f56b475cc89c513e3a5eff051ab1c52e5beb0c1a79e9f2" + }, + "vllm/distributed/device_communicators/mnnvl_compat.py": { + "path": "/vllm/distributed/device_communicators/mnnvl_compat.py", + "sha256": "72ee1e6f9571b4c8ecbd9f60cd469d1b565cb79cab519a688a93f290906a2615" + }, + "vllm/distributed/device_communicators/pynccl.py": { + "path": "/vllm/distributed/device_communicators/pynccl.py", + "sha256": "882fb83c5a3c565a3f8fd664b79f5ceae566dca180019ecafd74bc8c11d9f8cf" + }, + "vllm/distributed/device_communicators/pynccl_allocator.py": { + "path": "/vllm/distributed/device_communicators/pynccl_allocator.py", + "sha256": "390e2576cbf4ae06341ca4dab24fc7e4d4f7c24dd444329ed05d828a9ce91460" + }, + "vllm/distributed/device_communicators/pynccl_wrapper.py": { + "path": "/vllm/distributed/device_communicators/pynccl_wrapper.py", + "sha256": "ce63c8da57bb88d4cf89956bd70bb63f0f44bfad468ddb37b765611551f6d99f" + }, + "vllm/distributed/device_communicators/quick_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/quick_all_reduce.py", + "sha256": "8aacb23e7c297b0ae2f80d99c5affd2e7517115d7874be51069d14a44db7b5f2" + }, + "vllm/distributed/device_communicators/ray_communicator.py": { + "path": "/vllm/distributed/device_communicators/ray_communicator.py", + "sha256": "332c37f65495b60564d61db59bc2d30ca0236adc33442d01464790bde9aec897" + }, + "vllm/distributed/device_communicators/shm_broadcast.py": { + "path": "/vllm/distributed/device_communicators/shm_broadcast.py", + "sha256": "f3e7a3f3ff713fccbd535e0d41650ee05bdf8677e83d4b90519910645022c30b" + }, + "vllm/distributed/device_communicators/shm_object_storage.py": { + "path": "/vllm/distributed/device_communicators/shm_object_storage.py", + "sha256": "e097bf7ac0141fe8db4131e8fd553ca2ad5b0600b22a56f3924af6b795e7207c" + }, + "vllm/distributed/device_communicators/symm_mem.py": { + "path": "/vllm/distributed/device_communicators/symm_mem.py", + "sha256": "b06e3ddb9ae880a30ec4a103ce32eb9794223bb0293832e89572af28adaaa544" + }, + "vllm/distributed/device_communicators/xpu_communicator.py": { + "path": "/vllm/distributed/device_communicators/xpu_communicator.py", + "sha256": "527cbfb250760abc62096ee7cd612307b821f21b72dee1687ad866620ec89b6d" + }, + "vllm/distributed/ec_transfer/__init__.py": { + "path": "/vllm/distributed/ec_transfer/__init__.py", + "sha256": "061405bb51df7409c9938b62e25caa8bd6ebf85da6d1700dbd4affe2a0825135" + }, + "vllm/distributed/ec_transfer/ec_connector/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/base.py", + "sha256": "22d4913375bb622473fbe1a77f9376b804949cd8a7e31e9518208f9561d161e2" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/common.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/common.py", + "sha256": "e2267abd8d00a6d2605e1a82ea5c73396a71b427452eab469fcca0134c334e7c" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/connector.py", + "sha256": "72cd35d9fd754a2992dd090a8af13c91e0789b4038ac29276750d823120235db" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/base.py", + "sha256": "19e8df88b0fa831997896355ecdd49e0d86cb074cd7ae28aed0b328b0bb3ab2e" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/zmq.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/zmq.py", + "sha256": "435641c0e37551ab4937855abd067be26905b91215e759cbd9d28a419a34ff9a" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/base.py", + "sha256": "3be698aeb67d32ee3741e76b2fb71806941c587578583acf8fbc42fbf22b46a5" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/nixl.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/nixl.py", + "sha256": "03af8f6549a6027b7262a482907af591e45f28b9b1c5a3408bbc6600e38797e5" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/ec_shared_region.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/ec_shared_region.py", + "sha256": "e40607952c9920024455eca2f419e8c3ef1de9a4d8b27c147a33bb941b8c08b1" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/protocol.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/protocol.py", + "sha256": "05878336884396bfbef77b96b0fa6359f6fa0aba912961f14a84f5a436f27038" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/__init__.py", + "sha256": "01c42385bf3a55cff09cc05ba956f6dd4b8b6b986bf4d6eca4e566cb045b48e0" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/embedding_cache.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/embedding_cache.py", + "sha256": "7359fb980af1fc30b3253681310ef636e2b4a19134e04a93270c9c45de2572d8" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/session.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/session.py", + "sha256": "5973548a919e13c866222b91d502686a6757a31e5a5664b879bf2887ed9fb212" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/utils.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/utils.py", + "sha256": "160ac665f20f2c75b343c1e784084f2b0b4d1cf8fdb28ee15deee4dc8ed0ce45" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/worker/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/worker/__init__.py", + "sha256": "f08d296d3560c42173ae8af961af4a768033ccf1e36e9c17c0cdd53013d0c52e" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/worker/descriptor_buffers.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/worker/descriptor_buffers.py", + "sha256": "be7c81be214e995da8499105ba485854d9c19d6f8e905f8f1b87b83694ca0864" + }, + "vllm/distributed/ec_transfer/ec_connector/example_connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/example_connector.py", + "sha256": "09022ce07a89114bb65d9befd2e60873453aed11bbac8c0a75c1e6084e785a5f" + }, + "vllm/distributed/ec_transfer/ec_connector/factory.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/factory.py", + "sha256": "d6cedca0a99c3dd2b03cd1c15d17472b983e3f7d8f5baf4a12eecaf6abedb817" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/__init__.py", + "sha256": "1cbfc2f95f8f4d48a9253056eb1fd4b562062884e3fd5cb6571583c352fc16f3" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/config.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/config.py", + "sha256": "98c60696f79d1de67d2364cd9e8a42a393b5c8e17ed9af2f971368e47891d7b3" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/control.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/control.py", + "sha256": "58e0d1a423fbe958bfa586ac26a17107e08d0b31d044b4c74ab4dde880e7ca9b" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/memory.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/memory.py", + "sha256": "d5e90b1348de670a70f110d58eedcbdbd053db72c21dd007c3f5275c53951149" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/metadata.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/metadata.py", + "sha256": "497a7e6dfffb7fce80a41d5989f96119b970c143df77bb9d0f9c91d7a46e8c42" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/producer.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/producer.py", + "sha256": "97fa4d0b19475574778eab02f55fad73db9642beb9156da890314fd53fa1a7ab" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/reservation.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/reservation.py", + "sha256": "4790bc65cde4db5f17733ca2c2910980ba594a8a9b79ee27c5b957dffd4c1113" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/scheduler.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/scheduler.py", + "sha256": "53004b62529a31fdd80dfb2e6026610b95041a77e91f731ae526fefd84e7968d" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/state.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/state.py", + "sha256": "92f375d6c5cc9c83dbe95a7977ad8eb0f1b5629ccee92968bcacdc94eee15d65" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/transfer.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/transfer.py", + "sha256": "ada2113a5402054f1149d3edc2537f4e5e1bd696c9b17291c9f2b4cbf6b59753" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/worker.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/worker.py", + "sha256": "89eb91bb64845b3b121d502972a6b04d448714253becd2ea662e5691cd5acdd7" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake_ec_connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake_ec_connector.py", + "sha256": "aaebab4711bc00dd0c622dfbfd8639fc41e7ed5d1658d7d68fe33e4d5fbef3ba" + }, + "vllm/distributed/ec_transfer/ec_connector/utils.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/utils.py", + "sha256": "11b9014b9c0697f8846deff1a55a22fa86a15dc2ac3e139442fb6d513ac03059" + }, + "vllm/distributed/ec_transfer/ec_transfer_state.py": { + "path": "/vllm/distributed/ec_transfer/ec_transfer_state.py", + "sha256": "9487a41f23fa1a4fa6dfca8b42b8e97a0ee19d8406ffd1dcf4bef66315180827" + }, + "vllm/distributed/elastic_ep/__init__.py": { + "path": "/vllm/distributed/elastic_ep/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/elastic_ep/elastic_execute.py": { + "path": "/vllm/distributed/elastic_ep/elastic_execute.py", + "sha256": "b8f60a4183c79ff6051095b5f95bb385bc7fea0cffe8cd9ebc9087ab0e9f01b5" + }, + "vllm/distributed/elastic_ep/elastic_state.py": { + "path": "/vllm/distributed/elastic_ep/elastic_state.py", + "sha256": "fbf049199841a086fdf2fc1ab8498ef017ad3bf319db65c3ae61acbb536d2e10" + }, + "vllm/distributed/elastic_ep/standby_state.py": { + "path": "/vllm/distributed/elastic_ep/standby_state.py", + "sha256": "15282597550ebd0e07b8492ff192aea1ec0dcec8f0ad34009123e1002cc140c1" + }, + "vllm/distributed/eplb/__init__.py": { + "path": "/vllm/distributed/eplb/__init__.py", + "sha256": "1b9c2ee22abb5888c354c5aa01f0944f253e5e24e135d019778398bbe495a628" + }, + "vllm/distributed/eplb/async_worker.py": { + "path": "/vllm/distributed/eplb/async_worker.py", + "sha256": "424328600ad1003286fc5dfffa1f9482007314c060947818b2f94a8b97811f5e" + }, + "vllm/distributed/eplb/eplb_communicator.py": { + "path": "/vllm/distributed/eplb/eplb_communicator.py", + "sha256": "ba30d9d40e7b81d3f42aa9041d2f328edca4073cfe2de920285eb68375501ed8" + }, + "vllm/distributed/eplb/eplb_state.py": { + "path": "/vllm/distributed/eplb/eplb_state.py", + "sha256": "2f06bc8c63f3fdf55edb5032ae55c0ffcac3e67720ce74ea312e3d141b12acf4" + }, + "vllm/distributed/eplb/eplb_utils.py": { + "path": "/vllm/distributed/eplb/eplb_utils.py", + "sha256": "058af6104faa6d4085c1dca80bbe60d92bf0a7ec9cd92c775a180546c9d8c9c3" + }, + "vllm/distributed/eplb/policy/__init__.py": { + "path": "/vllm/distributed/eplb/policy/__init__.py", + "sha256": "daeb266c88442832b1ab8c8c4cc064891b38b9e9ba00aea324f926c87dc6d37e" + }, + "vllm/distributed/eplb/policy/abstract.py": { + "path": "/vllm/distributed/eplb/policy/abstract.py", + "sha256": "b9fd34c28bbfdded03360d7f3f6f8fb978e82689190d7ae4501dfe520e958c62" + }, + "vllm/distributed/eplb/policy/default.py": { + "path": "/vllm/distributed/eplb/policy/default.py", + "sha256": "3b54229e6240d050480390f6b29d4744fd38437d23719f78a6decf7002296a29" + }, + "vllm/distributed/eplb/rebalance_execute.py": { + "path": "/vllm/distributed/eplb/rebalance_execute.py", + "sha256": "b387e228791149018536eee96cf955b33ba79d801cdc36849d1b47a580ec2597" + }, + "vllm/distributed/kv_events.py": { + "path": "/vllm/distributed/kv_events.py", + "sha256": "de08f01e8736881560256c350a3b6418999dd4aa30f9c6ec9159527f7ed6899a" + }, + "vllm/distributed/kv_transfer/__init__.py": { + "path": "/vllm/distributed/kv_transfer/__init__.py", + "sha256": "c1be4e58ec6923bae607a355ad22891c740f056a69ff7358b1e10ea3fd2680ea" + }, + "vllm/distributed/kv_transfer/kv_connector/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/base.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/base.py", + "sha256": "2ae2a2c48f5731f3533166a75440fe91e764332305b5d713df840edba970789d" + }, + "vllm/distributed/kv_transfer/kv_connector/factory.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/factory.py", + "sha256": "add99c93c587b0098b90b1f8fd6940bdd1f15c236c5c6f1a258411863cb902d3" + }, + "vllm/distributed/kv_transfer/kv_connector/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/utils.py", + "sha256": "317ed40dc837671ca6e666165222e641a0f9b3992aea63bbf54de7e13d40b3a4" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/__init__.py", + "sha256": "5beb6ccad12fdcfe1581982da6f18321caca50e73a6b3259ebf3c8dc8b3ffcca" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/base.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/base.py", + "sha256": "97af64220475c6c9e8273438d7b5138b105ebe6944beb783facb36a3bb76f31b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/decode_bench_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/decode_bench_connector.py", + "sha256": "b4151c88cdec28f1ff9259047abc17baf23b892f4b68769a93bf26e0442b9017" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/example_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/example_connector.py", + "sha256": "6226876ef52d10d0d284d29c337ab44698e8bac6abdb2e0ece53b5756c55d068" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/example_hidden_states_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/example_hidden_states_connector.py", + "sha256": "58c22534dcad0fb73599a2d70a2fb104d5b612a4723be5e777f56a56fe07892c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/flexkv_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/flexkv_connector.py", + "sha256": "de4f68c3bd565ed898e47e0b2980049b966ff31888f1957050d30995d4953762" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_client.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_client.py", + "sha256": "bea6ecff2be281c7e96c1551c7bf463cbb01f2964696067c0ebdb683844f9aab" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_connector.py", + "sha256": "e67ed58015090e5eea9d499883f2a9422673d07f8bdbe0ccff7db15d2460de13" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_metadata_server.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_metadata_server.py", + "sha256": "6800e5cf37809f8a8e28c469c14a434db288bc3bf83a8b62ee06910a20c2da19" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/common.py", + "sha256": "8f2c02c08227a9093e6aeb183961aba36b7812cfc29b8c047a2b2c9d82f79c15" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/gather_scatter_helper.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/gather_scatter_helper.py", + "sha256": "08c1b43de34fbeca77357d7576ac1d17cba974b59d695562f68bb713061e7b54" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/hf3fs_mock_client.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/hf3fs_mock_client.py", + "sha256": "bec61a9b0c4b9124b2292d7646d76411da44396389349b53cdcbc46353c8780e" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/connector.py", + "sha256": "8c61094ce0a3a702908f9576f69482e6bf314738a2cbe33a7d3b47258fa0ab43" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/stats.py", + "sha256": "d9383a6ad6ab6b8f812d29d90495407b770eeddb79b86e9d0e3216c0bd16e0ed" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/worker.py", + "sha256": "251c0d8e57e4739c03ce3e1c899a95ff5b1752eb27676c28ab88c4ebd62c4776" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py", + "sha256": "5991f9ff8832df32bd421eb67e48237270ea0a408180e523810bb43606acf8f3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/__init__.py", + "sha256": "c53be9796e76cde637514bfc40a525d8c09bb2784b406cb516790d8285dfe433" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/multi_process_adapter.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/multi_process_adapter.py", + "sha256": "6480d67b31ed603027a83edf327880a38aee45eaeee2da9a4efa93e95527c166" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/utils.py", + "sha256": "e204fa6a853ac9c122d7a4e9d146902230f81c48d4321ed5edfdbf979dd49ba2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/vllm_v1_adapter.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/vllm_v1_adapter.py", + "sha256": "e6fe55049c6b007248516d69640e2f3a4809f9d286091a1014ae0949987fa8f1" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_mp_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_mp_connector.py", + "sha256": "c712c386a7c57bf0355a1441ba574232c3aa5498fcb70713a2b3f5d18b64f9c1" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/metrics.py", + "sha256": "de1b1797d0448f74370919dbb0278767f390e8f59e00a0c0528abefb302babc2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_connector.py", + "sha256": "516be01320e64b0110e102eeb69a6ba766dd5ac8cb3036db6b97b7d54413323d" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_utils.py", + "sha256": "26877610463fa8e9d6b092772f2551bcc0c3ac794cbe63996df0414666a8ebba" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/rdma_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/rdma_utils.py", + "sha256": "716e5042edecaba36c7ca763474988f32fa09c2668b8260260149df610af8f83" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/stats.py", + "sha256": "f39b2f0b1db2e4f922e27e684a3f7bbf5bb279b82a0a8c3bb0c7ae69b6d14d24" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/connector.py", + "sha256": "17a350bdb89e17e415d6c52a48684dc15c35a804378daf03e1f3bee1b1b123a3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/coordinator.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/coordinator.py", + "sha256": "a8eb6c2157a96e8d25233b82347ac8409a41d6390b4f2c64242119c05911010c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/data.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/data.py", + "sha256": "d3cfefdb4165a24995749cba452641b318065baa95bb1bae62f922a2f8886e7b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/metrics.py", + "sha256": "f2b9ef8927632d142aad11a374d0725c6e619ea0bb7fea9eda3f3895eb7d277a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/protocol.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/protocol.py", + "sha256": "ccb1cf6a84a932a375215627d2aaac482c351a05df015d636d05373a6845b7c8" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/scheduler.py", + "sha256": "283849ff581ec206444cdf5621622377f1c925e8d7e05cb9294af2f3a5094e79" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py", + "sha256": "55f1682dfd1ed7af689166421337126a0e1d08afa4774a242e098d79e0c1e95b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_common.py", + "sha256": "549bb4fe22dca5095515b9c0712c31cc81a9d4923881e9f112317640fd8c04ab" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_connector.py", + "sha256": "c0f474bc34b579d889fae92eaf43eaca241be51a4697a187a942f0df4e6b6a98" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_engine.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_engine.py", + "sha256": "d842f3772fc6588d5a329a67572324cb74709aa3df4033e64c791a1e706c8e88" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_layout.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_layout.py", + "sha256": "2b4ec046a78897236b0626939bb828b6ec095355097d10bca39e5f3e1c992553" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py", + "sha256": "12d8387239f3194f2cb63ccbd64824648047210323572d66671e6a1eed349fc3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/__init__.py", + "sha256": "cc3145fe3b6d219a267bf40a0f7c0cc9430e4289f94acab2df761b99b671e7ba" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_scheduler.py", + "sha256": "7a1db8c54e4cd846bdac747344f2aea2c2fcf507817928796063225223b7e169" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_worker.py", + "sha256": "49a2e4faf99bef146b5a1d4d18d48f240b1e561c438252274494b359db96ef52" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/connector.py", + "sha256": "b6a0dc916d052f344be72ecfcb111509c13580102c11a860fa726cf0888949a9" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py", + "sha256": "2b23a07c1ec5ac5490c3b818737c7192e344ea9f52cd5623f75939f741ab4e21" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_scheduler.py", + "sha256": "ac3daf8e2246581fec84ab28f2133569421b62c32a120be4923e2f4d0f2f9de9" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_worker.py", + "sha256": "e5060c9b6cf022de35ca3d1da7a369cd6a6a2dea26219af9f7633aaf78af8a76" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_scheduler.py", + "sha256": "2d9008e33937a4d6c5cf9cc2f96160f2bdbc8e987fe37f0798a7fd7eb84c9572" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_worker.py", + "sha256": "87de3ea383dd3aa95fb2c287ea26ded8a330859cc1295f9faa69047e80865c2c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/scheduler.py", + "sha256": "09f1bfe7075b926b26a94529480e33b62c3ac273ff826f6c502084f08b1b2a08" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/stats.py", + "sha256": "3e710654e0b68d1a8592f0c4735c81b22f4bf698fb1a2dfea126d35bf2dd1ef2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/tp_mapping.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/tp_mapping.py", + "sha256": "2d43607f98701b2fad6cc0ac2767619a80b7fc2b3a3c2eb6ed0da4fb05dcd8f6" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/utils.py", + "sha256": "93de863fc8307a61d40b62f1b176b57ae93c363d34b9e9ddc8e666265b6d45dc" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/worker.py", + "sha256": "5134a36ac100ce7a64f5311029a37ac12c38d91093f63100f51f7fe53ea7c3ee" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/canonical_mapping.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/canonical_mapping.py", + "sha256": "e0b3c6f9806a650e0370c43c5068fc31c0fec94615089e15fdf270d7d96f2b64" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/common.py", + "sha256": "9b3f042c6fa1581d10e8f688d2d9bc927bb41b780a9ea01f514d57228e20c978" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/config.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/config.py", + "sha256": "aea82e60889e78dcad8564ec8285b65a6a372824a1545a98ea8e78b6f4fd418a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/events.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/events.py", + "sha256": "d7039b67be95fd444966628184040a94880873c0611c0e6e7525a22650ffdefb" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/metrics.py", + "sha256": "13d76df014e86691f58dc89a879f9808b124690c9267dd5fa3b2d4004d4c5fdf" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/scheduler.py", + "sha256": "2c5282f4a3165cd787fb355e215e3869f1bdd3f2c795b2155fc537c9d135191a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/worker.py", + "sha256": "acc2df53262441dfc6421a3af7f0cbd68cbfaedbd42bbc384d8e1da2d965d194" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py", + "sha256": "cdc16ca7339a10e1993bd6220e6273f86a4e99779f58f25098a24ad31bb0dbd8" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py", + "sha256": "96238ca82ccf07a1eeb59b8f66de17b09034e3eb993ad9a0a836511d3f69706b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/ssm_conv_transfer_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/ssm_conv_transfer_utils.py", + "sha256": "59a949709482e65a007fbe5352fe9b4bb54c2dcc10ad2c1c41f754b6e13299f4" + }, + "vllm/distributed/kv_transfer/kv_transfer_state.py": { + "path": "/vllm/distributed/kv_transfer/kv_transfer_state.py", + "sha256": "2e5fe09438d6e2ee642f8a26cf7dcf632e870d955d30baf002b76a8bfe836d05" + }, + "vllm/distributed/nixl_utils.py": { + "path": "/vllm/distributed/nixl_utils.py", + "sha256": "0bffa3c052c9f67472b1c0bc3816114891b010c968bf4b8a292e7da4d687db53" + }, + "vllm/distributed/parallel_state.py": { + "path": "/vllm/distributed/parallel_state.py", + "sha256": "d9b10ad56833ebc08a753e1a050ef0989c30d4134021b7b7b00150b7bd01adc6" + }, + "vllm/distributed/stateless_coordinator.py": { + "path": "/vllm/distributed/stateless_coordinator.py", + "sha256": "f52848fbe985ed47b1f3e3ca555314736ca06436e8d738ab4390101f0672dcb0" + }, + "vllm/distributed/utils.py": { + "path": "/vllm/distributed/utils.py", + "sha256": "792146b357139e705064a68d3b66858de8a0baaca4dc7db1232fa217d45db231" + }, + "vllm/distributed/weight_transfer/__init__.py": { + "path": "/vllm/distributed/weight_transfer/__init__.py", + "sha256": "3fb9d4712b7c131d522f5e76e73cd8c333f3cc7af86e2d5ecf9b61b57b3b7f5a" + }, + "vllm/distributed/weight_transfer/base.py": { + "path": "/vllm/distributed/weight_transfer/base.py", + "sha256": "8ab06feb04f1379d0558fbdb77fde46bc84f179e0a26742cabab937e88caa38d" + }, + "vllm/distributed/weight_transfer/clients.py": { + "path": "/vllm/distributed/weight_transfer/clients.py", + "sha256": "ff85c79c350241e6d2749ca23c9d295a3289b4b62bfdf0257d32eb94a0151d36" + }, + "vllm/distributed/weight_transfer/factory.py": { + "path": "/vllm/distributed/weight_transfer/factory.py", + "sha256": "4e979eeac8c5bcdbffb10eb4765cfb30120fa7595c6c2561d3fa1a966ced61c8" + }, + "vllm/distributed/weight_transfer/ipc_engine.py": { + "path": "/vllm/distributed/weight_transfer/ipc_engine.py", + "sha256": "1af578293f387a19073c322b24143c3ae4716ce0c5d2bac2a4ef26fe20119330" + }, + "vllm/distributed/weight_transfer/nccl_common.py": { + "path": "/vllm/distributed/weight_transfer/nccl_common.py", + "sha256": "7b2ef7dc7481c3f478f17c49aa36c7bed54142ec5c93d36ed8426c8fdf09e500" + }, + "vllm/distributed/weight_transfer/nccl_engine.py": { + "path": "/vllm/distributed/weight_transfer/nccl_engine.py", + "sha256": "7fd020c919dc7b4723fb78e64da977b180d0fef0cd21df955a037b848dbaa008" + }, + "vllm/distributed/weight_transfer/packed_tensor.py": { + "path": "/vllm/distributed/weight_transfer/packed_tensor.py", + "sha256": "d0a27fb0be1dc029bd5a1d44fdb57a5e54aa4cd74308bedc339e86ac02c7494c" + }, + "vllm/distributed/weight_transfer/sharded_rdt_common.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_common.py", + "sha256": "be0b13801f24e7b62999b19d733c030510353603a2d5320d5dc98ee02daf22a2" + }, + "vllm/distributed/weight_transfer/sharded_rdt_engine.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_engine.py", + "sha256": "2f791970b4815511a7578ef6c957e7da97b071d26a39087a09a17475909791ee" + }, + "vllm/distributed/weight_transfer/sharded_rdt_fake.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_fake.py", + "sha256": "ee11164e17b5f2793252ce77741b8b94e0583046abf896a590131b2008d1fbb9" + }, + "vllm/distributed/weight_transfer/sharded_rdt_trainer.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_trainer.py", + "sha256": "dd413ff461d41826ccd3eb87d3df22f6cd7f24e09aac7644e3e5b40d7beec484" + }, + "vllm/distributed/weight_transfer/sparse_nccl_engine.py": { + "path": "/vllm/distributed/weight_transfer/sparse_nccl_engine.py", + "sha256": "e11b409454dda2b05ea34e8115ac19027c5e65cb2a5e9682c494f16a50e978f4" + }, + "vllm/model_executor/determinism/__init__.py": { + "path": "/vllm/model_executor/determinism/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/determinism/batch_invariant.py": { + "path": "/vllm/model_executor/determinism/batch_invariant.py", + "sha256": "af8f8d256a48fc214edf426fbe891fb15bd8b1d7ae98b811c736ff1eb0fae798" + }, + "vllm/model_executor/determinism/batch_invariant_configs.py": { + "path": "/vllm/model_executor/determinism/batch_invariant_configs.py", + "sha256": "72ea0d4df0ab5ae288abb7df5c203d2ad5f1709c7295d87ec72da775fddc1b7a" + }, + "vllm/model_executor/layers/fused_moe/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/__init__.py", + "sha256": "64a32665be6d5afcfbaf7a0915717267278b66b880b908b0263ea58f08e51b5e" + }, + "vllm/model_executor/layers/fused_moe/activation.py": { + "path": "/vllm/model_executor/layers/fused_moe/activation.py", + "sha256": "78dec0e85e0c040304515f64ccf8f2c6a7a2e5b9f1124a2138a97d9a02585541" + }, + "vllm/model_executor/layers/fused_moe/all2all_utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/all2all_utils.py", + "sha256": "dc4750a446f7de31d09a46034da5fdf479bc169af90f47aa9af8ae15e67b0828" + }, + "vllm/model_executor/layers/fused_moe/b12x.py": { + "path": "/vllm/model_executor/layers/fused_moe/b12x.py", + "sha256": "ee76cc6aa801e24be8ec78a9e8502061ad48667d5ff8711e43f68fba912425bd" + }, + "vllm/model_executor/layers/fused_moe/config.py": { + "path": "/vllm/model_executor/layers/fused_moe/config.py", + "sha256": "a3a87cebcc7ac85d73f471dcfafc2d899c6fc08f264777b74a0e919adac9e03f" + }, + "vllm/model_executor/layers/fused_moe/deep_gemm_utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/deep_gemm_utils.py", + "sha256": "8fdcd857eb333f9c68902105f157568d52067c94ba1e2df6dbfe0474ef1f4c02" + }, + "vllm/model_executor/layers/fused_moe/eep_reconfigure.py": { + "path": "/vllm/model_executor/layers/fused_moe/eep_reconfigure.py", + "sha256": "9d7580265e8563e1140c2bb4c3a81a35ddd54903f5ec0a2720ffc064681f02f9" + }, + "vllm/model_executor/layers/fused_moe/expert_map_manager.py": { + "path": "/vllm/model_executor/layers/fused_moe/expert_map_manager.py", + "sha256": "308c00f63fcb6f44518ec3a56d8f902c7bba75928c2e3aea30fbe1f3f473973b" + }, + "vllm/model_executor/layers/fused_moe/experts/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a16_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a16_moe.py", + "sha256": "53deea255175171971422d14082ad139b5ec7b62e21429a4c7cc0ebbefd29cdc" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a8_moe.py", + "sha256": "f3fc51b95ed89862381908a0134e326228827f44854248db9585a9c4899c34f4" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp8_moe.py", + "sha256": "af6db1760961a5a71234f8b1cdf42e9e30a236e13601b0826a75110b79724948" + }, + "vllm/model_executor/layers/fused_moe/experts/batched_deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/batched_deep_gemm_moe.py", + "sha256": "b0cd4ea706583518dc608fb56f832fc3595f24bd863b03ef1e8c22b36b873508" + }, + "vllm/model_executor/layers/fused_moe/experts/cpu_int4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cpu_int4_moe.py", + "sha256": "67170af3ba9dc4c4f71d78a72efc3fa4e366eac614936a79911dae5c75ac1864" + }, + "vllm/model_executor/layers/fused_moe/experts/cpu_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cpu_moe.py", + "sha256": "0754cd4ff1b28e6d3932a67609d335acefd28f95a841f0492923813356a6d81e" + }, + "vllm/model_executor/layers/fused_moe/experts/cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cutlass_moe.py", + "sha256": "db901bdbcd3fdac23a1d74e39c51e67f14a82be787b2fd704ed1e787372ae868" + }, + "vllm/model_executor/layers/fused_moe/experts/deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/deep_gemm_moe.py", + "sha256": "16911a64a72eafc26a1bcb544a91f90144d85dc41e3ee57cf20e89925227bbb7" + }, + "vllm/model_executor/layers/fused_moe/experts/fallback.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fallback.py", + "sha256": "1bdd0a4f2ebaa40ec96a5aacc07aee61511af59e6324ce456aa65003b6e2991a" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_b12x_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_b12x_moe.py", + "sha256": "e613afe5da2742e42c717c1a0a56bd9e1c7e3e0452a828db0013d81063518954" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_batched_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_batched_moe.py", + "sha256": "295254dfeeec8df3eb8110e6f659a946cb9cded3de1565ecad4d741b3c3f3e00" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_moe.py", + "sha256": "08578bcd0cf72d6a470e40950175e73639efaa6d8d23c6da0869345312b229c9" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutlass_moe.py", + "sha256": "52887cec5fe628e0a4e7793deb546b40f6c29f7362b3b436c10ca36934ab9826" + }, + "vllm/model_executor/layers/fused_moe/experts/fused_batched_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fused_batched_moe.py", + "sha256": "2435587fc7f8fe8ea341ea0eb8f14c11f3f5b31fbbb9b29ce569ad3bace6e6a0" + }, + "vllm/model_executor/layers/fused_moe/experts/fused_humming_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fused_humming_moe.py", + "sha256": "a6830a76ff7f4cd3479b9c8372a30d03e8301604555cbdbcd9ac89a813b7431a" + }, + "vllm/model_executor/layers/fused_moe/experts/gpt_oss_triton_kernels_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/gpt_oss_triton_kernels_moe.py", + "sha256": "1613a7a6b256e8faee6fdcfae84f293492db6229d28ceb3e8a8d6093af480e36" + }, + "vllm/model_executor/layers/fused_moe/experts/int4_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/int4_emulation_moe.py", + "sha256": "f12857caf0671a341687ad3c5f48616b816ed51e1bcbdefa0a7edbecdb81a79d" + }, + "vllm/model_executor/layers/fused_moe/experts/lora_context.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/lora_context.py", + "sha256": "9b41eefaaa57c5dd0dc54217ef95978821b0c52e90ea4db8b0752e08452bd3e5" + }, + "vllm/model_executor/layers/fused_moe/experts/lora_experts_mixin.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/lora_experts_mixin.py", + "sha256": "b2bc55ed6be98b526c6a5698e2d98300650e78555f56b1820e58c04888e2a373" + }, + "vllm/model_executor/layers/fused_moe/experts/marlin_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/marlin_moe.py", + "sha256": "93916b721548e6194dc70cf6cec224b4b1456a0cc0980235e97beba7bf36541d" + }, + "vllm/model_executor/layers/fused_moe/experts/mxfp8_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/mxfp8_emulation_moe.py", + "sha256": "d09c62ad1398c51ff6f515f2a61014ee9e9a9798d0fe9762c47f446efc5edbef" + }, + "vllm/model_executor/layers/fused_moe/experts/mxfp8_native_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/mxfp8_native_moe.py", + "sha256": "01a42cebf18189e566034111b2145573c655319e8af1a56db60d53a319c40613" + }, + "vllm/model_executor/layers/fused_moe/experts/nvfp4_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/nvfp4_emulation_moe.py", + "sha256": "f24467762b60702f0df122ed64786be839a838a9b6cafaecbd04d35fbfedb189" + }, + "vllm/model_executor/layers/fused_moe/experts/ocp_mx_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/ocp_mx_emulation_moe.py", + "sha256": "dcaa60a9ebdb0bd8223b37af41f018ce7f95716ec7cd8526850f4433a579213b" + }, + "vllm/model_executor/layers/fused_moe/experts/rdna3_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/rdna3_moe.py", + "sha256": "e4abd802dc2f0ad9b338ebde397633c761d881c37813e2dc229902c526b597d8" + }, + "vllm/model_executor/layers/fused_moe/experts/rocm_aiter_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/rocm_aiter_moe.py", + "sha256": "bf09a7b783f5752d61cab76221b32b598d8846d801ee39dc9209d636c9659c6f" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_cutlass_moe.py", + "sha256": "ffce5ad627c540940d122d8df7981644b2eb35d07d480995c0f4f30517815fac" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_deep_gemm_moe.py", + "sha256": "c7209fa5e1ccb184a68b37a0706fc571a76696c2ae79802ddc7f889b1c29684d" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_moe.py", + "sha256": "806fbccfe30f5fbd578acf773add99bdf022b12d617958bd6281aef6de369701" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_bf16_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_bf16_moe.py", + "sha256": "76256de96fefece9c41ffb1108487919e24da364cf4412c6c3474498aba59137" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_fp8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_fp8_moe.py", + "sha256": "b54c7ceb45e5d07aa905f42ea44caccf85ca35ba9fb825d4c01947764510f68b" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_lora_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_lora_moe.py", + "sha256": "dd35a9e4242c0dc8d691168813e14bd5543e591f02ee529d0691e07651942c5a" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_mxfp4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_mxfp4_moe.py", + "sha256": "fe780f125a3dc3ba919659e9b85340bd32afcbfe47733a002bfdfb92eadf400c" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_mxint4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_mxint4_moe.py", + "sha256": "2106d67c2951aa690c4656ca58240d09c366cffe8cb4d9fd575df016c377cc30" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_nvfp4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_nvfp4_moe.py", + "sha256": "e938ac9f058f7c90b41c9610513239bec54a95304bfb5ff5f6897ebd54733d7e" + }, + "vllm/model_executor/layers/fused_moe/experts/xpu_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/xpu_moe.py", + "sha256": "2a11bac0cf9274d963315efd6eebdc62978b0b7aa02e8849ff2a562742f0b86d" + }, + "vllm/model_executor/layers/fused_moe/fused_flydsl_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_flydsl_moe.py", + "sha256": "0e74879ee5c72f616ae4064b9dff3b3a0b583b7fc70b8f92f1e8b730ecd5d39b" + }, + "vllm/model_executor/layers/fused_moe/fused_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe.py", + "sha256": "7072eb06237be9d33dcb0ef7101410f886a6363c98cbee70a014c68b70f639cb" + }, + "vllm/model_executor/layers/fused_moe/fused_moe_method_base.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe_method_base.py", + "sha256": "18dcfc469d3252749801bbf943857f58da85de1f2db8fdff5a9f4986a925dc68" + }, + "vllm/model_executor/layers/fused_moe/fused_moe_modular_method.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe_modular_method.py", + "sha256": "321c744eac1fcaffd6b1b2971204c8baa57dfec53e91e5d24140014d72d64f83" + }, + "vllm/model_executor/layers/fused_moe/hpc_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/hpc_moe.py", + "sha256": "2ca9c5d71b6fd91651027905e2b83103a8823845e053e7153e148cb8e0ee666d" + }, + "vllm/model_executor/layers/fused_moe/layer.py": { + "path": "/vllm/model_executor/layers/fused_moe/layer.py", + "sha256": "def0b4e13bcc1e4e21ee10644e647e2eda1acbf0cc01e76d6128abb59ea08224" + }, + "vllm/model_executor/layers/fused_moe/modular_kernel.py": { + "path": "/vllm/model_executor/layers/fused_moe/modular_kernel.py", + "sha256": "8dc4e0dbbf35b3aac8add63ca6f2a7bbfdadaabbd60826e24598b22c7d8e5c22" + }, + "vllm/model_executor/layers/fused_moe/moe_align_block_size.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_align_block_size.py", + "sha256": "c3f7fc2087836f0160a32ab99ceb1d8f6e87c793679da34dd672e225cb7fa31b" + }, + "vllm/model_executor/layers/fused_moe/moe_fused_mul_sum.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_fused_mul_sum.py", + "sha256": "112e72578002c3bff538418dac64b3b56d995994a2fc5e32b18d2cf3b8392a13" + }, + "vllm/model_executor/layers/fused_moe/moe_output.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_output.py", + "sha256": "6ea4cbd78f9efc7f842c5df246f553f08b991c3479b8b04b89902ed08aaf8e8f" + }, + "vllm/model_executor/layers/fused_moe/moe_permute_unpermute.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_permute_unpermute.py", + "sha256": "1adc592c6254d0c877d66be5406afbc822459c18a838f4bbd094a992e7609d06" + }, + "vllm/model_executor/layers/fused_moe/oracle/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/__init__.py", + "sha256": "4dcf941d50d48bb812de0f39e9194bf17a76b8035fe324889c6038f710fdc453" + }, + "vllm/model_executor/layers/fused_moe/oracle/base.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/base.py", + "sha256": "555bbcd18a3744e64eee4e953daabef3bd268a1bd4faf967d4cfd14d6074f685" + }, + "vllm/model_executor/layers/fused_moe/oracle/fp8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/fp8.py", + "sha256": "245bd36c285df1e6f7c51e52dcda31ad247894577a9f8d765613c2c2feae9aee" + }, + "vllm/model_executor/layers/fused_moe/oracle/int8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/int8.py", + "sha256": "c1b67886511bd966b162db5bca8930f04895fb37a969818a4a10f0726c59547f" + }, + "vllm/model_executor/layers/fused_moe/oracle/int_wna16.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/int_wna16.py", + "sha256": "cfffe8b8b290330be9d18ffa07aeecf296484395ff04df3147d99393e48b55c1" + }, + "vllm/model_executor/layers/fused_moe/oracle/mxfp4.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/mxfp4.py", + "sha256": "b7915e6779b5c88e7dcd2d227f003a8e45071d6d86877013067142d4feb64a8c" + }, + "vllm/model_executor/layers/fused_moe/oracle/mxfp8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/mxfp8.py", + "sha256": "9cfdc8102a04bb844dcd7ed88043bba96ec751794bc093da76c69aa8cf88cf48" + }, + "vllm/model_executor/layers/fused_moe/oracle/nvfp4.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/nvfp4.py", + "sha256": "735b4cdeb1258f11fb02320fc0c70cab5edaca468dd60b07b2d369389d2b0313" + }, + "vllm/model_executor/layers/fused_moe/oracle/unquantized.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/unquantized.py", + "sha256": "c8b8203bd0b73bb7f586f703607394d663f14c05711416ad42d45af564382223" + }, + "vllm/model_executor/layers/fused_moe/oracle/w4a8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/w4a8.py", + "sha256": "d7fa6e2982f20b34d5ce9c5ce28a61122762a3fcdd53d249479472a4f2316c6a" + }, + "vllm/model_executor/layers/fused_moe/oracle/w4a8_int8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/w4a8_int8.py", + "sha256": "6d6f9ca2e67b630002873de2f8d8a231d091c5c2f0f3354a9e8209449b481a4c" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/__init__.py", + "sha256": "2800113263a83c2632e522fb22790b29f63384da75d43de32f0ae2f95e8ae4c1" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/batched.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/batched.py", + "sha256": "d52425dd8c08e47cf8d9c3088daf3b1cc721c8667de4c738d04ba997f9a08ccb" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ht.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ht.py", + "sha256": "465cdf1d6cee91b2ee8c2e43abbea6e8408976e3048c10f44c089f34b415bc60" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ll.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ll.py", + "sha256": "f704922b1db680c4c212982a096e09d6b3eb97d89110313f86ed958a00df21b7" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_v2.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_v2.py", + "sha256": "8d690b016bbcfbc9eb599bcc36a6f798b2f1720c828f4347ea742e218c0cc60d" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_one_sided.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_one_sided.py", + "sha256": "acb57d8342af62bb5672036871cd4b27ecc7f37dfa7c894850bb860e6152a1f0" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_two_sided.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_two_sided.py", + "sha256": "cc5b00d6a157b6eca5afaaf7435165dbd1b4524d6d88bf75808cbe074a389f79" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/mori.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/mori.py", + "sha256": "8e9c3b5b1f0de13f467d95bf2f451cba0e4b0d9a1bdcf98da0988a3a9a79a045" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/naive_dp_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/naive_dp_ep.py", + "sha256": "db015e5b18750bbbf5b2bbaceca877dd6f3f3e74c2a94e8dc185f7413b387f91" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/nixl_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/nixl_ep.py", + "sha256": "1f71d70ac509bf5d3d67a8d95a8ee108a50af6bb5d4bde7181ca28e286f6ffce" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/no_dp_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/no_dp_ep.py", + "sha256": "adbbf529cd22059c95b5380952943a70cf11e05e321dcd707f296bebde61a6e7" + }, + "vllm/model_executor/layers/fused_moe/routed_experts.py": { + "path": "/vllm/model_executor/layers/fused_moe/routed_experts.py", + "sha256": "68c48e5df0ea4a7cc1f04436b7b9153eb53802ecd9bb55d38db8738508daac6d" + }, + "vllm/model_executor/layers/fused_moe/routed_experts_capturer.py": { + "path": "/vllm/model_executor/layers/fused_moe/routed_experts_capturer.py", + "sha256": "cd006bc1a1703418cca3b589fafb2abc4268a086fb3db044bbb64348aeac8b13" + }, + "vllm/model_executor/layers/fused_moe/router/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/layers/fused_moe/router/aiter_shared_routed_fused_moe_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/aiter_shared_routed_fused_moe_router.py", + "sha256": "f47046db1275601a2c67c9232afc7b866c9623a19639d5be867e4c7914a35069" + }, + "vllm/model_executor/layers/fused_moe/router/base_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/base_router.py", + "sha256": "47fa2324bcd9b6ebdc138d69ae6b6ecc0f2463d34bda8c5988bdb0a2a76d3fae" + }, + "vllm/model_executor/layers/fused_moe/router/bf16x3_router_gemm_cutedsl.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/bf16x3_router_gemm_cutedsl.py", + "sha256": "d0f1edd1ebc48d88e490bdb3c93db49bdc0a135ff83e7e0b57130e9f8255fc32" + }, + "vllm/model_executor/layers/fused_moe/router/cpu_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/cpu_router.py", + "sha256": "bff36b15818c87bfbb7ee3def7dc7f6396860abbe5893ff6148801fe941a4b92" + }, + "vllm/model_executor/layers/fused_moe/router/custom_routing_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/custom_routing_router.py", + "sha256": "1a40c7054e3c3a1b3ee2e98f6bc9efa9dfdc11f316a8edf7357dd91533487bfe" + }, + "vllm/model_executor/layers/fused_moe/router/dsv4_topk.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/dsv4_topk.py", + "sha256": "14f7c8487b9aef652dd61c91e0e3c3640b643bf9cd0d8a7184157d71f4beb63e" + }, + "vllm/model_executor/layers/fused_moe/router/fused_moe_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_moe_router.py", + "sha256": "0daa0dc05b931d66767feca444a4cd57ecf140f59b40ea0e8ad213eef6da2b36" + }, + "vllm/model_executor/layers/fused_moe/router/fused_topk_bias_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_topk_bias_router.py", + "sha256": "8fdc28cc248180ad4f11bb4bcda3df47926ec12665a0d84bb712fe83fc6b9376" + }, + "vllm/model_executor/layers/fused_moe/router/fused_topk_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_topk_router.py", + "sha256": "1c80f4af4d781fd66b12aa6a7a0fd30082bc521df40f1252987a8ac4c0bef51c" + }, + "vllm/model_executor/layers/fused_moe/router/gate_linear.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/gate_linear.py", + "sha256": "faa43362c2e7c568498a923c682ca18cae75e87f48d00882770821cb19c21198" + }, + "vllm/model_executor/layers/fused_moe/router/grouped_topk_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/grouped_topk_router.py", + "sha256": "048339e1799cdd42c9dae686a6cb891046577fb391b500f0d12eed73c8f61e52" + }, + "vllm/model_executor/layers/fused_moe/router/rocm_fp32_router_gemm.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/rocm_fp32_router_gemm.py", + "sha256": "9c331ef3d0bb2fb6954387d77ac62a99c5c76d2753c7438bfbb5115f68aae5ac" + }, + "vllm/model_executor/layers/fused_moe/router/router_factory.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/router_factory.py", + "sha256": "019bc8adaa7642abab82843efd53cd1a378f62c652521a1de2b781480eb88742" + }, + "vllm/model_executor/layers/fused_moe/router/routing_simulator_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/routing_simulator_router.py", + "sha256": "a7345df5add00cf3bd93024492d6fc1189fd3ecf2754a11cef1b03a295d791f7" + }, + "vllm/model_executor/layers/fused_moe/router/zero_expert_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/zero_expert_router.py", + "sha256": "dea306edd92e2b9c1b43f982ede8e1e10770d2c66220f5a106e0ed0165276e9c" + }, + "vllm/model_executor/layers/fused_moe/runner/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/layers/fused_moe/runner/moe_runner.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/moe_runner.py", + "sha256": "05893188402fe37229bf72d75088d66193c417d5d502daafd3a55e1bfedaa60c" + }, + "vllm/model_executor/layers/fused_moe/runner/moe_runner_interface.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/moe_runner_interface.py", + "sha256": "189cad01611124eb44594713cbf5918d16fc70196dc81a525ae0a7a97a5fcc51" + }, + "vllm/model_executor/layers/fused_moe/runner/shared_experts.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/shared_experts.py", + "sha256": "d89e4c79c46f6fe61262c51f3facf102e71ce1e4eb3db67f72b6bd8470937be9" + }, + "vllm/model_executor/layers/fused_moe/topk_weight_and_reduce.py": { + "path": "/vllm/model_executor/layers/fused_moe/topk_weight_and_reduce.py", + "sha256": "3dfede72d52bf99af40997994704e6c502ee3bab2bd39bfaa8a68d7dae440203" + }, + "vllm/model_executor/layers/fused_moe/unquantized_fused_moe_method.py": { + "path": "/vllm/model_executor/layers/fused_moe/unquantized_fused_moe_method.py", + "sha256": "182a5ec1874ece2091a24c5303f6ab9ea64a9a61adf325b863927f0cdd83e5d3" + }, + "vllm/model_executor/layers/fused_moe/utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/utils.py", + "sha256": "a93a0bded4008db19d8b38370526ae34fafb9c8278e5b4f60acb6acc8fdc1850" + }, + "vllm/model_executor/layers/mamba/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/abstract.py": { + "path": "/vllm/model_executor/layers/mamba/abstract.py", + "sha256": "dfdc8c836894f574e41d93d76ab989cacd3d7ecf59c97a929abfa48d9364e8ad" + }, + "vllm/model_executor/layers/mamba/gdn/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/gdn/base.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/base.py", + "sha256": "7fec748fc74131f5a45bcaf2644b3fa3a0598fd437d7347f8207ea3644a951c5" + }, + "vllm/model_executor/layers/mamba/gdn/kimi_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/kimi_gdn_linear_attn.py", + "sha256": "1cec4da5c9da73557e192bfb36cd540aae51d3e91283b554449c4a97f0f89bd9" + }, + "vllm/model_executor/layers/mamba/gdn/olmo_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/olmo_gdn_linear_attn.py", + "sha256": "60873ca3bb0c4d17c33bd259b62b658db4883cd23138f47dd4ead62cd2ff0605" + }, + "vllm/model_executor/layers/mamba/gdn/qwen_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/qwen_gdn_linear_attn.py", + "sha256": "b80f8e6f3fff442fb880aebb3209c52f814f66490009f4ac4003de603576d10a" + }, + "vllm/model_executor/layers/mamba/linear/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/linear/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py", + "sha256": "3c480ddd6eba0766ed012a1074bbec5f241d868a87b020b0f6312222c32f93eb" + }, + "vllm/model_executor/layers/mamba/linear/base.py": { + "path": "/vllm/model_executor/layers/mamba/linear/base.py", + "sha256": "26125cd427225954e1846ca361cdaf43f2b56f11b1e217cf26e91a80ef0edb6a" + }, + "vllm/model_executor/layers/mamba/linear/minimax_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/linear/minimax_linear_attn.py", + "sha256": "4adc00f54893b5bc6c31c613deda152a19af3b1bba04153ab5924c3bf2a3aaae" + }, + "vllm/model_executor/layers/mamba/mamba_mixer.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_mixer.py", + "sha256": "a485e937ad9db14d3ad03fde5a9fe795cfa863649563e52fc7e6c52ef631164e" + }, + "vllm/model_executor/layers/mamba/mamba_mixer2.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_mixer2.py", + "sha256": "d58d93e90d9eb90bc5133b79f07c7c62d0032b35d6cf916e3fe34367b81c5cd5" + }, + "vllm/model_executor/layers/mamba/mamba_utils.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_utils.py", + "sha256": "ce9845b4a4ef4bc46577a33038ed69d59ceccb52f30e9c5bdaa36e48be3b2ca4" + }, + "vllm/model_executor/layers/mamba/ops/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/ops/causal_conv1d.py": { + "path": "/vllm/model_executor/layers/mamba/ops/causal_conv1d.py", + "sha256": "044d005cfe59fd0818ed421274e04f3e8dd679b8cdb64fca9f4422f2643484b2" + }, + "vllm/model_executor/layers/mamba/ops/cpu/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/ops/cpu/causal_conv1d.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/causal_conv1d.py", + "sha256": "64104672890ac2ef240c20c7f8059beeade707178574809dbca8721dff5ea6fa" + }, + "vllm/model_executor/layers/mamba/ops/cpu/gdn_attention.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/gdn_attention.py", + "sha256": "a50288945bf5b102ad3025ae536638dcc32d84cf7c22aaf3a85326b0c1c56c1f" + }, + "vllm/model_executor/layers/mamba/ops/cpu/mamba_ssm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/mamba_ssm.py", + "sha256": "5839e576172a3246337f5e4fb1bc19eb583b3e2b2f7e35dd060dc3041eb8372d" + }, + "vllm/model_executor/layers/mamba/ops/gather_initial_states.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gather_initial_states.py", + "sha256": "5198bb6de6d91c583a5f65d926412a76ee04a06fa72aaba76eaf156b27cd0523" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/__init__.py", + "sha256": "b88b52e71fcb21bd3fa215ea171dcd2ad2ff17c97788cfe64caa7ba45c7ecf97" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_h.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_h.py", + "sha256": "f50bbe5c0b6382323ec5dfc24a5e0c7971113d59727515e60c9fe3689734e5ba" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_kkt_inv_uw.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_kkt_inv_uw.py", + "sha256": "b4a65dd194907db08865e0596fe254f915e670a9e6b27ffa2933c1026dde9b1e" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_o.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_o.py", + "sha256": "629f7843a7e611efb9390f2ebb7a4b924b2c328d48a317fddfaa96af4d9bc60a" + }, + "vllm/model_executor/layers/mamba/ops/layernorm_gated.py": { + "path": "/vllm/model_executor/layers/mamba/ops/layernorm_gated.py", + "sha256": "3433f2e3b87c2b2ccf8e9794ce40762c86a6da38a94ecee001f439ea0d0373dd" + }, + "vllm/model_executor/layers/mamba/ops/mamba_ssm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/mamba_ssm.py", + "sha256": "a4515ec7895b40ed878cf380445034b25faa61fbaa799d96c49217bbdfd7e400" + }, + "vllm/model_executor/layers/mamba/ops/replayssm_config.py": { + "path": "/vllm/model_executor/layers/mamba/ops/replayssm_config.py", + "sha256": "5fe9d5d7aa2de6a65875b3796a919b22bc435fd76055ba054bbff43aa005bc44" + }, + "vllm/model_executor/layers/mamba/ops/scatter_states.py": { + "path": "/vllm/model_executor/layers/mamba/ops/scatter_states.py", + "sha256": "f3bb004c73edaba56337747893eb07faf29b270dc8bb9c893ee9b1044e4ead9a" + }, + "vllm/model_executor/layers/mamba/ops/selective_state_update_replayssm_output_only.py": { + "path": "/vllm/model_executor/layers/mamba/ops/selective_state_update_replayssm_output_only.py", + "sha256": "cea7fd3063ca9dcc4e33f180d01ea379195ec515cedc9d0b03b11dc67670d695" + }, + "vllm/model_executor/layers/mamba/ops/ssd_bmm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_bmm.py", + "sha256": "26983d97a7f5c5f9197a16a6bee7b1294839b9ae31a14c14aaee38b43523e630" + }, + "vllm/model_executor/layers/mamba/ops/ssd_chunk_scan.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_chunk_scan.py", + "sha256": "d5ef32e8cb47e2ce71984579df78ab69754895f891766394daf327867cfa4f8f" + }, + "vllm/model_executor/layers/mamba/ops/ssd_chunk_state.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_chunk_state.py", + "sha256": "177e3aa7fe72647133bbd86135533e8688a5802678d4d1564aa549410362316f" + }, + "vllm/model_executor/layers/mamba/ops/ssd_combined.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_combined.py", + "sha256": "1317bbb668d3c60dfe0658850f9968614f03fa5eb61196f8ce6ac17dbb31b480" + }, + "vllm/model_executor/layers/mamba/ops/ssd_state_passing.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_state_passing.py", + "sha256": "36b8c8edba437916a5b789717c61fc22077de01e77892cb96dbff3b00a57410e" + }, + "vllm/model_executor/layers/mamba/ops/ssu_dispatch.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssu_dispatch.py", + "sha256": "bbe0f0e61da87f3ddfead19a79ca376516b63f1ea868be3485333c63fa20ef41" + }, + "vllm/model_executor/layers/mamba/ops/triton_helpers.py": { + "path": "/vllm/model_executor/layers/mamba/ops/triton_helpers.py", + "sha256": "a8795532f22c37a93e82c9d8e3fadcb5f4da98673d7b321fe8481305eaafad30" + }, + "vllm/model_executor/layers/mamba/short_conv.py": { + "path": "/vllm/model_executor/layers/mamba/short_conv.py", + "sha256": "228494efab185ee17374f762874f4c8b9a26aac9decfa8c906ce38446e0de51a" + }, + "vllm/model_executor/models/qwen3_next.py": { + "path": "/vllm/model_executor/models/qwen3_next.py", + "sha256": "4fa5112ac2bf7886d41d9e1f6c3da8793620d1ec49c961b31e9609459a6a7f7a" + }, + "vllm/third_party/flash_linear_attention/__init__.py": { + "path": "/vllm/third_party/flash_linear_attention/__init__.py", + "sha256": "5dbbfa3fc286edb2e970e175ef33cee4f6181c89b0784f5a8986201b2312f54e" + }, + "vllm/third_party/flash_linear_attention/ops/__init__.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/__init__.py", + "sha256": "dd738dc1d08045e76455cdbe16052a5b769e0eb11d6e87ff28353994f880cd6c" + }, + "vllm/third_party/flash_linear_attention/ops/chunk.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk.py", + "sha256": "c105ead259e86aedc248c53e7c4cef07034d0ff12da608d80265d1dd0990803f" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_delta_h.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_delta_h.py", + "sha256": "1b3ad391f939d9443c6b7adb19e57fe381bd5dccea064e8417a4f85b0e713b26" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_o.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_o.py", + "sha256": "3b63b836a8cc561723c23db5a528a0b474d9cd78508d610f0b348c585a889a19" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_scaled_dot_kkt.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_scaled_dot_kkt.py", + "sha256": "7ae41df3755acc7e925a134d848f78bb5fc00b90069039d86403c5853323ea42" + }, + "vllm/third_party/flash_linear_attention/ops/cumsum.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/cumsum.py", + "sha256": "d818215669b451868823202ac0bcea77e7a9d75957254c7c1060a73a55dc39b6" + }, + "vllm/third_party/flash_linear_attention/ops/fused_gdn_prefill_post_conv.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_gdn_prefill_post_conv.py", + "sha256": "590717b2107abc90d72548de06b5d315229eb2775c94614f3f545df11cc2b5df" + }, + "vllm/third_party/flash_linear_attention/ops/fused_norm_gate.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_norm_gate.py", + "sha256": "e6eb90467f29d8a0a04f2a364d20a2c3191b6ab857841bfb82076b33a6022d1a" + }, + "vllm/third_party/flash_linear_attention/ops/fused_recurrent.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_recurrent.py", + "sha256": "fe6f1311014809040497aa0a623e7fa97f4b3457cdc7ee1f1f8aed21f326f755" + }, + "vllm/third_party/flash_linear_attention/ops/fused_sigmoid_gating.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_sigmoid_gating.py", + "sha256": "000ab8996af9788fdb8843a6a3b91833e7a14c8acc0e1ea073a536330f64cb6f" + }, + "vllm/third_party/flash_linear_attention/ops/index.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/index.py", + "sha256": "a4f8b2c052635cb519a80099e8a85411d1d5d6880b38f466788259bbe66b154d" + }, + "vllm/third_party/flash_linear_attention/ops/kda.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/kda.py", + "sha256": "e1f31aaa89b91f8e5db6d070b229e2c81c7206e8caec67de41db97d06be0c476" + }, + "vllm/third_party/flash_linear_attention/ops/l2norm.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/l2norm.py", + "sha256": "520f4513ef4fc97e6b88dc07877cca8e29da0d34e44673fe989e3af002d86381" + }, + "vllm/third_party/flash_linear_attention/ops/layernorm_guard.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/layernorm_guard.py", + "sha256": "42af29be26e8fc94a4658e053c095fcdab9ffdc1bc2446a01e787deda2a298c0" + }, + "vllm/third_party/flash_linear_attention/ops/op.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/op.py", + "sha256": "456da84fd12411cf53c96a90dd4f78f49afb454c3d51d2c524ea8e7106fe8ae5" + }, + "vllm/third_party/flash_linear_attention/ops/solve_tril.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/solve_tril.py", + "sha256": "d1a4ff27623a938825052500afa7e2aa24fadd2fa4c9be6376c9128824f86f82" + }, + "vllm/third_party/flash_linear_attention/ops/utils.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/utils.py", + "sha256": "d6c90d36505e02086954c23ca4dd2fea82a69416d68ff1d0501e16b3148b5b0c" + }, + "vllm/third_party/flash_linear_attention/ops/wy_fast.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/wy_fast.py", + "sha256": "c9fc8259db0a8746dc04f1d799cb73333457118cf89a0bdce8dde8a80a28cd96" + }, + "vllm/v1/attention/__init__.py": { + "path": "/vllm/v1/attention/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backend.py": { + "path": "/vllm/v1/attention/backend.py", + "sha256": "01ac364372afa75fdb22486aa3a9c7cf9aebb742e3471dfb9e0f9d9d36b734bc" + }, + "vllm/v1/attention/backends/__init__.py": { + "path": "/vllm/v1/attention/backends/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backends/b12x.py": { + "path": "/vllm/v1/attention/backends/b12x.py", + "sha256": "443f0a98738fdfefe5b9ab151d278bfd43a8ac807eb2b0b9b2a13d51922afbf9" + }, + "vllm/v1/attention/backends/composite.py": { + "path": "/vllm/v1/attention/backends/composite.py", + "sha256": "4cf3d66dca891562709eed4f50aa14b0ae6c8240d9ea86504a3304b2f356cce0" + }, + "vllm/v1/attention/backends/cpu_attn.py": { + "path": "/vllm/v1/attention/backends/cpu_attn.py", + "sha256": "76fb02a6bd725125565d84bf04f627cf16da5f7ff8f31f87c01ed6a1439398c7" + }, + "vllm/v1/attention/backends/fa_utils.py": { + "path": "/vllm/v1/attention/backends/fa_utils.py", + "sha256": "08fa6e231d3af3a71a6e59162dd12328aa8beb28548165ae58f130a92adb5a83" + }, + "vllm/v1/attention/backends/flash_attn.py": { + "path": "/vllm/v1/attention/backends/flash_attn.py", + "sha256": "b170a4789e18104c1bee35bea70df51abe6766693d8f4726a59f2e6f5c4282aa" + }, + "vllm/v1/attention/backends/flash_attn_diffkv.py": { + "path": "/vllm/v1/attention/backends/flash_attn_diffkv.py", + "sha256": "e4627c88c3ba8caee260540e994cc8137fd2ff7cd7813356b36387c6c88ce30a" + }, + "vllm/v1/attention/backends/flashinfer.py": { + "path": "/vllm/v1/attention/backends/flashinfer.py", + "sha256": "8ee541fde43ed92a417b3f01ea1e6fc64af8ab2eb54cbfc28308a49aaca4ed7f" + }, + "vllm/v1/attention/backends/flex_attention.py": { + "path": "/vllm/v1/attention/backends/flex_attention.py", + "sha256": "ad07f0ad73aeeadc3534b3a05c14f88a62cb3638874239ae9823c49b36276dc3" + }, + "vllm/v1/attention/backends/gdn_attn.py": { + "path": "/vllm/v1/attention/backends/gdn_attn.py", + "sha256": "3831019404a92200a38b43571c040cffeb6638bbdc71e4cb5e680dbc6c93d054" + }, + "vllm/v1/attention/backends/hpc_attn.py": { + "path": "/vllm/v1/attention/backends/hpc_attn.py", + "sha256": "af9e2aec1b498f0ee48a2dce3cf5646edf1976466980b2fd927c0e82b875427c" + }, + "vllm/v1/attention/backends/linear_attn.py": { + "path": "/vllm/v1/attention/backends/linear_attn.py", + "sha256": "bc42144fcd027434c6a10dc9f4c5f991db8899d387af5f6485402ce097eb0513" + }, + "vllm/v1/attention/backends/mamba1_attn.py": { + "path": "/vllm/v1/attention/backends/mamba1_attn.py", + "sha256": "32159dae11cab3c8c576b9514ad97d5108c8d1b4cac9fcfe345ec6a76223aee7" + }, + "vllm/v1/attention/backends/mamba2_attn.py": { + "path": "/vllm/v1/attention/backends/mamba2_attn.py", + "sha256": "a5bcdecb7b9547137023e1c77a386003358fa940eaf5f319ed142211dcdba139" + }, + "vllm/v1/attention/backends/mamba_attn.py": { + "path": "/vllm/v1/attention/backends/mamba_attn.py", + "sha256": "5e7b2c4058fc5e6096d001bff6c789b78368b025bbe4600f191aaca2ff59b59f" + }, + "vllm/v1/attention/backends/mla/__init__.py": { + "path": "/vllm/v1/attention/backends/mla/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backends/mla/aiter_triton_mla.py": { + "path": "/vllm/v1/attention/backends/mla/aiter_triton_mla.py", + "sha256": "ed0e285cdae06a019150c41cc958b3c0b5ceb0e4f299d5318d1c90e2c2395390" + }, + "vllm/v1/attention/backends/mla/amx_mla.py": { + "path": "/vllm/v1/attention/backends/mla/amx_mla.py", + "sha256": "7f5cddec30b2dfe22ccdbd3b9da673c879719bf6da4074317bd60add55f5d15f" + }, + "vllm/v1/attention/backends/mla/compressor_utils.py": { + "path": "/vllm/v1/attention/backends/mla/compressor_utils.py", + "sha256": "3589e94105368ea285c40b82db1a0332682ff5d071fe363627cf4c0d10f3facf" + }, + "vllm/v1/attention/backends/mla/cpu_mla.py": { + "path": "/vllm/v1/attention/backends/mla/cpu_mla.py", + "sha256": "ff2110b9f78e92adf6bab294465cbc294ae1ff71cb1780fed158179e134a4ca6" + }, + "vllm/v1/attention/backends/mla/cutlass_mla.py": { + "path": "/vllm/v1/attention/backends/mla/cutlass_mla.py", + "sha256": "211d298680f9bd793cc468281b316d6633c5f4eb6dcec71d3329b034a23ab9b5" + }, + "vllm/v1/attention/backends/mla/flashattn_mla.py": { + "path": "/vllm/v1/attention/backends/mla/flashattn_mla.py", + "sha256": "ac89e0ad75a37e92566d264bafe324735a80f9ab4709241a4454d17b3d38bb63" + }, + "vllm/v1/attention/backends/mla/flashattn_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashattn_mla_sparse.py", + "sha256": "67dd3ead2e8b9d8cda0825ecc93779cb7d670628bc741c759a7d3cd5d474030f" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla.py", + "sha256": "0c24ff016fb6b0bb41d9e7484b6f1af42f37bcc384ed613473fc3e01ad25f664" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse.py", + "sha256": "2116d965b2067134d8afa5878d4d16c0149b061258f50c4106d993aa13b073cc" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm120.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm120.py", + "sha256": "102ca08793d567f95598eefeb34c3f6ec50b3b9d704f162d1402b97b12b5777b" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm90.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm90.py", + "sha256": "df9fe4970aa3f53cf24784b8534b89e0101a2ca20a35a2ebbc9a12a4463d5993" + }, + "vllm/v1/attention/backends/mla/flashmla.py": { + "path": "/vllm/v1/attention/backends/mla/flashmla.py", + "sha256": "c9d8046a853ecbdeff9ebfc738f5bb34c4f272b278231a09a0fbf73708c7c188" + }, + "vllm/v1/attention/backends/mla/flashmla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashmla_sparse.py", + "sha256": "7a379c717adb9667ce94cbc16c0e3a1fb22a169713db6d7941c141fa84077b3f" + }, + "vllm/v1/attention/backends/mla/index_group.py": { + "path": "/vllm/v1/attention/backends/mla/index_group.py", + "sha256": "c24e028c3c160a9bb92e043da5b5b34c805e84745b7c4b8da6fb8702a0ddd641" + }, + "vllm/v1/attention/backends/mla/indexer.py": { + "path": "/vllm/v1/attention/backends/mla/indexer.py", + "sha256": "2acbc1c4fa57c3424ad95e6ecbe76eb7141747773c3e867ce704f4adccba892a" + }, + "vllm/v1/attention/backends/mla/prefill/__init__.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/__init__.py", + "sha256": "903630eb705dd175bf4ae4558a4bcaa07c110056b6a11eb830fdd2fb21b3c48a" + }, + "vllm/v1/attention/backends/mla/prefill/aiter_flash_attn.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/aiter_flash_attn.py", + "sha256": "571b8a9910c4ea3fefda60659026f3bf0d7b542c34553c8c9a4d43bb82077e61" + }, + "vllm/v1/attention/backends/mla/prefill/base.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/base.py", + "sha256": "138bf3ddaf5a94c3cdbc4e08ac676edcae84b32fc76625e546f3b47f7d8b82ec" + }, + "vllm/v1/attention/backends/mla/prefill/cpu_sdpa.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/cpu_sdpa.py", + "sha256": "1bb686395274a8ec0d9fd7327410a527655fe060cbbc263eab138fea988d96de" + }, + "vllm/v1/attention/backends/mla/prefill/flash_attn.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/flash_attn.py", + "sha256": "5e648c82c82e5f81fe11458eb82b9f90b50fc06df2ade3bf111ee6b7a2ee8481" + }, + "vllm/v1/attention/backends/mla/prefill/flashinfer.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/flashinfer.py", + "sha256": "63861219c35b8abc0ebe01e1f51543c5ed40bd46119ca261d927da7c6826b49b" + }, + "vllm/v1/attention/backends/mla/prefill/registry.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/registry.py", + "sha256": "c8c30b92213d594beaa3cab4d5003da26a85870dbb11d1ab73191962d0645b53" + }, + "vllm/v1/attention/backends/mla/prefill/selector.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/selector.py", + "sha256": "101d9fca7924b0c5d7891a17fe8942611bd6759e32b03a571dc87b14c1430f2f" + }, + "vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py", + "sha256": "047cf07bfcc83db3b11a6a54ffe189f6146e6ec9ad33ce2fa7d18860bf4210f0" + }, + "vllm/v1/attention/backends/mla/prefill/trtllm_ragged.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/trtllm_ragged.py", + "sha256": "9e13ea6f6a25accedd918c0de64bbb812ccb20ffb95350ab018a6e76d493789b" + }, + "vllm/v1/attention/backends/mla/rocm_aiter_mla.py": { + "path": "/vllm/v1/attention/backends/mla/rocm_aiter_mla.py", + "sha256": "b489f5830c655bfb6299801a70d69b9821513c69568ecab3689db5a7be867be5" + }, + "vllm/v1/attention/backends/mla/rocm_aiter_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/rocm_aiter_mla_sparse.py", + "sha256": "91b1d9b3d860a9720bc01b8ebe9bbe8649a7d6bca20d4b63939bc100309bca19" + }, + "vllm/v1/attention/backends/mla/sparse_swa.py": { + "path": "/vllm/v1/attention/backends/mla/sparse_swa.py", + "sha256": "a47853ad8a3fe40f24704592581ea323a18041b84610df010a5534da634e311e" + }, + "vllm/v1/attention/backends/mla/sparse_utils.py": { + "path": "/vllm/v1/attention/backends/mla/sparse_utils.py", + "sha256": "c3cdf060288c05542243a9fe8b5ad3a963ad75e9ce399009b5e45c1235a88ce4" + }, + "vllm/v1/attention/backends/mla/tokenspeed_mla.py": { + "path": "/vllm/v1/attention/backends/mla/tokenspeed_mla.py", + "sha256": "b9ba523c606430cecb99a88b28c53d98a99dcf5e76105a80664338110a20f1ad" + }, + "vllm/v1/attention/backends/mla/triton_mla.py": { + "path": "/vllm/v1/attention/backends/mla/triton_mla.py", + "sha256": "21b16b3b34470edcc33d0423e560837c1d37d4bab31c7b3b9cfd7faa47864b51" + }, + "vllm/v1/attention/backends/mla/xpu_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/xpu_mla_sparse.py", + "sha256": "559c6240fe466521a6b2df4c94aea02ddf3f5efa5ba6954fa180c5a51c0f12d2" + }, + "vllm/v1/attention/backends/recoverssm_metadata.py": { + "path": "/vllm/v1/attention/backends/recoverssm_metadata.py", + "sha256": "02896a667db0f0308371ceb50048b18e5866c0235d163c0357e9a05dcedb3394" + }, + "vllm/v1/attention/backends/registry.py": { + "path": "/vllm/v1/attention/backends/registry.py", + "sha256": "378e8ee78734bd8c8adbe287d4c0a4058dcbb553195a09fbcce00a3cc30adc29" + }, + "vllm/v1/attention/backends/rocm_aiter_fa.py": { + "path": "/vllm/v1/attention/backends/rocm_aiter_fa.py", + "sha256": "d1418af03bf58209c850f466b712d3ea22a14ebb758c42dd43e65738281841fd" + }, + "vllm/v1/attention/backends/rocm_aiter_unified_attn.py": { + "path": "/vllm/v1/attention/backends/rocm_aiter_unified_attn.py", + "sha256": "59d2645eb4c91dc0567754a7163d066f4f2faf48f1957b254fcdd5604e9d8c8c" + }, + "vllm/v1/attention/backends/rocm_attn.py": { + "path": "/vllm/v1/attention/backends/rocm_attn.py", + "sha256": "4a8f57067073fbceb784af6c3467487c450d00fa3957928fadb99a79f6036292" + }, + "vllm/v1/attention/backends/short_conv_attn.py": { + "path": "/vllm/v1/attention/backends/short_conv_attn.py", + "sha256": "84fc460ef2fbd09743b069bec0c14b39542af6c2254a403e37a048427e151121" + }, + "vllm/v1/attention/backends/triton_attn.py": { + "path": "/vllm/v1/attention/backends/triton_attn.py", + "sha256": "1057663d110e1d5229495a799027b27277c1eca325d5b6780fa2259afbf58a1a" + }, + "vllm/v1/attention/backends/triton_attn_diffkv.py": { + "path": "/vllm/v1/attention/backends/triton_attn_diffkv.py", + "sha256": "de0357eae005246642140f1ab8842ba5ed8bff5c84b18a6d3a7bbf409c578301" + }, + "vllm/v1/attention/backends/triton_flash_attn.py": { + "path": "/vllm/v1/attention/backends/triton_flash_attn.py", + "sha256": "176e45329aeb28a2008362bb607d1b8c89816eb665859ab908b0385a11acf1c2" + }, + "vllm/v1/attention/backends/triton_flashinfer.py": { + "path": "/vllm/v1/attention/backends/triton_flashinfer.py", + "sha256": "48d5f967e388d4e8d6bbec8d827b44d855346bc2fada28adf65768bf6623527b" + }, + "vllm/v1/attention/backends/turboquant_attn.py": { + "path": "/vllm/v1/attention/backends/turboquant_attn.py", + "sha256": "616d16d608d9d1fbf6c29548037e7e9cf330f4d36a01aa3ffabf42a731eb6e2b" + }, + "vllm/v1/attention/backends/utils.py": { + "path": "/vllm/v1/attention/backends/utils.py", + "sha256": "fbc221360d2d54cb21ef3f625dc8711500de345a355801548b4337bb9b8abee0" + }, + "vllm/v1/attention/ops/__init__.py": { + "path": "/vllm/v1/attention/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/ops/chunked_prefill_paged_decode.py": { + "path": "/vllm/v1/attention/ops/chunked_prefill_paged_decode.py", + "sha256": "973db848a790b2e8d99e728b2fc4f44b501bbe58c62747244ddff04cfcf11a85" + }, + "vllm/v1/attention/ops/common.py": { + "path": "/vllm/v1/attention/ops/common.py", + "sha256": "b4b67e7fc0cce471e337d742c097fba06da7563816e8799e27719714e31e1d5b" + }, + "vllm/v1/attention/ops/cp_common.py": { + "path": "/vllm/v1/attention/ops/cp_common.py", + "sha256": "2369181862e96db64b14ef20c5c2e249ed2ea5f3dea2467a2aa388372bb86d9d" + }, + "vllm/v1/attention/ops/dcp.py": { + "path": "/vllm/v1/attention/ops/dcp.py", + "sha256": "a478bdc781460f0582cfaf74d6431f1a826c201f02f39d882d12a96139bc3f28" + }, + "vllm/v1/attention/ops/flashmla.py": { + "path": "/vllm/v1/attention/ops/flashmla.py", + "sha256": "8a40d6e120e3ab25a95fcfeb32b0b5b4c1ea02b984633866628536dcd26ed2e8" + }, + "vllm/v1/attention/ops/flydsl_kernels/__init__.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/attention/ops/flydsl_kernels/tq_decode.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/tq_decode.py", + "sha256": "cc4b7f82897596e0974b3d3a710a1a8bc58c3d22b72cc7f461dd1c4acd2e451b" + }, + "vllm/v1/attention/ops/flydsl_kernels/tq_decode_gqa6.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/tq_decode_gqa6.py", + "sha256": "a983f6d375c325900955e11696dab1e2665770e83f84d51f93d3ed5e1d8880e0" + }, + "vllm/v1/attention/ops/flydsl_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/flydsl_turboquant_decode.py", + "sha256": "7b1dd0ef7c7fb28a6a8831759e00b939ab844d067657155cc11cf75532a22c63" + }, + "vllm/v1/attention/ops/int4_per_token_head.py": { + "path": "/vllm/v1/attention/ops/int4_per_token_head.py", + "sha256": "d91968f280cd8eaed7570ab255f0276b40e833e18a25066d371d9ca8149425f2" + }, + "vllm/v1/attention/ops/merge_attn_states.py": { + "path": "/vllm/v1/attention/ops/merge_attn_states.py", + "sha256": "ad08403d2843fc892f0b0b4b9f5fabb81884556f89f7170dca46ccef498a3539" + }, + "vllm/v1/attention/ops/metadata.py": { + "path": "/vllm/v1/attention/ops/metadata.py", + "sha256": "ca882b84c5aaefb1f77e4d8ea09a00103fbc53defa8671bba036c961c17fc760" + }, + "vllm/v1/attention/ops/paged_attn.py": { + "path": "/vllm/v1/attention/ops/paged_attn.py", + "sha256": "016a95f892ec751c86b37be1e12171bad9f0b4076bbf2219ff336f4e9c503653" + }, + "vllm/v1/attention/ops/pcp.py": { + "path": "/vllm/v1/attention/ops/pcp.py", + "sha256": "dadeff95fe2df2be8028baabeef01b0d2d628cd67de2176915e737ce096de3dd" + }, + "vllm/v1/attention/ops/prefix_prefill.py": { + "path": "/vllm/v1/attention/ops/prefix_prefill.py", + "sha256": "b08ad92db715fc03c11699de3de463d55e411f42f77548e06b41049a61de692f" + }, + "vllm/v1/attention/ops/rocm_aiter_mla_merge.py": { + "path": "/vllm/v1/attention/ops/rocm_aiter_mla_merge.py", + "sha256": "564c66e4877732e48a6f7d52405c43dc952eec0f0ae4353d34886bca056132b9" + }, + "vllm/v1/attention/ops/rocm_aiter_mla_sparse.py": { + "path": "/vllm/v1/attention/ops/rocm_aiter_mla_sparse.py", + "sha256": "feec664be5045fd1ba13b8f6ef83b52c96910ddc78baca0431bcf610c9e8f5cc" + }, + "vllm/v1/attention/ops/triton_attention_helpers.py": { + "path": "/vllm/v1/attention/ops/triton_attention_helpers.py", + "sha256": "35aa993d01345f535d2641cf9dcabb8b64c51b20a19707bc5987e616aaa87ddd" + }, + "vllm/v1/attention/ops/triton_decode_attention.py": { + "path": "/vllm/v1/attention/ops/triton_decode_attention.py", + "sha256": "b9823c65eba22d76abf64dad7d7d16a950f67471c86d6cb5b3e983aaf14381ac" + }, + "vllm/v1/attention/ops/triton_merge_attn_states.py": { + "path": "/vllm/v1/attention/ops/triton_merge_attn_states.py", + "sha256": "f63229162181ab93198550b73a115f1cc1034cfd60e6f58bc8ab3e22a6e8ce60" + }, + "vllm/v1/attention/ops/triton_prefill_attention.py": { + "path": "/vllm/v1/attention/ops/triton_prefill_attention.py", + "sha256": "352c1a4ac86146580040579fb217c2e288268830d6602b735713e154f36d74fe" + }, + "vllm/v1/attention/ops/triton_reshape_and_cache_flash.py": { + "path": "/vllm/v1/attention/ops/triton_reshape_and_cache_flash.py", + "sha256": "6cac51475b8c656992a21b2d150acd3a16a95a7ab7d49aab151a3ef13c24b80d" + }, + "vllm/v1/attention/ops/triton_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/triton_turboquant_decode.py", + "sha256": "8e52678136449e4bbca2195fbcbb87426c955a2b1b8422e7ab9511e45ee5f5c6" + }, + "vllm/v1/attention/ops/triton_turboquant_store.py": { + "path": "/vllm/v1/attention/ops/triton_turboquant_store.py", + "sha256": "6e6e2fe74a307d40f0be786ccbaea76d989e3c7b5985f3144a5218c61bf6d902" + }, + "vllm/v1/attention/ops/triton_unified_attention.py": { + "path": "/vllm/v1/attention/ops/triton_unified_attention.py", + "sha256": "65d0fbcf33d00789df8ca688c0a1c908e710cfaef53471178747ecae11f05829" + }, + "vllm/v1/attention/ops/triton_unified_attention_diffkv.py": { + "path": "/vllm/v1/attention/ops/triton_unified_attention_diffkv.py", + "sha256": "7fa36d7b7441f1c396e0348eac61d691d2e459e5c4c393c4aa262dfb670e68f7" + }, + "vllm/v1/attention/ops/turboquant_soa/__init__.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/__init__.py", + "sha256": "6b43b6fcb2a71c44ceff4ed1edd417a839f4901251ba15831b09ad979baa4984" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode.py", + "sha256": "bf00634191bba14cbf4a23c1d67dc3dcb244c2b8989f08362757b54435830986" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode_v2.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode_v2.py", + "sha256": "28e7ecc15c450d3591983a50c46a03aa6ca6fa99304c17c333940617d9916485" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_store.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_store.py", + "sha256": "dccf93b9fdd34f9b9eacd468e9de35b9d93378594487c335cf50642aaec681f2" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_unified_attention.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_unified_attention.py", + "sha256": "b4b2b5f3985b3a6126fd052e6ec1ed91c610da8a525a9ae7470ac829405bd85c" + }, + "vllm/v1/attention/ops/vit_attn_wrappers.py": { + "path": "/vllm/v1/attention/ops/vit_attn_wrappers.py", + "sha256": "a99d57b58269c7521fa5d7d47af06551f3bab2b5c7358ef78165a7f6e20a92a6" + }, + "vllm/v1/attention/ops/xpu_mla_sparse.py": { + "path": "/vllm/v1/attention/ops/xpu_mla_sparse.py", + "sha256": "d98d17110577c2b7b4d05e07bfdae15faf83321b6342a5daaaecce45b9503f38" + }, + "vllm/v1/attention/selector.py": { + "path": "/vllm/v1/attention/selector.py", + "sha256": "87f653ded7974875183c920e3e4589c28116bcbc99714d1da7cb51ae77c0b182" + }, + "vllm/v1/core/sched/__init__.py": { + "path": "/vllm/v1/core/sched/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/core/sched/async_scheduler.py": { + "path": "/vllm/v1/core/sched/async_scheduler.py", + "sha256": "e586a0ef3c6778be56a93e7f9bb712d4de9de6e7d7fe7e3e1d51dae83ecfc508" + }, + "vllm/v1/core/sched/interface.py": { + "path": "/vllm/v1/core/sched/interface.py", + "sha256": "be6c008664096c5660a8879de72b315bbe479bf1d688be9b25891063ec53a367" + }, + "vllm/v1/core/sched/output.py": { + "path": "/vllm/v1/core/sched/output.py", + "sha256": "3a66c8efaefe10c572f6f33cf1f8aa4610758c945130cad62eb9f7331005677c" + }, + "vllm/v1/core/sched/request_queue.py": { + "path": "/vllm/v1/core/sched/request_queue.py", + "sha256": "4b8d938e5fb8152fe61030b8aa991f983fcac9a405c37ed8908045e05e82ae5e" + }, + "vllm/v1/core/sched/scheduler.py": { + "path": "/vllm/v1/core/sched/scheduler.py", + "sha256": "c1db45f3bbad3a875dd8638331b8870c4380ac1ab4734265ba5c863833a82884" + }, + "vllm/v1/core/sched/utils.py": { + "path": "/vllm/v1/core/sched/utils.py", + "sha256": "1ed988044eb8028c77ede875bd1a5fd05ff6998b455d61e3997d6a3d7fc1c3a7" + }, + "vllm/v1/sample/__init__.py": { + "path": "/vllm/v1/sample/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/sample/logits_processor/__init__.py": { + "path": "/vllm/v1/sample/logits_processor/__init__.py", + "sha256": "1f9b02dae8cf6d44484638037123d3a2dec6b7b9a2bcc9afceef1a9bf3eaedec" + }, + "vllm/v1/sample/logits_processor/builtin.py": { + "path": "/vllm/v1/sample/logits_processor/builtin.py", + "sha256": "6105816ece77e5b1dbee0d07abc90ce039d650bac2ddb85c93280c48b00f2ebe" + }, + "vllm/v1/sample/logits_processor/interface.py": { + "path": "/vllm/v1/sample/logits_processor/interface.py", + "sha256": "171dfc6ef9b5b53128e8eaecc4bdf1de413a706d64bf5be686048f583c66eee1" + }, + "vllm/v1/sample/logits_processor/state.py": { + "path": "/vllm/v1/sample/logits_processor/state.py", + "sha256": "a96411f14362c45f839e181dcb3ac01d5b880812bccb3552fc17863b219f44ac" + }, + "vllm/v1/sample/metadata.py": { + "path": "/vllm/v1/sample/metadata.py", + "sha256": "6582cfe1a240c7ddb975f0ef6dd7dcd28dcf0fc7670394390250013977aa7ffd" + }, + "vllm/v1/sample/ops/__init__.py": { + "path": "/vllm/v1/sample/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/sample/ops/bad_words.py": { + "path": "/vllm/v1/sample/ops/bad_words.py", + "sha256": "0b1d0a9b13b92ddcae2c83393c07a34c0f107813725700dee794caa7fe7f3b12" + }, + "vllm/v1/sample/ops/logprobs.py": { + "path": "/vllm/v1/sample/ops/logprobs.py", + "sha256": "b286f69012a6758bfe9250038b0697294dbffe0d32c6906f284c39f75ee48be3" + }, + "vllm/v1/sample/ops/penalties.py": { + "path": "/vllm/v1/sample/ops/penalties.py", + "sha256": "4debfcf247b3887478d2b9ec98f108756bbed2805462777ef6b56f3bdf4ce682" + }, + "vllm/v1/sample/ops/topk_topp_sampler.py": { + "path": "/vllm/v1/sample/ops/topk_topp_sampler.py", + "sha256": "13ea4359832bc914492330958ec4f5ac140f408b8f410cc05c6eaf7ddcd70be4" + }, + "vllm/v1/sample/ops/topk_topp_triton.py": { + "path": "/vllm/v1/sample/ops/topk_topp_triton.py", + "sha256": "0b5fc337058e22bc28a8530ccec904d6ccd89b9548b02955c657ac429b1669d2" + }, + "vllm/v1/sample/rejection_sampler.py": { + "path": "/vllm/v1/sample/rejection_sampler.py", + "sha256": "0bb9d224887ccb1355e16199005cc23a4afc6fa75156eca419851b7247d99750" + }, + "vllm/v1/sample/sampler.py": { + "path": "/vllm/v1/sample/sampler.py", + "sha256": "f95805b2c6d06218c724826aa5f881a606e8d0a534a566aee7c85948520dd216" + }, + "vllm/v1/sample/thinking_budget_state.py": { + "path": "/vllm/v1/sample/thinking_budget_state.py", + "sha256": "962f8f55210eb0a431cb9c78b013e35f7a7dd58d06d6fb2e7fcff1b457356f8e" + }, + "vllm/v1/worker/__init__.py": { + "path": "/vllm/v1/worker/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/block_table.py": { + "path": "/vllm/v1/worker/block_table.py", + "sha256": "a09b8819e1417b7a186cf3472224e2138fc5d41a291c6692bb7df711b0c44259" + }, + "vllm/v1/worker/cp_utils.py": { + "path": "/vllm/v1/worker/cp_utils.py", + "sha256": "e32625d83a641b8dd8df82e92d1b6fb20af0cdf2e8fbd2fb131aa3c215415448" + }, + "vllm/v1/worker/cpu/__init__.py": { + "path": "/vllm/v1/worker/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/cpu/buffer_utils.py": { + "path": "/vllm/v1/worker/cpu/buffer_utils.py", + "sha256": "e7313fd8c2c76ebfb98d2fa53008bc9691d0f83a7d7c05e87602b5a29fb79e04" + }, + "vllm/v1/worker/cpu/model_runner.py": { + "path": "/vllm/v1/worker/cpu/model_runner.py", + "sha256": "24a1c916550051327dd5893243a6d4200f3824b91b3af8aa6f6c793fd7c68c3e" + }, + "vllm/v1/worker/cpu/shm.py": { + "path": "/vllm/v1/worker/cpu/shm.py", + "sha256": "08491af8ad341399d1375f2d21ad00414d4c89b0a5c03f55de8704914bbfcbd9" + }, + "vllm/v1/worker/cpu_model_runner.py": { + "path": "/vllm/v1/worker/cpu_model_runner.py", + "sha256": "92111aba92f00571f1a3c4c6e43cf1da6ccb4d2afac2f4d5abc018a4a6e7e8bd" + }, + "vllm/v1/worker/cpu_worker.py": { + "path": "/vllm/v1/worker/cpu_worker.py", + "sha256": "a8051b9e510ef0af9cc34004f2cbe5c0f902bd0cebc32c9464e744344dfdf849" + }, + "vllm/v1/worker/dp_utils.py": { + "path": "/vllm/v1/worker/dp_utils.py", + "sha256": "8cd19f1bfbc5c4f6ec60df89aea7c8a19b400ebc264f372b103014152e92158c" + }, + "vllm/v1/worker/ec_connector_model_runner_mixin.py": { + "path": "/vllm/v1/worker/ec_connector_model_runner_mixin.py", + "sha256": "fe9b11cebb8562f1bfe98b98a5647b2b081a6e424cb60d4ffe2412c91a99215e" + }, + "vllm/v1/worker/encoder_cudagraph.py": { + "path": "/vllm/v1/worker/encoder_cudagraph.py", + "sha256": "6a08d3779bca1b47dbf9daf6eafe2d3c70dbcb8aeb7d63ba7efacc68241ee3bc" + }, + "vllm/v1/worker/encoder_cudagraph_defs.py": { + "path": "/vllm/v1/worker/encoder_cudagraph_defs.py", + "sha256": "bb7be050fcaa8868e7816c84caec875da57050d65fe7eaf00f3d41473df25e3a" + }, + "vllm/v1/worker/gpu/__init__.py": { + "path": "/vllm/v1/worker/gpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/async_utils.py": { + "path": "/vllm/v1/worker/gpu/async_utils.py", + "sha256": "77e17a4570ead2be30ae9b00888cf077a3b873018c12ca0549b853bfda02c1ba" + }, + "vllm/v1/worker/gpu/attn_utils.py": { + "path": "/vllm/v1/worker/gpu/attn_utils.py", + "sha256": "b9b81e59dda2720b1f9c434471381f879228832443e52756e469b4ad4905888f" + }, + "vllm/v1/worker/gpu/block_table.py": { + "path": "/vllm/v1/worker/gpu/block_table.py", + "sha256": "61c004315d5af7e7eae4e2a9e6be92ea82c520327690a7f55a73bb9ce95f520a" + }, + "vllm/v1/worker/gpu/buffer_utils.py": { + "path": "/vllm/v1/worker/gpu/buffer_utils.py", + "sha256": "6597f701a30261bf250e9ad5a29737264624a1caa20527aeea0dad630325b093" + }, + "vllm/v1/worker/gpu/cp_utils.py": { + "path": "/vllm/v1/worker/gpu/cp_utils.py", + "sha256": "456c1bb7e262d99ff555522a4f134e5a9b42aee23290be25455eaef36ee8eaaf" + }, + "vllm/v1/worker/gpu/cudagraph_utils.py": { + "path": "/vllm/v1/worker/gpu/cudagraph_utils.py", + "sha256": "6e9c042890603535e300a40df8ee159dbed1058a64a83ae50ff0329e332e05ff" + }, + "vllm/v1/worker/gpu/dp_utils.py": { + "path": "/vllm/v1/worker/gpu/dp_utils.py", + "sha256": "e26867bc89e6bfc933cabc5ed13e5dc7b8d2d3030118ca1ca64c8785dabc0fc1" + }, + "vllm/v1/worker/gpu/ec_connector.py": { + "path": "/vllm/v1/worker/gpu/ec_connector.py", + "sha256": "2afe6e641f4ae3eb3b8da336c74eaa7479bf617b27cfb39a1fcbe487686f0a08" + }, + "vllm/v1/worker/gpu/eplb_utils.py": { + "path": "/vllm/v1/worker/gpu/eplb_utils.py", + "sha256": "1829fac11464aed4649179b302df198de51b95d0589f4e56bea305a876a63e26" + }, + "vllm/v1/worker/gpu/input_batch.py": { + "path": "/vllm/v1/worker/gpu/input_batch.py", + "sha256": "d5dd956eb319bd69dd9e762047833d81ad40b21fce619fcb2133759e73620694" + }, + "vllm/v1/worker/gpu/kv_connector.py": { + "path": "/vllm/v1/worker/gpu/kv_connector.py", + "sha256": "b89a4333f1e552d86e1815674b59e9f1335f0f49c0a7b46082439076f62c6a81" + }, + "vllm/v1/worker/gpu/lora_utils.py": { + "path": "/vllm/v1/worker/gpu/lora_utils.py", + "sha256": "1e90eddd9ddb4ca55e574bb28e87ae3a6f6750175a62d373102426543f4ccd66" + }, + "vllm/v1/worker/gpu/metrics/__init__.py": { + "path": "/vllm/v1/worker/gpu/metrics/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/metrics/logits.py": { + "path": "/vllm/v1/worker/gpu/metrics/logits.py", + "sha256": "ea058d7510a077a55f8ac7e4c3d596508346244e908cb372865d7159f62edc89" + }, + "vllm/v1/worker/gpu/mm/__init__.py": { + "path": "/vllm/v1/worker/gpu/mm/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/mm/encoder_cache.py": { + "path": "/vllm/v1/worker/gpu/mm/encoder_cache.py", + "sha256": "89c500338fddbeee7c4fca978a3a7c4c566a03e848e399d303fbee3c80631cd2" + }, + "vllm/v1/worker/gpu/mm/encoder_runner.py": { + "path": "/vllm/v1/worker/gpu/mm/encoder_runner.py", + "sha256": "0981e352d70301b7154a217a48665ffe35f215d053ec5740c2515a3e1e11b4e6" + }, + "vllm/v1/worker/gpu/mm/lora.py": { + "path": "/vllm/v1/worker/gpu/mm/lora.py", + "sha256": "a3eddfad6ad64de276964240c28dc080888df4a56dd5eac18f89428f2cbb7a01" + }, + "vllm/v1/worker/gpu/mm/rope.py": { + "path": "/vllm/v1/worker/gpu/mm/rope.py", + "sha256": "0924375bcb367267e783b57dd2ad9de1189d97025ce4313baaa54f2911eaaf1e" + }, + "vllm/v1/worker/gpu/model_runner.py": { + "path": "/vllm/v1/worker/gpu/model_runner.py", + "sha256": "174c93db921c23cf0396eee4764be25b2bd2d4b6a06e9fa41ce3598b884ce8ce" + }, + "vllm/v1/worker/gpu/model_states/__init__.py": { + "path": "/vllm/v1/worker/gpu/model_states/__init__.py", + "sha256": "07815d0b788fc88185772f581bbf892a675259f9288375571f29887622f8d93c" + }, + "vllm/v1/worker/gpu/model_states/default.py": { + "path": "/vllm/v1/worker/gpu/model_states/default.py", + "sha256": "bb614f814780f052e869f9acf31dfbfa68718ee7dc6252eefa901b5730ee8a2a" + }, + "vllm/v1/worker/gpu/model_states/encoder_decoder.py": { + "path": "/vllm/v1/worker/gpu/model_states/encoder_decoder.py", + "sha256": "a5868059d8af672548b41d0e623e884320e6ed61e6aaca2d2828ff5be0356f2f" + }, + "vllm/v1/worker/gpu/model_states/encoder_only.py": { + "path": "/vllm/v1/worker/gpu/model_states/encoder_only.py", + "sha256": "84e96b55a2639e2a73fa4a0308acc89c8d053dc715481180b237e0196dcef99f" + }, + "vllm/v1/worker/gpu/model_states/interface.py": { + "path": "/vllm/v1/worker/gpu/model_states/interface.py", + "sha256": "5675b6fedc7403a9ab410b1e5565974e78fac23c42ab4253ae1da52d6e09b594" + }, + "vllm/v1/worker/gpu/model_states/mamba_hybrid.py": { + "path": "/vllm/v1/worker/gpu/model_states/mamba_hybrid.py", + "sha256": "573e130ac5587d4822fabf97adad1ad0fda02ff83c5e70df879a5bb175ae845c" + }, + "vllm/v1/worker/gpu/model_states/mm_pruning.py": { + "path": "/vllm/v1/worker/gpu/model_states/mm_pruning.py", + "sha256": "b150940b12ae76048f050a8eeb54d532bbdc530a18ffbf320ddeeb0cfaa90f93" + }, + "vllm/v1/worker/gpu/model_states/prompt_embeds.py": { + "path": "/vllm/v1/worker/gpu/model_states/prompt_embeds.py", + "sha256": "11f9e270925c2df6a505557605ac2b859bb145cf3420b0111e7482a1c544f9b1" + }, + "vllm/v1/worker/gpu/model_states/recoverssm.py": { + "path": "/vllm/v1/worker/gpu/model_states/recoverssm.py", + "sha256": "b4b660e62eaf33f4fe8271f83ed1fb6de6bc08f800a8073b27803e42fb29a645" + }, + "vllm/v1/worker/gpu/pcp_manager.py": { + "path": "/vllm/v1/worker/gpu/pcp_manager.py", + "sha256": "2d80df0ed5b18a2069f9d0689cb59923ffe324ba200fcafe242da23da3a6ddaa" + }, + "vllm/v1/worker/gpu/pool/__init__.py": { + "path": "/vllm/v1/worker/gpu/pool/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/pool/pooling_runner.py": { + "path": "/vllm/v1/worker/gpu/pool/pooling_runner.py", + "sha256": "f8463f7648cce0f3f29418a4d9fee61634ead760957cf236d06d61cf8cd986e7" + }, + "vllm/v1/worker/gpu/pp_utils.py": { + "path": "/vllm/v1/worker/gpu/pp_utils.py", + "sha256": "dadeef0bebf61d0ad44a28d06372208ec4e6389224d6017f412683b026bdbb5c" + }, + "vllm/v1/worker/gpu/sample/__init__.py": { + "path": "/vllm/v1/worker/gpu/sample/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/sample/bad_words.py": { + "path": "/vllm/v1/worker/gpu/sample/bad_words.py", + "sha256": "8d3cbd5613398260314d94739d8ee0e1ac0c22abf2f960f541d3c0d4e39d360b" + }, + "vllm/v1/worker/gpu/sample/batch_shard.py": { + "path": "/vllm/v1/worker/gpu/sample/batch_shard.py", + "sha256": "c30274a3a04e6a03e89be9cd7c62de602b1aba4d412f64540ab6201036de3928" + }, + "vllm/v1/worker/gpu/sample/gumbel.py": { + "path": "/vllm/v1/worker/gpu/sample/gumbel.py", + "sha256": "3ec1df510bdad13e8b0a457b5b67c98affdf6e57369e56cb471246cc8f40dd34" + }, + "vllm/v1/worker/gpu/sample/logit_bias.py": { + "path": "/vllm/v1/worker/gpu/sample/logit_bias.py", + "sha256": "9e80a3fe6f3c7474723408cfff52183f4585fdeedd9c2312843ee98d0b12724c" + }, + "vllm/v1/worker/gpu/sample/logprob.py": { + "path": "/vllm/v1/worker/gpu/sample/logprob.py", + "sha256": "f47479a818192acb6b297c79fa67a3b2f9820e3492a394d5adda777e9b7c832e" + }, + "vllm/v1/worker/gpu/sample/min_p.py": { + "path": "/vllm/v1/worker/gpu/sample/min_p.py", + "sha256": "4cb5e2f45e1ced6f9685283a7a5c8cfd7204d9a249822e866cfff756c7f04f62" + }, + "vllm/v1/worker/gpu/sample/output.py": { + "path": "/vllm/v1/worker/gpu/sample/output.py", + "sha256": "d6e298c0f197d487a8faaf7200f500fa83df1d7a4bbf4339cadd6a18008f7f9c" + }, + "vllm/v1/worker/gpu/sample/penalties.py": { + "path": "/vllm/v1/worker/gpu/sample/penalties.py", + "sha256": "46c29434caf5f415129ef4a9bb2b8d4f62d2765596e3e07f73ad2b198c7def1b" + }, + "vllm/v1/worker/gpu/sample/prompt_logprob.py": { + "path": "/vllm/v1/worker/gpu/sample/prompt_logprob.py", + "sha256": "4cf22d390e7bf59e44c458cff7180268db63e95d06af2f1e14d720a2d77c9663" + }, + "vllm/v1/worker/gpu/sample/sampler.py": { + "path": "/vllm/v1/worker/gpu/sample/sampler.py", + "sha256": "832c9945d201a1e730ff9b4b52076aa83bd4a5064e1e4cfea952cf84d4a8d1f0" + }, + "vllm/v1/worker/gpu/sample/states.py": { + "path": "/vllm/v1/worker/gpu/sample/states.py", + "sha256": "4e3671f93695ba5a48fad7d2d13beb231ac8741034904ed5a15d9f7b9b86662e" + }, + "vllm/v1/worker/gpu/sample/thinking_budget.py": { + "path": "/vllm/v1/worker/gpu/sample/thinking_budget.py", + "sha256": "020513e1d3406f367de6ad995a95055008fd0c28f2873647e8283c9870e22404" + }, + "vllm/v1/worker/gpu/sample/trace_replay.py": { + "path": "/vllm/v1/worker/gpu/sample/trace_replay.py", + "sha256": "d2a7d3b3b55379efabe4740a4b7f14030126dc11be36f6ea974164ce42316a50" + }, + "vllm/v1/worker/gpu/sample/watermark.py": { + "path": "/vllm/v1/worker/gpu/sample/watermark.py", + "sha256": "a3581458169dab9153eb09fd67218e0ee5585406537a9de80ad528ae62b030c0" + }, + "vllm/v1/worker/gpu/shutdown.py": { + "path": "/vllm/v1/worker/gpu/shutdown.py", + "sha256": "bb470f14b17c7e52571ef8938b2a9527e7c2846852ae8a3a94b69cd1c30aa4b1" + }, + "vllm/v1/worker/gpu/spec_decode/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/__init__.py", + "sha256": "1f1f84bfe6f4f5af3a7e21a7a8716ecf7b9013da1d03327668a3ee36afc24c32" + }, + "vllm/v1/worker/gpu/spec_decode/acceptance_estimator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/acceptance_estimator.py", + "sha256": "505b843bdd75928b03793b395b47b8be914bd7fe2a3351c8ec04339baeebb1c2" + }, + "vllm/v1/worker/gpu/spec_decode/adaptive_verification.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/adaptive_verification.py", + "sha256": "276b2fec56758a94c71b717f6786b8a6f126db2e20cf964350202feee61a0a39" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/cudagraph_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/cudagraph_utils.py", + "sha256": "13392ef0a9ed59eb9c2b2bad43d7c61beb212a8805849e46b5130c230275d0a5" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/speculator.py", + "sha256": "5b97f54e20ddf65b98e939832d050745f67ef43cfa145786da300f1a8322e3c6" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/cudagraph.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/cudagraph.py", + "sha256": "beab567ae2df6a2ba2cd92fe7ee452c6b959b8a7037a4b5f493993a1824619bb" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/speculator.py", + "sha256": "f9c100f42f9326e48eb84e89281897e859ba761943f54d593523555ccd98dc63" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/utils.py", + "sha256": "53d2c3ad474d290d2c6df027446bbd80ac7447684e5242ab2c3c5337d2abd383" + }, + "vllm/v1/worker/gpu/spec_decode/dflash2/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash2/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/dflash2/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash2/speculator.py", + "sha256": "b70043550938a1df9aecc85d8c8224c38c929ca34f68834572f6e723854d2027" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/speculator.py", + "sha256": "dcf4abdedbd2bddd0d76be198ccf5b4e467c46f645038c35fcab821491a35b03" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/utils.py", + "sha256": "86af2bf30604a184312e8f076097b91ecfec704f409f9d68d634b03d6b318070" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/eagle3_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/eagle3_utils.py", + "sha256": "201ee875fcc3d076a8fc1f3876dcbf85736b221a368555243a8987ff26a1674e" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/speculator.py", + "sha256": "746e318a4f266d75522ff7f3731ea9b4527b7b4824f71364d1a62184ea1f7b3d" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/utils.py", + "sha256": "94de6f55a1761f24f4aa1388cbc3b3763d4ab3ee53260330056ad31ce0b78236" + }, + "vllm/v1/worker/gpu/spec_decode/extract_hidden_states.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/extract_hidden_states.py", + "sha256": "93c4233be7b2d2290b33902ea9b3bb5274c11701830851d03967a22144536e2d" + }, + "vllm/v1/worker/gpu/spec_decode/gemma4/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/gemma4/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/gemma4/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/gemma4/speculator.py", + "sha256": "9991210d7babd2caf2cd10797ca8688543dedeafbc3b86bc7c979c1a6ae9f949" + }, + "vllm/v1/worker/gpu/spec_decode/mtp/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/mtp/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/mtp/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/mtp/speculator.py", + "sha256": "926d6c9ffdb368c971647911a60493820d056ce236fcae9d94a42fa2e006255d" + }, + "vllm/v1/worker/gpu/spec_decode/multi_module_mtp/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/multi_module_mtp/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/multi_module_mtp/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/multi_module_mtp/speculator.py", + "sha256": "d9d4735b9b33829332b0e845b6d3073b2f0436045ed693b25c6434f351644127" + }, + "vllm/v1/worker/gpu/spec_decode/rejection_sampler.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/rejection_sampler.py", + "sha256": "030db5bfca162cc1f305112f299de5d6d61c59d3ed0807fee46575441ca4086d" + }, + "vllm/v1/worker/gpu/spec_decode/rejection_sampler_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/rejection_sampler_utils.py", + "sha256": "214b61fa0abe88573beb779872c035b3954e5651a85bd438d99ee5905d3a62ec" + }, + "vllm/v1/worker/gpu/spec_decode/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/speculator.py", + "sha256": "3a1ab15bf8b20918852eb835fe9755046e99dcbac6ba6ca3d414949fc8bc695a" + }, + "vllm/v1/worker/gpu/spec_decode/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/utils.py", + "sha256": "282f2929eddae9ca7312269f799be07472334b6df9fd91878b5e839ec05e418c" + }, + "vllm/v1/worker/gpu/states.py": { + "path": "/vllm/v1/worker/gpu/states.py", + "sha256": "99418f5df43ca612ded72609fee011620b065b2cab2f249ccb387096bf4ae71a" + }, + "vllm/v1/worker/gpu/structured_outputs.py": { + "path": "/vllm/v1/worker/gpu/structured_outputs.py", + "sha256": "18a10532db7e66b55e334acacd1fd989ad6361adf31dd0de9a9a65e23db25951" + }, + "vllm/v1/worker/gpu/ubatch_utils.py": { + "path": "/vllm/v1/worker/gpu/ubatch_utils.py", + "sha256": "5092e2e58af0561c8dc12e62847cfc6dda9ca20dfbd33e7f0cd77a83fe87f7c5" + }, + "vllm/v1/worker/gpu/warmup.py": { + "path": "/vllm/v1/worker/gpu/warmup.py", + "sha256": "423ac32d58fe008c228cfa223e4fcebfcf87e3463a9dbdf80a083c0578d73723" + }, + "vllm/v1/worker/gpu_input_batch.py": { + "path": "/vllm/v1/worker/gpu_input_batch.py", + "sha256": "18cf455c9d0eea61cc581c7932f2e6cd09786914e82dd35eef1c1430da359a0f" + }, + "vllm/v1/worker/gpu_model_runner.py": { + "path": "/vllm/v1/worker/gpu_model_runner.py", + "sha256": "87c29d08c0bbf66993d8b984811e7325e35e6436242a773feb55ec88f16b2c51" + }, + "vllm/v1/worker/gpu_ubatch_wrapper.py": { + "path": "/vllm/v1/worker/gpu_ubatch_wrapper.py", + "sha256": "4233cfbe8c9884b042c4363890108f616483b694ebe9a6e69578dcf89c6dac5c" + }, + "vllm/v1/worker/gpu_worker.py": { + "path": "/vllm/v1/worker/gpu_worker.py", + "sha256": "6994436e4547c0996ab555b3e814e8ccea26b650dfc1b378b97d640745309347" + }, + "vllm/v1/worker/kv_connector_model_runner_mixin.py": { + "path": "/vllm/v1/worker/kv_connector_model_runner_mixin.py", + "sha256": "e1cc76d065a7e60aacddb190ae795a480b65cd02ba71a1fc699a02a85c1a3de2" + }, + "vllm/v1/worker/lora_model_runner_mixin.py": { + "path": "/vllm/v1/worker/lora_model_runner_mixin.py", + "sha256": "fef6092a15d8d37f6fa22495e6106e2e5280180908d61ce43d9ff5bf4eef3f2f" + }, + "vllm/v1/worker/mamba_utils.py": { + "path": "/vllm/v1/worker/mamba_utils.py", + "sha256": "23fdaa4e8f63ee8f938eaa1a2b39f803cb04fa6ecd69789563254b1a0691413a" + }, + "vllm/v1/worker/mm_encoder_model_runner.py": { + "path": "/vllm/v1/worker/mm_encoder_model_runner.py", + "sha256": "780c41be84ad022205c21c1decb6bb8d5afb03bc7be120c1f7df03b710acc3d7" + }, + "vllm/v1/worker/sentinel/__init__.py": { + "path": "/vllm/v1/worker/sentinel/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/sentinel/gpu_worker_sentinel.py": { + "path": "/vllm/v1/worker/sentinel/gpu_worker_sentinel.py", + "sha256": "3959b8619d052c5dd247815074e03ec21ec9b43cc424ff2d296abc19b227b852" + }, + "vllm/v1/worker/startup_plan.py": { + "path": "/vllm/v1/worker/startup_plan.py", + "sha256": "84bcbb4f7a9fd7c8d10c9c895aadd9673d44c767b9132368d11eb5e017afe86b" + }, + "vllm/v1/worker/ubatch_utils.py": { + "path": "/vllm/v1/worker/ubatch_utils.py", + "sha256": "b34dce551b5195c414e6a3a997c75961cc7a17f24c7c980487fe3d3e2ba7a798" + }, + "vllm/v1/worker/ubatching.py": { + "path": "/vllm/v1/worker/ubatching.py", + "sha256": "40391241c564feb5f16c77898ae6ae152ed6e71a4682e2a406387785d8de02d7" + }, + "vllm/v1/worker/utils.py": { + "path": "/vllm/v1/worker/utils.py", + "sha256": "0ca3ec6bf4d20076145b7fe64e564962adebedc8f75a856b517ba0b2f2d77acf" + }, + "vllm/v1/worker/worker_base.py": { + "path": "/vllm/v1/worker/worker_base.py", + "sha256": "4a1a5266b912fe97991d8dc89d92b923990da9f6cb4b817d00d52e9c0d26dd7c" + }, + "vllm/v1/worker/workspace.py": { + "path": "/vllm/v1/worker/workspace.py", + "sha256": "d21c08167d1d0d1c0cddaa80453a53a0b4dec5d81b5a537c94a21324344976b3" + }, + "vllm/v1/worker/xpu_model_runner.py": { + "path": "/vllm/v1/worker/xpu_model_runner.py", + "sha256": "07fa0390d28f2b8c3c3c0019eb9c3b126e2397aea268ba47c889f06b423deb23" + }, + "vllm/v1/worker/xpu_worker.py": { + "path": "/vllm/v1/worker/xpu_worker.py", + "sha256": "711b56432506b58041cd86e71320c3960413f7bd61061990b66488421d81cfc3" + } + }, + "prefix": "", + "pth": { + "/__editable__.megatron_core-0.16.0rc0.pth": "d55c9b64480b34aae3d4d31e7706b93391c969dec6e0498e50963b03445a57b0", + "/__editable__.rl_kernel-0.1.0.pth": "1454c4987b35762a0d189d4e901c5d077fde62a1944fbaabecea230e57f3923a", + "/__editable__.vime-0.3.2.pth": "77eec5d06d628cb952e65edd813ca88d8db67ccc785083e1b7b29011b92bec4f", + "/distutils-precedence.pth": "2638ce9e2500e572a5e0de7faed6661eb569d1b696fcba07b0dd223da5f5d224", + "/qwen3_next_cuda_runtime.pth": "e0d3ab57dd3ff4f5d55fcf76e83c549cc00b3c813e6f717c540d5ded79fa2f49", + "/qwen3_next_megatron_source.pth": "8556ac057538e82856cb76cbbc954f58312a3f45373daec3eec826031cfd2709", + "/__editable__.rl_kernel-0.1.0.pth": "1454c4987b35762a0d189d4e901c5d077fde62a1944fbaabecea230e57f3923a", + "/distutils-precedence.pth": "2638ce9e2500e572a5e0de7faed6661eb569d1b696fcba07b0dd223da5f5d224", + "/nvidia_cutlass_dsl_packages.pth": "cc710b99ddb3d76361a70461461d274212a979d00c381d821fce5bb3ad9cf246" + }, + "pyvenv_cfg_sha256": "48579f2c6d35c3d535c2690d7d426587c4b8e92021463f0266b38d35dfbbb834", + "sources": { + "/Megatron-LM-training": { + "patch_sha256": "f66035f12501aa1d08e8884e0dea5a22d59825d717aeda73c3e83876e3efd79f", + "path": "/Megatron-LM-training", + "tree": "731fc44a368d6cac8c6171a29d5c687ff0d95bd1" + }, + "/vime": { + "patch_sha256": "66949839d4c18329444f4f9f6dcd702b53ce1b94e9aa15ed111f28743bfaa4b9", + "path": "/vime", + "tree": "f5174e67dbcdaef983eecd45f215fef2d8429dd0" + } + }, + "version": "3.12.14 | packaged by Anaconda, Inc. | (main, Aug 27 2026, 14:46:43) [GCC 14.3.0]" + }, + "sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca" + }, + "memory": { + "limits": { + "/memory.limit_in_bytes": "9223372036854771712", + "/memory.limit_in_bytes": "9223372036854771712", + "/memory.limit_in_bytes": "9223372036854771712" + }, + "cgroup_bytes": null, + "declared_bytes": 549755813888, + "effective_bytes": 549755813888, + "available_bytes": 2090224148480 + }, + "gpu_uuids": [ + "f84b0ae3-604b-7194-e772-280f5d102d46", + "225c7841-f606-0248-cce4-31f3ae0b215d", + "46fa983d-5878-1d92-4a61-197f569e8b01", + "79936bd2-1377-8dcf-bdb1-e6e772d0e0f3" + ], + "execution_gpus": 4 +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/layers/layers.json b/docs/usage/evidence/qwen3-next-chain-b200/layers/layers.json new file mode 100644 index 000000000..0eb4ff345 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/layers/layers.json @@ -0,0 +1,457 @@ +{ + "schema_version": 1, + "status": "passed", + "phase": "complete", + "scope": "qwen3_next_layer_and_scheduler_gates", + "full_model_l2": "not_evaluated", + "identity": { + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "checkpoint": "", + "weight_version": "baseline", + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32" + }, + "requirements_sha256": "b1513a1392b9f5d668d697ac529541f4aee0efa18d6d2e0b6909a6987f50f762", + "gates": { + "gdn": { + "pid": 223868, + "exit_code": 0, + "log": "/attempts/0/gdn.log", + "gpu_release_verified": true, + "ranks": { + "0": { + "path": "/attempts/0/gdn/rank-0.json", + "sha256": "07a8483c933bb3c7cabfb4fa1e3f9159f5c1b7d9ff418e99c8ec67ebe02e3bc9" + }, + "1": { + "path": "/attempts/0/gdn/rank-1.json", + "sha256": "0e203e3c3cdf032f57bda4d8d744ab1c6c5e31c18abef5357f4022d62ac3ace8" + }, + "2": { + "path": "/attempts/0/gdn/rank-2.json", + "sha256": "9d854ae177d2bda209a926d6164110a622e17eb8adb822f2dfe6470c50ccd2cc" + }, + "3": { + "path": "/attempts/0/gdn/rank-3.json", + "sha256": "93645a11211bb18bee45248869eeb7c419f0238525946315be23089085aa318e" + } + } + }, + "attention": { + "pid": 226184, + "exit_code": 0, + "log": "/attempts/0/attention.log", + "gpu_release_verified": true, + "ranks": { + "0": { + "path": "/attempts/0/attention/rank-0.json", + "sha256": "91692235ed321070387b5dfbc0dd98a482955633899f1b6a57010e294a6bb28b" + }, + "1": { + "path": "/attempts/0/attention/rank-1.json", + "sha256": "96fddfd0800fb638ba2014dc8cbae7d3c8bcee43750395fc774ab9293064b945" + }, + "2": { + "path": "/attempts/0/attention/rank-2.json", + "sha256": "5d1f28ea549a2837df274a58dc7e36f3fec24fb79aab4314a6068e90e19474d9" + }, + "3": { + "path": "/attempts/0/attention/rank-3.json", + "sha256": "7a206edc5e12a8cfce9384b7598c5986c91361759c0db224e99de35841c89d86" + } + } + }, + "moe": { + "pid": 226862, + "exit_code": 0, + "log": "/attempts/0/moe.log", + "gpu_release_verified": true, + "ranks": { + "0": { + "path": "/attempts/0/moe/rank-0.json", + "sha256": "9e4a30ba3b70e8f388b4edd7adc20ffa1548499fc5020ccde4bd10089634d9bb" + }, + "1": { + "path": "/attempts/0/moe/rank-1.json", + "sha256": "59757c1135171be8dd465b721aa8211c903e794bef011c9f128ef0fc7ed9f97c" + }, + "2": { + "path": "/attempts/0/moe/rank-2.json", + "sha256": "926791368dc31d7f396d5c6e13fa3082560e79e5381df05697c5f89d2674cc74" + }, + "3": { + "path": "/attempts/0/moe/rank-3.json", + "sha256": "08698e2f63f8bf301956d1cac73c4404bad27a4a3a0edcc0ad6a4b14419f1b50" + } + } + }, + "adapters": { + "pid": 229079, + "exit_code": 0, + "log": "/attempts/0/adapters.log", + "gpu_release_verified": true, + "ranks": { + "0": { + "path": "/attempts/0/adapters/rank-0.json", + "sha256": "e0d0b81cce5275a4b300e73907ee188c451d3b5fe4f9bc7fe4d8b102844234be" + }, + "1": { + "path": "/attempts/0/adapters/rank-1.json", + "sha256": "3235285ec77ef743875cb4b96e736029ad0d42e2e07f6ebb69f0abc2f87610fc" + }, + "2": { + "path": "/attempts/0/adapters/rank-2.json", + "sha256": "8b0c3043ed8bd06960795279af650471369aecb8ecc70f9a24353775b55d9926" + }, + "3": { + "path": "/attempts/0/adapters/rank-3.json", + "sha256": "360e04fbf952d44dc15dee84b758bd96bd9cba1b7eb8f4441e6d54145022803d" + } + } + }, + "heads": { + "pid": 233053, + "exit_code": 0, + "log": "/attempts/0/heads.log", + "gpu_release_verified": true, + "ranks": { + "0": { + "path": "/attempts/0/heads/rank-0.json", + "sha256": "cedaf6a87ca96b29755ae7bb3a388bbd640fff57b0421eb895932e9068be5107" + }, + "1": { + "path": "/attempts/0/heads/rank-1.json", + "sha256": "6cb21db2d049d23d37c7f45fa1e24e11a8260be34b0209a3bcd9e536f3192daa" + }, + "2": { + "path": "/attempts/0/heads/rank-2.json", + "sha256": "71518967fbf6baa1e1fde70f47c0b0049451f4281335d91fd336801c5b444055" + }, + "3": { + "path": "/attempts/0/heads/rank-3.json", + "sha256": "0091b5f7495d36bb7edf3a411cb22cf8c9249fe729015a2756e07c1fa862ccfa" + } + } + } + }, + "provider_binary": { + "path": "/attempts/0/provider-binary.json", + "sha256": "57d008e706cc4875d1c471ca18f007aeacc659e675a01921e3d1ca6944489846" + }, + "scheduler": { + "path": "/attempts/0/scheduler-report.json", + "sha256": "c536b5c6c6724777dd33168fad39be540e46f166f5e8d5beaf60d015f34e83e2" + } +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/layers/operators.json b/docs/usage/evidence/qwen3-next-chain-b200/layers/operators.json new file mode 100644 index 000000000..500251cce --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/layers/operators.json @@ -0,0 +1,304 @@ +{ + "scope": "qwen3_next_operators_only", + "status": "passed", + "suite": "all", + "diagnostic_only": false, + "full_model_l2": "not_evaluated", + "git_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "git_dirty": false, + "versions": { + "torch": "2.13.0", + "vllm": "0.30.0", + "transformers": "5.17.0", + "triton": "3.7.1" + }, + "mandatory_case_ids": [ + "tests/check_qwen3_next_attention.py::test_d256_backward_with_cached_prefix_matches_float64_formula", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[1024]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[256]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[64]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[8]", + "tests/check_qwen3_next_attention.py::test_d256_input_device_guard_and_nondefault_stream", + "tests/check_qwen3_next_attention.py::test_native_backward_rejects_malformed_probability_and_gradient_buffers", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[0]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[2]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_target_inputs_do_not_depend_on_companions", + "tests/check_qwen3_next_batch_invariance.py::test_triton_chunked_prefill_is_batch_invariant", + "tests/check_qwen3_next_conv_bridge.py::test_chunked_and_reordered_sequences_match", + "tests/check_qwen3_next_conv_bridge.py::test_empty_sequence_preserves_cache_and_gradients", + "tests/check_qwen3_next_conv_bridge.py::test_response_gradient_reaches_prompt_and_convolution_weight", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths0]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths1]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths2]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-4]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[1]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[4]", + "tests/check_qwen3_next_core_matrix.py::test_variable_lengths_empty_and_mixed_step_match_independent_sequences", + "tests/check_qwen3_next_forward.py::test_combine_has_fixed_route_order_and_differentiable_weights", + "tests/check_qwen3_next_forward.py::test_full_vocabulary_logprob_entropy_modes_and_gradient", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_fail_closed_on_the_tensor_descriptor_path", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[128]", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[512]", + "tests/check_qwen3_next_forward.py::test_logprob_nan_rejected_before_comparison", + "tests/check_qwen3_next_forward.py::test_moe_vjp_matches_independent_double_formula", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[1024-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[128-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-16]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-256]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-3072]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-37984]", + "tests/check_qwen3_next_forward.py::test_qwen_moe_actual_tp4_shapes_and_independent_training_forward", + "tests/check_qwen3_next_forward.py::test_route_weights_are_batch_invariant", + "tests/check_qwen3_next_forward.py::test_shared_linear_vjp_and_empty_tokens", + "tests/check_qwen3_next_forward.py::test_stable_route_tie_boundary_and_router_gradient", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_backward_matches_recomputed_recurrence_vjp", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_forward_is_provider_exact_and_does_not_mutate_inputs", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_keeps_prompt_state_gradient_through_response", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[False]", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[True]", + "tests/check_qwen3_next_gdn_bridge.py::test_initial_state_vjp_matches_provider_directional_difference", + "tests/check_qwen3_next_gdn_sequence.py::test_1024_token_chunk_continuation_is_bitwise_exact", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad0]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad1]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad2]", + "tests/check_qwen3_next_gdn_sequence.py::test_chunk_boundary_retains_prompt_and_initial_state_gradients", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths0]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths1]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths2]", + "tests/check_qwen3_next_gdn_sequence.py::test_reserved_and_duplicate_slots_are_rejected", + "tests/check_qwen3_next_norm_providers.py::test_custom_op_has_distinct_native_and_cuda_paths", + "tests/check_qwen3_next_norm_providers.py::test_gdn_decode_provider_env_defaults_are_recorded", + "tests/check_qwen3_next_norm_providers.py::test_our_gated_op_is_batch_invariant", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_cuda]", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_native]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots0]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots2]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots3]", + "tests/check_qwen3_next_shared_core.py::test_independent_training_forward_matches_inference_and_retains_gradients", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[1024]", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[8]", + "tests/check_qwen3_next_shared_core.py::test_unimplemented_provider_profile_is_rejected", + "tests/test_qwen3_next_norm.py::test_bad_weight_shape_raises", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[16]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[1]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[2]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[32]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[48]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[64]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[8]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[128]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[2048]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_with_padding", + "tests/test_qwen3_next_norm.py::test_call_matches_forward", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[128]", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[2048]", + "tests/test_qwen3_next_norm.py::test_cuda_default_offset_preserves_plain_convention", + "tests/test_qwen3_next_norm.py::test_cuda_gated_backward_matches_autograd_golden", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_matches_golden_within_contract", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_bad_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_mismatched_gate", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_backward_uses_the_sigmoid_derivative", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_swish_is_an_alias_for_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_unit_weight_is_plain_norm_times_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_weight_offset_is_applied_in_fp32", + "tests/test_qwen3_next_norm.py::test_cuda_gated_wrapper_rejects_equal_numel_wrong_shape", + "tests/test_qwen3_next_norm.py::test_cuda_gated_zero_gate_zeroes_output", + "tests/test_qwen3_next_norm.py::test_cuda_offset_equals_explicit_fp32_weight", + "tests/test_qwen3_next_norm.py::test_cuda_offset_is_not_folded_through_bfloat16", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_backward_is_offset_aware", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_within_tolerance_of_golden", + "tests/test_qwen3_next_norm.py::test_deterministic_repeat", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype0]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype1]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype2]", + "tests/test_qwen3_next_norm.py::test_eps_inside_sqrt", + "tests/test_qwen3_next_norm.py::test_gated_batch_invariance_slice", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedHFOp]", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedOp]", + "tests/test_qwen3_next_norm.py::test_gated_conventions_diverge_in_low_precision", + "tests/test_qwen3_next_norm.py::test_gated_cuda_op_rejects_bad_activation_at_construction", + "tests/test_qwen3_next_norm.py::test_gated_extension_handles_empty_batch_and_nondefault_stream", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[dy_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[gate_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[rstd_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_shape]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_matches_hf_formula_fp32", + "tests/test_qwen3_next_norm.py::test_gated_shape_mismatch_raises", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_strict_matches_vllm_formula_fp32", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[128]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[2048]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_offset_applied_in_fp32_not_folded_into_bf16", + "tests/test_qwen3_next_norm.py::test_op_batch_invariance_on_device", + "tests/test_qwen3_next_norm.py::test_plain_reference_is_unchanged_by_the_offset_plumbing", + "tests/test_qwen3_next_norm.py::test_weight_offset_is_one", + "tests/test_qwen3_next_norm.py::test_zero_centred_cuda_constructor_rejects_missing_extension", + "tests/test_qwen3_next_norm.py::test_zero_centred_op_inherits_the_plain_reference", + "tests/test_qwen3_next_norm.py::test_zero_weight_is_identity_scaling" + ], + "case_ids_sha256": "694c931b65f9cfa5db963f2eca6d11bd309546c824a1df52f9da2ab128e83e0f", + "pytest_exit_code": 0, + "provider_tests": { + "tests": 233, + "failures": 0, + "errors": 0, + "skipped": 0 + }, + "norm_gates": { + "qwen3_next_rms_norm-forward.json": { + "passed": true, + "exit_code": 0, + "workload": { + "workload_id": "qwen3-next-80b-a3b-norm-c3-c4-v1", + "scope": "qwen3_next_norm_operators", + "fixture_identity_sha256": "3ac9490ffbb1486edac6ea509811fd4d5affbe880b208bd7d9b052b0ce418442", + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "full_model_evidence": false + } + }, + "qwen3_next_rms_norm-gradient.json": { + "passed": true, + "exit_code": 0, + "workload": { + "workload_id": "qwen3-next-80b-a3b-norm-c3-c4-v1", + "scope": "qwen3_next_norm_operators", + "fixture_identity_sha256": "3ac9490ffbb1486edac6ea509811fd4d5affbe880b208bd7d9b052b0ce418442", + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "full_model_evidence": false + } + }, + "rms_norm_gated-forward.json": { + "passed": true, + "exit_code": 0, + "workload": { + "workload_id": "qwen3-next-80b-a3b-norm-c3-c4-v1", + "scope": "qwen3_next_norm_operators", + "fixture_identity_sha256": "3ac9490ffbb1486edac6ea509811fd4d5affbe880b208bd7d9b052b0ce418442", + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "full_model_evidence": false + } + }, + "rms_norm_gated-gradient.json": { + "passed": true, + "exit_code": 0, + "workload": { + "workload_id": "qwen3-next-80b-a3b-norm-c3-c4-v1", + "scope": "qwen3_next_norm_operators", + "fixture_identity_sha256": "3ac9490ffbb1486edac6ea509811fd4d5affbe880b208bd7d9b052b0ce418442", + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "full_model_evidence": false + } + } + } +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/layers/provider_binary.json b/docs/usage/evidence/qwen3-next-chain-b200/layers/provider_binary.json new file mode 100644 index 000000000..4f70ebb27 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/layers/provider_binary.json @@ -0,0 +1,13 @@ +{ + "schema_version": 1, + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "actual": { + "module": "rl_engine._C", + "path": "/source/rl_engine/_C.cpython-312-x86_64-linux-gnu.so", + "sha256": "7d0df906594504667e3a0570af9f599bd8c5b915e0dd298a830ab19255e06124" + }, + "archive": { + "path": "/attempts/0/provider-binary.so", + "sha256": "7d0df906594504667e3a0570af9f599bd8c5b915e0dd298a830ab19255e06124" + } +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/layers/result.json b/docs/usage/evidence/qwen3-next-chain-b200/layers/result.json new file mode 100644 index 000000000..bada855df --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/layers/result.json @@ -0,0 +1,775 @@ +{ + "contract_version": 4, + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "cuda_identity": { + "home": "", + "nvcc_sha256": "b8e2347d9d7fcadf8812a27324d515de99d033d3e48611811ece7e66d7895f8a" + }, + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "operator_requirements": { + "suite": "all", + "case_ids": [ + "tests/check_qwen3_next_attention.py::test_d256_backward_with_cached_prefix_matches_float64_formula", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[1024]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[256]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[64]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[8]", + "tests/check_qwen3_next_attention.py::test_d256_input_device_guard_and_nondefault_stream", + "tests/check_qwen3_next_attention.py::test_native_backward_rejects_malformed_probability_and_gradient_buffers", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[0]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[2]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_target_inputs_do_not_depend_on_companions", + "tests/check_qwen3_next_batch_invariance.py::test_triton_chunked_prefill_is_batch_invariant", + "tests/check_qwen3_next_conv_bridge.py::test_chunked_and_reordered_sequences_match", + "tests/check_qwen3_next_conv_bridge.py::test_empty_sequence_preserves_cache_and_gradients", + "tests/check_qwen3_next_conv_bridge.py::test_response_gradient_reaches_prompt_and_convolution_weight", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths0]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths1]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths2]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-4]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[1]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[4]", + "tests/check_qwen3_next_core_matrix.py::test_variable_lengths_empty_and_mixed_step_match_independent_sequences", + "tests/check_qwen3_next_forward.py::test_combine_has_fixed_route_order_and_differentiable_weights", + "tests/check_qwen3_next_forward.py::test_full_vocabulary_logprob_entropy_modes_and_gradient", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_fail_closed_on_the_tensor_descriptor_path", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[128]", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[512]", + "tests/check_qwen3_next_forward.py::test_logprob_nan_rejected_before_comparison", + "tests/check_qwen3_next_forward.py::test_moe_vjp_matches_independent_double_formula", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[1024-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[128-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-16]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-256]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-3072]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-37984]", + "tests/check_qwen3_next_forward.py::test_qwen_moe_actual_tp4_shapes_and_independent_training_forward", + "tests/check_qwen3_next_forward.py::test_route_weights_are_batch_invariant", + "tests/check_qwen3_next_forward.py::test_shared_linear_vjp_and_empty_tokens", + "tests/check_qwen3_next_forward.py::test_stable_route_tie_boundary_and_router_gradient", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_backward_matches_recomputed_recurrence_vjp", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_forward_is_provider_exact_and_does_not_mutate_inputs", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_keeps_prompt_state_gradient_through_response", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[False]", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[True]", + "tests/check_qwen3_next_gdn_bridge.py::test_initial_state_vjp_matches_provider_directional_difference", + "tests/check_qwen3_next_gdn_sequence.py::test_1024_token_chunk_continuation_is_bitwise_exact", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad0]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad1]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad2]", + "tests/check_qwen3_next_gdn_sequence.py::test_chunk_boundary_retains_prompt_and_initial_state_gradients", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths0]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths1]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths2]", + "tests/check_qwen3_next_gdn_sequence.py::test_reserved_and_duplicate_slots_are_rejected", + "tests/check_qwen3_next_norm_providers.py::test_custom_op_has_distinct_native_and_cuda_paths", + "tests/check_qwen3_next_norm_providers.py::test_gdn_decode_provider_env_defaults_are_recorded", + "tests/check_qwen3_next_norm_providers.py::test_our_gated_op_is_batch_invariant", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_cuda]", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_native]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots0]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots2]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots3]", + "tests/check_qwen3_next_shared_core.py::test_independent_training_forward_matches_inference_and_retains_gradients", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[1024]", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[8]", + "tests/check_qwen3_next_shared_core.py::test_unimplemented_provider_profile_is_rejected", + "tests/test_qwen3_next_norm.py::test_bad_weight_shape_raises", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[16]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[1]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[2]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[32]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[48]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[64]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[8]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[128]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[2048]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_with_padding", + "tests/test_qwen3_next_norm.py::test_call_matches_forward", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[128]", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[2048]", + "tests/test_qwen3_next_norm.py::test_cuda_default_offset_preserves_plain_convention", + "tests/test_qwen3_next_norm.py::test_cuda_gated_backward_matches_autograd_golden", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_matches_golden_within_contract", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_bad_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_mismatched_gate", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_backward_uses_the_sigmoid_derivative", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_swish_is_an_alias_for_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_unit_weight_is_plain_norm_times_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_weight_offset_is_applied_in_fp32", + "tests/test_qwen3_next_norm.py::test_cuda_gated_wrapper_rejects_equal_numel_wrong_shape", + "tests/test_qwen3_next_norm.py::test_cuda_gated_zero_gate_zeroes_output", + "tests/test_qwen3_next_norm.py::test_cuda_offset_equals_explicit_fp32_weight", + "tests/test_qwen3_next_norm.py::test_cuda_offset_is_not_folded_through_bfloat16", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_backward_is_offset_aware", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_within_tolerance_of_golden", + "tests/test_qwen3_next_norm.py::test_deterministic_repeat", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype0]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype1]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype2]", + "tests/test_qwen3_next_norm.py::test_eps_inside_sqrt", + "tests/test_qwen3_next_norm.py::test_gated_batch_invariance_slice", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedHFOp]", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedOp]", + "tests/test_qwen3_next_norm.py::test_gated_conventions_diverge_in_low_precision", + "tests/test_qwen3_next_norm.py::test_gated_cuda_op_rejects_bad_activation_at_construction", + "tests/test_qwen3_next_norm.py::test_gated_extension_handles_empty_batch_and_nondefault_stream", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[dy_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[gate_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[rstd_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_shape]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_matches_hf_formula_fp32", + "tests/test_qwen3_next_norm.py::test_gated_shape_mismatch_raises", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_strict_matches_vllm_formula_fp32", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[128]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[2048]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_offset_applied_in_fp32_not_folded_into_bf16", + "tests/test_qwen3_next_norm.py::test_op_batch_invariance_on_device", + "tests/test_qwen3_next_norm.py::test_plain_reference_is_unchanged_by_the_offset_plumbing", + "tests/test_qwen3_next_norm.py::test_weight_offset_is_one", + "tests/test_qwen3_next_norm.py::test_zero_centred_cuda_constructor_rejects_missing_extension", + "tests/test_qwen3_next_norm.py::test_zero_centred_op_inherits_the_plain_reference", + "tests/test_qwen3_next_norm.py::test_zero_weight_is_identity_scaling" + ], + "case_ids_sha256": "694c931b65f9cfa5db963f2eca6d11bd309546c824a1df52f9da2ab128e83e0f", + "norm_gates": [ + "qwen3_next_rms_norm-forward.json", + "qwen3_next_rms_norm-gradient.json", + "rms_norm_gated-forward.json", + "rms_norm_gated-gradient.json" + ] + }, + "layer_requirements": { + "schema_version": 1, + "gates": { + "gdn": { + "script": "scripts/qwen3_next_tp_gdn_check.py", + "output_option": "--output", + "scope": "tp4_gdn_layer0", + "groups": { + "cases": [ + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "prompt-gradient", + "replicated-norm-gradient", + "hf-load-export" + ] + }, + "script_sha256": "cc4338893f90af004c51c20fc67d1a9a3f4bf8d26775277f72671c02983e4df5" + }, + "attention": { + "script": "scripts/qwen3_next_tp_attention_check.py", + "output_option": "--output", + "scope": "tp4_full_attention_layer3", + "groups": { + "attention.cases": [ + "hf-load-export", + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "batch4-varlen-reorder", + "sixteen-token-decode", + "prompt-gradient", + "kv-pair-gradient", + "qk-norm-gradient" + ] + }, + "script_sha256": "d27d43efb05415a8ef5892c3c2238a2b9744a4821f5466faf46c6510e6e01bec" + }, + "moe": { + "script": "scripts/qwen3_next_tp_moe_check.py", + "output_option": "--output", + "scope": "tp4_moe_block_layer0", + "groups": { + "moe.cases": [ + "hf-load-export-all512experts", + "routes-replicated-8", + "full-chunk-reorder-8", + "routes-replicated-64", + "full-chunk-reorder-64", + "routes-replicated-256", + "full-chunk-reorder-256", + "routes-replicated-1024", + "full-chunk-reorder-1024", + "training-forward", + "all-parameter-gradient", + "replicated-router-gradient" + ] + }, + "script_sha256": "d5c1bbbb82e408b65871b0cb1638d7a6cf8cfe07f0a3315a657b7dc232d544be" + }, + "adapters": { + "script": "scripts/qwen3_next_adapter_check.py", + "output_option": "--out", + "scope": "gdn_engine_adapter_component", + "groups": { + "cases": [ + "batch1-length8", + "batch1-length64", + "batch1-length256", + "batch1-length1024", + "batch4-length8", + "batch4-length64", + "batch4-length256", + "batch4-length1024", + "mixed-prefill-decode16-reorder" + ] + }, + "fields": { + "prompt_gradient": "passed", + "hf_conv_roundtrip": "passed", + "batch_invariance_capability_registered": false + }, + "script_sha256": "3ce45bb317237c1a06533116d65fb77c2a23b6f503ae46406ede543036eb0f20" + }, + "heads": { + "script": "scripts/qwen3_next_tp_head_check.py", + "output_option": "--output", + "scope": "tp4_embedding_lm_head_only", + "groups": { + "cases": [ + "hf-embedding-roundtrip", + "hf-lm-head-roundtrip", + "replicated-norm-gradient", + "nonzero-finite-embedding-head-gradient", + "embedding-repeat-100", + "batch-invariant-prompt8", + "batch-invariant-prompt64", + "batch-invariant-prompt256", + "batch-invariant-prompt1024", + "logprob-original-and-promoted-logits", + "entropy-interface" + ] + }, + "script_sha256": "0504185d21a75405c8e994bc57b016cf4ec357d8b16e7430772c11934f2af876" + } + }, + "scheduler_case_ids": [ + "p0008-b1-full", + "p0008-b1-chunked", + "p0008-b4-full", + "p0008-b4-chunked", + "p0064-b1-full", + "p0064-b1-chunked", + "p0064-b4-full", + "p0064-b4-chunked", + "p0256-b1-full", + "p0256-b1-chunked", + "p0256-b4-full", + "p0256-b4-chunked", + "p1024-b1-full", + "p1024-b1-chunked", + "p1024-b4-full", + "p1024-b4-chunked" + ], + "registry_sha256": "e3949a750cb27c1897a000f3b023f912629906612ae8949c1575d0acc36df5ec", + "case_ids_per_rank": [ + "adapters/cases/batch1-length1024", + "adapters/cases/batch1-length256", + "adapters/cases/batch1-length64", + "adapters/cases/batch1-length8", + "adapters/cases/batch4-length1024", + "adapters/cases/batch4-length256", + "adapters/cases/batch4-length64", + "adapters/cases/batch4-length8", + "adapters/cases/mixed-prefill-decode16-reorder", + "attention/attention.cases/batch4-varlen-reorder", + "attention/attention.cases/full-chunk-1024", + "attention/attention.cases/full-chunk-256", + "attention/attention.cases/full-chunk-64", + "attention/attention.cases/full-chunk-8", + "attention/attention.cases/hf-load-export", + "attention/attention.cases/kv-pair-gradient", + "attention/attention.cases/prompt-gradient", + "attention/attention.cases/qk-norm-gradient", + "attention/attention.cases/sixteen-token-decode", + "gdn/cases/full-chunk-1024", + "gdn/cases/full-chunk-256", + "gdn/cases/full-chunk-64", + "gdn/cases/full-chunk-8", + "gdn/cases/hf-load-export", + "gdn/cases/prompt-gradient", + "gdn/cases/replicated-norm-gradient", + "heads/cases/batch-invariant-prompt1024", + "heads/cases/batch-invariant-prompt256", + "heads/cases/batch-invariant-prompt64", + "heads/cases/batch-invariant-prompt8", + "heads/cases/embedding-repeat-100", + "heads/cases/entropy-interface", + "heads/cases/hf-embedding-roundtrip", + "heads/cases/hf-lm-head-roundtrip", + "heads/cases/logprob-original-and-promoted-logits", + "heads/cases/nonzero-finite-embedding-head-gradient", + "heads/cases/replicated-norm-gradient", + "moe/moe.cases/all-parameter-gradient", + "moe/moe.cases/full-chunk-reorder-1024", + "moe/moe.cases/full-chunk-reorder-256", + "moe/moe.cases/full-chunk-reorder-64", + "moe/moe.cases/full-chunk-reorder-8", + "moe/moe.cases/hf-load-export-all512experts", + "moe/moe.cases/replicated-router-gradient", + "moe/moe.cases/routes-replicated-1024", + "moe/moe.cases/routes-replicated-256", + "moe/moe.cases/routes-replicated-64", + "moe/moe.cases/routes-replicated-8", + "moe/moe.cases/training-forward" + ], + "case_ids_sha256": "be74417dfbd6031ba27978d06d04bb15daaab2aeb57d132c7e0d41176b28b46e" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "run_id": "20261009T032730Z-layers-c67ec144-397c157d", + "stage": "layers", + "suite": "all", + "execution_id": "397c157d5a60491c891d1ebc5490189b", + "attempt": "0", + "status": "passed", + "phase": "complete", + "scope": "qwen3_next_layer_and_scheduler_gates", + "full_model_l2": "not_evaluated", + "evidence": { + "operators": { + "path": "attempts/0/operators.json", + "sha256": "dedb24b6ac2a01d37eb795a001376ca0b200a03e417f8131688aac67c19c2ebd" + }, + "environment": { + "path": "attempts/0/environment.json", + "sha256": "1ae63cfcc6908791e61832bab21f5a7ff7afc4f3d90a13a97d318e503d372193" + }, + "layers": { + "path": "attempts/0/layers.json", + "sha256": "291b1bd405287c1b5368c3be40b32b93c9521cca397ede466d26e5d93326f594" + }, + "checkpoint": { + "path": "attempts/0/weight-verification.json", + "sha256": "7ceb9dab2ce8c0a2551a970819f9f0adbb538f04c4124982458a42f997d7c934" + }, + "provider_binary": { + "path": "attempts/0/provider-binary.json", + "sha256": "57d008e706cc4875d1c471ca18f007aeacc659e675a01921e3d1ca6944489846" + } + } +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/layers/run.json b/docs/usage/evidence/qwen3-next-chain-b200/layers/run.json new file mode 100644 index 000000000..b6b556f19 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/layers/run.json @@ -0,0 +1,5248 @@ +{ + "run_id": "20261009T032730Z-layers-c67ec144-397c157d", + "execution_id": "397c157d5a60491c891d1ebc5490189b", + "contract_version": 4, + "suite": "all", + "execution_gpus": 4, + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "stage": "layers", + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source": "/source", + "python": "", + "cuda_home": "", + "checkpoint": "", + "memory": "512G", + "previous": "", + "status": "prepared", + "full_model_l2": "not_evaluated", + "environment": { + "identity": { + "base_prefix": "/miniconda3/envs/rlkernel", + "binary": "/python3.12", + "binary_sha256": "6a1eb3ffc29f3a6b0ece607b016b4cfa5ca3ac57b34f17ed3266b404f78d2729", + "build_tools": { + "ninja": { + "path": "/miniconda3/envs/rlkernel/bin/ninja", + "sha256": "08639e194fffa7f08b259fc4abfa4803aff66b64de52549cee42ec527d55cea6" + } + }, + "distributions": [ + { + "direct_url": null, + "metadata_sha256": "6f1038270be40f9b8c0bcf391c627e7d7f41ccdd19aa192d6eac1dbfc3b19abc", + "name": "GitPython", + "version": "3.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "3f71971502087521f123c9daa26bc12d31d3466738b567390b8602acad3be22a", + "name": "Jinja2", + "version": "3.1.6" + }, + { + "direct_url": null, + "metadata_sha256": "818fb343b7b6b99a32771bf4813521ae6440b4c7579b3ae46e32dd02da0afeee", + "name": "Markdown", + "version": "3.11" + }, + { + "direct_url": null, + "metadata_sha256": "dc1ee42cf8ecfeee0ab60b15b21d291833e0732548efcb7bb5b3564dca3e5bf7", + "name": "MarkupSafe", + "version": "3.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "de7389b142450a0014234286b0876f328439b823c355c73d0aed41fd67ec208c", + "name": "PyJWT", + "version": "2.15.1" + }, + { + "direct_url": null, + "metadata_sha256": "ffcad4415cafb22b8b536a61595e9ee13438b51d31b0763c1b273ce3bc58e840", + "name": "PyYAML", + "version": "6.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "8562d701cc52d9cafbb418942b0e072fc087ed8ddcf35cd10224c1b2ed8bdd91", + "name": "Pygments", + "version": "2.21.0" + }, + { + "direct_url": null, + "metadata_sha256": "b6c25fcfdcc495edf248a10ca4ad28327ef2ed6047a6ec5c6346e121414c7f21", + "name": "Werkzeug", + "version": "3.1.9" + }, + { + "direct_url": null, + "metadata_sha256": "55c400d24c71b581d9c0992f71df6047cf6c878bebe61a7d45d6e02dc0e4c510", + "name": "absl-py", + "version": "2.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "13db521f90a6a882027b2388eaa2ebf252945f9c2adb7e7e371da18239da4df0", + "name": "accelerate", + "version": "1.15.0" + }, + { + "direct_url": null, + "metadata_sha256": "86fe44e38e67872dd895c729044942ba2c2f934ae439a899fb83a186206b7fd4", + "name": "agent-detector", + "version": "2.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "afe11fe9f5aa54e734cdd51659bed8c89dc6bcd5aef0ad96f2d20149c8de5456", + "name": "aiohappyeyeballs", + "version": "2.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "570b307bc0b53fbbd3ed2ce0b7eca6bbf2fa73bf75e24a480f1034d8c0b832bf", + "name": "aiohttp", + "version": "3.14.3" + }, + { + "direct_url": null, + "metadata_sha256": "44b7f8e14c4770793e747fad50c9e0a6ee7357651d878554f192d94768dc14a8", + "name": "aiohttp-cors", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "648813a44a9ae0ab2f20ee86d2404dcc38e3f9e80c63316cf6e536735df14e54", + "name": "aiosignal", + "version": "1.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "f6a3f6668bacef7f73a2c19ccb2be910b2363d1731c4725cb04364d99e24935a", + "name": "annotated-doc", + "version": "0.0.5" + }, + { + "direct_url": null, + "metadata_sha256": "fc6d752cde6a6a4bff03474386de750e130b75da3c7815ee909f45b51fea98c8", + "name": "annotated-types", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "4e89d670a4b20029da30e5a9e8ebcbc844deff9c44209552bafd5537249c8b9e", + "name": "anthropic", + "version": "1.9.0" + }, + { + "direct_url": null, + "metadata_sha256": "b5a6f00800956387fcddab1fe1b5aa8502c249b86cfb16d58ed700f282f60142", + "name": "antlr4-python3-runtime", + "version": "4.9.3" + }, + { + "direct_url": null, + "metadata_sha256": "a6008defa9492cd08250217b134782cad1db4580e1d7ddf69cc2a2a48cea24e0", + "name": "anyio", + "version": "4.15.1" + }, + { + "direct_url": null, + "metadata_sha256": "7877c64ce8957237363f2df313819bb07f50752df016d14c5a5a99bec10f5deb", + "name": "apache-tvm-ffi", + "version": "0.1.11" + }, + { + "direct_url": null, + "metadata_sha256": "3543ca8f0e072c00ab111b20eba99ce86dbf93ada28988775bc2677284b3c07a", + "name": "astor", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "d4b328c09c024fe1e4d788a9c7715ad726095131b815cd35fd933268226f6269", + "name": "attrs", + "version": "26.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "4850c4d696a5e2a2ecbb3dd792b060acc1de79e09800669b0b9fc3a22c055e6d", + "name": "av", + "version": "19.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "863ff92208d0a02dabfa008bfe91846a5c401ded301e5687dca7dc63c911865f", + "name": "babel", + "version": "2.18.0" + }, + { + "direct_url": null, + "metadata_sha256": "f32e6df3197f05202e586624d95c5e217003d80cee655c165d533102f628df21", + "name": "backrefs", + "version": "8.0" + }, + { + "direct_url": null, + "metadata_sha256": "905c362f655fbc6d37a24686efc2b3bfbd3123b8ee5a443a43f6750d87455e90", + "name": "blake3", + "version": "1.0.10" + }, + { + "direct_url": null, + "metadata_sha256": "07c85682b6aefd5c9b48890d306c1604311902295704892ede48e5a83219a8d3", + "name": "blobfile", + "version": "3.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "2d582941a7081625a35f35a0c4a2e80f7737312e29c38e5fdb6fc08f9c113077", + "name": "bracex", + "version": "3.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "3b60c55bae0d0340c3a3fd918635bbfa3087579da66e0fd7f6be7a3782c0da3d", + "name": "cachetools", + "version": "7.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "5d11a6878d5bc3f22290281a19ef7b36daa95c910780950608b95cd788c7e12e", + "name": "cbor2", + "version": "6.1.4" + }, + { + "direct_url": null, + "metadata_sha256": "362c9942c48051f168ed2b9f2146266b7792d3c05e164cd6afc3f3b65884fdc9", + "name": "certifi", + "version": "2026.7.22" + }, + { + "direct_url": null, + "metadata_sha256": "b4abf1bcf1c1d8e0272d8007fc974499ea59e5f2a5b98af3c78a5e67515a9d87", + "name": "cffi", + "version": "2.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "766120f13c177446f51929a4d201104bc935b6d5a2a176cd6716edce757d3d95", + "name": "cfgv", + "version": "3.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "610e9a9d03ce837ffe6e42be5e02e70087f73863f7350bf7bb7f0511edcc5ec0", + "name": "charset-normalizer", + "version": "3.5.2" + }, + { + "direct_url": null, + "metadata_sha256": "7ad836b3147c9702546d9c28b4fa5be23b24445439db5d0d2a58d17281c84daa", + "name": "click", + "version": "8.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "4c5f00599ebcbf11d337e48a72784d256ca3d704fa9e9f5daadd60065e6776b7", + "name": "cloudpickle", + "version": "3.1.2" + }, + { + "direct_url": null, + "metadata_sha256": "a0970189e3ab7a596d6902d5f61f93b414f138f03d3cf19029145657bfceb382", + "name": "cmake", + "version": "4.1.2" + }, + { + "direct_url": null, + "metadata_sha256": "94a6ebf9718e55f254a43ce0d2f04e0d6d44e7141b6f3144a84feb6519a77bfd", + "name": "colorama", + "version": "0.4.6" + }, + { + "direct_url": null, + "metadata_sha256": "ca8ec227f406d970a645ec482b20619128dd34b9cf71159cc24e27db461a2711", + "name": "colorful", + "version": "0.5.8" + }, + { + "direct_url": null, + "metadata_sha256": "bbaa51b7e4d8f142bd075d01257c0572c0c844796d51426e35c8096a13e8da76", + "name": "compressed-tensors", + "version": "0.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "6063d8ff7ebc458d63a4332853d7ababf4ee2b86336362c8d2b12be6e998eb6b", + "name": "connectrpc", + "version": "0.11.1" + }, + { + "direct_url": null, + "metadata_sha256": "ac5f4b5a5f68080bd9c3fe77399fe8a1bff2ee5923c49db1df544dd054cbf15b", + "name": "cryptography", + "version": "50.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "f41d2f6b4616accca2f5e1dd47aa9e8937c28076cde698226d93e727751f3099", + "name": "cuda-bindings", + "version": "13.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "e5ca6ed34c687c6f4a4d157ad0a2cf06ec0316fe8c4c0ddeb666ad76dd6f30f4", + "name": "cuda-core", + "version": "1.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "89baadd9da23dce9990481519544115615ba3cbd2d1a41e09feea7756fffb378", + "name": "cuda-pathfinder", + "version": "1.8.2" + }, + { + "direct_url": null, + "metadata_sha256": "1ab914b9a57ca601df2e3cfe9608427b15d8afb78029076ace5d1caf9fd45f08", + "name": "cuda-python", + "version": "13.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "73d97a5eb578223b4895ef4f234574d14219cef9999ff7d0e92a3d0dd057bd3f", + "name": "cuda-tile", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "ae6f957fe66ed63081d1d83ee6e8838f3a0af2c6fce1223629d0dd6264565ead", + "name": "cuda-toolkit", + "version": "13.0.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "1f8e0ae51ad5feea63f58ed2e24f3da6f23ed548043235a14f7623d961dd9b64", + "name": "datasets", + "version": "5.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "153f4a4d6ff03dbe5c8ad7fe54bc2e7b989a4947b70f7aa77fbf652b394f2a2e", + "name": "depyf", + "version": "0.20.0" + }, + { + "direct_url": null, + "metadata_sha256": "ee09fc752d7271aac93079cfd63409957dc6b536c1ffd9355a01bf7297e72aa6", + "name": "detect-installer", + "version": "0.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "a7feab2c4f69fd5f85e5a3cb495a7f1870a6bf8199dcee5339e8118f7acbdc09", + "name": "dill", + "version": "0.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "fef3fde661fe30ba7bd1d78841a797136b2b3461705bb4eb92dc54f8308bbaae", + "name": "distlib", + "version": "0.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "fef3fde661fe30ba7bd1d78841a797136b2b3461705bb4eb92dc54f8308bbaae", + "name": "distlib", + "version": "0.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "a3ca2e39abe76c4a33d5fe4a2a84375ec9f25cdfdb7e1d8ea406bd6f1603205c", + "name": "dnspython", + "version": "2.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "92a07daad5e6ff461199de14e845d9b376e309ef916ce5379f3c9cd4e3b1623f", + "name": "dockerfile-parse", + "version": "2.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "5b566b25f0cbe4955d0b16844a7cc6d2002caa3bde2dfda7f301fd8870cbaa56", + "name": "docstring_parser", + "version": "0.18.0" + }, + { + "direct_url": null, + "metadata_sha256": "5a1080b5768c6c591e1c4f9c9812cafa808781b9eeb198043bf185e22d4a1613", + "name": "e2b", + "version": "2.51.0" + }, + { + "direct_url": null, + "metadata_sha256": "0a63979e0b946e16238e4339e60d9c1eb5a7ce3ea93dae78b5da9c65a6190540", + "name": "einops", + "version": "0.8.2" + }, + { + "direct_url": null, + "metadata_sha256": "16cbe67a57558f1d4bfdbc22a454434ba301750c57a62b1d3f5361c9e5cddc00", + "name": "email-validator", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "0617ddb55b90b42ddc9398dc7e91d61fe928a2504939f76526dc15b22d238caa", + "name": "fastapi", + "version": "0.136.3" + }, + { + "direct_url": null, + "metadata_sha256": "ddd82b9666c21988e234d623e2575e1b89fd4133260eeab43fc9a7c074f7024a", + "name": "fastapi-cli", + "version": "0.0.32" + }, + { + "direct_url": null, + "metadata_sha256": "611602e834d42e10433155ff5f5581358d732fa6b6f6f7820a8f79e74b1ce1f9", + "name": "fastapi-cloud-cli", + "version": "0.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "794524e4a9659bda6043721d848d028ea49996085a33326094fbaaa3f6e6b895", + "name": "fastar", + "version": "0.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "711401d36e60e10e35beb4d0f1bb42bf0c4d86339ae52f32b9aa4a4d790530dd", + "name": "fastsafetensors", + "version": "0.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "efaea9742e348c4c4bdcc6f616a33cc5aa3ae926494a72a46690b7da2f08ed5c", + "name": "filelock", + "version": "4.0.7" + }, + { + "direct_url": null, + "metadata_sha256": "99bd6c3f10781d3d2d350f2c3c9fc4765b55f25de8a6d6dd1f71501802d1255e", + "name": "fla-core", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "0a6ef979b75295cee2b5293ad4942b0cf2682e9e38680203064e0b70249c1a96", + "name": "flash-linear-attention", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "76b70a11ca82ea4606b529e7a8658cb3fe71412afa46f2ed57101dd91ba27558", + "name": "flashinfer-python", + "version": "0.6.18.post1" + }, + { + "direct_url": null, + "metadata_sha256": "ba8ff415192b5cbb90efce046e2271a00c8184afc362d8b47fbbc84d5e558b05", + "name": "frozenlist", + "version": "1.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "e7712831c80eb13b08fb7f7cc33988a8f24654af9eba7c6f5f943b2636e4306a", + "name": "fsspec", + "version": "2026.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "025de85c794878d0caa737869307447595f514ebf9599eacb5b1a501bae479b6", + "name": "fsspec", + "version": "2026.9.0" + }, + { + "direct_url": null, + "metadata_sha256": "ca94883bdeaa3740b45b6994443b445fd67c6e4a8064ac3bf9d92d2a5221eee8", + "name": "ghp-import", + "version": "2.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "a7e90983562a035cf767baa63d8c32bc37e1de7cad71ac7b6b2bc70a95bba4eb", + "name": "gitdb", + "version": "4.0.12" + }, + { + "direct_url": null, + "metadata_sha256": "dd96143ec79178bef685c1f5c0a58a87a66d003b421e605de65697308321d518", + "name": "google-api-core", + "version": "2.40.0" + }, + { + "direct_url": null, + "metadata_sha256": "0735d57088a83df2355e16843107fb0112abe2178fc5bb8132947a7ad962aa41", + "name": "google-auth", + "version": "2.59.1" + }, + { + "direct_url": null, + "metadata_sha256": "2f3aa9d9500d329560440e6a5a152e420aad5f5bbb23701f45b740be721784a1", + "name": "googleapis-common-protos", + "version": "1.75.5" + }, + { + "direct_url": null, + "metadata_sha256": "06d74ab04fdc03fad368868907f0d10e7d9f397aab58d58965c0b78ffaec34cc", + "name": "griffelib", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "7ee1c179e2c68a62968308b2f96f4f3469176ee3ac8bdb494ac80188d4d41271", + "name": "grpcio", + "version": "1.84.0" + }, + { + "direct_url": null, + "metadata_sha256": "04cf3a4a91575850f386f4fcfdedd8e7fbfba08feff038fbc1296d1e854db2dd", + "name": "h11", + "version": "0.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "b954a6ba4739c0cc878bb8ea27ea7c7154a48bb4b7c06dba9e9cf880cf0ec930", + "name": "h2", + "version": "4.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "6f0d7bf86e75d0bda1ceccc82367c0145ad0ec522c4d4f51bb454f467faadcc9", + "name": "hf-xet", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "f991b847550cf8225f69562902b5ccb591b2ce9a08fe07ef6e6d701bdb4694a7", + "name": "hpack", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "314d194165c4700034c1c67cee847d549a6d7091374c71f2cef0186ec56a3eb9", + "name": "httpcore", + "version": "1.0.9" + }, + { + "direct_url": null, + "metadata_sha256": "aed9767360bed1bcbda71e3b1a3c996603f86558bc77a1693ee3d09973d20cad", + "name": "httpcore2", + "version": "2.13.1" + }, + { + "direct_url": null, + "metadata_sha256": "8fa3bf3510c35e2eea9f523a1cace7120079cf51d76c4acea97de95806aaa14a", + "name": "httptools", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "3bf4804c215d111b6a4702cf9000021ab39807d1ed3207dd011b14b2843b2d14", + "name": "httpx", + "version": "0.28.1" + }, + { + "direct_url": null, + "metadata_sha256": "d11dd50813b8914bd9455e8b2b591171cd2b1618883943153afadc8bb9224678", + "name": "httpx2", + "version": "2.13.1" + }, + { + "direct_url": null, + "metadata_sha256": "43b119c34ad2b2aacc032a1a6a8feb142fdb5ca407a3519325d74dd53d8904df", + "name": "huggingface_hub", + "version": "1.33.0" + }, + { + "direct_url": null, + "metadata_sha256": "9ce850d5a6b775e5ef4a335f907e579a878e058213121b6eec567781ea68c585", + "name": "humming-kernels", + "version": "0.1.12" + }, + { + "direct_url": null, + "metadata_sha256": "67aa4f6717d82446a51ce350e7c4769eba0c4a22d2f428255cddd9d24b11a914", + "name": "hyperframe", + "version": "6.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd9511ede42f63b995c3f71944f908cb8f014048b63ecc1c8d420525a3354b59", + "name": "identify", + "version": "2.6.20" + }, + { + "direct_url": null, + "metadata_sha256": "af3c3a62bb5d82d6a43454684e0b1dedde27a21ea90eacfb1bed9814619f06d0", + "name": "idna", + "version": "3.20" + }, + { + "direct_url": null, + "metadata_sha256": "cf71393f3d079ce2e859384573e65aaacd1709bef700701f629df32398b598f0", + "name": "ijson", + "version": "3.5.1" + }, + { + "direct_url": null, + "metadata_sha256": "9305763e93d03df0e36516b1125fa046a6ebe37d44589e200e0593cf4bdfd980", + "name": "importlib_metadata", + "version": "9.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "32860c3c19b2e91f6cb5bd83400b5870cda051bc74a5a08822c8c666af0990db", + "name": "iniconfig", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "560faabb3d45d779e445a74e7e806a786f95f2200fa06d979603b7f0ee1cfb39", + "name": "instanttensor", + "version": "0.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "f6fc1f0d389e4245fc2a1a0fdfee09422e56200cb6f94659668456997ff4f7a9", + "name": "interegular", + "version": "0.3.3" + }, + { + "direct_url": null, + "metadata_sha256": "d10f300731197a4829b77f0c883bb3cf8a37ae8c76a302e095fa95d6427706d0", + "name": "jiter", + "version": "0.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "5b0c8d4b4c535a2432fb206223d774509b6e20af374c6a4b6f98bf72a7de6702", + "name": "jmespath", + "version": "1.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "6c4032c2e74273452cd77399af2ee85198f49c22da897983f26d2ed6f787c4e8", + "name": "jsonschema", + "version": "4.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "aaa6cd66f423729e8da397c9d533b7d731f6b25f3d6371b9338c36bdb9be74a0", + "name": "jsonschema-specifications", + "version": "2025.9.1" + }, + { + "direct_url": null, + "metadata_sha256": "f7c0687c032593106a2e5a3c241cf8043e7e2c222bddb0022b4cb2bf5de67115", + "name": "lark", + "version": "1.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "4511c6b04efc57a5f5333edc1f5f48b9f5412c3923d4bc19b715bdf47977511c", + "name": "linkify-it-py", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "be929870f6ecae18a819c56118f1101f3076e25ac6a4843ca6f4707ebd1e87c6", + "name": "llguidance", + "version": "1.7.6" + }, + { + "direct_url": null, + "metadata_sha256": "cf2b87669bead3e76ec54207f3354c13f73b50c32fcd13c8d627084b3379139e", + "name": "llvmlite", + "version": "0.47.0" + }, + { + "direct_url": null, + "metadata_sha256": "0a416d79c5543d94d2b18807626293d4f47655d1d22724c7ae296e413078aaba", + "name": "lm-format-enforcer", + "version": "0.11.3" + }, + { + "direct_url": null, + "metadata_sha256": "16bc1f59e34fd2a6633bd395276052eacd2c777b2cf72781e76b203f013a8fac", + "name": "loguru", + "version": "0.7.3" + }, + { + "direct_url": null, + "metadata_sha256": "5216d5acfd039a7b581a826186309594b228d37d2c8d56864124ea666689fe4e", + "name": "lxml", + "version": "6.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "f59d772b35315a928672bfcccfb89d82c0aac672c5275c048f7a93b79015bcea", + "name": "markdown-it-py", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "b137367ef0056711cbf5e53015df9168cab80373104e7899b1c0263a21d9c99c", + "name": "mcp", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "38e0b9edaae09e58cd1461fc961ced22672038a697930bedef153a74befb3de1", + "name": "mcp-types", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "799f49685865fd9cc8915fdb92a33e102eeeffad562b03b4aeffb6f422b771c1", + "name": "mdit-py-plugins", + "version": "0.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "481f9cbe08596c6eaba6343e0efa1b13b2362c30dce0610f7c08523f1d98388d", + "name": "mdurl", + "version": "0.1.2" + }, + { + "direct_url": "{\"dir_info\": {\"editable\": true}, \"url\": \"file:///Megatron-LM-training\"}", + "metadata_sha256": "2876c0c760bbfc93bd7d737bf0db2866a937308a7c1707c3a2bb59d4795986ff", + "name": "megatron-core", + "version": "0.16.0rc0" + }, + { + "direct_url": null, + "metadata_sha256": "a6e34d488c879f57ce042bec38f8864ba3ea7d6ecf0ab757fc88fe8dc0a22f26", + "name": "memray", + "version": "1.20.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd26d80dc9676b1fb8c894355bd525fbe7f49a6a86a555c72e9ec6d927247c33", + "name": "mergedeep", + "version": "1.3.4" + }, + { + "direct_url": null, + "metadata_sha256": "dd1b3b89e88d1c65a26e6e72dd075eabbc220bfb138769ec8b64578ee911795c", + "name": "mistral_common", + "version": "1.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "4859847a9f6321daf8849cf7fd1542ff430db6563a2abf9ac0d62a5b21bd951d", + "name": "mkdocs", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "1729fc31479f2582486cdc85397417659dd3b2fb3f920553de66cfe59d5f0b3e", + "name": "mkdocs-awesome-nav", + "version": "3.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "88b4b7b7c0aba5547befdedaf515c8df4867361daf55ff60b72578464d72dcbe", + "name": "mkdocs-get-deps", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "ad33bb33fb16b1f69689c4682550e97232154e367e2c8c8aee9dad0f10d269ce", + "name": "mkdocs-git-revision-date-localized-plugin", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "ed69fbfb9ac00c10c5a383a12ff9d2b9919ae184e408554434199211643d6040", + "name": "mkdocs-material", + "version": "9.7.7" + }, + { + "direct_url": null, + "metadata_sha256": "d1c549b61701148b97f8246bc924b2840e504b37b0ce7a27e78ddf81261e5363", + "name": "mkdocs-material-extensions", + "version": "1.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "4ad6171f3bf6812e4de90670ff0089d445093d4fe1d05d55f17b96a4a192a816", + "name": "ml_dtypes", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "4ad6171f3bf6812e4de90670ff0089d445093d4fe1d05d55f17b96a4a192a816", + "name": "ml_dtypes", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "b0dbdfa30ab6b1ce637a794899c9e43019182b6d1ab2d07b90f647f7331eba6b", + "name": "model-hosting-container-standards", + "version": "0.1.16" + }, + { + "direct_url": null, + "metadata_sha256": "95424470e481cfa8d18b30963b6de3aafe16614b1ea0414e184a008571dde84f", + "name": "mpmath", + "version": "1.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "eb184d83489401903615ce8a78d98d5b933dec0f7246811d396a529915fe797c", + "name": "msgpack", + "version": "1.2.3" + }, + { + "direct_url": null, + "metadata_sha256": "520006303d6a0e859970b83f7d452196e2e8f6dab08f6dcf1ba5823c1230025f", + "name": "msgspec", + "version": "0.22.0" + }, + { + "direct_url": null, + "metadata_sha256": "010d2fe039006070a711a476b171b7b7da5c29ccad3c4eecd77ef3711b07c2d0", + "name": "multidict", + "version": "6.9.1" + }, + { + "direct_url": null, + "metadata_sha256": "235634cc7ebda45f8a84dfdb1b9b35ac1a77a1888b34650c3a616d23e4a7e93f", + "name": "multiprocess", + "version": "0.70.19" + }, + { + "direct_url": null, + "metadata_sha256": "7c545b4b3e5e83d3fde41352272c10cb9deeaba5b7138fbf24383e952af8822e", + "name": "natsort", + "version": "8.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "311ee8cdaeaf9f11acf51cda9c3b5b191f76ce9d98bc3418164c3189bbc37a08", + "name": "nccl4py", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "66360539217852c3b44b37f409eade7e1559baf018bb363bacb2aa3a9759b203", + "name": "networkx", + "version": "3.7" + }, + { + "direct_url": null, + "metadata_sha256": "e8b0b1746808b87816c47e4531780ded7f246bed9575a89e8b40200aa81e9a13", + "name": "ninja", + "version": "1.13.2" + }, + { + "direct_url": null, + "metadata_sha256": "77c1117f0dbc41560ddc6e6b37b542fb4e88afcd4ef82ec06593e5bbd5f37121", + "name": "nodeenv", + "version": "1.11.0" + }, + { + "direct_url": null, + "metadata_sha256": "9af629898406c9eaa69897fe09220dc483270cdba89f6b20bf0165cdf0e1668e", + "name": "numba", + "version": "0.65.0" + }, + { + "direct_url": null, + "metadata_sha256": "0c7281a81cf76e40b27c1385ffd8a215d7227adc219f177ce807ead9e91994a5", + "name": "numpy", + "version": "2.3.5" + }, + { + "direct_url": null, + "metadata_sha256": "0c7281a81cf76e40b27c1385ffd8a215d7227adc219f177ce807ead9e91994a5", + "name": "numpy", + "version": "2.3.5" + }, + { + "direct_url": null, + "metadata_sha256": "bab990ced4537ce74ef5961ca933c4c6fd604fd09a5827a4a428c55bcb0be35b", + "name": "nvdlfw_inspect", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "10f6595146332d35f7f15a000e08b5c81432528c5d026470c1d03f0c1399fb70", + "name": "nvidia-cublas", + "version": "13.1.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "58e933b4ac8e49f098b16ab7480d03bd792afc3d1db10d0aacbdcc2c62e48fa3", + "name": "nvidia-cuda-cccl", + "version": "13.3.4.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "baac937970681d41aa0c3708b3d55d73f8d29e70aceaac0e71fe6d1548e94a09", + "name": "nvidia-cuda-crt", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "8d51e5c76ef5707b0b80d5ec9a791c0f11a480ab721820cf100a3cc566017eef", + "name": "nvidia-cuda-cupti", + "version": "13.0.85" + }, + { + "direct_url": null, + "metadata_sha256": "724bf56e61ddef5d4c2482ff64103a973b911b110b668acaea5373f6c83c1c5c", + "name": "nvidia-cuda-nvcc", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "c54801dbd815d534519a761f1f328325aa0f1d1f1659aa969fa74e7a2c76eee9", + "name": "nvidia-cuda-nvdisasm", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "af51f248363020b9fdfd2743704e901bf3d19a1a1ce1fe44fb98ba148bfc0157", + "name": "nvidia-cuda-nvrtc", + "version": "13.0.88" + }, + { + "direct_url": null, + "metadata_sha256": "055f7fc69a5a2159de82cd0718da02c8852e81c8a71ebb117b8e799badd7167e", + "name": "nvidia-cuda-runtime", + "version": "13.0.96" + }, + { + "direct_url": null, + "metadata_sha256": "df18686dbdb3074ca375a1d6c623a04102fd348950c67a721397349c6d4f0477", + "name": "nvidia-cudnn-cu13", + "version": "9.20.0.48" + }, + { + "direct_url": null, + "metadata_sha256": "abd0ca3f67af19a4d383ff2a012ae0090d4731c6492fd47236615308a50b3981", + "name": "nvidia-cudnn-frontend", + "version": "1.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "4a78545d424d0c5038353f7046a8ae40ceaf312045d71399eac9511f5fc15434", + "name": "nvidia-cufft", + "version": "12.0.0.61" + }, + { + "direct_url": null, + "metadata_sha256": "e49b909195c03ddbe203729d9b31dd88e3f207368333d1909c67c6b130a0c696", + "name": "nvidia-cufile", + "version": "1.15.1.6" + }, + { + "direct_url": null, + "metadata_sha256": "bb15a754c6be32c23aaac13c1cfa7a8ce53d92bc26652ec3b609f7a5cce3e7d1", + "name": "nvidia-curand", + "version": "10.4.0.35" + }, + { + "direct_url": null, + "metadata_sha256": "0dd58f677811eac04901a793740932e5a2a8fff2f5453aa6351614eb18391bb6", + "name": "nvidia-cusolver", + "version": "12.0.4.66" + }, + { + "direct_url": null, + "metadata_sha256": "8aeb284782ef6883095a5d1c110e221cad023a99afcfd5cdb4969a25e146d562", + "name": "nvidia-cusparse", + "version": "12.6.3.3" + }, + { + "direct_url": null, + "metadata_sha256": "09555246122896eaca3b8313eecfca4b339fefd3b597874cb9fe3bf29dab38c9", + "name": "nvidia-cusparselt-cu13", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "ac77bac79fbfb0c52ac6e2e5abc936b1e127be2192f0cbc27b00be3125fa86ae", + "name": "nvidia-cutlass-dsl", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "1ec968ec7c4083f7fe4e1fb8384c7e9b853a81491fef9f4cb1cf755961aaedf6", + "name": "nvidia-cutlass-dsl-libs-base", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "cc6f3846cd820013eaa6e2665c493d70c607be6ce7349b939eb4742888470585", + "name": "nvidia-cutlass-dsl-libs-core", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "2357d0df2d0d17c0b16663b8a89df53f751b19721f66821fd88fa78112c08e55", + "name": "nvidia-cutlass-dsl-libs-cu12", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "244590c25662dcf777b1daae97a858afe1a1aec62e5e6678b217007a459ab552", + "name": "nvidia-cutlass-dsl-libs-cu13", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "c3a25ada01f57418c1b897406c3abab18834e6adc573ab7b060620c453afb6db", + "name": "nvidia-ml-py", + "version": "13.615.71" + }, + { + "direct_url": null, + "metadata_sha256": "56baad4e7f699902b03b17580933f7bd50b6ea97b7df9d7e807750973da7529c", + "name": "nvidia-nccl-cu13", + "version": "2.29.7" + }, + { + "direct_url": null, + "metadata_sha256": "98810ef0ab8badc369e6a46a038f8ee9f412c0c753fb5ad580544f23a0aa7962", + "name": "nvidia-nvjitlink", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "b0f54ee21909d19640a58e05da755c91763eb5725f544fd0d4b84b2f5f94deba", + "name": "nvidia-nvshmem-cu13", + "version": "3.4.5" + }, + { + "direct_url": null, + "metadata_sha256": "06dc1a593c7e8b8c3f29184228c83f8f7ef57787ad91f3e5bcae1d238dd3092a", + "name": "nvidia-nvtx", + "version": "13.0.85" + }, + { + "direct_url": null, + "metadata_sha256": "32ee63450a437b6a6ed227ff6549144aa596197a322993521ec7af826ebd413e", + "name": "nvidia-nvvm", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "32c2efdcd2c673b3b7f35ca9c2cccefaad36f1f0a920648a13cad85f6a5767b2", + "name": "nvtx", + "version": "0.2.15" + }, + { + "direct_url": null, + "metadata_sha256": "3419d80e114a2c19fa9bd3582939a3942f19673055707ba6ca2ca489d58b41e0", + "name": "omegaconf", + "version": "2.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "28971076ce9c279d4b889496b046d55a1e05b02fb9851ceb717e9a10df799572", + "name": "onnx", + "version": "1.23.1" + }, + { + "direct_url": null, + "metadata_sha256": "1246f5a4d8295907a42e809ed9173ede2510ec9d260d2168989d126564897fa5", + "name": "onnx-ir", + "version": "1.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "e14643636835759700dff286f949c5ec34e7eac7ac47f44096414f0e0f1c3101", + "name": "onnxscript", + "version": "0.7.2" + }, + { + "direct_url": null, + "metadata_sha256": "00f847e99939207bd70dfd806428f6b20a3d01074b59325e4c76149a2e19be26", + "name": "openai", + "version": "3.22.1" + }, + { + "direct_url": null, + "metadata_sha256": "598d3ad5a22a14a7c4f1d218b43e345f32b0ba094b753467bae8a3f708fd48cb", + "name": "openai-agents", + "version": "0.22.3" + }, + { + "direct_url": null, + "metadata_sha256": "5a0afcb1ce845e05da12beb1767f5d2749bbc9e9050718c6b9fa3c225713c9eb", + "name": "openai-harmony", + "version": "0.0.8" + }, + { + "direct_url": null, + "metadata_sha256": "e86a6b6fcbbe152805f782c57df321002892e163019574877e9829272e25eb4e", + "name": "opencensus", + "version": "0.11.4" + }, + { + "direct_url": null, + "metadata_sha256": "53d669c8bd3d32d3275153b454e515ca5cc6dec92fae3a98309b5a2b19fe6d2d", + "name": "opencensus-context", + "version": "0.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "19778b6d66b0e45bf73e11fa37a208949d5b393aef914627394d5601455546a6", + "name": "opencv-python-headless", + "version": "5.0.0.93" + }, + { + "direct_url": null, + "metadata_sha256": "19778b6d66b0e45bf73e11fa37a208949d5b393aef914627394d5601455546a6", + "name": "opencv-python-headless", + "version": "5.0.0.93" + }, + { + "direct_url": null, + "metadata_sha256": "a3f5434fa7c80f7f7abc82173da639c8e9c59d30b4027182645562bd3d2f4f97", + "name": "opentelemetry-api", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "8611977ea596e4827874582e86250618444e1c718229dddfc16e5ea437ce5fcb", + "name": "opentelemetry-exporter-http-transport", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "2cfd41e5ca33292d987ba71fa6186d11e16ed66888f3a26f8a3a99060c4b5e90", + "name": "opentelemetry-exporter-otlp", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "3bb4494220732d4bf10e1dba231ea7638cedaa5362e1f23a50d34a14f520fea8", + "name": "opentelemetry-exporter-otlp-common", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "27fb1c8aa5c2cd07776f9f3281fc618cd3feb96017757c33d2b3586fb7fec88b", + "name": "opentelemetry-exporter-otlp-proto-common", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "5cba6098cdd0bfb06853a6c704a2451c4f82c9dea376a30b59ecd279296648ad", + "name": "opentelemetry-exporter-otlp-proto-grpc", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "6f53ef1c172ebf87af69b9ef390aa908506d0cd14bc7811985fdd937a4058808", + "name": "opentelemetry-exporter-otlp-proto-http", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "1910f4e7ebd497e98b6d231e10275288fda2cd1885117575706c62f45e065889", + "name": "opentelemetry-exporter-prometheus", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "fab18b721e30be41448be252e1dca43b48e7f15d971e0bb552492c0ef4b07bee", + "name": "opentelemetry-proto", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "3644a79f55762a646799ff52b9d837e01c8192b7b28f735a383f55c90edb9bc2", + "name": "opentelemetry-sdk", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "add3db481f7f401f65cfbddb058fde3bb4c9dd7b61064a84f8598ad7efe0b11c", + "name": "opentelemetry-semantic-conventions", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "0dfff30e912520a226bcf7a547393484cfcd8c738439c7b48418f61c95109480", + "name": "opentelemetry-semantic-conventions-ai", + "version": "0.5.1" + }, + { + "direct_url": null, + "metadata_sha256": "210ce26bad0a245a72831b4fa029708c245d4d670a88c8d5a69b1446c24a95e4", + "name": "orjson", + "version": "3.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "35ff73511848f5f934ccc39d538014716ec4579e76d54e0e407ff51794a7939c", + "name": "outlines_core", + "version": "0.2.14" + }, + { + "direct_url": null, + "metadata_sha256": "8ee2f7138ade46b6e348a6d099612f5bd6caff13511f3b4144327f37ce50eacf", + "name": "packaging", + "version": "26.3" + }, + { + "direct_url": null, + "metadata_sha256": "a4ab87bf8083001f25ccdc46095f05b678b3569dd58edc2cf941e3e7f64d7c88", + "name": "paginate", + "version": "0.5.7" + }, + { + "direct_url": null, + "metadata_sha256": "1de96a6c28c2e5613c9c87cd4ad9484791001cf58df43cf2ba74d5c4f85f0ad2", + "name": "pandas", + "version": "3.0.6" + }, + { + "direct_url": null, + "metadata_sha256": "d05b8d05da9f78176b2eefaacdfaa5e96708ec4f488daea8bbc52e3ed1bc3954", + "name": "partial-json-parser", + "version": "0.2.1.1.post7" + }, + { + "direct_url": null, + "metadata_sha256": "c1d126edceac2685e29403a8ae3a27c47143dce1f0252fa3931771562f1e2b4f", + "name": "pathspec", + "version": "1.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "30325dc8ce17bc64f9dbc0a449232fd35841a019df22a6f481007c9c5a28c1cb", + "name": "pillow", + "version": "12.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "cbc0b7b6e63b50dcb7c17cf3526a9304f285d9a31353adf3b22acc2059ab23f5", + "name": "pip", + "version": "25.0.1" + }, + { + "direct_url": "{\"dir_info\": {}, \"url\": \"file:///work\"}", + "metadata_sha256": "6ba03b5bc457a2a3d92468729501b5892a0d38ebcc36766c58859449498c5743", + "name": "pip", + "version": "26.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "0421937c4410b61c5325233d5b7671ae933bae8de174f87586ac55aa804851ea", + "name": "platformdirs", + "version": "4.12.2" + }, + { + "direct_url": null, + "metadata_sha256": "2bcffab42626e1fb50d6329765619312d30fe7f4880e98dcee99c92ebd283bb4", + "name": "pluggy", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "7e7562ba7c032f8edd02641ae71b1ac2d8f388103a68d777a7e907d19e75bc17", + "name": "pre_commit", + "version": "4.6.2" + }, + { + "direct_url": null, + "metadata_sha256": "bbe0a7662602ddd23f929fe0ee98e9d04406e138aeee18ce4861af186ea6060d", + "name": "prometheus-fastapi-instrumentator", + "version": "8.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "ece4a61f3ffb92a083fd5e47e180e3e070342e60a3bd93876a879e79a643e821", + "name": "prometheus_client", + "version": "0.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "5feba21a58eaa126e7e7739e57e2572e5bb251fcbf56e439e508acc47d769314", + "name": "propcache", + "version": "0.5.4" + }, + { + "direct_url": null, + "metadata_sha256": "3f136dbf7239c987a7685acd33440cc5efd6c4107b4b11c425201b4de70ae36f", + "name": "proto-plus", + "version": "1.29.0" + }, + { + "direct_url": null, + "metadata_sha256": "118b5ad013120a7a6e24714595ad776bf264d7b0060389133310d18ea1480902", + "name": "protobuf", + "version": "7.36.2" + }, + { + "direct_url": null, + "metadata_sha256": "0849f5a519bf9bc23ef204443fdd8d6d10678863acac7ca9340fc11bfba5a856", + "name": "protobuf-py", + "version": "0.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "eab5f2f4fd98f67a710a8fb1975b64ffa880a4f977566f022c567e08e324ccd6", + "name": "protobuf-py-ext", + "version": "0.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "39009938840de3a8b2a37eb4668d2601aae8c74e4b74743f73e59996b5b7e6e1", + "name": "psutil", + "version": "7.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "df44b58e8a4cfe57f65773ec47f7bdf2a14c8f5f73a7abf331a6b6237d6d691a", + "name": "py-cpuinfo", + "version": "9.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "2fd4a9efc5e5c74ae4c2fcf1970193c524c62ab22af8d5e66ebf7df9e6e46e83", + "name": "py-spy", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "d2ccdeb15cddedc81637a83e40baa6397fe269023b738d0fc3cb2d90722e290b", + "name": "pyarrow", + "version": "25.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "47b9f28e971a56f5adf949e0bcf105b0bf6587946566ecf197a2819d8848cc01", + "name": "pyasn1", + "version": "0.6.4" + }, + { + "direct_url": null, + "metadata_sha256": "82ce4c01c6d36841b9801fcdabab9bfe61d0b5e4e440c275941d8a2d4a790730", + "name": "pyasn1_modules", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "45cb345e4c12f63bc843b8c88902cc44c4d624a55aaef8cd5ffbc0ad16356fbe", + "name": "pybase64", + "version": "1.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "d311ae661edeac8ff029ab2960d065a7e792ebf8f79af682daa53109fe81318b", + "name": "pybind11", + "version": "3.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "cce9c0d440d065d4cdfb0d00004b8ddd65cf363a740efc5b0920b29201a59cd9", + "name": "pycountry", + "version": "26.2.16" + }, + { + "direct_url": null, + "metadata_sha256": "a1e33542883c249bf6c263b0023b9ea8a6131a77d9cb2cbc88316968e5eada83", + "name": "pycparser", + "version": "3.0" + }, + { + "direct_url": null, + "metadata_sha256": "faffcc4d7d359cb1047a9f67f7c65096b838c6db6c62852ef20fb27d55649a95", + "name": "pycryptodomex", + "version": "3.23.0" + }, + { + "direct_url": null, + "metadata_sha256": "98929f4cb80451dc3c6c8cd541a3081dccf0dee94afe7d9fa5c214a18ff236ce", + "name": "pydantic", + "version": "2.13.5" + }, + { + "direct_url": null, + "metadata_sha256": "8eccadbe707db97c397fb79073fe791b7998ef3a85f04f817f8991f7697b190b", + "name": "pydantic-extra-types", + "version": "2.11.1" + }, + { + "direct_url": null, + "metadata_sha256": "8f00c91deb34399316a5386eb2e76fe09f14a08dc3045f2e7dce9bf8573796bd", + "name": "pydantic-settings", + "version": "2.15.0" + }, + { + "direct_url": null, + "metadata_sha256": "66c729edddc20bf2764bb18bd87d907b08690e50355f39b97acc737b26d1d164", + "name": "pydantic_core", + "version": "2.46.5" + }, + { + "direct_url": null, + "metadata_sha256": "394500d78a0c1a433ae8ca3693152c08f6a901121d4b069cf1540a19759e2950", + "name": "pylatexenc", + "version": "2.11" + }, + { + "direct_url": null, + "metadata_sha256": "df2e9e9847a2aea0ae6e20fd325aeb16cf3ce7f8913462db6c2398363cd0c0bf", + "name": "pymdown-extensions", + "version": "12.1" + }, + { + "direct_url": null, + "metadata_sha256": "82fcfe724db9f0b51348da89f4f5cdc0b08d08882b1bbc0ca4913d3a0a93bcb9", + "name": "pynvvideocodec", + "version": "2.0.4" + }, + { + "direct_url": null, + "metadata_sha256": "3722422cc1478b175879143dfb78f98b7a5f53f4f684d71b7054fe2e8acd3b89", + "name": "pyqwest", + "version": "0.10.0" + }, + { + "direct_url": null, + "metadata_sha256": "7d1d1c276b7c372d55d17ac7d30f0a4b80a746e147347b8510d1355eea7f80c8", + "name": "pytest", + "version": "9.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "89e7c1c932e52b74bdcaf504389d2d1a2d7ca559b02bf5a09fc80ebd58ad10f7", + "name": "python-dateutil", + "version": "2.9.0.post0" + }, + { + "direct_url": null, + "metadata_sha256": "54f30f811841b6d772f31715712c85bfe0041839cb071f78daf41c700a98642b", + "name": "python-discovery", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "54f30f811841b6d772f31715712c85bfe0041839cb071f78daf41c700a98642b", + "name": "python-discovery", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "0cc19efd76cfbf3bcb2cb0d3ab82191036855859455aa3812c5e9e591e3f34e8", + "name": "python-dotenv", + "version": "1.2.3" + }, + { + "direct_url": null, + "metadata_sha256": "1d866c6124631b9ce1797ad412fff298ab53fc2d95210281d7c8f20e920753fa", + "name": "python-json-logger", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "2d18a1e7286d92a656ead5ec6f83d5ae6dc858634624f6b264703ae88d24d718", + "name": "python-multipart", + "version": "0.0.32" + }, + { + "direct_url": null, + "metadata_sha256": "beaa0efe9ba4b34843f5a0fc7379a73f10e95adb8cc0c31f359ab6f3a42b4def", + "name": "pyyaml_env_tag", + "version": "1.1" + }, + { + "direct_url": null, + "metadata_sha256": "238dc769e22d4f5626750cdff36e920e4a8d69c10d88de6d79b40a59cc13d873", + "name": "pyzmq", + "version": "27.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "de0a5e855bb5bb78b7acdcd2ca60619c6a0c109814881589caf158ec07155662", + "name": "quack-kernels", + "version": "0.6.5" + }, + { + "direct_url": null, + "metadata_sha256": "961ffef199b876fb4d7b10903d78e79f359d703b1638834c61d70b9879932918", + "name": "qwen-vl-utils", + "version": "0.0.14" + }, + { + "direct_url": null, + "metadata_sha256": "faf6ab9027d12de992827a2d8a224996fe6747a8c5f7d31ae495983dc73eefe9", + "name": "ray", + "version": "2.54.0" + }, + { + "direct_url": null, + "metadata_sha256": "c50d8b3ff4d113925b60dc47d1d28e87248a3338024241b0a3a66c8794fbce0c", + "name": "referencing", + "version": "0.37.0" + }, + { + "direct_url": null, + "metadata_sha256": "02acdc52d6f21d5f4b172254daaa94edfaa44c9ebe14d1c00cc4c8fe99b0e1df", + "name": "regex", + "version": "2026.9.29" + }, + { + "direct_url": null, + "metadata_sha256": "ac08207697217d1ffde8a161b424d77d6e2af6b62630fa26d75d08f11076cdca", + "name": "requests", + "version": "2.34.2" + }, + { + "direct_url": null, + "metadata_sha256": "f1abd635c3dff607a4fd654c62a88d9d4c21843cfc9176116c156f4269ca21b5", + "name": "rich", + "version": "15.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "932ff7743a756d0efcc45528d64c275ac3cb40a8dd1787ea10cb303907f0ae4f", + "name": "rich-toolkit", + "version": "0.20.5" + }, + { + "direct_url": null, + "metadata_sha256": "294a1405c0fa34b5f735bcb46459050436849a1e584c643544de99c07c529fb7", + "name": "rignore", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "5e54dd00b4ad336c5161d47de2a5c2212090c44629c28b6538b156256e49282d", + "name": "rpds-py", + "version": "2026.6.3" + }, + { + "direct_url": null, + "metadata_sha256": "0d5895abd80bfc0027c02943abaea4547061b9004bd134950d640d619a697835", + "name": "safetensors", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "91d5de3f641f33a8fbb4b6e91772da68d50b68686971d7b66af2068f2e77b694", + "name": "scipy", + "version": "1.17.1" + }, + { + "direct_url": null, + "metadata_sha256": "297fb30f701a800489c12893a951da3e5bd1f80061a1f43f0d3e9f1d4c6bc6fd", + "name": "sentencepiece", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "4245e0388ddf2048a38ae2a24a3d2c583408b2454aadc680d3c3beede639db3f", + "name": "sentry-sdk", + "version": "2.71.0" + }, + { + "direct_url": null, + "metadata_sha256": "ae8a9e6feec1a76e954d65ea48ac57842c9a7bfb5ac6e5ea82400a5ba9f71a98", + "name": "setproctitle", + "version": "1.3.7" + }, + { + "direct_url": null, + "metadata_sha256": "341d00772017437d0f6e3c943ae353f243c39fedfba403aea47cced927a76516", + "name": "setuptools", + "version": "79.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "ff4bcfb192bd542ed8f1794fb32ffc9eabd932d6e03cb00a4ad5e35a2469af88", + "name": "setuptools", + "version": "80.10.2" + }, + { + "direct_url": null, + "metadata_sha256": "f1e5a532fb8cda0bbc370e3db6cb9cea72a065d12ddd6a14976ba3cf66264221", + "name": "shellingham", + "version": "1.5.4" + }, + { + "direct_url": null, + "metadata_sha256": "2aba2cfd9c2ad7625a5d374d141af317d8f92d3534997bf98d127e52848dfc81", + "name": "six", + "version": "1.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "69ae2dfe547624be97fae348e1cfa3793f8854eed32cc1603badedc7d48fb36e", + "name": "smart_open", + "version": "8.0.2" + }, + { + "direct_url": null, + "metadata_sha256": "d415e6c6de7dee117d254a342668c489931bc88eac7ec8678b452078e366da6e", + "name": "smmap", + "version": "5.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "093bc4f0740a6fc28692e616aa8fe68d7e1d76426cc5a5faf9ea722a8ee7aaae", + "name": "sniffio", + "version": "1.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "b3cef071eb1dbeaa76a1273fe2ca2cc8ef36e835165253952d93780962529ac1", + "name": "sse-starlette", + "version": "3.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "3c01ca830e213f0311fe37bc3b46b8ab230a5e7acb894bf0fc8785cb7ccfed48", + "name": "starlette", + "version": "1.7.0" + }, + { + "direct_url": null, + "metadata_sha256": "6017ca508a293cf47a88a78cb330e9cbd131d74ec3c7fbf89bd4300ed3129d30", + "name": "supervisor", + "version": "4.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "fd5eb4925b04f9bffbc6c4f92bf8aea7243b918b43cd359493fce48a7dd3b336", + "name": "sympy", + "version": "1.14.0" + }, + { + "direct_url": null, + "metadata_sha256": "f09f0e24282c5a86346bcd5b10ae5ff81869fa8ef69c3ba524bd0a817a87dda9", + "name": "tabulate", + "version": "0.10.0" + }, + { + "direct_url": null, + "metadata_sha256": "519fa19c146fd58a0a75ecf1461e4bd98f9c06d01800c37d4a80f5fef095f4e1", + "name": "tensorboard", + "version": "2.21.0" + }, + { + "direct_url": null, + "metadata_sha256": "1af7ad76e4073b01ab147eb3c1d8e38b95d38062c6c9bc63890150738642e8eb", + "name": "tensorboard-data-server", + "version": "0.7.2" + }, + { + "direct_url": null, + "metadata_sha256": "9e597f62fc07e3b931d5c8fb0e90706fb6d45465cfb5d01dbd27ba7fc135c02c", + "name": "tensorstore", + "version": "0.1.80" + }, + { + "direct_url": null, + "metadata_sha256": "0da993d16ef6326f471796fcb065622f309c5c1aae6c6295b488ea64bb5c880c", + "name": "textual", + "version": "8.2.8" + }, + { + "direct_url": null, + "metadata_sha256": "52ca6148d4fd1497254855fa610cfdde99191cd42bce7a452fd3a68855504ac0", + "name": "tiktoken", + "version": "0.14.0" + }, + { + "direct_url": null, + "metadata_sha256": "0df9eb495cfb477dcbdfbdcd8c04d952d3eb00d77831630760571e13545398e5", + "name": "tilelang", + "version": "0.1.12" + }, + { + "direct_url": null, + "metadata_sha256": "802b576e011dc61bd2681593e8d802714b6c4ce636a9cf87035026db32ce6262", + "name": "tokenizers", + "version": "0.23.2" + }, + { + "direct_url": null, + "metadata_sha256": "4e1631b2164a49ff9a848d86ce504fdcc15e3540dbb262df8f33a2681a8de513", + "name": "tokenspeed-mla", + "version": "0.1.8" + }, + { + "direct_url": null, + "metadata_sha256": "05086095a775c5dca70998dcf442a848c13f9c68b54a54c510c3542c5abb6563", + "name": "tokenspeed-triton", + "version": "3.8.10.post20260920" + }, + { + "direct_url": null, + "metadata_sha256": "71daba472d0c5ffc25c0231dc29688ab0cb13d5bc7e7d93f6c4cce4169c50048", + "name": "torch", + "version": "2.13.0" + }, + { + "direct_url": null, + "metadata_sha256": "cccd2f1c0e5866e63732f58798c8d642ee6d10cd560d6f691e7981b908c246c9", + "name": "torch_c_dlpack_ext", + "version": "0.1.5" + }, + { + "direct_url": "{\"dir_info\": {}, \"url\": \"file:///torch_memory_saver\"}", + "metadata_sha256": "6276cef17dedbb5ee0d6157bbf63b832e916026281328d995ad3d488c2539618", + "name": "torch_memory_saver", + "version": "0.0.9.post1+slime" + }, + { + "direct_url": null, + "metadata_sha256": "29809ca2c86dda5079654f1f70564a64435e9d08f1964a2412b6f514e1b5ff64", + "name": "torchaudio", + "version": "2.11.0" + }, + { + "direct_url": null, + "metadata_sha256": "7e9be0f3a290e3fd9370d8fe010c7ffd006d5d3d05ab8bdf7df8f92f0fca9c39", + "name": "torchcodec", + "version": "0.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "181fa5e6b399c378711eddcdacd756d3c51317916f8eb160ee36cae7fae9589f", + "name": "torchvision", + "version": "0.28.0" + }, + { + "direct_url": null, + "metadata_sha256": "43d1261aff90cf3d5b1b40cf1f94234d61409b14e59f3766f457c1eec7f7ac15", + "name": "tqdm", + "version": "4.70.1" + }, + { + "direct_url": "{\"archive_info\": {\"hash\": \"sha256=3e1d9f534781c8e608240da0b495b8246317a36382f7609017cbaa7fb1d53f7b\", \"hashes\": {\"sha256\": \"3e1d9f534781c8e608240da0b495b8246317a36382f7609017cbaa7fb1d53f7b\"}}, \"url\": \"file:///wheels/transformer_engine-2.16.1%2Bc9877beb-cp312-cp312-linux_x86_64.whl\"}", + "metadata_sha256": "d882f743161d9d9f35dee4e1a8cc9136fa495f7c660caace01ab8f5602d76aa7", + "name": "transformer_engine", + "version": "2.16.1+c9877beb" + }, + { + "direct_url": null, + "metadata_sha256": "465797a59706d83b45c93fde750b228c3b6e1addc44115de2c4c02ad66d9c5ea", + "name": "transformers", + "version": "5.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "a91982ca086667c592a951973434f7c5a9f27a8300bc97af78dfb496afe53e71", + "name": "triton", + "version": "3.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "d26fbb244532c4051e715f9047cd943e2cc4abb0ac6f2a517fa2986eb1ea726a", + "name": "truststore", + "version": "0.10.4" + }, + { + "direct_url": null, + "metadata_sha256": "c84af1a069084b1b440b3594068dec29200d52d4c1a9b652030448717f270158", + "name": "typer", + "version": "0.27.2" + }, + { + "direct_url": null, + "metadata_sha256": "0ad6653b7439f4bb6a596cb7b01ed1b716458467525c4dc40b75d62bdb943c98", + "name": "typing-inspection", + "version": "0.4.4" + }, + { + "direct_url": null, + "metadata_sha256": "d005280aa13b334ac942d20219102865e559f69ffd06c35c248b2f0d0da3b933", + "name": "typing_extensions", + "version": "4.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "fba2930e9030a18965d243f8d330748db2e67572a81b3b68710462fb5110332a", + "name": "urllib3", + "version": "2.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "bc5717bd6524a33838f285261868bcc8e311e8c29fdb19e41d56c38b04890e84", + "name": "uvicorn", + "version": "0.54.0" + }, + { + "direct_url": null, + "metadata_sha256": "741c006d8441f562aa853a5430df236fbb4af923445491f396bf09943bd30258", + "name": "uvloop", + "version": "0.22.1" + }, + { + "direct_url": "{\"dir_info\": {\"editable\": true}, \"url\": \"file:///vime\"}", + "metadata_sha256": "f85aa01dfdc868756a6583434bbff040f29eb511d47d5b25ada063a84353aac6", + "name": "vime", + "version": "0.3.2" + }, + { + "direct_url": null, + "metadata_sha256": "c25431aaf1950971fe96292f395a41a55b403127bfca0d0b8f7dc9cff5dab75d", + "name": "virtualenv", + "version": "21.14.1" + }, + { + "direct_url": null, + "metadata_sha256": "4e3ee0a31d85e56268640aae853bcee4794dfe8c0483c5c6370517e480c81ae0", + "name": "virtualenv", + "version": "21.14.5" + }, + { + "direct_url": null, + "metadata_sha256": "d4ed5c7551cddb8c1aeff2f9f27b3491f6ad2c9afda8e7bb9779c33fa12a536c", + "name": "vllm", + "version": "0.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "84b482e09bac949e992594757214a1920c667a5d898ee320e309250697f6d26e", + "name": "vllm-router", + "version": "0.1.15" + }, + { + "direct_url": null, + "metadata_sha256": "9b16c871eb1060a5218e9b9a9ad33288d94844cfaf43f08dbb6c32423bde8fe3", + "name": "wandb", + "version": "0.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "8e4f2be437dfe4eb3c6c959e517ac20b75d06525563f1ebcbf06f9ec648bd7c1", + "name": "watchdog", + "version": "6.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "15218afb42938907c2ca74c54e3d8e3a5406493c4761e29e38e82bfec0f84296", + "name": "watchfiles", + "version": "1.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "8863af96e88b7db9990da99aa6c46816eacc3d2f9ae1297b53381b033cd70119", + "name": "wcmatch", + "version": "11.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "f46e6bd6cfafb2b684c29587b017b7096fd9155b74eda25a22eca784b9803ab7", + "name": "websockets", + "version": "16.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "ce82db5ccfefa4bfbe4e25a36e1f91e8e7d51fcaeb31586c4d48e1c69f99168b", + "name": "websockets", + "version": "17.1" + }, + { + "direct_url": null, + "metadata_sha256": "0f142a2c09eac643c7d0bfe77f3f121184c0b17914afbd32af669ed19b2b02ef", + "name": "wheel", + "version": "0.47.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd58938e51a3c5cb363f6f22eaa2a8a7accc1ce373388de167a82f77d3e5783f", + "name": "wrapt", + "version": "2.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "b0b72c1941f04499ca7e1a3a6e479aee8df902c3d49979624b59dba8c3228d37", + "name": "xgrammar", + "version": "0.2.8" + }, + { + "direct_url": null, + "metadata_sha256": "ef8861f39e5c36255966a36032651f937d890d55f31f1c26304b488f1ba34332", + "name": "xxhash", + "version": "4.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "740c08057b6eb69c58402c87d652af0a471e46325d811f2c605632a18817152f", + "name": "yarl", + "version": "1.25.1" + }, + { + "direct_url": null, + "metadata_sha256": "7b060e4d24394b5431875e2f74fec8e6bffa79d2e6b4cb8c7e2a5187dd2d8d69", + "name": "z3-solver", + "version": "4.15.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "3d76d4fbc95f0851191147db12300938c67a6f8fb1df884886d9601272ccc4e8", + "name": "zipp", + "version": "4.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "d3de2651e4e908dbb7c9d80508e5179590217dfac4993dc8b04381c5b9718c4c", + "name": "zstandard", + "version": "0.25.0" + } + ], + "executable": "", + "installed_provider_sources": { + "vllm/compilation/__init__.py": { + "path": "/vllm/compilation/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/backends.py": { + "path": "/vllm/compilation/backends.py", + "sha256": "fa4bff8920b363efbbde9456f135fa9d2c004a5bde1898877f177418b2d8b008" + }, + "vllm/compilation/base_static_graph.py": { + "path": "/vllm/compilation/base_static_graph.py", + "sha256": "5cfe8e06db84aa42cd41cdd93ebe93af00b3a242c8011042057530e2922b523a" + }, + "vllm/compilation/breakable_cudagraph.py": { + "path": "/vllm/compilation/breakable_cudagraph.py", + "sha256": "3cc427612a08e2b9b3fee47548026400c1d0776e2d4747535e59ef5512bdf1e8" + }, + "vllm/compilation/caching.py": { + "path": "/vllm/compilation/caching.py", + "sha256": "71d212452dde742fbf28b8a01ed29d3c08a7457ff7f8da2a20ce9d17e902c2cf" + }, + "vllm/compilation/codegen.py": { + "path": "/vllm/compilation/codegen.py", + "sha256": "e04833bec88cf9d1a13aa7341e30e3233d1138bfe23424e0fd34d664b3fedb9f" + }, + "vllm/compilation/compiler_interface.py": { + "path": "/vllm/compilation/compiler_interface.py", + "sha256": "8d84e2864bf83f754bae9e9f77119e0287cca9f97f5fa5ec2535e07b5ad88944" + }, + "vllm/compilation/counter.py": { + "path": "/vllm/compilation/counter.py", + "sha256": "d8158c54dd36a357bf24f6f84dc22f572d3a27f4875f3d5779b12bc5d454ff76" + }, + "vllm/compilation/cuda_graph.py": { + "path": "/vllm/compilation/cuda_graph.py", + "sha256": "05c86392d7fae967ac73076dba7e01990a0e3ae619e4866450a0c1be56bd1192" + }, + "vllm/compilation/decorators.py": { + "path": "/vllm/compilation/decorators.py", + "sha256": "cab6962e8a1fead59c75f5ed8cb4732f9e5441ff972030c2f4b1c4ba0c58de3c" + }, + "vllm/compilation/monitor.py": { + "path": "/vllm/compilation/monitor.py", + "sha256": "43b24c5cb1bc4d32dc979f3222596905c7b3acc58415328a234402e6edc76abf" + }, + "vllm/compilation/partition_rules.py": { + "path": "/vllm/compilation/partition_rules.py", + "sha256": "857d2fb06dc871ea1d3717cd01fbd4e5205984100d98b7b72a2933d6ff1cfa4d" + }, + "vllm/compilation/passes/__init__.py": { + "path": "/vllm/compilation/passes/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/fusion/__init__.py": { + "path": "/vllm/compilation/passes/fusion/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/fusion/act_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/act_quant_fusion.py", + "sha256": "1fa9c3ca4fb424685b7053c3dda89dda16c98dc5645d85f0f28dca58429792b3" + }, + "vllm/compilation/passes/fusion/add_rms_fusion.py": { + "path": "/vllm/compilation/passes/fusion/add_rms_fusion.py", + "sha256": "e46998552628aa5cd5962fc39ea39ae824fd97e6aeba1d176e9cc7cade39837b" + }, + "vllm/compilation/passes/fusion/allreduce_rms_fusion.py": { + "path": "/vllm/compilation/passes/fusion/allreduce_rms_fusion.py", + "sha256": "0af193505880cec0f6ffa224c688bce3c9ddc318dccdf04a696b4e4b4506a963" + }, + "vllm/compilation/passes/fusion/attn_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/attn_quant_fusion.py", + "sha256": "ecc64e82be4481954c9cac6c23d7794846ab19486b570f2dda07ab5ad67c5a49" + }, + "vllm/compilation/passes/fusion/collective_fusion.py": { + "path": "/vllm/compilation/passes/fusion/collective_fusion.py", + "sha256": "1e2c8539d6960b45907fb3bf0482441ea7250e97c56ffdea1500514efa0b164d" + }, + "vllm/compilation/passes/fusion/matcher_utils.py": { + "path": "/vllm/compilation/passes/fusion/matcher_utils.py", + "sha256": "50ac5714ce1bb113520de769ea6234316acc470a8cdf2537a996ce9a9d54337d" + }, + "vllm/compilation/passes/fusion/mla_attn_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/mla_attn_quant_fusion.py", + "sha256": "a966fe7f58bf9228379f793f5fd851735a97f9639722766b2a20cb79a9e4baec" + }, + "vllm/compilation/passes/fusion/mla_rope_kvcache_cat_fusion.py": { + "path": "/vllm/compilation/passes/fusion/mla_rope_kvcache_cat_fusion.py", + "sha256": "1602cc28055ffa8d1123ddb1d256bf0bd12006fd06ea7e16a986c55746dbe0dc" + }, + "vllm/compilation/passes/fusion/qk_norm_rope_fusion.py": { + "path": "/vllm/compilation/passes/fusion/qk_norm_rope_fusion.py", + "sha256": "aebc7d1a5189b65ac665afcc169e7baebd53efe719c48e35e7c5babe85af0d39" + }, + "vllm/compilation/passes/fusion/qk_norm_rope_kvcache_fusion.py": { + "path": "/vllm/compilation/passes/fusion/qk_norm_rope_kvcache_fusion.py", + "sha256": "f0cfd0d83ec4acb09f9bf91d199b114e9d4995e3059c13eb23a6978ce7c07eb2" + }, + "vllm/compilation/passes/fusion/rms_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rms_quant_fusion.py", + "sha256": "4852aa44e0e2087043fdac271bda9b8d9bfe3201bb84ce3919b8ed454d8083c4" + }, + "vllm/compilation/passes/fusion/rocm_aiter_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rocm_aiter_fusion.py", + "sha256": "372e76c68c75209a085deec6dd22b3816be633613ca82f6f2925c1b3773d61a0" + }, + "vllm/compilation/passes/fusion/rope_kvcache_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rope_kvcache_fusion.py", + "sha256": "3a756e9049593537143b5a56ab9185a6bc83f57ed81d84226d7791a46a984b53" + }, + "vllm/compilation/passes/fusion/sequence_parallelism.py": { + "path": "/vllm/compilation/passes/fusion/sequence_parallelism.py", + "sha256": "3af7e420dcb35fff0bae0f8f599d0f1bda34445ebe194059892a434b2976d654" + }, + "vllm/compilation/passes/fx_utils.py": { + "path": "/vllm/compilation/passes/fx_utils.py", + "sha256": "730708213acf9d1b5f3176b433dfc197a5f3c81b5ce443f0923c526924833003" + }, + "vllm/compilation/passes/inductor_pass.py": { + "path": "/vllm/compilation/passes/inductor_pass.py", + "sha256": "1f380aacf7adabb8bf8b7d41c0a93473947f0716f7445bd910fd448f6c08e672" + }, + "vllm/compilation/passes/ir/__init__.py": { + "path": "/vllm/compilation/passes/ir/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/ir/clone_elimination.py": { + "path": "/vllm/compilation/passes/ir/clone_elimination.py", + "sha256": "5297078f5cddce081faba5215814275381d2083b32318fcfeb2bf9d69fedb7c7" + }, + "vllm/compilation/passes/ir/inplace_functionalization.py": { + "path": "/vllm/compilation/passes/ir/inplace_functionalization.py", + "sha256": "2dc4f22c6f05224828c2941479185b1452d4490f488b7f0bfd124334e7809fed" + }, + "vllm/compilation/passes/ir/lowering_pass.py": { + "path": "/vllm/compilation/passes/ir/lowering_pass.py", + "sha256": "d9c3d90f63138420f0e5489447b5996573fcfbbab939da2efccd00848492b172" + }, + "vllm/compilation/passes/ir/utils.py": { + "path": "/vllm/compilation/passes/ir/utils.py", + "sha256": "f59d33a6c7d0616cbeec1e9fb1d6c948881bf81fe124caeb906eac2e2197ea21" + }, + "vllm/compilation/passes/pass_manager.py": { + "path": "/vllm/compilation/passes/pass_manager.py", + "sha256": "486979a058aa2e20ebedcbb6e039f7a59f38d2efd2cda11219fae4067be0968d" + }, + "vllm/compilation/passes/utility/__init__.py": { + "path": "/vllm/compilation/passes/utility/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/utility/fix_functionalization.py": { + "path": "/vllm/compilation/passes/utility/fix_functionalization.py", + "sha256": "ad5b504a05ccee023869b0c8df70ec2fff9a4a80d25fd903e2b532f470e7203f" + }, + "vllm/compilation/passes/utility/noop_elimination.py": { + "path": "/vllm/compilation/passes/utility/noop_elimination.py", + "sha256": "8abf85d28c13f95059f2acbc0275b9b9ed2ad4990f7c5763bbe3067a4aa629ce" + }, + "vllm/compilation/passes/utility/post_cleanup.py": { + "path": "/vllm/compilation/passes/utility/post_cleanup.py", + "sha256": "1c38b14fc209165cbcf8ca763a17ac4e528b97f59b573e5d52df2cce7d758de3" + }, + "vllm/compilation/passes/utility/scatter_split_replace.py": { + "path": "/vllm/compilation/passes/utility/scatter_split_replace.py", + "sha256": "138402cc3097768a32e9e5b8d1a054b6176e494bddc8684e23ca2dc5fdc3fdda" + }, + "vllm/compilation/passes/utility/split_coalescing.py": { + "path": "/vllm/compilation/passes/utility/split_coalescing.py", + "sha256": "0b02acd9e1ad43d7b3e128b914e969b9580773f2818078846dfbf163a8bd0871" + }, + "vllm/compilation/passes/vllm_inductor_pass.py": { + "path": "/vllm/compilation/passes/vllm_inductor_pass.py", + "sha256": "4f83ffb67f834a214221d810c7843a8e41eb4e5930eb40adbd8cf054ff6fb9c6" + }, + "vllm/compilation/piecewise_backend.py": { + "path": "/vllm/compilation/piecewise_backend.py", + "sha256": "6525318ff3ca2e4978e24dd9232a7ae0a02e920e19604b83db6f6043d1f8a54d" + }, + "vllm/compilation/wrapper.py": { + "path": "/vllm/compilation/wrapper.py", + "sha256": "c1b1fca679ea16aa07a696831a810c0d531da2bb0ea32dd6f1a95cdaef36de07" + }, + "vllm/config/__init__.py": { + "path": "/vllm/config/__init__.py", + "sha256": "56fb0cb1598d297e4f95a97e5d86dc624145d1532f5faa432b7d2834d7155bd5" + }, + "vllm/config/attention.py": { + "path": "/vllm/config/attention.py", + "sha256": "c41f345b512d9b7df882328257eb3a6381f41088c11ae83b5ecd8a9e8265d1bc" + }, + "vllm/config/cache.py": { + "path": "/vllm/config/cache.py", + "sha256": "f1c226ba679c884930dbfcaf41a57248b137a9a20d3ed8e3d3b31752bb484c07" + }, + "vllm/config/compilation.py": { + "path": "/vllm/config/compilation.py", + "sha256": "c9cec5c7200e8e559810ec8c30113ad61dab6780f9f7fb3c116bd0d9b5a43065" + }, + "vllm/config/device.py": { + "path": "/vllm/config/device.py", + "sha256": "7b82eee02ceb5842337451a27a3d5729920c47e25e8f6bf3997f5146f9330a9c" + }, + "vllm/config/diffusion.py": { + "path": "/vllm/config/diffusion.py", + "sha256": "1fa9fd2478a866098a28a3586b55af2f9738656b7813a55d76539c10dd99fe8d" + }, + "vllm/config/ec_manager_config.py": { + "path": "/vllm/config/ec_manager_config.py", + "sha256": "418b387dbe7bdf67deddce331c205768a2d42aea37141f59fb02a8a1528e3552" + }, + "vllm/config/ec_transfer.py": { + "path": "/vllm/config/ec_transfer.py", + "sha256": "0eabb2c25194676d23c6acf59562672a1dd24415043ac5737d621ce0d681ec70" + }, + "vllm/config/engram.py": { + "path": "/vllm/config/engram.py", + "sha256": "34043a22385a041d4e9be8857f64174c990c2ca8308b97b6a952b5ab96c20ee5" + }, + "vllm/config/fault_tolerance.py": { + "path": "/vllm/config/fault_tolerance.py", + "sha256": "b166b24373d599fb15ddc575e3061cf0dcb42174d0369d8468008e7ffbb2a4e2" + }, + "vllm/config/kernel.py": { + "path": "/vllm/config/kernel.py", + "sha256": "27e23c584cf862f4091858db6dc85bbc2a01f4baf9dca3f232ae6f3bac02390e" + }, + "vllm/config/kv_events.py": { + "path": "/vllm/config/kv_events.py", + "sha256": "b1dbaee3e6830e381e9157fe3bab0d65c357da88ff7cdf8b1e4b3a4e75c82a87" + }, + "vllm/config/kv_transfer.py": { + "path": "/vllm/config/kv_transfer.py", + "sha256": "506fae7a9d7f32cb3646156cf9249a856f6317dff6c4c85db70efd34418c429b" + }, + "vllm/config/load.py": { + "path": "/vllm/config/load.py", + "sha256": "bd6431c22e078362d749a56a2c84145432ebf2605d8bcfa2ac679182d18ed630" + }, + "vllm/config/lora.py": { + "path": "/vllm/config/lora.py", + "sha256": "ed6cf6575f5950f079a62f904caeae93d1a4745dd8c21788b74367883bcd4b08" + }, + "vllm/config/mamba.py": { + "path": "/vllm/config/mamba.py", + "sha256": "2090f791201ca45dd4f1d72b8651268890eb07574b6084721194eb8fdf612c48" + }, + "vllm/config/model.py": { + "path": "/vllm/config/model.py", + "sha256": "f4168b67cc93ce72ff2a6d4c66974223e32fd0f1fab4c05e44bd68a275e18d69" + }, + "vllm/config/model_arch.py": { + "path": "/vllm/config/model_arch.py", + "sha256": "2babe28329d7b60b4e205f6d72c687f0f66e6535aa2f20411469e5ec362f6b5f" + }, + "vllm/config/multimodal.py": { + "path": "/vllm/config/multimodal.py", + "sha256": "271911aee151f17f092228cecee82af0713e9a47340ffdf66834ca7638a50d22" + }, + "vllm/config/observability.py": { + "path": "/vllm/config/observability.py", + "sha256": "d57c59ec776477ab0a20e9f2b945bc954d8ea3737c869259480e9aa10dfb9f6d" + }, + "vllm/config/offload.py": { + "path": "/vllm/config/offload.py", + "sha256": "6f2db3d9a2730588473d5155811690c6241b167a21dcb62fbbd9ebb6386de42c" + }, + "vllm/config/parallel.py": { + "path": "/vllm/config/parallel.py", + "sha256": "f012ace89e3fb730a467f729f602679bc145c49f0d10721811c9d818570e7b2b" + }, + "vllm/config/pooler.py": { + "path": "/vllm/config/pooler.py", + "sha256": "9f01913dcb7bccbf9b672b16643f18471ae202455992e8afaf0725a17f2b3d08" + }, + "vllm/config/profiler.py": { + "path": "/vllm/config/profiler.py", + "sha256": "04d24fa1dc7cfedca6b5c7d9115f7f7021722fc46a5b15234a1e3b3a506c93e5" + }, + "vllm/config/quantization.py": { + "path": "/vllm/config/quantization.py", + "sha256": "acffc52f525b39a88efd656f1ed705ce3a1b758298bb0684fac7694776bc10b4" + }, + "vllm/config/reasoning.py": { + "path": "/vllm/config/reasoning.py", + "sha256": "2c4f7bdee48a9fb3d93787c4c32361c2411417cce452cfde86808d8759977861" + }, + "vllm/config/scheduler.py": { + "path": "/vllm/config/scheduler.py", + "sha256": "822179da62be4bca0619c8590082ae09123f5c4415f9cc2037be673748239edb" + }, + "vllm/config/speculative.py": { + "path": "/vllm/config/speculative.py", + "sha256": "9c642a87264339c0dbc1d0b57330572149df0f9d5e16c6893b9895e50a619e19" + }, + "vllm/config/speech_to_text.py": { + "path": "/vllm/config/speech_to_text.py", + "sha256": "bf4a566fbde6a1cec1e209070b739650c3302c12696739c88049cb8f723a4c3f" + }, + "vllm/config/structured_outputs.py": { + "path": "/vllm/config/structured_outputs.py", + "sha256": "55649776594349b8b4aa3e08fc4c88068366732a486d6fb235079188044aa829" + }, + "vllm/config/utils.py": { + "path": "/vllm/config/utils.py", + "sha256": "d035e9e488ba92b6c47a96cf05d9b2a850d53eda8a05115b22ff9af8dbc2fc64" + }, + "vllm/config/vllm.py": { + "path": "/vllm/config/vllm.py", + "sha256": "956b812e5a719bcbfa3a3958801361b38b9c928c96b8c073311bbb96376dfb7a" + }, + "vllm/config/watermarking.py": { + "path": "/vllm/config/watermarking.py", + "sha256": "30e6620a3cd7529f0736ad55e38bc326a6a78dee4552f0722208400041c94a1f" + }, + "vllm/config/weight_transfer.py": { + "path": "/vllm/config/weight_transfer.py", + "sha256": "92edd9e5ea90c97a8f3c5f20abf1734a105ee1f3f89e306e7ba87e758f1f767e" + }, + "vllm/distributed/__init__.py": { + "path": "/vllm/distributed/__init__.py", + "sha256": "97f28c30b32662af8cab163939e4ee423037f11630752e13b55cbc25a7d0ab71" + }, + "vllm/distributed/communication_op.py": { + "path": "/vllm/distributed/communication_op.py", + "sha256": "3c3f8ac60db38ece891d39dc1e2f6f1947ad438685893d2e5777d072320bd1b8" + }, + "vllm/distributed/device_communicators/__init__.py": { + "path": "/vllm/distributed/device_communicators/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/device_communicators/aiter_custom_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/aiter_custom_all_reduce.py", + "sha256": "f8eb027ce7a85d94af6260960ceb7f36fc6f1406c9af9c9b6285fddb3f178009" + }, + "vllm/distributed/device_communicators/all2all.py": { + "path": "/vllm/distributed/device_communicators/all2all.py", + "sha256": "1f1b69236acd3cd7bd94520fd6d591bfd31b57c4bc7c9f9f4161ea8bbd0c5f26" + }, + "vllm/distributed/device_communicators/all_reduce_utils.py": { + "path": "/vllm/distributed/device_communicators/all_reduce_utils.py", + "sha256": "ed0ab4dd05b2519a6313892e68824c97b540034664d7f8c3d031b322e33e1bfc" + }, + "vllm/distributed/device_communicators/base_device_communicator.py": { + "path": "/vllm/distributed/device_communicators/base_device_communicator.py", + "sha256": "4a7670f12ed7c7621b25d476e2687c24ca01f3be183fff4a6a25337596fe506b" + }, + "vllm/distributed/device_communicators/cpu_communicator.py": { + "path": "/vllm/distributed/device_communicators/cpu_communicator.py", + "sha256": "e1856c8e91cfbbb4d9ce990c1236e258ba4021e226afcbab645653380b38d64b" + }, + "vllm/distributed/device_communicators/cuda_communicator.py": { + "path": "/vllm/distributed/device_communicators/cuda_communicator.py", + "sha256": "102d95c67ec798cf352b817ba92e8abc9da37f30d1bbdf3aab45d3927b627b93" + }, + "vllm/distributed/device_communicators/cuda_wrapper.py": { + "path": "/vllm/distributed/device_communicators/cuda_wrapper.py", + "sha256": "333b6d9ed173e7a18c7f2b6627a3c9c9ed88892ce52015f05e29d6d245e48ee3" + }, + "vllm/distributed/device_communicators/custom_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/custom_all_reduce.py", + "sha256": "a048c1327c23580805600c0c951831bec333b1ffc4eb26a0e3d34119c4f0c445" + }, + "vllm/distributed/device_communicators/flashinfer_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/flashinfer_all_reduce.py", + "sha256": "b4359760e9b55963676109a5c3a015fb82e190d4df1d021de9ee01e7814cbdda" + }, + "vllm/distributed/device_communicators/flashinfer_pcie_ipc_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/flashinfer_pcie_ipc_all_reduce.py", + "sha256": "8b67b0fc356a565095f56b475cc89c513e3a5eff051ab1c52e5beb0c1a79e9f2" + }, + "vllm/distributed/device_communicators/mnnvl_compat.py": { + "path": "/vllm/distributed/device_communicators/mnnvl_compat.py", + "sha256": "72ee1e6f9571b4c8ecbd9f60cd469d1b565cb79cab519a688a93f290906a2615" + }, + "vllm/distributed/device_communicators/pynccl.py": { + "path": "/vllm/distributed/device_communicators/pynccl.py", + "sha256": "882fb83c5a3c565a3f8fd664b79f5ceae566dca180019ecafd74bc8c11d9f8cf" + }, + "vllm/distributed/device_communicators/pynccl_allocator.py": { + "path": "/vllm/distributed/device_communicators/pynccl_allocator.py", + "sha256": "390e2576cbf4ae06341ca4dab24fc7e4d4f7c24dd444329ed05d828a9ce91460" + }, + "vllm/distributed/device_communicators/pynccl_wrapper.py": { + "path": "/vllm/distributed/device_communicators/pynccl_wrapper.py", + "sha256": "ce63c8da57bb88d4cf89956bd70bb63f0f44bfad468ddb37b765611551f6d99f" + }, + "vllm/distributed/device_communicators/quick_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/quick_all_reduce.py", + "sha256": "8aacb23e7c297b0ae2f80d99c5affd2e7517115d7874be51069d14a44db7b5f2" + }, + "vllm/distributed/device_communicators/ray_communicator.py": { + "path": "/vllm/distributed/device_communicators/ray_communicator.py", + "sha256": "332c37f65495b60564d61db59bc2d30ca0236adc33442d01464790bde9aec897" + }, + "vllm/distributed/device_communicators/shm_broadcast.py": { + "path": "/vllm/distributed/device_communicators/shm_broadcast.py", + "sha256": "f3e7a3f3ff713fccbd535e0d41650ee05bdf8677e83d4b90519910645022c30b" + }, + "vllm/distributed/device_communicators/shm_object_storage.py": { + "path": "/vllm/distributed/device_communicators/shm_object_storage.py", + "sha256": "e097bf7ac0141fe8db4131e8fd553ca2ad5b0600b22a56f3924af6b795e7207c" + }, + "vllm/distributed/device_communicators/symm_mem.py": { + "path": "/vllm/distributed/device_communicators/symm_mem.py", + "sha256": "b06e3ddb9ae880a30ec4a103ce32eb9794223bb0293832e89572af28adaaa544" + }, + "vllm/distributed/device_communicators/xpu_communicator.py": { + "path": "/vllm/distributed/device_communicators/xpu_communicator.py", + "sha256": "527cbfb250760abc62096ee7cd612307b821f21b72dee1687ad866620ec89b6d" + }, + "vllm/distributed/ec_transfer/__init__.py": { + "path": "/vllm/distributed/ec_transfer/__init__.py", + "sha256": "061405bb51df7409c9938b62e25caa8bd6ebf85da6d1700dbd4affe2a0825135" + }, + "vllm/distributed/ec_transfer/ec_connector/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/base.py", + "sha256": "22d4913375bb622473fbe1a77f9376b804949cd8a7e31e9518208f9561d161e2" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/common.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/common.py", + "sha256": "e2267abd8d00a6d2605e1a82ea5c73396a71b427452eab469fcca0134c334e7c" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/connector.py", + "sha256": "72cd35d9fd754a2992dd090a8af13c91e0789b4038ac29276750d823120235db" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/base.py", + "sha256": "19e8df88b0fa831997896355ecdd49e0d86cb074cd7ae28aed0b328b0bb3ab2e" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/zmq.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/zmq.py", + "sha256": "435641c0e37551ab4937855abd067be26905b91215e759cbd9d28a419a34ff9a" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/base.py", + "sha256": "3be698aeb67d32ee3741e76b2fb71806941c587578583acf8fbc42fbf22b46a5" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/nixl.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/nixl.py", + "sha256": "03af8f6549a6027b7262a482907af591e45f28b9b1c5a3408bbc6600e38797e5" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/ec_shared_region.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/ec_shared_region.py", + "sha256": "e40607952c9920024455eca2f419e8c3ef1de9a4d8b27c147a33bb941b8c08b1" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/protocol.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/protocol.py", + "sha256": "05878336884396bfbef77b96b0fa6359f6fa0aba912961f14a84f5a436f27038" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/__init__.py", + "sha256": "01c42385bf3a55cff09cc05ba956f6dd4b8b6b986bf4d6eca4e566cb045b48e0" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/embedding_cache.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/embedding_cache.py", + "sha256": "7359fb980af1fc30b3253681310ef636e2b4a19134e04a93270c9c45de2572d8" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/session.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/session.py", + "sha256": "5973548a919e13c866222b91d502686a6757a31e5a5664b879bf2887ed9fb212" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/utils.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/utils.py", + "sha256": "160ac665f20f2c75b343c1e784084f2b0b4d1cf8fdb28ee15deee4dc8ed0ce45" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/worker/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/worker/__init__.py", + "sha256": "f08d296d3560c42173ae8af961af4a768033ccf1e36e9c17c0cdd53013d0c52e" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/worker/descriptor_buffers.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/worker/descriptor_buffers.py", + "sha256": "be7c81be214e995da8499105ba485854d9c19d6f8e905f8f1b87b83694ca0864" + }, + "vllm/distributed/ec_transfer/ec_connector/example_connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/example_connector.py", + "sha256": "09022ce07a89114bb65d9befd2e60873453aed11bbac8c0a75c1e6084e785a5f" + }, + "vllm/distributed/ec_transfer/ec_connector/factory.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/factory.py", + "sha256": "d6cedca0a99c3dd2b03cd1c15d17472b983e3f7d8f5baf4a12eecaf6abedb817" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/__init__.py", + "sha256": "1cbfc2f95f8f4d48a9253056eb1fd4b562062884e3fd5cb6571583c352fc16f3" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/config.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/config.py", + "sha256": "98c60696f79d1de67d2364cd9e8a42a393b5c8e17ed9af2f971368e47891d7b3" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/control.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/control.py", + "sha256": "58e0d1a423fbe958bfa586ac26a17107e08d0b31d044b4c74ab4dde880e7ca9b" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/memory.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/memory.py", + "sha256": "d5e90b1348de670a70f110d58eedcbdbd053db72c21dd007c3f5275c53951149" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/metadata.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/metadata.py", + "sha256": "497a7e6dfffb7fce80a41d5989f96119b970c143df77bb9d0f9c91d7a46e8c42" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/producer.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/producer.py", + "sha256": "97fa4d0b19475574778eab02f55fad73db9642beb9156da890314fd53fa1a7ab" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/reservation.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/reservation.py", + "sha256": "4790bc65cde4db5f17733ca2c2910980ba594a8a9b79ee27c5b957dffd4c1113" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/scheduler.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/scheduler.py", + "sha256": "53004b62529a31fdd80dfb2e6026610b95041a77e91f731ae526fefd84e7968d" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/state.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/state.py", + "sha256": "92f375d6c5cc9c83dbe95a7977ad8eb0f1b5629ccee92968bcacdc94eee15d65" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/transfer.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/transfer.py", + "sha256": "ada2113a5402054f1149d3edc2537f4e5e1bd696c9b17291c9f2b4cbf6b59753" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/worker.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/worker.py", + "sha256": "89eb91bb64845b3b121d502972a6b04d448714253becd2ea662e5691cd5acdd7" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake_ec_connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake_ec_connector.py", + "sha256": "aaebab4711bc00dd0c622dfbfd8639fc41e7ed5d1658d7d68fe33e4d5fbef3ba" + }, + "vllm/distributed/ec_transfer/ec_connector/utils.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/utils.py", + "sha256": "11b9014b9c0697f8846deff1a55a22fa86a15dc2ac3e139442fb6d513ac03059" + }, + "vllm/distributed/ec_transfer/ec_transfer_state.py": { + "path": "/vllm/distributed/ec_transfer/ec_transfer_state.py", + "sha256": "9487a41f23fa1a4fa6dfca8b42b8e97a0ee19d8406ffd1dcf4bef66315180827" + }, + "vllm/distributed/elastic_ep/__init__.py": { + "path": "/vllm/distributed/elastic_ep/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/elastic_ep/elastic_execute.py": { + "path": "/vllm/distributed/elastic_ep/elastic_execute.py", + "sha256": "b8f60a4183c79ff6051095b5f95bb385bc7fea0cffe8cd9ebc9087ab0e9f01b5" + }, + "vllm/distributed/elastic_ep/elastic_state.py": { + "path": "/vllm/distributed/elastic_ep/elastic_state.py", + "sha256": "fbf049199841a086fdf2fc1ab8498ef017ad3bf319db65c3ae61acbb536d2e10" + }, + "vllm/distributed/elastic_ep/standby_state.py": { + "path": "/vllm/distributed/elastic_ep/standby_state.py", + "sha256": "15282597550ebd0e07b8492ff192aea1ec0dcec8f0ad34009123e1002cc140c1" + }, + "vllm/distributed/eplb/__init__.py": { + "path": "/vllm/distributed/eplb/__init__.py", + "sha256": "1b9c2ee22abb5888c354c5aa01f0944f253e5e24e135d019778398bbe495a628" + }, + "vllm/distributed/eplb/async_worker.py": { + "path": "/vllm/distributed/eplb/async_worker.py", + "sha256": "424328600ad1003286fc5dfffa1f9482007314c060947818b2f94a8b97811f5e" + }, + "vllm/distributed/eplb/eplb_communicator.py": { + "path": "/vllm/distributed/eplb/eplb_communicator.py", + "sha256": "ba30d9d40e7b81d3f42aa9041d2f328edca4073cfe2de920285eb68375501ed8" + }, + "vllm/distributed/eplb/eplb_state.py": { + "path": "/vllm/distributed/eplb/eplb_state.py", + "sha256": "2f06bc8c63f3fdf55edb5032ae55c0ffcac3e67720ce74ea312e3d141b12acf4" + }, + "vllm/distributed/eplb/eplb_utils.py": { + "path": "/vllm/distributed/eplb/eplb_utils.py", + "sha256": "058af6104faa6d4085c1dca80bbe60d92bf0a7ec9cd92c775a180546c9d8c9c3" + }, + "vllm/distributed/eplb/policy/__init__.py": { + "path": "/vllm/distributed/eplb/policy/__init__.py", + "sha256": "daeb266c88442832b1ab8c8c4cc064891b38b9e9ba00aea324f926c87dc6d37e" + }, + "vllm/distributed/eplb/policy/abstract.py": { + "path": "/vllm/distributed/eplb/policy/abstract.py", + "sha256": "b9fd34c28bbfdded03360d7f3f6f8fb978e82689190d7ae4501dfe520e958c62" + }, + "vllm/distributed/eplb/policy/default.py": { + "path": "/vllm/distributed/eplb/policy/default.py", + "sha256": "3b54229e6240d050480390f6b29d4744fd38437d23719f78a6decf7002296a29" + }, + "vllm/distributed/eplb/rebalance_execute.py": { + "path": "/vllm/distributed/eplb/rebalance_execute.py", + "sha256": "b387e228791149018536eee96cf955b33ba79d801cdc36849d1b47a580ec2597" + }, + "vllm/distributed/kv_events.py": { + "path": "/vllm/distributed/kv_events.py", + "sha256": "de08f01e8736881560256c350a3b6418999dd4aa30f9c6ec9159527f7ed6899a" + }, + "vllm/distributed/kv_transfer/__init__.py": { + "path": "/vllm/distributed/kv_transfer/__init__.py", + "sha256": "c1be4e58ec6923bae607a355ad22891c740f056a69ff7358b1e10ea3fd2680ea" + }, + "vllm/distributed/kv_transfer/kv_connector/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/base.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/base.py", + "sha256": "2ae2a2c48f5731f3533166a75440fe91e764332305b5d713df840edba970789d" + }, + "vllm/distributed/kv_transfer/kv_connector/factory.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/factory.py", + "sha256": "add99c93c587b0098b90b1f8fd6940bdd1f15c236c5c6f1a258411863cb902d3" + }, + "vllm/distributed/kv_transfer/kv_connector/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/utils.py", + "sha256": "317ed40dc837671ca6e666165222e641a0f9b3992aea63bbf54de7e13d40b3a4" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/__init__.py", + "sha256": "5beb6ccad12fdcfe1581982da6f18321caca50e73a6b3259ebf3c8dc8b3ffcca" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/base.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/base.py", + "sha256": "97af64220475c6c9e8273438d7b5138b105ebe6944beb783facb36a3bb76f31b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/decode_bench_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/decode_bench_connector.py", + "sha256": "b4151c88cdec28f1ff9259047abc17baf23b892f4b68769a93bf26e0442b9017" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/example_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/example_connector.py", + "sha256": "6226876ef52d10d0d284d29c337ab44698e8bac6abdb2e0ece53b5756c55d068" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/example_hidden_states_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/example_hidden_states_connector.py", + "sha256": "58c22534dcad0fb73599a2d70a2fb104d5b612a4723be5e777f56a56fe07892c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/flexkv_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/flexkv_connector.py", + "sha256": "de4f68c3bd565ed898e47e0b2980049b966ff31888f1957050d30995d4953762" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_client.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_client.py", + "sha256": "bea6ecff2be281c7e96c1551c7bf463cbb01f2964696067c0ebdb683844f9aab" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_connector.py", + "sha256": "e67ed58015090e5eea9d499883f2a9422673d07f8bdbe0ccff7db15d2460de13" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_metadata_server.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_metadata_server.py", + "sha256": "6800e5cf37809f8a8e28c469c14a434db288bc3bf83a8b62ee06910a20c2da19" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/common.py", + "sha256": "8f2c02c08227a9093e6aeb183961aba36b7812cfc29b8c047a2b2c9d82f79c15" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/gather_scatter_helper.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/gather_scatter_helper.py", + "sha256": "08c1b43de34fbeca77357d7576ac1d17cba974b59d695562f68bb713061e7b54" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/hf3fs_mock_client.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/hf3fs_mock_client.py", + "sha256": "bec61a9b0c4b9124b2292d7646d76411da44396389349b53cdcbc46353c8780e" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/connector.py", + "sha256": "8c61094ce0a3a702908f9576f69482e6bf314738a2cbe33a7d3b47258fa0ab43" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/stats.py", + "sha256": "d9383a6ad6ab6b8f812d29d90495407b770eeddb79b86e9d0e3216c0bd16e0ed" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/worker.py", + "sha256": "251c0d8e57e4739c03ce3e1c899a95ff5b1752eb27676c28ab88c4ebd62c4776" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py", + "sha256": "5991f9ff8832df32bd421eb67e48237270ea0a408180e523810bb43606acf8f3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/__init__.py", + "sha256": "c53be9796e76cde637514bfc40a525d8c09bb2784b406cb516790d8285dfe433" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/multi_process_adapter.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/multi_process_adapter.py", + "sha256": "6480d67b31ed603027a83edf327880a38aee45eaeee2da9a4efa93e95527c166" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/utils.py", + "sha256": "e204fa6a853ac9c122d7a4e9d146902230f81c48d4321ed5edfdbf979dd49ba2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/vllm_v1_adapter.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/vllm_v1_adapter.py", + "sha256": "e6fe55049c6b007248516d69640e2f3a4809f9d286091a1014ae0949987fa8f1" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_mp_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_mp_connector.py", + "sha256": "c712c386a7c57bf0355a1441ba574232c3aa5498fcb70713a2b3f5d18b64f9c1" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/metrics.py", + "sha256": "de1b1797d0448f74370919dbb0278767f390e8f59e00a0c0528abefb302babc2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_connector.py", + "sha256": "516be01320e64b0110e102eeb69a6ba766dd5ac8cb3036db6b97b7d54413323d" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_utils.py", + "sha256": "26877610463fa8e9d6b092772f2551bcc0c3ac794cbe63996df0414666a8ebba" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/rdma_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/rdma_utils.py", + "sha256": "716e5042edecaba36c7ca763474988f32fa09c2668b8260260149df610af8f83" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/stats.py", + "sha256": "f39b2f0b1db2e4f922e27e684a3f7bbf5bb279b82a0a8c3bb0c7ae69b6d14d24" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/connector.py", + "sha256": "17a350bdb89e17e415d6c52a48684dc15c35a804378daf03e1f3bee1b1b123a3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/coordinator.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/coordinator.py", + "sha256": "a8eb6c2157a96e8d25233b82347ac8409a41d6390b4f2c64242119c05911010c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/data.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/data.py", + "sha256": "d3cfefdb4165a24995749cba452641b318065baa95bb1bae62f922a2f8886e7b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/metrics.py", + "sha256": "f2b9ef8927632d142aad11a374d0725c6e619ea0bb7fea9eda3f3895eb7d277a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/protocol.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/protocol.py", + "sha256": "ccb1cf6a84a932a375215627d2aaac482c351a05df015d636d05373a6845b7c8" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/scheduler.py", + "sha256": "283849ff581ec206444cdf5621622377f1c925e8d7e05cb9294af2f3a5094e79" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py", + "sha256": "55f1682dfd1ed7af689166421337126a0e1d08afa4774a242e098d79e0c1e95b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_common.py", + "sha256": "549bb4fe22dca5095515b9c0712c31cc81a9d4923881e9f112317640fd8c04ab" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_connector.py", + "sha256": "c0f474bc34b579d889fae92eaf43eaca241be51a4697a187a942f0df4e6b6a98" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_engine.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_engine.py", + "sha256": "d842f3772fc6588d5a329a67572324cb74709aa3df4033e64c791a1e706c8e88" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_layout.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_layout.py", + "sha256": "2b4ec046a78897236b0626939bb828b6ec095355097d10bca39e5f3e1c992553" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py", + "sha256": "12d8387239f3194f2cb63ccbd64824648047210323572d66671e6a1eed349fc3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/__init__.py", + "sha256": "cc3145fe3b6d219a267bf40a0f7c0cc9430e4289f94acab2df761b99b671e7ba" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_scheduler.py", + "sha256": "7a1db8c54e4cd846bdac747344f2aea2c2fcf507817928796063225223b7e169" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_worker.py", + "sha256": "49a2e4faf99bef146b5a1d4d18d48f240b1e561c438252274494b359db96ef52" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/connector.py", + "sha256": "b6a0dc916d052f344be72ecfcb111509c13580102c11a860fa726cf0888949a9" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py", + "sha256": "2b23a07c1ec5ac5490c3b818737c7192e344ea9f52cd5623f75939f741ab4e21" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_scheduler.py", + "sha256": "ac3daf8e2246581fec84ab28f2133569421b62c32a120be4923e2f4d0f2f9de9" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_worker.py", + "sha256": "e5060c9b6cf022de35ca3d1da7a369cd6a6a2dea26219af9f7633aaf78af8a76" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_scheduler.py", + "sha256": "2d9008e33937a4d6c5cf9cc2f96160f2bdbc8e987fe37f0798a7fd7eb84c9572" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_worker.py", + "sha256": "87de3ea383dd3aa95fb2c287ea26ded8a330859cc1295f9faa69047e80865c2c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/scheduler.py", + "sha256": "09f1bfe7075b926b26a94529480e33b62c3ac273ff826f6c502084f08b1b2a08" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/stats.py", + "sha256": "3e710654e0b68d1a8592f0c4735c81b22f4bf698fb1a2dfea126d35bf2dd1ef2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/tp_mapping.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/tp_mapping.py", + "sha256": "2d43607f98701b2fad6cc0ac2767619a80b7fc2b3a3c2eb6ed0da4fb05dcd8f6" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/utils.py", + "sha256": "93de863fc8307a61d40b62f1b176b57ae93c363d34b9e9ddc8e666265b6d45dc" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/worker.py", + "sha256": "5134a36ac100ce7a64f5311029a37ac12c38d91093f63100f51f7fe53ea7c3ee" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/canonical_mapping.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/canonical_mapping.py", + "sha256": "e0b3c6f9806a650e0370c43c5068fc31c0fec94615089e15fdf270d7d96f2b64" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/common.py", + "sha256": "9b3f042c6fa1581d10e8f688d2d9bc927bb41b780a9ea01f514d57228e20c978" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/config.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/config.py", + "sha256": "aea82e60889e78dcad8564ec8285b65a6a372824a1545a98ea8e78b6f4fd418a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/events.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/events.py", + "sha256": "d7039b67be95fd444966628184040a94880873c0611c0e6e7525a22650ffdefb" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/metrics.py", + "sha256": "13d76df014e86691f58dc89a879f9808b124690c9267dd5fa3b2d4004d4c5fdf" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/scheduler.py", + "sha256": "2c5282f4a3165cd787fb355e215e3869f1bdd3f2c795b2155fc537c9d135191a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/worker.py", + "sha256": "acc2df53262441dfc6421a3af7f0cbd68cbfaedbd42bbc384d8e1da2d965d194" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py", + "sha256": "cdc16ca7339a10e1993bd6220e6273f86a4e99779f58f25098a24ad31bb0dbd8" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py", + "sha256": "96238ca82ccf07a1eeb59b8f66de17b09034e3eb993ad9a0a836511d3f69706b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/ssm_conv_transfer_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/ssm_conv_transfer_utils.py", + "sha256": "59a949709482e65a007fbe5352fe9b4bb54c2dcc10ad2c1c41f754b6e13299f4" + }, + "vllm/distributed/kv_transfer/kv_transfer_state.py": { + "path": "/vllm/distributed/kv_transfer/kv_transfer_state.py", + "sha256": "2e5fe09438d6e2ee642f8a26cf7dcf632e870d955d30baf002b76a8bfe836d05" + }, + "vllm/distributed/nixl_utils.py": { + "path": "/vllm/distributed/nixl_utils.py", + "sha256": "0bffa3c052c9f67472b1c0bc3816114891b010c968bf4b8a292e7da4d687db53" + }, + "vllm/distributed/parallel_state.py": { + "path": "/vllm/distributed/parallel_state.py", + "sha256": "d9b10ad56833ebc08a753e1a050ef0989c30d4134021b7b7b00150b7bd01adc6" + }, + "vllm/distributed/stateless_coordinator.py": { + "path": "/vllm/distributed/stateless_coordinator.py", + "sha256": "f52848fbe985ed47b1f3e3ca555314736ca06436e8d738ab4390101f0672dcb0" + }, + "vllm/distributed/utils.py": { + "path": "/vllm/distributed/utils.py", + "sha256": "792146b357139e705064a68d3b66858de8a0baaca4dc7db1232fa217d45db231" + }, + "vllm/distributed/weight_transfer/__init__.py": { + "path": "/vllm/distributed/weight_transfer/__init__.py", + "sha256": "3fb9d4712b7c131d522f5e76e73cd8c333f3cc7af86e2d5ecf9b61b57b3b7f5a" + }, + "vllm/distributed/weight_transfer/base.py": { + "path": "/vllm/distributed/weight_transfer/base.py", + "sha256": "8ab06feb04f1379d0558fbdb77fde46bc84f179e0a26742cabab937e88caa38d" + }, + "vllm/distributed/weight_transfer/clients.py": { + "path": "/vllm/distributed/weight_transfer/clients.py", + "sha256": "ff85c79c350241e6d2749ca23c9d295a3289b4b62bfdf0257d32eb94a0151d36" + }, + "vllm/distributed/weight_transfer/factory.py": { + "path": "/vllm/distributed/weight_transfer/factory.py", + "sha256": "4e979eeac8c5bcdbffb10eb4765cfb30120fa7595c6c2561d3fa1a966ced61c8" + }, + "vllm/distributed/weight_transfer/ipc_engine.py": { + "path": "/vllm/distributed/weight_transfer/ipc_engine.py", + "sha256": "1af578293f387a19073c322b24143c3ae4716ce0c5d2bac2a4ef26fe20119330" + }, + "vllm/distributed/weight_transfer/nccl_common.py": { + "path": "/vllm/distributed/weight_transfer/nccl_common.py", + "sha256": "7b2ef7dc7481c3f478f17c49aa36c7bed54142ec5c93d36ed8426c8fdf09e500" + }, + "vllm/distributed/weight_transfer/nccl_engine.py": { + "path": "/vllm/distributed/weight_transfer/nccl_engine.py", + "sha256": "7fd020c919dc7b4723fb78e64da977b180d0fef0cd21df955a037b848dbaa008" + }, + "vllm/distributed/weight_transfer/packed_tensor.py": { + "path": "/vllm/distributed/weight_transfer/packed_tensor.py", + "sha256": "d0a27fb0be1dc029bd5a1d44fdb57a5e54aa4cd74308bedc339e86ac02c7494c" + }, + "vllm/distributed/weight_transfer/sharded_rdt_common.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_common.py", + "sha256": "be0b13801f24e7b62999b19d733c030510353603a2d5320d5dc98ee02daf22a2" + }, + "vllm/distributed/weight_transfer/sharded_rdt_engine.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_engine.py", + "sha256": "2f791970b4815511a7578ef6c957e7da97b071d26a39087a09a17475909791ee" + }, + "vllm/distributed/weight_transfer/sharded_rdt_fake.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_fake.py", + "sha256": "ee11164e17b5f2793252ce77741b8b94e0583046abf896a590131b2008d1fbb9" + }, + "vllm/distributed/weight_transfer/sharded_rdt_trainer.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_trainer.py", + "sha256": "dd413ff461d41826ccd3eb87d3df22f6cd7f24e09aac7644e3e5b40d7beec484" + }, + "vllm/distributed/weight_transfer/sparse_nccl_engine.py": { + "path": "/vllm/distributed/weight_transfer/sparse_nccl_engine.py", + "sha256": "e11b409454dda2b05ea34e8115ac19027c5e65cb2a5e9682c494f16a50e978f4" + }, + "vllm/model_executor/determinism/__init__.py": { + "path": "/vllm/model_executor/determinism/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/determinism/batch_invariant.py": { + "path": "/vllm/model_executor/determinism/batch_invariant.py", + "sha256": "af8f8d256a48fc214edf426fbe891fb15bd8b1d7ae98b811c736ff1eb0fae798" + }, + "vllm/model_executor/determinism/batch_invariant_configs.py": { + "path": "/vllm/model_executor/determinism/batch_invariant_configs.py", + "sha256": "72ea0d4df0ab5ae288abb7df5c203d2ad5f1709c7295d87ec72da775fddc1b7a" + }, + "vllm/model_executor/layers/fused_moe/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/__init__.py", + "sha256": "64a32665be6d5afcfbaf7a0915717267278b66b880b908b0263ea58f08e51b5e" + }, + "vllm/model_executor/layers/fused_moe/activation.py": { + "path": "/vllm/model_executor/layers/fused_moe/activation.py", + "sha256": "78dec0e85e0c040304515f64ccf8f2c6a7a2e5b9f1124a2138a97d9a02585541" + }, + "vllm/model_executor/layers/fused_moe/all2all_utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/all2all_utils.py", + "sha256": "dc4750a446f7de31d09a46034da5fdf479bc169af90f47aa9af8ae15e67b0828" + }, + "vllm/model_executor/layers/fused_moe/b12x.py": { + "path": "/vllm/model_executor/layers/fused_moe/b12x.py", + "sha256": "ee76cc6aa801e24be8ec78a9e8502061ad48667d5ff8711e43f68fba912425bd" + }, + "vllm/model_executor/layers/fused_moe/config.py": { + "path": "/vllm/model_executor/layers/fused_moe/config.py", + "sha256": "a3a87cebcc7ac85d73f471dcfafc2d899c6fc08f264777b74a0e919adac9e03f" + }, + "vllm/model_executor/layers/fused_moe/deep_gemm_utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/deep_gemm_utils.py", + "sha256": "8fdcd857eb333f9c68902105f157568d52067c94ba1e2df6dbfe0474ef1f4c02" + }, + "vllm/model_executor/layers/fused_moe/eep_reconfigure.py": { + "path": "/vllm/model_executor/layers/fused_moe/eep_reconfigure.py", + "sha256": "9d7580265e8563e1140c2bb4c3a81a35ddd54903f5ec0a2720ffc064681f02f9" + }, + "vllm/model_executor/layers/fused_moe/expert_map_manager.py": { + "path": "/vllm/model_executor/layers/fused_moe/expert_map_manager.py", + "sha256": "308c00f63fcb6f44518ec3a56d8f902c7bba75928c2e3aea30fbe1f3f473973b" + }, + "vllm/model_executor/layers/fused_moe/experts/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a16_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a16_moe.py", + "sha256": "53deea255175171971422d14082ad139b5ec7b62e21429a4c7cc0ebbefd29cdc" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a8_moe.py", + "sha256": "f3fc51b95ed89862381908a0134e326228827f44854248db9585a9c4899c34f4" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp8_moe.py", + "sha256": "af6db1760961a5a71234f8b1cdf42e9e30a236e13601b0826a75110b79724948" + }, + "vllm/model_executor/layers/fused_moe/experts/batched_deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/batched_deep_gemm_moe.py", + "sha256": "b0cd4ea706583518dc608fb56f832fc3595f24bd863b03ef1e8c22b36b873508" + }, + "vllm/model_executor/layers/fused_moe/experts/cpu_int4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cpu_int4_moe.py", + "sha256": "67170af3ba9dc4c4f71d78a72efc3fa4e366eac614936a79911dae5c75ac1864" + }, + "vllm/model_executor/layers/fused_moe/experts/cpu_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cpu_moe.py", + "sha256": "0754cd4ff1b28e6d3932a67609d335acefd28f95a841f0492923813356a6d81e" + }, + "vllm/model_executor/layers/fused_moe/experts/cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cutlass_moe.py", + "sha256": "db901bdbcd3fdac23a1d74e39c51e67f14a82be787b2fd704ed1e787372ae868" + }, + "vllm/model_executor/layers/fused_moe/experts/deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/deep_gemm_moe.py", + "sha256": "16911a64a72eafc26a1bcb544a91f90144d85dc41e3ee57cf20e89925227bbb7" + }, + "vllm/model_executor/layers/fused_moe/experts/fallback.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fallback.py", + "sha256": "1bdd0a4f2ebaa40ec96a5aacc07aee61511af59e6324ce456aa65003b6e2991a" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_b12x_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_b12x_moe.py", + "sha256": "e613afe5da2742e42c717c1a0a56bd9e1c7e3e0452a828db0013d81063518954" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_batched_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_batched_moe.py", + "sha256": "295254dfeeec8df3eb8110e6f659a946cb9cded3de1565ecad4d741b3c3f3e00" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_moe.py", + "sha256": "08578bcd0cf72d6a470e40950175e73639efaa6d8d23c6da0869345312b229c9" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutlass_moe.py", + "sha256": "52887cec5fe628e0a4e7793deb546b40f6c29f7362b3b436c10ca36934ab9826" + }, + "vllm/model_executor/layers/fused_moe/experts/fused_batched_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fused_batched_moe.py", + "sha256": "2435587fc7f8fe8ea341ea0eb8f14c11f3f5b31fbbb9b29ce569ad3bace6e6a0" + }, + "vllm/model_executor/layers/fused_moe/experts/fused_humming_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fused_humming_moe.py", + "sha256": "a6830a76ff7f4cd3479b9c8372a30d03e8301604555cbdbcd9ac89a813b7431a" + }, + "vllm/model_executor/layers/fused_moe/experts/gpt_oss_triton_kernels_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/gpt_oss_triton_kernels_moe.py", + "sha256": "1613a7a6b256e8faee6fdcfae84f293492db6229d28ceb3e8a8d6093af480e36" + }, + "vllm/model_executor/layers/fused_moe/experts/int4_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/int4_emulation_moe.py", + "sha256": "f12857caf0671a341687ad3c5f48616b816ed51e1bcbdefa0a7edbecdb81a79d" + }, + "vllm/model_executor/layers/fused_moe/experts/lora_context.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/lora_context.py", + "sha256": "9b41eefaaa57c5dd0dc54217ef95978821b0c52e90ea4db8b0752e08452bd3e5" + }, + "vllm/model_executor/layers/fused_moe/experts/lora_experts_mixin.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/lora_experts_mixin.py", + "sha256": "b2bc55ed6be98b526c6a5698e2d98300650e78555f56b1820e58c04888e2a373" + }, + "vllm/model_executor/layers/fused_moe/experts/marlin_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/marlin_moe.py", + "sha256": "93916b721548e6194dc70cf6cec224b4b1456a0cc0980235e97beba7bf36541d" + }, + "vllm/model_executor/layers/fused_moe/experts/mxfp8_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/mxfp8_emulation_moe.py", + "sha256": "d09c62ad1398c51ff6f515f2a61014ee9e9a9798d0fe9762c47f446efc5edbef" + }, + "vllm/model_executor/layers/fused_moe/experts/mxfp8_native_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/mxfp8_native_moe.py", + "sha256": "01a42cebf18189e566034111b2145573c655319e8af1a56db60d53a319c40613" + }, + "vllm/model_executor/layers/fused_moe/experts/nvfp4_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/nvfp4_emulation_moe.py", + "sha256": "f24467762b60702f0df122ed64786be839a838a9b6cafaecbd04d35fbfedb189" + }, + "vllm/model_executor/layers/fused_moe/experts/ocp_mx_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/ocp_mx_emulation_moe.py", + "sha256": "dcaa60a9ebdb0bd8223b37af41f018ce7f95716ec7cd8526850f4433a579213b" + }, + "vllm/model_executor/layers/fused_moe/experts/rdna3_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/rdna3_moe.py", + "sha256": "e4abd802dc2f0ad9b338ebde397633c761d881c37813e2dc229902c526b597d8" + }, + "vllm/model_executor/layers/fused_moe/experts/rocm_aiter_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/rocm_aiter_moe.py", + "sha256": "bf09a7b783f5752d61cab76221b32b598d8846d801ee39dc9209d636c9659c6f" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_cutlass_moe.py", + "sha256": "ffce5ad627c540940d122d8df7981644b2eb35d07d480995c0f4f30517815fac" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_deep_gemm_moe.py", + "sha256": "c7209fa5e1ccb184a68b37a0706fc571a76696c2ae79802ddc7f889b1c29684d" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_moe.py", + "sha256": "806fbccfe30f5fbd578acf773add99bdf022b12d617958bd6281aef6de369701" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_bf16_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_bf16_moe.py", + "sha256": "76256de96fefece9c41ffb1108487919e24da364cf4412c6c3474498aba59137" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_fp8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_fp8_moe.py", + "sha256": "b54c7ceb45e5d07aa905f42ea44caccf85ca35ba9fb825d4c01947764510f68b" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_lora_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_lora_moe.py", + "sha256": "dd35a9e4242c0dc8d691168813e14bd5543e591f02ee529d0691e07651942c5a" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_mxfp4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_mxfp4_moe.py", + "sha256": "fe780f125a3dc3ba919659e9b85340bd32afcbfe47733a002bfdfb92eadf400c" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_mxint4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_mxint4_moe.py", + "sha256": "2106d67c2951aa690c4656ca58240d09c366cffe8cb4d9fd575df016c377cc30" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_nvfp4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_nvfp4_moe.py", + "sha256": "e938ac9f058f7c90b41c9610513239bec54a95304bfb5ff5f6897ebd54733d7e" + }, + "vllm/model_executor/layers/fused_moe/experts/xpu_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/xpu_moe.py", + "sha256": "2a11bac0cf9274d963315efd6eebdc62978b0b7aa02e8849ff2a562742f0b86d" + }, + "vllm/model_executor/layers/fused_moe/fused_flydsl_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_flydsl_moe.py", + "sha256": "0e74879ee5c72f616ae4064b9dff3b3a0b583b7fc70b8f92f1e8b730ecd5d39b" + }, + "vllm/model_executor/layers/fused_moe/fused_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe.py", + "sha256": "7072eb06237be9d33dcb0ef7101410f886a6363c98cbee70a014c68b70f639cb" + }, + "vllm/model_executor/layers/fused_moe/fused_moe_method_base.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe_method_base.py", + "sha256": "18dcfc469d3252749801bbf943857f58da85de1f2db8fdff5a9f4986a925dc68" + }, + "vllm/model_executor/layers/fused_moe/fused_moe_modular_method.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe_modular_method.py", + "sha256": "321c744eac1fcaffd6b1b2971204c8baa57dfec53e91e5d24140014d72d64f83" + }, + "vllm/model_executor/layers/fused_moe/hpc_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/hpc_moe.py", + "sha256": "2ca9c5d71b6fd91651027905e2b83103a8823845e053e7153e148cb8e0ee666d" + }, + "vllm/model_executor/layers/fused_moe/layer.py": { + "path": "/vllm/model_executor/layers/fused_moe/layer.py", + "sha256": "def0b4e13bcc1e4e21ee10644e647e2eda1acbf0cc01e76d6128abb59ea08224" + }, + "vllm/model_executor/layers/fused_moe/modular_kernel.py": { + "path": "/vllm/model_executor/layers/fused_moe/modular_kernel.py", + "sha256": "8dc4e0dbbf35b3aac8add63ca6f2a7bbfdadaabbd60826e24598b22c7d8e5c22" + }, + "vllm/model_executor/layers/fused_moe/moe_align_block_size.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_align_block_size.py", + "sha256": "c3f7fc2087836f0160a32ab99ceb1d8f6e87c793679da34dd672e225cb7fa31b" + }, + "vllm/model_executor/layers/fused_moe/moe_fused_mul_sum.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_fused_mul_sum.py", + "sha256": "112e72578002c3bff538418dac64b3b56d995994a2fc5e32b18d2cf3b8392a13" + }, + "vllm/model_executor/layers/fused_moe/moe_output.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_output.py", + "sha256": "6ea4cbd78f9efc7f842c5df246f553f08b991c3479b8b04b89902ed08aaf8e8f" + }, + "vllm/model_executor/layers/fused_moe/moe_permute_unpermute.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_permute_unpermute.py", + "sha256": "1adc592c6254d0c877d66be5406afbc822459c18a838f4bbd094a992e7609d06" + }, + "vllm/model_executor/layers/fused_moe/oracle/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/__init__.py", + "sha256": "4dcf941d50d48bb812de0f39e9194bf17a76b8035fe324889c6038f710fdc453" + }, + "vllm/model_executor/layers/fused_moe/oracle/base.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/base.py", + "sha256": "555bbcd18a3744e64eee4e953daabef3bd268a1bd4faf967d4cfd14d6074f685" + }, + "vllm/model_executor/layers/fused_moe/oracle/fp8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/fp8.py", + "sha256": "245bd36c285df1e6f7c51e52dcda31ad247894577a9f8d765613c2c2feae9aee" + }, + "vllm/model_executor/layers/fused_moe/oracle/int8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/int8.py", + "sha256": "c1b67886511bd966b162db5bca8930f04895fb37a969818a4a10f0726c59547f" + }, + "vllm/model_executor/layers/fused_moe/oracle/int_wna16.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/int_wna16.py", + "sha256": "cfffe8b8b290330be9d18ffa07aeecf296484395ff04df3147d99393e48b55c1" + }, + "vllm/model_executor/layers/fused_moe/oracle/mxfp4.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/mxfp4.py", + "sha256": "b7915e6779b5c88e7dcd2d227f003a8e45071d6d86877013067142d4feb64a8c" + }, + "vllm/model_executor/layers/fused_moe/oracle/mxfp8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/mxfp8.py", + "sha256": "9cfdc8102a04bb844dcd7ed88043bba96ec751794bc093da76c69aa8cf88cf48" + }, + "vllm/model_executor/layers/fused_moe/oracle/nvfp4.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/nvfp4.py", + "sha256": "735b4cdeb1258f11fb02320fc0c70cab5edaca468dd60b07b2d369389d2b0313" + }, + "vllm/model_executor/layers/fused_moe/oracle/unquantized.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/unquantized.py", + "sha256": "c8b8203bd0b73bb7f586f703607394d663f14c05711416ad42d45af564382223" + }, + "vllm/model_executor/layers/fused_moe/oracle/w4a8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/w4a8.py", + "sha256": "d7fa6e2982f20b34d5ce9c5ce28a61122762a3fcdd53d249479472a4f2316c6a" + }, + "vllm/model_executor/layers/fused_moe/oracle/w4a8_int8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/w4a8_int8.py", + "sha256": "6d6f9ca2e67b630002873de2f8d8a231d091c5c2f0f3354a9e8209449b481a4c" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/__init__.py", + "sha256": "2800113263a83c2632e522fb22790b29f63384da75d43de32f0ae2f95e8ae4c1" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/batched.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/batched.py", + "sha256": "d52425dd8c08e47cf8d9c3088daf3b1cc721c8667de4c738d04ba997f9a08ccb" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ht.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ht.py", + "sha256": "465cdf1d6cee91b2ee8c2e43abbea6e8408976e3048c10f44c089f34b415bc60" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ll.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ll.py", + "sha256": "f704922b1db680c4c212982a096e09d6b3eb97d89110313f86ed958a00df21b7" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_v2.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_v2.py", + "sha256": "8d690b016bbcfbc9eb599bcc36a6f798b2f1720c828f4347ea742e218c0cc60d" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_one_sided.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_one_sided.py", + "sha256": "acb57d8342af62bb5672036871cd4b27ecc7f37dfa7c894850bb860e6152a1f0" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_two_sided.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_two_sided.py", + "sha256": "cc5b00d6a157b6eca5afaaf7435165dbd1b4524d6d88bf75808cbe074a389f79" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/mori.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/mori.py", + "sha256": "8e9c3b5b1f0de13f467d95bf2f451cba0e4b0d9a1bdcf98da0988a3a9a79a045" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/naive_dp_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/naive_dp_ep.py", + "sha256": "db015e5b18750bbbf5b2bbaceca877dd6f3f3e74c2a94e8dc185f7413b387f91" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/nixl_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/nixl_ep.py", + "sha256": "1f71d70ac509bf5d3d67a8d95a8ee108a50af6bb5d4bde7181ca28e286f6ffce" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/no_dp_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/no_dp_ep.py", + "sha256": "adbbf529cd22059c95b5380952943a70cf11e05e321dcd707f296bebde61a6e7" + }, + "vllm/model_executor/layers/fused_moe/routed_experts.py": { + "path": "/vllm/model_executor/layers/fused_moe/routed_experts.py", + "sha256": "68c48e5df0ea4a7cc1f04436b7b9153eb53802ecd9bb55d38db8738508daac6d" + }, + "vllm/model_executor/layers/fused_moe/routed_experts_capturer.py": { + "path": "/vllm/model_executor/layers/fused_moe/routed_experts_capturer.py", + "sha256": "cd006bc1a1703418cca3b589fafb2abc4268a086fb3db044bbb64348aeac8b13" + }, + "vllm/model_executor/layers/fused_moe/router/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/layers/fused_moe/router/aiter_shared_routed_fused_moe_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/aiter_shared_routed_fused_moe_router.py", + "sha256": "f47046db1275601a2c67c9232afc7b866c9623a19639d5be867e4c7914a35069" + }, + "vllm/model_executor/layers/fused_moe/router/base_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/base_router.py", + "sha256": "47fa2324bcd9b6ebdc138d69ae6b6ecc0f2463d34bda8c5988bdb0a2a76d3fae" + }, + "vllm/model_executor/layers/fused_moe/router/bf16x3_router_gemm_cutedsl.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/bf16x3_router_gemm_cutedsl.py", + "sha256": "d0f1edd1ebc48d88e490bdb3c93db49bdc0a135ff83e7e0b57130e9f8255fc32" + }, + "vllm/model_executor/layers/fused_moe/router/cpu_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/cpu_router.py", + "sha256": "bff36b15818c87bfbb7ee3def7dc7f6396860abbe5893ff6148801fe941a4b92" + }, + "vllm/model_executor/layers/fused_moe/router/custom_routing_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/custom_routing_router.py", + "sha256": "1a40c7054e3c3a1b3ee2e98f6bc9efa9dfdc11f316a8edf7357dd91533487bfe" + }, + "vllm/model_executor/layers/fused_moe/router/dsv4_topk.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/dsv4_topk.py", + "sha256": "14f7c8487b9aef652dd61c91e0e3c3640b643bf9cd0d8a7184157d71f4beb63e" + }, + "vllm/model_executor/layers/fused_moe/router/fused_moe_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_moe_router.py", + "sha256": "0daa0dc05b931d66767feca444a4cd57ecf140f59b40ea0e8ad213eef6da2b36" + }, + "vllm/model_executor/layers/fused_moe/router/fused_topk_bias_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_topk_bias_router.py", + "sha256": "8fdc28cc248180ad4f11bb4bcda3df47926ec12665a0d84bb712fe83fc6b9376" + }, + "vllm/model_executor/layers/fused_moe/router/fused_topk_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_topk_router.py", + "sha256": "1c80f4af4d781fd66b12aa6a7a0fd30082bc521df40f1252987a8ac4c0bef51c" + }, + "vllm/model_executor/layers/fused_moe/router/gate_linear.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/gate_linear.py", + "sha256": "faa43362c2e7c568498a923c682ca18cae75e87f48d00882770821cb19c21198" + }, + "vllm/model_executor/layers/fused_moe/router/grouped_topk_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/grouped_topk_router.py", + "sha256": "048339e1799cdd42c9dae686a6cb891046577fb391b500f0d12eed73c8f61e52" + }, + "vllm/model_executor/layers/fused_moe/router/rocm_fp32_router_gemm.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/rocm_fp32_router_gemm.py", + "sha256": "9c331ef3d0bb2fb6954387d77ac62a99c5c76d2753c7438bfbb5115f68aae5ac" + }, + "vllm/model_executor/layers/fused_moe/router/router_factory.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/router_factory.py", + "sha256": "019bc8adaa7642abab82843efd53cd1a378f62c652521a1de2b781480eb88742" + }, + "vllm/model_executor/layers/fused_moe/router/routing_simulator_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/routing_simulator_router.py", + "sha256": "a7345df5add00cf3bd93024492d6fc1189fd3ecf2754a11cef1b03a295d791f7" + }, + "vllm/model_executor/layers/fused_moe/router/zero_expert_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/zero_expert_router.py", + "sha256": "dea306edd92e2b9c1b43f982ede8e1e10770d2c66220f5a106e0ed0165276e9c" + }, + "vllm/model_executor/layers/fused_moe/runner/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/layers/fused_moe/runner/moe_runner.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/moe_runner.py", + "sha256": "05893188402fe37229bf72d75088d66193c417d5d502daafd3a55e1bfedaa60c" + }, + "vllm/model_executor/layers/fused_moe/runner/moe_runner_interface.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/moe_runner_interface.py", + "sha256": "189cad01611124eb44594713cbf5918d16fc70196dc81a525ae0a7a97a5fcc51" + }, + "vllm/model_executor/layers/fused_moe/runner/shared_experts.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/shared_experts.py", + "sha256": "d89e4c79c46f6fe61262c51f3facf102e71ce1e4eb3db67f72b6bd8470937be9" + }, + "vllm/model_executor/layers/fused_moe/topk_weight_and_reduce.py": { + "path": "/vllm/model_executor/layers/fused_moe/topk_weight_and_reduce.py", + "sha256": "3dfede72d52bf99af40997994704e6c502ee3bab2bd39bfaa8a68d7dae440203" + }, + "vllm/model_executor/layers/fused_moe/unquantized_fused_moe_method.py": { + "path": "/vllm/model_executor/layers/fused_moe/unquantized_fused_moe_method.py", + "sha256": "182a5ec1874ece2091a24c5303f6ab9ea64a9a61adf325b863927f0cdd83e5d3" + }, + "vllm/model_executor/layers/fused_moe/utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/utils.py", + "sha256": "a93a0bded4008db19d8b38370526ae34fafb9c8278e5b4f60acb6acc8fdc1850" + }, + "vllm/model_executor/layers/mamba/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/abstract.py": { + "path": "/vllm/model_executor/layers/mamba/abstract.py", + "sha256": "dfdc8c836894f574e41d93d76ab989cacd3d7ecf59c97a929abfa48d9364e8ad" + }, + "vllm/model_executor/layers/mamba/gdn/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/gdn/base.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/base.py", + "sha256": "7fec748fc74131f5a45bcaf2644b3fa3a0598fd437d7347f8207ea3644a951c5" + }, + "vllm/model_executor/layers/mamba/gdn/kimi_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/kimi_gdn_linear_attn.py", + "sha256": "1cec4da5c9da73557e192bfb36cd540aae51d3e91283b554449c4a97f0f89bd9" + }, + "vllm/model_executor/layers/mamba/gdn/olmo_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/olmo_gdn_linear_attn.py", + "sha256": "60873ca3bb0c4d17c33bd259b62b658db4883cd23138f47dd4ead62cd2ff0605" + }, + "vllm/model_executor/layers/mamba/gdn/qwen_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/qwen_gdn_linear_attn.py", + "sha256": "b80f8e6f3fff442fb880aebb3209c52f814f66490009f4ac4003de603576d10a" + }, + "vllm/model_executor/layers/mamba/linear/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/linear/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py", + "sha256": "3c480ddd6eba0766ed012a1074bbec5f241d868a87b020b0f6312222c32f93eb" + }, + "vllm/model_executor/layers/mamba/linear/base.py": { + "path": "/vllm/model_executor/layers/mamba/linear/base.py", + "sha256": "26125cd427225954e1846ca361cdaf43f2b56f11b1e217cf26e91a80ef0edb6a" + }, + "vllm/model_executor/layers/mamba/linear/minimax_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/linear/minimax_linear_attn.py", + "sha256": "4adc00f54893b5bc6c31c613deda152a19af3b1bba04153ab5924c3bf2a3aaae" + }, + "vllm/model_executor/layers/mamba/mamba_mixer.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_mixer.py", + "sha256": "a485e937ad9db14d3ad03fde5a9fe795cfa863649563e52fc7e6c52ef631164e" + }, + "vllm/model_executor/layers/mamba/mamba_mixer2.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_mixer2.py", + "sha256": "d58d93e90d9eb90bc5133b79f07c7c62d0032b35d6cf916e3fe34367b81c5cd5" + }, + "vllm/model_executor/layers/mamba/mamba_utils.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_utils.py", + "sha256": "ce9845b4a4ef4bc46577a33038ed69d59ceccb52f30e9c5bdaa36e48be3b2ca4" + }, + "vllm/model_executor/layers/mamba/ops/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/ops/causal_conv1d.py": { + "path": "/vllm/model_executor/layers/mamba/ops/causal_conv1d.py", + "sha256": "044d005cfe59fd0818ed421274e04f3e8dd679b8cdb64fca9f4422f2643484b2" + }, + "vllm/model_executor/layers/mamba/ops/cpu/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/ops/cpu/causal_conv1d.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/causal_conv1d.py", + "sha256": "64104672890ac2ef240c20c7f8059beeade707178574809dbca8721dff5ea6fa" + }, + "vllm/model_executor/layers/mamba/ops/cpu/gdn_attention.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/gdn_attention.py", + "sha256": "a50288945bf5b102ad3025ae536638dcc32d84cf7c22aaf3a85326b0c1c56c1f" + }, + "vllm/model_executor/layers/mamba/ops/cpu/mamba_ssm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/mamba_ssm.py", + "sha256": "5839e576172a3246337f5e4fb1bc19eb583b3e2b2f7e35dd060dc3041eb8372d" + }, + "vllm/model_executor/layers/mamba/ops/gather_initial_states.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gather_initial_states.py", + "sha256": "5198bb6de6d91c583a5f65d926412a76ee04a06fa72aaba76eaf156b27cd0523" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/__init__.py", + "sha256": "b88b52e71fcb21bd3fa215ea171dcd2ad2ff17c97788cfe64caa7ba45c7ecf97" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_h.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_h.py", + "sha256": "f50bbe5c0b6382323ec5dfc24a5e0c7971113d59727515e60c9fe3689734e5ba" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_kkt_inv_uw.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_kkt_inv_uw.py", + "sha256": "b4a65dd194907db08865e0596fe254f915e670a9e6b27ffa2933c1026dde9b1e" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_o.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_o.py", + "sha256": "629f7843a7e611efb9390f2ebb7a4b924b2c328d48a317fddfaa96af4d9bc60a" + }, + "vllm/model_executor/layers/mamba/ops/layernorm_gated.py": { + "path": "/vllm/model_executor/layers/mamba/ops/layernorm_gated.py", + "sha256": "3433f2e3b87c2b2ccf8e9794ce40762c86a6da38a94ecee001f439ea0d0373dd" + }, + "vllm/model_executor/layers/mamba/ops/mamba_ssm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/mamba_ssm.py", + "sha256": "a4515ec7895b40ed878cf380445034b25faa61fbaa799d96c49217bbdfd7e400" + }, + "vllm/model_executor/layers/mamba/ops/replayssm_config.py": { + "path": "/vllm/model_executor/layers/mamba/ops/replayssm_config.py", + "sha256": "5fe9d5d7aa2de6a65875b3796a919b22bc435fd76055ba054bbff43aa005bc44" + }, + "vllm/model_executor/layers/mamba/ops/scatter_states.py": { + "path": "/vllm/model_executor/layers/mamba/ops/scatter_states.py", + "sha256": "f3bb004c73edaba56337747893eb07faf29b270dc8bb9c893ee9b1044e4ead9a" + }, + "vllm/model_executor/layers/mamba/ops/selective_state_update_replayssm_output_only.py": { + "path": "/vllm/model_executor/layers/mamba/ops/selective_state_update_replayssm_output_only.py", + "sha256": "cea7fd3063ca9dcc4e33f180d01ea379195ec515cedc9d0b03b11dc67670d695" + }, + "vllm/model_executor/layers/mamba/ops/ssd_bmm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_bmm.py", + "sha256": "26983d97a7f5c5f9197a16a6bee7b1294839b9ae31a14c14aaee38b43523e630" + }, + "vllm/model_executor/layers/mamba/ops/ssd_chunk_scan.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_chunk_scan.py", + "sha256": "d5ef32e8cb47e2ce71984579df78ab69754895f891766394daf327867cfa4f8f" + }, + "vllm/model_executor/layers/mamba/ops/ssd_chunk_state.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_chunk_state.py", + "sha256": "177e3aa7fe72647133bbd86135533e8688a5802678d4d1564aa549410362316f" + }, + "vllm/model_executor/layers/mamba/ops/ssd_combined.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_combined.py", + "sha256": "1317bbb668d3c60dfe0658850f9968614f03fa5eb61196f8ce6ac17dbb31b480" + }, + "vllm/model_executor/layers/mamba/ops/ssd_state_passing.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_state_passing.py", + "sha256": "36b8c8edba437916a5b789717c61fc22077de01e77892cb96dbff3b00a57410e" + }, + "vllm/model_executor/layers/mamba/ops/ssu_dispatch.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssu_dispatch.py", + "sha256": "bbe0f0e61da87f3ddfead19a79ca376516b63f1ea868be3485333c63fa20ef41" + }, + "vllm/model_executor/layers/mamba/ops/triton_helpers.py": { + "path": "/vllm/model_executor/layers/mamba/ops/triton_helpers.py", + "sha256": "a8795532f22c37a93e82c9d8e3fadcb5f4da98673d7b321fe8481305eaafad30" + }, + "vllm/model_executor/layers/mamba/short_conv.py": { + "path": "/vllm/model_executor/layers/mamba/short_conv.py", + "sha256": "228494efab185ee17374f762874f4c8b9a26aac9decfa8c906ce38446e0de51a" + }, + "vllm/model_executor/models/qwen3_next.py": { + "path": "/vllm/model_executor/models/qwen3_next.py", + "sha256": "4fa5112ac2bf7886d41d9e1f6c3da8793620d1ec49c961b31e9609459a6a7f7a" + }, + "vllm/third_party/flash_linear_attention/__init__.py": { + "path": "/vllm/third_party/flash_linear_attention/__init__.py", + "sha256": "5dbbfa3fc286edb2e970e175ef33cee4f6181c89b0784f5a8986201b2312f54e" + }, + "vllm/third_party/flash_linear_attention/ops/__init__.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/__init__.py", + "sha256": "dd738dc1d08045e76455cdbe16052a5b769e0eb11d6e87ff28353994f880cd6c" + }, + "vllm/third_party/flash_linear_attention/ops/chunk.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk.py", + "sha256": "c105ead259e86aedc248c53e7c4cef07034d0ff12da608d80265d1dd0990803f" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_delta_h.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_delta_h.py", + "sha256": "1b3ad391f939d9443c6b7adb19e57fe381bd5dccea064e8417a4f85b0e713b26" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_o.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_o.py", + "sha256": "3b63b836a8cc561723c23db5a528a0b474d9cd78508d610f0b348c585a889a19" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_scaled_dot_kkt.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_scaled_dot_kkt.py", + "sha256": "7ae41df3755acc7e925a134d848f78bb5fc00b90069039d86403c5853323ea42" + }, + "vllm/third_party/flash_linear_attention/ops/cumsum.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/cumsum.py", + "sha256": "d818215669b451868823202ac0bcea77e7a9d75957254c7c1060a73a55dc39b6" + }, + "vllm/third_party/flash_linear_attention/ops/fused_gdn_prefill_post_conv.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_gdn_prefill_post_conv.py", + "sha256": "590717b2107abc90d72548de06b5d315229eb2775c94614f3f545df11cc2b5df" + }, + "vllm/third_party/flash_linear_attention/ops/fused_norm_gate.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_norm_gate.py", + "sha256": "e6eb90467f29d8a0a04f2a364d20a2c3191b6ab857841bfb82076b33a6022d1a" + }, + "vllm/third_party/flash_linear_attention/ops/fused_recurrent.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_recurrent.py", + "sha256": "fe6f1311014809040497aa0a623e7fa97f4b3457cdc7ee1f1f8aed21f326f755" + }, + "vllm/third_party/flash_linear_attention/ops/fused_sigmoid_gating.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_sigmoid_gating.py", + "sha256": "000ab8996af9788fdb8843a6a3b91833e7a14c8acc0e1ea073a536330f64cb6f" + }, + "vllm/third_party/flash_linear_attention/ops/index.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/index.py", + "sha256": "a4f8b2c052635cb519a80099e8a85411d1d5d6880b38f466788259bbe66b154d" + }, + "vllm/third_party/flash_linear_attention/ops/kda.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/kda.py", + "sha256": "e1f31aaa89b91f8e5db6d070b229e2c81c7206e8caec67de41db97d06be0c476" + }, + "vllm/third_party/flash_linear_attention/ops/l2norm.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/l2norm.py", + "sha256": "520f4513ef4fc97e6b88dc07877cca8e29da0d34e44673fe989e3af002d86381" + }, + "vllm/third_party/flash_linear_attention/ops/layernorm_guard.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/layernorm_guard.py", + "sha256": "42af29be26e8fc94a4658e053c095fcdab9ffdc1bc2446a01e787deda2a298c0" + }, + "vllm/third_party/flash_linear_attention/ops/op.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/op.py", + "sha256": "456da84fd12411cf53c96a90dd4f78f49afb454c3d51d2c524ea8e7106fe8ae5" + }, + "vllm/third_party/flash_linear_attention/ops/solve_tril.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/solve_tril.py", + "sha256": "d1a4ff27623a938825052500afa7e2aa24fadd2fa4c9be6376c9128824f86f82" + }, + "vllm/third_party/flash_linear_attention/ops/utils.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/utils.py", + "sha256": "d6c90d36505e02086954c23ca4dd2fea82a69416d68ff1d0501e16b3148b5b0c" + }, + "vllm/third_party/flash_linear_attention/ops/wy_fast.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/wy_fast.py", + "sha256": "c9fc8259db0a8746dc04f1d799cb73333457118cf89a0bdce8dde8a80a28cd96" + }, + "vllm/v1/attention/__init__.py": { + "path": "/vllm/v1/attention/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backend.py": { + "path": "/vllm/v1/attention/backend.py", + "sha256": "01ac364372afa75fdb22486aa3a9c7cf9aebb742e3471dfb9e0f9d9d36b734bc" + }, + "vllm/v1/attention/backends/__init__.py": { + "path": "/vllm/v1/attention/backends/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backends/b12x.py": { + "path": "/vllm/v1/attention/backends/b12x.py", + "sha256": "443f0a98738fdfefe5b9ab151d278bfd43a8ac807eb2b0b9b2a13d51922afbf9" + }, + "vllm/v1/attention/backends/composite.py": { + "path": "/vllm/v1/attention/backends/composite.py", + "sha256": "4cf3d66dca891562709eed4f50aa14b0ae6c8240d9ea86504a3304b2f356cce0" + }, + "vllm/v1/attention/backends/cpu_attn.py": { + "path": "/vllm/v1/attention/backends/cpu_attn.py", + "sha256": "76fb02a6bd725125565d84bf04f627cf16da5f7ff8f31f87c01ed6a1439398c7" + }, + "vllm/v1/attention/backends/fa_utils.py": { + "path": "/vllm/v1/attention/backends/fa_utils.py", + "sha256": "08fa6e231d3af3a71a6e59162dd12328aa8beb28548165ae58f130a92adb5a83" + }, + "vllm/v1/attention/backends/flash_attn.py": { + "path": "/vllm/v1/attention/backends/flash_attn.py", + "sha256": "b170a4789e18104c1bee35bea70df51abe6766693d8f4726a59f2e6f5c4282aa" + }, + "vllm/v1/attention/backends/flash_attn_diffkv.py": { + "path": "/vllm/v1/attention/backends/flash_attn_diffkv.py", + "sha256": "e4627c88c3ba8caee260540e994cc8137fd2ff7cd7813356b36387c6c88ce30a" + }, + "vllm/v1/attention/backends/flashinfer.py": { + "path": "/vllm/v1/attention/backends/flashinfer.py", + "sha256": "8ee541fde43ed92a417b3f01ea1e6fc64af8ab2eb54cbfc28308a49aaca4ed7f" + }, + "vllm/v1/attention/backends/flex_attention.py": { + "path": "/vllm/v1/attention/backends/flex_attention.py", + "sha256": "ad07f0ad73aeeadc3534b3a05c14f88a62cb3638874239ae9823c49b36276dc3" + }, + "vllm/v1/attention/backends/gdn_attn.py": { + "path": "/vllm/v1/attention/backends/gdn_attn.py", + "sha256": "3831019404a92200a38b43571c040cffeb6638bbdc71e4cb5e680dbc6c93d054" + }, + "vllm/v1/attention/backends/hpc_attn.py": { + "path": "/vllm/v1/attention/backends/hpc_attn.py", + "sha256": "af9e2aec1b498f0ee48a2dce3cf5646edf1976466980b2fd927c0e82b875427c" + }, + "vllm/v1/attention/backends/linear_attn.py": { + "path": "/vllm/v1/attention/backends/linear_attn.py", + "sha256": "bc42144fcd027434c6a10dc9f4c5f991db8899d387af5f6485402ce097eb0513" + }, + "vllm/v1/attention/backends/mamba1_attn.py": { + "path": "/vllm/v1/attention/backends/mamba1_attn.py", + "sha256": "32159dae11cab3c8c576b9514ad97d5108c8d1b4cac9fcfe345ec6a76223aee7" + }, + "vllm/v1/attention/backends/mamba2_attn.py": { + "path": "/vllm/v1/attention/backends/mamba2_attn.py", + "sha256": "a5bcdecb7b9547137023e1c77a386003358fa940eaf5f319ed142211dcdba139" + }, + "vllm/v1/attention/backends/mamba_attn.py": { + "path": "/vllm/v1/attention/backends/mamba_attn.py", + "sha256": "5e7b2c4058fc5e6096d001bff6c789b78368b025bbe4600f191aaca2ff59b59f" + }, + "vllm/v1/attention/backends/mla/__init__.py": { + "path": "/vllm/v1/attention/backends/mla/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backends/mla/aiter_triton_mla.py": { + "path": "/vllm/v1/attention/backends/mla/aiter_triton_mla.py", + "sha256": "ed0e285cdae06a019150c41cc958b3c0b5ceb0e4f299d5318d1c90e2c2395390" + }, + "vllm/v1/attention/backends/mla/amx_mla.py": { + "path": "/vllm/v1/attention/backends/mla/amx_mla.py", + "sha256": "7f5cddec30b2dfe22ccdbd3b9da673c879719bf6da4074317bd60add55f5d15f" + }, + "vllm/v1/attention/backends/mla/compressor_utils.py": { + "path": "/vllm/v1/attention/backends/mla/compressor_utils.py", + "sha256": "3589e94105368ea285c40b82db1a0332682ff5d071fe363627cf4c0d10f3facf" + }, + "vllm/v1/attention/backends/mla/cpu_mla.py": { + "path": "/vllm/v1/attention/backends/mla/cpu_mla.py", + "sha256": "ff2110b9f78e92adf6bab294465cbc294ae1ff71cb1780fed158179e134a4ca6" + }, + "vllm/v1/attention/backends/mla/cutlass_mla.py": { + "path": "/vllm/v1/attention/backends/mla/cutlass_mla.py", + "sha256": "211d298680f9bd793cc468281b316d6633c5f4eb6dcec71d3329b034a23ab9b5" + }, + "vllm/v1/attention/backends/mla/flashattn_mla.py": { + "path": "/vllm/v1/attention/backends/mla/flashattn_mla.py", + "sha256": "ac89e0ad75a37e92566d264bafe324735a80f9ab4709241a4454d17b3d38bb63" + }, + "vllm/v1/attention/backends/mla/flashattn_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashattn_mla_sparse.py", + "sha256": "67dd3ead2e8b9d8cda0825ecc93779cb7d670628bc741c759a7d3cd5d474030f" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla.py", + "sha256": "0c24ff016fb6b0bb41d9e7484b6f1af42f37bcc384ed613473fc3e01ad25f664" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse.py", + "sha256": "2116d965b2067134d8afa5878d4d16c0149b061258f50c4106d993aa13b073cc" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm120.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm120.py", + "sha256": "102ca08793d567f95598eefeb34c3f6ec50b3b9d704f162d1402b97b12b5777b" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm90.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm90.py", + "sha256": "df9fe4970aa3f53cf24784b8534b89e0101a2ca20a35a2ebbc9a12a4463d5993" + }, + "vllm/v1/attention/backends/mla/flashmla.py": { + "path": "/vllm/v1/attention/backends/mla/flashmla.py", + "sha256": "c9d8046a853ecbdeff9ebfc738f5bb34c4f272b278231a09a0fbf73708c7c188" + }, + "vllm/v1/attention/backends/mla/flashmla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashmla_sparse.py", + "sha256": "7a379c717adb9667ce94cbc16c0e3a1fb22a169713db6d7941c141fa84077b3f" + }, + "vllm/v1/attention/backends/mla/index_group.py": { + "path": "/vllm/v1/attention/backends/mla/index_group.py", + "sha256": "c24e028c3c160a9bb92e043da5b5b34c805e84745b7c4b8da6fb8702a0ddd641" + }, + "vllm/v1/attention/backends/mla/indexer.py": { + "path": "/vllm/v1/attention/backends/mla/indexer.py", + "sha256": "2acbc1c4fa57c3424ad95e6ecbe76eb7141747773c3e867ce704f4adccba892a" + }, + "vllm/v1/attention/backends/mla/prefill/__init__.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/__init__.py", + "sha256": "903630eb705dd175bf4ae4558a4bcaa07c110056b6a11eb830fdd2fb21b3c48a" + }, + "vllm/v1/attention/backends/mla/prefill/aiter_flash_attn.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/aiter_flash_attn.py", + "sha256": "571b8a9910c4ea3fefda60659026f3bf0d7b542c34553c8c9a4d43bb82077e61" + }, + "vllm/v1/attention/backends/mla/prefill/base.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/base.py", + "sha256": "138bf3ddaf5a94c3cdbc4e08ac676edcae84b32fc76625e546f3b47f7d8b82ec" + }, + "vllm/v1/attention/backends/mla/prefill/cpu_sdpa.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/cpu_sdpa.py", + "sha256": "1bb686395274a8ec0d9fd7327410a527655fe060cbbc263eab138fea988d96de" + }, + "vllm/v1/attention/backends/mla/prefill/flash_attn.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/flash_attn.py", + "sha256": "5e648c82c82e5f81fe11458eb82b9f90b50fc06df2ade3bf111ee6b7a2ee8481" + }, + "vllm/v1/attention/backends/mla/prefill/flashinfer.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/flashinfer.py", + "sha256": "63861219c35b8abc0ebe01e1f51543c5ed40bd46119ca261d927da7c6826b49b" + }, + "vllm/v1/attention/backends/mla/prefill/registry.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/registry.py", + "sha256": "c8c30b92213d594beaa3cab4d5003da26a85870dbb11d1ab73191962d0645b53" + }, + "vllm/v1/attention/backends/mla/prefill/selector.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/selector.py", + "sha256": "101d9fca7924b0c5d7891a17fe8942611bd6759e32b03a571dc87b14c1430f2f" + }, + "vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py", + "sha256": "047cf07bfcc83db3b11a6a54ffe189f6146e6ec9ad33ce2fa7d18860bf4210f0" + }, + "vllm/v1/attention/backends/mla/prefill/trtllm_ragged.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/trtllm_ragged.py", + "sha256": "9e13ea6f6a25accedd918c0de64bbb812ccb20ffb95350ab018a6e76d493789b" + }, + "vllm/v1/attention/backends/mla/rocm_aiter_mla.py": { + "path": "/vllm/v1/attention/backends/mla/rocm_aiter_mla.py", + "sha256": "b489f5830c655bfb6299801a70d69b9821513c69568ecab3689db5a7be867be5" + }, + "vllm/v1/attention/backends/mla/rocm_aiter_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/rocm_aiter_mla_sparse.py", + "sha256": "91b1d9b3d860a9720bc01b8ebe9bbe8649a7d6bca20d4b63939bc100309bca19" + }, + "vllm/v1/attention/backends/mla/sparse_swa.py": { + "path": "/vllm/v1/attention/backends/mla/sparse_swa.py", + "sha256": "a47853ad8a3fe40f24704592581ea323a18041b84610df010a5534da634e311e" + }, + "vllm/v1/attention/backends/mla/sparse_utils.py": { + "path": "/vllm/v1/attention/backends/mla/sparse_utils.py", + "sha256": "c3cdf060288c05542243a9fe8b5ad3a963ad75e9ce399009b5e45c1235a88ce4" + }, + "vllm/v1/attention/backends/mla/tokenspeed_mla.py": { + "path": "/vllm/v1/attention/backends/mla/tokenspeed_mla.py", + "sha256": "b9ba523c606430cecb99a88b28c53d98a99dcf5e76105a80664338110a20f1ad" + }, + "vllm/v1/attention/backends/mla/triton_mla.py": { + "path": "/vllm/v1/attention/backends/mla/triton_mla.py", + "sha256": "21b16b3b34470edcc33d0423e560837c1d37d4bab31c7b3b9cfd7faa47864b51" + }, + "vllm/v1/attention/backends/mla/xpu_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/xpu_mla_sparse.py", + "sha256": "559c6240fe466521a6b2df4c94aea02ddf3f5efa5ba6954fa180c5a51c0f12d2" + }, + "vllm/v1/attention/backends/recoverssm_metadata.py": { + "path": "/vllm/v1/attention/backends/recoverssm_metadata.py", + "sha256": "02896a667db0f0308371ceb50048b18e5866c0235d163c0357e9a05dcedb3394" + }, + "vllm/v1/attention/backends/registry.py": { + "path": "/vllm/v1/attention/backends/registry.py", + "sha256": "378e8ee78734bd8c8adbe287d4c0a4058dcbb553195a09fbcce00a3cc30adc29" + }, + "vllm/v1/attention/backends/rocm_aiter_fa.py": { + "path": "/vllm/v1/attention/backends/rocm_aiter_fa.py", + "sha256": "d1418af03bf58209c850f466b712d3ea22a14ebb758c42dd43e65738281841fd" + }, + "vllm/v1/attention/backends/rocm_aiter_unified_attn.py": { + "path": "/vllm/v1/attention/backends/rocm_aiter_unified_attn.py", + "sha256": "59d2645eb4c91dc0567754a7163d066f4f2faf48f1957b254fcdd5604e9d8c8c" + }, + "vllm/v1/attention/backends/rocm_attn.py": { + "path": "/vllm/v1/attention/backends/rocm_attn.py", + "sha256": "4a8f57067073fbceb784af6c3467487c450d00fa3957928fadb99a79f6036292" + }, + "vllm/v1/attention/backends/short_conv_attn.py": { + "path": "/vllm/v1/attention/backends/short_conv_attn.py", + "sha256": "84fc460ef2fbd09743b069bec0c14b39542af6c2254a403e37a048427e151121" + }, + "vllm/v1/attention/backends/triton_attn.py": { + "path": "/vllm/v1/attention/backends/triton_attn.py", + "sha256": "1057663d110e1d5229495a799027b27277c1eca325d5b6780fa2259afbf58a1a" + }, + "vllm/v1/attention/backends/triton_attn_diffkv.py": { + "path": "/vllm/v1/attention/backends/triton_attn_diffkv.py", + "sha256": "de0357eae005246642140f1ab8842ba5ed8bff5c84b18a6d3a7bbf409c578301" + }, + "vllm/v1/attention/backends/triton_flash_attn.py": { + "path": "/vllm/v1/attention/backends/triton_flash_attn.py", + "sha256": "176e45329aeb28a2008362bb607d1b8c89816eb665859ab908b0385a11acf1c2" + }, + "vllm/v1/attention/backends/triton_flashinfer.py": { + "path": "/vllm/v1/attention/backends/triton_flashinfer.py", + "sha256": "48d5f967e388d4e8d6bbec8d827b44d855346bc2fada28adf65768bf6623527b" + }, + "vllm/v1/attention/backends/turboquant_attn.py": { + "path": "/vllm/v1/attention/backends/turboquant_attn.py", + "sha256": "616d16d608d9d1fbf6c29548037e7e9cf330f4d36a01aa3ffabf42a731eb6e2b" + }, + "vllm/v1/attention/backends/utils.py": { + "path": "/vllm/v1/attention/backends/utils.py", + "sha256": "fbc221360d2d54cb21ef3f625dc8711500de345a355801548b4337bb9b8abee0" + }, + "vllm/v1/attention/ops/__init__.py": { + "path": "/vllm/v1/attention/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/ops/chunked_prefill_paged_decode.py": { + "path": "/vllm/v1/attention/ops/chunked_prefill_paged_decode.py", + "sha256": "973db848a790b2e8d99e728b2fc4f44b501bbe58c62747244ddff04cfcf11a85" + }, + "vllm/v1/attention/ops/common.py": { + "path": "/vllm/v1/attention/ops/common.py", + "sha256": "b4b67e7fc0cce471e337d742c097fba06da7563816e8799e27719714e31e1d5b" + }, + "vllm/v1/attention/ops/cp_common.py": { + "path": "/vllm/v1/attention/ops/cp_common.py", + "sha256": "2369181862e96db64b14ef20c5c2e249ed2ea5f3dea2467a2aa388372bb86d9d" + }, + "vllm/v1/attention/ops/dcp.py": { + "path": "/vllm/v1/attention/ops/dcp.py", + "sha256": "a478bdc781460f0582cfaf74d6431f1a826c201f02f39d882d12a96139bc3f28" + }, + "vllm/v1/attention/ops/flashmla.py": { + "path": "/vllm/v1/attention/ops/flashmla.py", + "sha256": "8a40d6e120e3ab25a95fcfeb32b0b5b4c1ea02b984633866628536dcd26ed2e8" + }, + "vllm/v1/attention/ops/flydsl_kernels/__init__.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/attention/ops/flydsl_kernels/tq_decode.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/tq_decode.py", + "sha256": "cc4b7f82897596e0974b3d3a710a1a8bc58c3d22b72cc7f461dd1c4acd2e451b" + }, + "vllm/v1/attention/ops/flydsl_kernels/tq_decode_gqa6.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/tq_decode_gqa6.py", + "sha256": "a983f6d375c325900955e11696dab1e2665770e83f84d51f93d3ed5e1d8880e0" + }, + "vllm/v1/attention/ops/flydsl_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/flydsl_turboquant_decode.py", + "sha256": "7b1dd0ef7c7fb28a6a8831759e00b939ab844d067657155cc11cf75532a22c63" + }, + "vllm/v1/attention/ops/int4_per_token_head.py": { + "path": "/vllm/v1/attention/ops/int4_per_token_head.py", + "sha256": "d91968f280cd8eaed7570ab255f0276b40e833e18a25066d371d9ca8149425f2" + }, + "vllm/v1/attention/ops/merge_attn_states.py": { + "path": "/vllm/v1/attention/ops/merge_attn_states.py", + "sha256": "ad08403d2843fc892f0b0b4b9f5fabb81884556f89f7170dca46ccef498a3539" + }, + "vllm/v1/attention/ops/metadata.py": { + "path": "/vllm/v1/attention/ops/metadata.py", + "sha256": "ca882b84c5aaefb1f77e4d8ea09a00103fbc53defa8671bba036c961c17fc760" + }, + "vllm/v1/attention/ops/paged_attn.py": { + "path": "/vllm/v1/attention/ops/paged_attn.py", + "sha256": "016a95f892ec751c86b37be1e12171bad9f0b4076bbf2219ff336f4e9c503653" + }, + "vllm/v1/attention/ops/pcp.py": { + "path": "/vllm/v1/attention/ops/pcp.py", + "sha256": "dadeff95fe2df2be8028baabeef01b0d2d628cd67de2176915e737ce096de3dd" + }, + "vllm/v1/attention/ops/prefix_prefill.py": { + "path": "/vllm/v1/attention/ops/prefix_prefill.py", + "sha256": "b08ad92db715fc03c11699de3de463d55e411f42f77548e06b41049a61de692f" + }, + "vllm/v1/attention/ops/rocm_aiter_mla_merge.py": { + "path": "/vllm/v1/attention/ops/rocm_aiter_mla_merge.py", + "sha256": "564c66e4877732e48a6f7d52405c43dc952eec0f0ae4353d34886bca056132b9" + }, + "vllm/v1/attention/ops/rocm_aiter_mla_sparse.py": { + "path": "/vllm/v1/attention/ops/rocm_aiter_mla_sparse.py", + "sha256": "feec664be5045fd1ba13b8f6ef83b52c96910ddc78baca0431bcf610c9e8f5cc" + }, + "vllm/v1/attention/ops/triton_attention_helpers.py": { + "path": "/vllm/v1/attention/ops/triton_attention_helpers.py", + "sha256": "35aa993d01345f535d2641cf9dcabb8b64c51b20a19707bc5987e616aaa87ddd" + }, + "vllm/v1/attention/ops/triton_decode_attention.py": { + "path": "/vllm/v1/attention/ops/triton_decode_attention.py", + "sha256": "b9823c65eba22d76abf64dad7d7d16a950f67471c86d6cb5b3e983aaf14381ac" + }, + "vllm/v1/attention/ops/triton_merge_attn_states.py": { + "path": "/vllm/v1/attention/ops/triton_merge_attn_states.py", + "sha256": "f63229162181ab93198550b73a115f1cc1034cfd60e6f58bc8ab3e22a6e8ce60" + }, + "vllm/v1/attention/ops/triton_prefill_attention.py": { + "path": "/vllm/v1/attention/ops/triton_prefill_attention.py", + "sha256": "352c1a4ac86146580040579fb217c2e288268830d6602b735713e154f36d74fe" + }, + "vllm/v1/attention/ops/triton_reshape_and_cache_flash.py": { + "path": "/vllm/v1/attention/ops/triton_reshape_and_cache_flash.py", + "sha256": "6cac51475b8c656992a21b2d150acd3a16a95a7ab7d49aab151a3ef13c24b80d" + }, + "vllm/v1/attention/ops/triton_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/triton_turboquant_decode.py", + "sha256": "8e52678136449e4bbca2195fbcbb87426c955a2b1b8422e7ab9511e45ee5f5c6" + }, + "vllm/v1/attention/ops/triton_turboquant_store.py": { + "path": "/vllm/v1/attention/ops/triton_turboquant_store.py", + "sha256": "6e6e2fe74a307d40f0be786ccbaea76d989e3c7b5985f3144a5218c61bf6d902" + }, + "vllm/v1/attention/ops/triton_unified_attention.py": { + "path": "/vllm/v1/attention/ops/triton_unified_attention.py", + "sha256": "65d0fbcf33d00789df8ca688c0a1c908e710cfaef53471178747ecae11f05829" + }, + "vllm/v1/attention/ops/triton_unified_attention_diffkv.py": { + "path": "/vllm/v1/attention/ops/triton_unified_attention_diffkv.py", + "sha256": "7fa36d7b7441f1c396e0348eac61d691d2e459e5c4c393c4aa262dfb670e68f7" + }, + "vllm/v1/attention/ops/turboquant_soa/__init__.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/__init__.py", + "sha256": "6b43b6fcb2a71c44ceff4ed1edd417a839f4901251ba15831b09ad979baa4984" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode.py", + "sha256": "bf00634191bba14cbf4a23c1d67dc3dcb244c2b8989f08362757b54435830986" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode_v2.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode_v2.py", + "sha256": "28e7ecc15c450d3591983a50c46a03aa6ca6fa99304c17c333940617d9916485" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_store.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_store.py", + "sha256": "dccf93b9fdd34f9b9eacd468e9de35b9d93378594487c335cf50642aaec681f2" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_unified_attention.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_unified_attention.py", + "sha256": "b4b2b5f3985b3a6126fd052e6ec1ed91c610da8a525a9ae7470ac829405bd85c" + }, + "vllm/v1/attention/ops/vit_attn_wrappers.py": { + "path": "/vllm/v1/attention/ops/vit_attn_wrappers.py", + "sha256": "a99d57b58269c7521fa5d7d47af06551f3bab2b5c7358ef78165a7f6e20a92a6" + }, + "vllm/v1/attention/ops/xpu_mla_sparse.py": { + "path": "/vllm/v1/attention/ops/xpu_mla_sparse.py", + "sha256": "d98d17110577c2b7b4d05e07bfdae15faf83321b6342a5daaaecce45b9503f38" + }, + "vllm/v1/attention/selector.py": { + "path": "/vllm/v1/attention/selector.py", + "sha256": "87f653ded7974875183c920e3e4589c28116bcbc99714d1da7cb51ae77c0b182" + }, + "vllm/v1/core/sched/__init__.py": { + "path": "/vllm/v1/core/sched/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/core/sched/async_scheduler.py": { + "path": "/vllm/v1/core/sched/async_scheduler.py", + "sha256": "e586a0ef3c6778be56a93e7f9bb712d4de9de6e7d7fe7e3e1d51dae83ecfc508" + }, + "vllm/v1/core/sched/interface.py": { + "path": "/vllm/v1/core/sched/interface.py", + "sha256": "be6c008664096c5660a8879de72b315bbe479bf1d688be9b25891063ec53a367" + }, + "vllm/v1/core/sched/output.py": { + "path": "/vllm/v1/core/sched/output.py", + "sha256": "3a66c8efaefe10c572f6f33cf1f8aa4610758c945130cad62eb9f7331005677c" + }, + "vllm/v1/core/sched/request_queue.py": { + "path": "/vllm/v1/core/sched/request_queue.py", + "sha256": "4b8d938e5fb8152fe61030b8aa991f983fcac9a405c37ed8908045e05e82ae5e" + }, + "vllm/v1/core/sched/scheduler.py": { + "path": "/vllm/v1/core/sched/scheduler.py", + "sha256": "c1db45f3bbad3a875dd8638331b8870c4380ac1ab4734265ba5c863833a82884" + }, + "vllm/v1/core/sched/utils.py": { + "path": "/vllm/v1/core/sched/utils.py", + "sha256": "1ed988044eb8028c77ede875bd1a5fd05ff6998b455d61e3997d6a3d7fc1c3a7" + }, + "vllm/v1/sample/__init__.py": { + "path": "/vllm/v1/sample/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/sample/logits_processor/__init__.py": { + "path": "/vllm/v1/sample/logits_processor/__init__.py", + "sha256": "1f9b02dae8cf6d44484638037123d3a2dec6b7b9a2bcc9afceef1a9bf3eaedec" + }, + "vllm/v1/sample/logits_processor/builtin.py": { + "path": "/vllm/v1/sample/logits_processor/builtin.py", + "sha256": "6105816ece77e5b1dbee0d07abc90ce039d650bac2ddb85c93280c48b00f2ebe" + }, + "vllm/v1/sample/logits_processor/interface.py": { + "path": "/vllm/v1/sample/logits_processor/interface.py", + "sha256": "171dfc6ef9b5b53128e8eaecc4bdf1de413a706d64bf5be686048f583c66eee1" + }, + "vllm/v1/sample/logits_processor/state.py": { + "path": "/vllm/v1/sample/logits_processor/state.py", + "sha256": "a96411f14362c45f839e181dcb3ac01d5b880812bccb3552fc17863b219f44ac" + }, + "vllm/v1/sample/metadata.py": { + "path": "/vllm/v1/sample/metadata.py", + "sha256": "6582cfe1a240c7ddb975f0ef6dd7dcd28dcf0fc7670394390250013977aa7ffd" + }, + "vllm/v1/sample/ops/__init__.py": { + "path": "/vllm/v1/sample/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/sample/ops/bad_words.py": { + "path": "/vllm/v1/sample/ops/bad_words.py", + "sha256": "0b1d0a9b13b92ddcae2c83393c07a34c0f107813725700dee794caa7fe7f3b12" + }, + "vllm/v1/sample/ops/logprobs.py": { + "path": "/vllm/v1/sample/ops/logprobs.py", + "sha256": "b286f69012a6758bfe9250038b0697294dbffe0d32c6906f284c39f75ee48be3" + }, + "vllm/v1/sample/ops/penalties.py": { + "path": "/vllm/v1/sample/ops/penalties.py", + "sha256": "4debfcf247b3887478d2b9ec98f108756bbed2805462777ef6b56f3bdf4ce682" + }, + "vllm/v1/sample/ops/topk_topp_sampler.py": { + "path": "/vllm/v1/sample/ops/topk_topp_sampler.py", + "sha256": "13ea4359832bc914492330958ec4f5ac140f408b8f410cc05c6eaf7ddcd70be4" + }, + "vllm/v1/sample/ops/topk_topp_triton.py": { + "path": "/vllm/v1/sample/ops/topk_topp_triton.py", + "sha256": "0b5fc337058e22bc28a8530ccec904d6ccd89b9548b02955c657ac429b1669d2" + }, + "vllm/v1/sample/rejection_sampler.py": { + "path": "/vllm/v1/sample/rejection_sampler.py", + "sha256": "0bb9d224887ccb1355e16199005cc23a4afc6fa75156eca419851b7247d99750" + }, + "vllm/v1/sample/sampler.py": { + "path": "/vllm/v1/sample/sampler.py", + "sha256": "f95805b2c6d06218c724826aa5f881a606e8d0a534a566aee7c85948520dd216" + }, + "vllm/v1/sample/thinking_budget_state.py": { + "path": "/vllm/v1/sample/thinking_budget_state.py", + "sha256": "962f8f55210eb0a431cb9c78b013e35f7a7dd58d06d6fb2e7fcff1b457356f8e" + }, + "vllm/v1/worker/__init__.py": { + "path": "/vllm/v1/worker/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/block_table.py": { + "path": "/vllm/v1/worker/block_table.py", + "sha256": "a09b8819e1417b7a186cf3472224e2138fc5d41a291c6692bb7df711b0c44259" + }, + "vllm/v1/worker/cp_utils.py": { + "path": "/vllm/v1/worker/cp_utils.py", + "sha256": "e32625d83a641b8dd8df82e92d1b6fb20af0cdf2e8fbd2fb131aa3c215415448" + }, + "vllm/v1/worker/cpu/__init__.py": { + "path": "/vllm/v1/worker/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/cpu/buffer_utils.py": { + "path": "/vllm/v1/worker/cpu/buffer_utils.py", + "sha256": "e7313fd8c2c76ebfb98d2fa53008bc9691d0f83a7d7c05e87602b5a29fb79e04" + }, + "vllm/v1/worker/cpu/model_runner.py": { + "path": "/vllm/v1/worker/cpu/model_runner.py", + "sha256": "24a1c916550051327dd5893243a6d4200f3824b91b3af8aa6f6c793fd7c68c3e" + }, + "vllm/v1/worker/cpu/shm.py": { + "path": "/vllm/v1/worker/cpu/shm.py", + "sha256": "08491af8ad341399d1375f2d21ad00414d4c89b0a5c03f55de8704914bbfcbd9" + }, + "vllm/v1/worker/cpu_model_runner.py": { + "path": "/vllm/v1/worker/cpu_model_runner.py", + "sha256": "92111aba92f00571f1a3c4c6e43cf1da6ccb4d2afac2f4d5abc018a4a6e7e8bd" + }, + "vllm/v1/worker/cpu_worker.py": { + "path": "/vllm/v1/worker/cpu_worker.py", + "sha256": "a8051b9e510ef0af9cc34004f2cbe5c0f902bd0cebc32c9464e744344dfdf849" + }, + "vllm/v1/worker/dp_utils.py": { + "path": "/vllm/v1/worker/dp_utils.py", + "sha256": "8cd19f1bfbc5c4f6ec60df89aea7c8a19b400ebc264f372b103014152e92158c" + }, + "vllm/v1/worker/ec_connector_model_runner_mixin.py": { + "path": "/vllm/v1/worker/ec_connector_model_runner_mixin.py", + "sha256": "fe9b11cebb8562f1bfe98b98a5647b2b081a6e424cb60d4ffe2412c91a99215e" + }, + "vllm/v1/worker/encoder_cudagraph.py": { + "path": "/vllm/v1/worker/encoder_cudagraph.py", + "sha256": "6a08d3779bca1b47dbf9daf6eafe2d3c70dbcb8aeb7d63ba7efacc68241ee3bc" + }, + "vllm/v1/worker/encoder_cudagraph_defs.py": { + "path": "/vllm/v1/worker/encoder_cudagraph_defs.py", + "sha256": "bb7be050fcaa8868e7816c84caec875da57050d65fe7eaf00f3d41473df25e3a" + }, + "vllm/v1/worker/gpu/__init__.py": { + "path": "/vllm/v1/worker/gpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/async_utils.py": { + "path": "/vllm/v1/worker/gpu/async_utils.py", + "sha256": "77e17a4570ead2be30ae9b00888cf077a3b873018c12ca0549b853bfda02c1ba" + }, + "vllm/v1/worker/gpu/attn_utils.py": { + "path": "/vllm/v1/worker/gpu/attn_utils.py", + "sha256": "b9b81e59dda2720b1f9c434471381f879228832443e52756e469b4ad4905888f" + }, + "vllm/v1/worker/gpu/block_table.py": { + "path": "/vllm/v1/worker/gpu/block_table.py", + "sha256": "61c004315d5af7e7eae4e2a9e6be92ea82c520327690a7f55a73bb9ce95f520a" + }, + "vllm/v1/worker/gpu/buffer_utils.py": { + "path": "/vllm/v1/worker/gpu/buffer_utils.py", + "sha256": "6597f701a30261bf250e9ad5a29737264624a1caa20527aeea0dad630325b093" + }, + "vllm/v1/worker/gpu/cp_utils.py": { + "path": "/vllm/v1/worker/gpu/cp_utils.py", + "sha256": "456c1bb7e262d99ff555522a4f134e5a9b42aee23290be25455eaef36ee8eaaf" + }, + "vllm/v1/worker/gpu/cudagraph_utils.py": { + "path": "/vllm/v1/worker/gpu/cudagraph_utils.py", + "sha256": "6e9c042890603535e300a40df8ee159dbed1058a64a83ae50ff0329e332e05ff" + }, + "vllm/v1/worker/gpu/dp_utils.py": { + "path": "/vllm/v1/worker/gpu/dp_utils.py", + "sha256": "e26867bc89e6bfc933cabc5ed13e5dc7b8d2d3030118ca1ca64c8785dabc0fc1" + }, + "vllm/v1/worker/gpu/ec_connector.py": { + "path": "/vllm/v1/worker/gpu/ec_connector.py", + "sha256": "2afe6e641f4ae3eb3b8da336c74eaa7479bf617b27cfb39a1fcbe487686f0a08" + }, + "vllm/v1/worker/gpu/eplb_utils.py": { + "path": "/vllm/v1/worker/gpu/eplb_utils.py", + "sha256": "1829fac11464aed4649179b302df198de51b95d0589f4e56bea305a876a63e26" + }, + "vllm/v1/worker/gpu/input_batch.py": { + "path": "/vllm/v1/worker/gpu/input_batch.py", + "sha256": "d5dd956eb319bd69dd9e762047833d81ad40b21fce619fcb2133759e73620694" + }, + "vllm/v1/worker/gpu/kv_connector.py": { + "path": "/vllm/v1/worker/gpu/kv_connector.py", + "sha256": "b89a4333f1e552d86e1815674b59e9f1335f0f49c0a7b46082439076f62c6a81" + }, + "vllm/v1/worker/gpu/lora_utils.py": { + "path": "/vllm/v1/worker/gpu/lora_utils.py", + "sha256": "1e90eddd9ddb4ca55e574bb28e87ae3a6f6750175a62d373102426543f4ccd66" + }, + "vllm/v1/worker/gpu/metrics/__init__.py": { + "path": "/vllm/v1/worker/gpu/metrics/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/metrics/logits.py": { + "path": "/vllm/v1/worker/gpu/metrics/logits.py", + "sha256": "ea058d7510a077a55f8ac7e4c3d596508346244e908cb372865d7159f62edc89" + }, + "vllm/v1/worker/gpu/mm/__init__.py": { + "path": "/vllm/v1/worker/gpu/mm/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/mm/encoder_cache.py": { + "path": "/vllm/v1/worker/gpu/mm/encoder_cache.py", + "sha256": "89c500338fddbeee7c4fca978a3a7c4c566a03e848e399d303fbee3c80631cd2" + }, + "vllm/v1/worker/gpu/mm/encoder_runner.py": { + "path": "/vllm/v1/worker/gpu/mm/encoder_runner.py", + "sha256": "0981e352d70301b7154a217a48665ffe35f215d053ec5740c2515a3e1e11b4e6" + }, + "vllm/v1/worker/gpu/mm/lora.py": { + "path": "/vllm/v1/worker/gpu/mm/lora.py", + "sha256": "a3eddfad6ad64de276964240c28dc080888df4a56dd5eac18f89428f2cbb7a01" + }, + "vllm/v1/worker/gpu/mm/rope.py": { + "path": "/vllm/v1/worker/gpu/mm/rope.py", + "sha256": "0924375bcb367267e783b57dd2ad9de1189d97025ce4313baaa54f2911eaaf1e" + }, + "vllm/v1/worker/gpu/model_runner.py": { + "path": "/vllm/v1/worker/gpu/model_runner.py", + "sha256": "174c93db921c23cf0396eee4764be25b2bd2d4b6a06e9fa41ce3598b884ce8ce" + }, + "vllm/v1/worker/gpu/model_states/__init__.py": { + "path": "/vllm/v1/worker/gpu/model_states/__init__.py", + "sha256": "07815d0b788fc88185772f581bbf892a675259f9288375571f29887622f8d93c" + }, + "vllm/v1/worker/gpu/model_states/default.py": { + "path": "/vllm/v1/worker/gpu/model_states/default.py", + "sha256": "bb614f814780f052e869f9acf31dfbfa68718ee7dc6252eefa901b5730ee8a2a" + }, + "vllm/v1/worker/gpu/model_states/encoder_decoder.py": { + "path": "/vllm/v1/worker/gpu/model_states/encoder_decoder.py", + "sha256": "a5868059d8af672548b41d0e623e884320e6ed61e6aaca2d2828ff5be0356f2f" + }, + "vllm/v1/worker/gpu/model_states/encoder_only.py": { + "path": "/vllm/v1/worker/gpu/model_states/encoder_only.py", + "sha256": "84e96b55a2639e2a73fa4a0308acc89c8d053dc715481180b237e0196dcef99f" + }, + "vllm/v1/worker/gpu/model_states/interface.py": { + "path": "/vllm/v1/worker/gpu/model_states/interface.py", + "sha256": "5675b6fedc7403a9ab410b1e5565974e78fac23c42ab4253ae1da52d6e09b594" + }, + "vllm/v1/worker/gpu/model_states/mamba_hybrid.py": { + "path": "/vllm/v1/worker/gpu/model_states/mamba_hybrid.py", + "sha256": "573e130ac5587d4822fabf97adad1ad0fda02ff83c5e70df879a5bb175ae845c" + }, + "vllm/v1/worker/gpu/model_states/mm_pruning.py": { + "path": "/vllm/v1/worker/gpu/model_states/mm_pruning.py", + "sha256": "b150940b12ae76048f050a8eeb54d532bbdc530a18ffbf320ddeeb0cfaa90f93" + }, + "vllm/v1/worker/gpu/model_states/prompt_embeds.py": { + "path": "/vllm/v1/worker/gpu/model_states/prompt_embeds.py", + "sha256": "11f9e270925c2df6a505557605ac2b859bb145cf3420b0111e7482a1c544f9b1" + }, + "vllm/v1/worker/gpu/model_states/recoverssm.py": { + "path": "/vllm/v1/worker/gpu/model_states/recoverssm.py", + "sha256": "b4b660e62eaf33f4fe8271f83ed1fb6de6bc08f800a8073b27803e42fb29a645" + }, + "vllm/v1/worker/gpu/pcp_manager.py": { + "path": "/vllm/v1/worker/gpu/pcp_manager.py", + "sha256": "2d80df0ed5b18a2069f9d0689cb59923ffe324ba200fcafe242da23da3a6ddaa" + }, + "vllm/v1/worker/gpu/pool/__init__.py": { + "path": "/vllm/v1/worker/gpu/pool/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/pool/pooling_runner.py": { + "path": "/vllm/v1/worker/gpu/pool/pooling_runner.py", + "sha256": "f8463f7648cce0f3f29418a4d9fee61634ead760957cf236d06d61cf8cd986e7" + }, + "vllm/v1/worker/gpu/pp_utils.py": { + "path": "/vllm/v1/worker/gpu/pp_utils.py", + "sha256": "dadeef0bebf61d0ad44a28d06372208ec4e6389224d6017f412683b026bdbb5c" + }, + "vllm/v1/worker/gpu/sample/__init__.py": { + "path": "/vllm/v1/worker/gpu/sample/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/sample/bad_words.py": { + "path": "/vllm/v1/worker/gpu/sample/bad_words.py", + "sha256": "8d3cbd5613398260314d94739d8ee0e1ac0c22abf2f960f541d3c0d4e39d360b" + }, + "vllm/v1/worker/gpu/sample/batch_shard.py": { + "path": "/vllm/v1/worker/gpu/sample/batch_shard.py", + "sha256": "c30274a3a04e6a03e89be9cd7c62de602b1aba4d412f64540ab6201036de3928" + }, + "vllm/v1/worker/gpu/sample/gumbel.py": { + "path": "/vllm/v1/worker/gpu/sample/gumbel.py", + "sha256": "3ec1df510bdad13e8b0a457b5b67c98affdf6e57369e56cb471246cc8f40dd34" + }, + "vllm/v1/worker/gpu/sample/logit_bias.py": { + "path": "/vllm/v1/worker/gpu/sample/logit_bias.py", + "sha256": "9e80a3fe6f3c7474723408cfff52183f4585fdeedd9c2312843ee98d0b12724c" + }, + "vllm/v1/worker/gpu/sample/logprob.py": { + "path": "/vllm/v1/worker/gpu/sample/logprob.py", + "sha256": "f47479a818192acb6b297c79fa67a3b2f9820e3492a394d5adda777e9b7c832e" + }, + "vllm/v1/worker/gpu/sample/min_p.py": { + "path": "/vllm/v1/worker/gpu/sample/min_p.py", + "sha256": "4cb5e2f45e1ced6f9685283a7a5c8cfd7204d9a249822e866cfff756c7f04f62" + }, + "vllm/v1/worker/gpu/sample/output.py": { + "path": "/vllm/v1/worker/gpu/sample/output.py", + "sha256": "d6e298c0f197d487a8faaf7200f500fa83df1d7a4bbf4339cadd6a18008f7f9c" + }, + "vllm/v1/worker/gpu/sample/penalties.py": { + "path": "/vllm/v1/worker/gpu/sample/penalties.py", + "sha256": "46c29434caf5f415129ef4a9bb2b8d4f62d2765596e3e07f73ad2b198c7def1b" + }, + "vllm/v1/worker/gpu/sample/prompt_logprob.py": { + "path": "/vllm/v1/worker/gpu/sample/prompt_logprob.py", + "sha256": "4cf22d390e7bf59e44c458cff7180268db63e95d06af2f1e14d720a2d77c9663" + }, + "vllm/v1/worker/gpu/sample/sampler.py": { + "path": "/vllm/v1/worker/gpu/sample/sampler.py", + "sha256": "832c9945d201a1e730ff9b4b52076aa83bd4a5064e1e4cfea952cf84d4a8d1f0" + }, + "vllm/v1/worker/gpu/sample/states.py": { + "path": "/vllm/v1/worker/gpu/sample/states.py", + "sha256": "4e3671f93695ba5a48fad7d2d13beb231ac8741034904ed5a15d9f7b9b86662e" + }, + "vllm/v1/worker/gpu/sample/thinking_budget.py": { + "path": "/vllm/v1/worker/gpu/sample/thinking_budget.py", + "sha256": "020513e1d3406f367de6ad995a95055008fd0c28f2873647e8283c9870e22404" + }, + "vllm/v1/worker/gpu/sample/trace_replay.py": { + "path": "/vllm/v1/worker/gpu/sample/trace_replay.py", + "sha256": "d2a7d3b3b55379efabe4740a4b7f14030126dc11be36f6ea974164ce42316a50" + }, + "vllm/v1/worker/gpu/sample/watermark.py": { + "path": "/vllm/v1/worker/gpu/sample/watermark.py", + "sha256": "a3581458169dab9153eb09fd67218e0ee5585406537a9de80ad528ae62b030c0" + }, + "vllm/v1/worker/gpu/shutdown.py": { + "path": "/vllm/v1/worker/gpu/shutdown.py", + "sha256": "bb470f14b17c7e52571ef8938b2a9527e7c2846852ae8a3a94b69cd1c30aa4b1" + }, + "vllm/v1/worker/gpu/spec_decode/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/__init__.py", + "sha256": "1f1f84bfe6f4f5af3a7e21a7a8716ecf7b9013da1d03327668a3ee36afc24c32" + }, + "vllm/v1/worker/gpu/spec_decode/acceptance_estimator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/acceptance_estimator.py", + "sha256": "505b843bdd75928b03793b395b47b8be914bd7fe2a3351c8ec04339baeebb1c2" + }, + "vllm/v1/worker/gpu/spec_decode/adaptive_verification.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/adaptive_verification.py", + "sha256": "276b2fec56758a94c71b717f6786b8a6f126db2e20cf964350202feee61a0a39" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/cudagraph_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/cudagraph_utils.py", + "sha256": "13392ef0a9ed59eb9c2b2bad43d7c61beb212a8805849e46b5130c230275d0a5" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/speculator.py", + "sha256": "5b97f54e20ddf65b98e939832d050745f67ef43cfa145786da300f1a8322e3c6" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/cudagraph.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/cudagraph.py", + "sha256": "beab567ae2df6a2ba2cd92fe7ee452c6b959b8a7037a4b5f493993a1824619bb" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/speculator.py", + "sha256": "f9c100f42f9326e48eb84e89281897e859ba761943f54d593523555ccd98dc63" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/utils.py", + "sha256": "53d2c3ad474d290d2c6df027446bbd80ac7447684e5242ab2c3c5337d2abd383" + }, + "vllm/v1/worker/gpu/spec_decode/dflash2/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash2/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/dflash2/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash2/speculator.py", + "sha256": "b70043550938a1df9aecc85d8c8224c38c929ca34f68834572f6e723854d2027" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/speculator.py", + "sha256": "dcf4abdedbd2bddd0d76be198ccf5b4e467c46f645038c35fcab821491a35b03" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/utils.py", + "sha256": "86af2bf30604a184312e8f076097b91ecfec704f409f9d68d634b03d6b318070" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/eagle3_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/eagle3_utils.py", + "sha256": "201ee875fcc3d076a8fc1f3876dcbf85736b221a368555243a8987ff26a1674e" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/speculator.py", + "sha256": "746e318a4f266d75522ff7f3731ea9b4527b7b4824f71364d1a62184ea1f7b3d" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/utils.py", + "sha256": "94de6f55a1761f24f4aa1388cbc3b3763d4ab3ee53260330056ad31ce0b78236" + }, + "vllm/v1/worker/gpu/spec_decode/extract_hidden_states.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/extract_hidden_states.py", + "sha256": "93c4233be7b2d2290b33902ea9b3bb5274c11701830851d03967a22144536e2d" + }, + "vllm/v1/worker/gpu/spec_decode/gemma4/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/gemma4/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/gemma4/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/gemma4/speculator.py", + "sha256": "9991210d7babd2caf2cd10797ca8688543dedeafbc3b86bc7c979c1a6ae9f949" + }, + "vllm/v1/worker/gpu/spec_decode/mtp/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/mtp/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/mtp/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/mtp/speculator.py", + "sha256": "926d6c9ffdb368c971647911a60493820d056ce236fcae9d94a42fa2e006255d" + }, + "vllm/v1/worker/gpu/spec_decode/multi_module_mtp/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/multi_module_mtp/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/multi_module_mtp/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/multi_module_mtp/speculator.py", + "sha256": "d9d4735b9b33829332b0e845b6d3073b2f0436045ed693b25c6434f351644127" + }, + "vllm/v1/worker/gpu/spec_decode/rejection_sampler.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/rejection_sampler.py", + "sha256": "030db5bfca162cc1f305112f299de5d6d61c59d3ed0807fee46575441ca4086d" + }, + "vllm/v1/worker/gpu/spec_decode/rejection_sampler_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/rejection_sampler_utils.py", + "sha256": "214b61fa0abe88573beb779872c035b3954e5651a85bd438d99ee5905d3a62ec" + }, + "vllm/v1/worker/gpu/spec_decode/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/speculator.py", + "sha256": "3a1ab15bf8b20918852eb835fe9755046e99dcbac6ba6ca3d414949fc8bc695a" + }, + "vllm/v1/worker/gpu/spec_decode/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/utils.py", + "sha256": "282f2929eddae9ca7312269f799be07472334b6df9fd91878b5e839ec05e418c" + }, + "vllm/v1/worker/gpu/states.py": { + "path": "/vllm/v1/worker/gpu/states.py", + "sha256": "99418f5df43ca612ded72609fee011620b065b2cab2f249ccb387096bf4ae71a" + }, + "vllm/v1/worker/gpu/structured_outputs.py": { + "path": "/vllm/v1/worker/gpu/structured_outputs.py", + "sha256": "18a10532db7e66b55e334acacd1fd989ad6361adf31dd0de9a9a65e23db25951" + }, + "vllm/v1/worker/gpu/ubatch_utils.py": { + "path": "/vllm/v1/worker/gpu/ubatch_utils.py", + "sha256": "5092e2e58af0561c8dc12e62847cfc6dda9ca20dfbd33e7f0cd77a83fe87f7c5" + }, + "vllm/v1/worker/gpu/warmup.py": { + "path": "/vllm/v1/worker/gpu/warmup.py", + "sha256": "423ac32d58fe008c228cfa223e4fcebfcf87e3463a9dbdf80a083c0578d73723" + }, + "vllm/v1/worker/gpu_input_batch.py": { + "path": "/vllm/v1/worker/gpu_input_batch.py", + "sha256": "18cf455c9d0eea61cc581c7932f2e6cd09786914e82dd35eef1c1430da359a0f" + }, + "vllm/v1/worker/gpu_model_runner.py": { + "path": "/vllm/v1/worker/gpu_model_runner.py", + "sha256": "87c29d08c0bbf66993d8b984811e7325e35e6436242a773feb55ec88f16b2c51" + }, + "vllm/v1/worker/gpu_ubatch_wrapper.py": { + "path": "/vllm/v1/worker/gpu_ubatch_wrapper.py", + "sha256": "4233cfbe8c9884b042c4363890108f616483b694ebe9a6e69578dcf89c6dac5c" + }, + "vllm/v1/worker/gpu_worker.py": { + "path": "/vllm/v1/worker/gpu_worker.py", + "sha256": "6994436e4547c0996ab555b3e814e8ccea26b650dfc1b378b97d640745309347" + }, + "vllm/v1/worker/kv_connector_model_runner_mixin.py": { + "path": "/vllm/v1/worker/kv_connector_model_runner_mixin.py", + "sha256": "e1cc76d065a7e60aacddb190ae795a480b65cd02ba71a1fc699a02a85c1a3de2" + }, + "vllm/v1/worker/lora_model_runner_mixin.py": { + "path": "/vllm/v1/worker/lora_model_runner_mixin.py", + "sha256": "fef6092a15d8d37f6fa22495e6106e2e5280180908d61ce43d9ff5bf4eef3f2f" + }, + "vllm/v1/worker/mamba_utils.py": { + "path": "/vllm/v1/worker/mamba_utils.py", + "sha256": "23fdaa4e8f63ee8f938eaa1a2b39f803cb04fa6ecd69789563254b1a0691413a" + }, + "vllm/v1/worker/mm_encoder_model_runner.py": { + "path": "/vllm/v1/worker/mm_encoder_model_runner.py", + "sha256": "780c41be84ad022205c21c1decb6bb8d5afb03bc7be120c1f7df03b710acc3d7" + }, + "vllm/v1/worker/sentinel/__init__.py": { + "path": "/vllm/v1/worker/sentinel/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/sentinel/gpu_worker_sentinel.py": { + "path": "/vllm/v1/worker/sentinel/gpu_worker_sentinel.py", + "sha256": "3959b8619d052c5dd247815074e03ec21ec9b43cc424ff2d296abc19b227b852" + }, + "vllm/v1/worker/startup_plan.py": { + "path": "/vllm/v1/worker/startup_plan.py", + "sha256": "84bcbb4f7a9fd7c8d10c9c895aadd9673d44c767b9132368d11eb5e017afe86b" + }, + "vllm/v1/worker/ubatch_utils.py": { + "path": "/vllm/v1/worker/ubatch_utils.py", + "sha256": "b34dce551b5195c414e6a3a997c75961cc7a17f24c7c980487fe3d3e2ba7a798" + }, + "vllm/v1/worker/ubatching.py": { + "path": "/vllm/v1/worker/ubatching.py", + "sha256": "40391241c564feb5f16c77898ae6ae152ed6e71a4682e2a406387785d8de02d7" + }, + "vllm/v1/worker/utils.py": { + "path": "/vllm/v1/worker/utils.py", + "sha256": "0ca3ec6bf4d20076145b7fe64e564962adebedc8f75a856b517ba0b2f2d77acf" + }, + "vllm/v1/worker/worker_base.py": { + "path": "/vllm/v1/worker/worker_base.py", + "sha256": "4a1a5266b912fe97991d8dc89d92b923990da9f6cb4b817d00d52e9c0d26dd7c" + }, + "vllm/v1/worker/workspace.py": { + "path": "/vllm/v1/worker/workspace.py", + "sha256": "d21c08167d1d0d1c0cddaa80453a53a0b4dec5d81b5a537c94a21324344976b3" + }, + "vllm/v1/worker/xpu_model_runner.py": { + "path": "/vllm/v1/worker/xpu_model_runner.py", + "sha256": "07fa0390d28f2b8c3c3c0019eb9c3b126e2397aea268ba47c889f06b423deb23" + }, + "vllm/v1/worker/xpu_worker.py": { + "path": "/vllm/v1/worker/xpu_worker.py", + "sha256": "711b56432506b58041cd86e71320c3960413f7bd61061990b66488421d81cfc3" + } + }, + "prefix": "", + "pth": { + "/__editable__.megatron_core-0.16.0rc0.pth": "d55c9b64480b34aae3d4d31e7706b93391c969dec6e0498e50963b03445a57b0", + "/__editable__.rl_kernel-0.1.0.pth": "1454c4987b35762a0d189d4e901c5d077fde62a1944fbaabecea230e57f3923a", + "/__editable__.vime-0.3.2.pth": "77eec5d06d628cb952e65edd813ca88d8db67ccc785083e1b7b29011b92bec4f", + "/distutils-precedence.pth": "2638ce9e2500e572a5e0de7faed6661eb569d1b696fcba07b0dd223da5f5d224", + "/qwen3_next_cuda_runtime.pth": "e0d3ab57dd3ff4f5d55fcf76e83c549cc00b3c813e6f717c540d5ded79fa2f49", + "/qwen3_next_megatron_source.pth": "8556ac057538e82856cb76cbbc954f58312a3f45373daec3eec826031cfd2709", + "/__editable__.rl_kernel-0.1.0.pth": "1454c4987b35762a0d189d4e901c5d077fde62a1944fbaabecea230e57f3923a", + "/distutils-precedence.pth": "2638ce9e2500e572a5e0de7faed6661eb569d1b696fcba07b0dd223da5f5d224", + "/nvidia_cutlass_dsl_packages.pth": "cc710b99ddb3d76361a70461461d274212a979d00c381d821fce5bb3ad9cf246" + }, + "pyvenv_cfg_sha256": "48579f2c6d35c3d535c2690d7d426587c4b8e92021463f0266b38d35dfbbb834", + "sources": { + "/Megatron-LM-training": { + "patch_sha256": "f66035f12501aa1d08e8884e0dea5a22d59825d717aeda73c3e83876e3efd79f", + "path": "/Megatron-LM-training", + "tree": "731fc44a368d6cac8c6171a29d5c687ff0d95bd1" + }, + "/vime": { + "patch_sha256": "66949839d4c18329444f4f9f6dcd702b53ce1b94e9aa15ed111f28743bfaa4b9", + "path": "/vime", + "tree": "f5174e67dbcdaef983eecd45f215fef2d8429dd0" + } + }, + "version": "3.12.14 | packaged by Anaconda, Inc. | (main, Aug 27 2026, 14:46:43) [GCC 14.3.0]" + }, + "sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca" + }, + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "cuda_identity": { + "home": "", + "nvcc_sha256": "b8e2347d9d7fcadf8812a27324d515de99d033d3e48611811ece7e66d7895f8a" + }, + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "operator_requirements": { + "suite": "all", + "case_ids": [ + "tests/check_qwen3_next_attention.py::test_d256_backward_with_cached_prefix_matches_float64_formula", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[1024]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[256]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[64]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[8]", + "tests/check_qwen3_next_attention.py::test_d256_input_device_guard_and_nondefault_stream", + "tests/check_qwen3_next_attention.py::test_native_backward_rejects_malformed_probability_and_gradient_buffers", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[0]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[2]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_target_inputs_do_not_depend_on_companions", + "tests/check_qwen3_next_batch_invariance.py::test_triton_chunked_prefill_is_batch_invariant", + "tests/check_qwen3_next_conv_bridge.py::test_chunked_and_reordered_sequences_match", + "tests/check_qwen3_next_conv_bridge.py::test_empty_sequence_preserves_cache_and_gradients", + "tests/check_qwen3_next_conv_bridge.py::test_response_gradient_reaches_prompt_and_convolution_weight", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths0]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths1]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths2]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-4]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[1]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[4]", + "tests/check_qwen3_next_core_matrix.py::test_variable_lengths_empty_and_mixed_step_match_independent_sequences", + "tests/check_qwen3_next_forward.py::test_combine_has_fixed_route_order_and_differentiable_weights", + "tests/check_qwen3_next_forward.py::test_full_vocabulary_logprob_entropy_modes_and_gradient", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_fail_closed_on_the_tensor_descriptor_path", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[128]", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[512]", + "tests/check_qwen3_next_forward.py::test_logprob_nan_rejected_before_comparison", + "tests/check_qwen3_next_forward.py::test_moe_vjp_matches_independent_double_formula", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[1024-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[128-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-16]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-256]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-3072]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-37984]", + "tests/check_qwen3_next_forward.py::test_qwen_moe_actual_tp4_shapes_and_independent_training_forward", + "tests/check_qwen3_next_forward.py::test_route_weights_are_batch_invariant", + "tests/check_qwen3_next_forward.py::test_shared_linear_vjp_and_empty_tokens", + "tests/check_qwen3_next_forward.py::test_stable_route_tie_boundary_and_router_gradient", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_backward_matches_recomputed_recurrence_vjp", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_forward_is_provider_exact_and_does_not_mutate_inputs", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_keeps_prompt_state_gradient_through_response", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[False]", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[True]", + "tests/check_qwen3_next_gdn_bridge.py::test_initial_state_vjp_matches_provider_directional_difference", + "tests/check_qwen3_next_gdn_sequence.py::test_1024_token_chunk_continuation_is_bitwise_exact", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad0]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad1]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad2]", + "tests/check_qwen3_next_gdn_sequence.py::test_chunk_boundary_retains_prompt_and_initial_state_gradients", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths0]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths1]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths2]", + "tests/check_qwen3_next_gdn_sequence.py::test_reserved_and_duplicate_slots_are_rejected", + "tests/check_qwen3_next_norm_providers.py::test_custom_op_has_distinct_native_and_cuda_paths", + "tests/check_qwen3_next_norm_providers.py::test_gdn_decode_provider_env_defaults_are_recorded", + "tests/check_qwen3_next_norm_providers.py::test_our_gated_op_is_batch_invariant", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_cuda]", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_native]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots0]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots2]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots3]", + "tests/check_qwen3_next_shared_core.py::test_independent_training_forward_matches_inference_and_retains_gradients", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[1024]", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[8]", + "tests/check_qwen3_next_shared_core.py::test_unimplemented_provider_profile_is_rejected", + "tests/test_qwen3_next_norm.py::test_bad_weight_shape_raises", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[16]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[1]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[2]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[32]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[48]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[64]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[8]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[128]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[2048]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_with_padding", + "tests/test_qwen3_next_norm.py::test_call_matches_forward", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[128]", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[2048]", + "tests/test_qwen3_next_norm.py::test_cuda_default_offset_preserves_plain_convention", + "tests/test_qwen3_next_norm.py::test_cuda_gated_backward_matches_autograd_golden", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_matches_golden_within_contract", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_bad_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_mismatched_gate", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_backward_uses_the_sigmoid_derivative", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_swish_is_an_alias_for_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_unit_weight_is_plain_norm_times_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_weight_offset_is_applied_in_fp32", + "tests/test_qwen3_next_norm.py::test_cuda_gated_wrapper_rejects_equal_numel_wrong_shape", + "tests/test_qwen3_next_norm.py::test_cuda_gated_zero_gate_zeroes_output", + "tests/test_qwen3_next_norm.py::test_cuda_offset_equals_explicit_fp32_weight", + "tests/test_qwen3_next_norm.py::test_cuda_offset_is_not_folded_through_bfloat16", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_backward_is_offset_aware", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_within_tolerance_of_golden", + "tests/test_qwen3_next_norm.py::test_deterministic_repeat", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype0]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype1]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype2]", + "tests/test_qwen3_next_norm.py::test_eps_inside_sqrt", + "tests/test_qwen3_next_norm.py::test_gated_batch_invariance_slice", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedHFOp]", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedOp]", + "tests/test_qwen3_next_norm.py::test_gated_conventions_diverge_in_low_precision", + "tests/test_qwen3_next_norm.py::test_gated_cuda_op_rejects_bad_activation_at_construction", + "tests/test_qwen3_next_norm.py::test_gated_extension_handles_empty_batch_and_nondefault_stream", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[dy_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[gate_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[rstd_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_shape]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_matches_hf_formula_fp32", + "tests/test_qwen3_next_norm.py::test_gated_shape_mismatch_raises", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_strict_matches_vllm_formula_fp32", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[128]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[2048]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_offset_applied_in_fp32_not_folded_into_bf16", + "tests/test_qwen3_next_norm.py::test_op_batch_invariance_on_device", + "tests/test_qwen3_next_norm.py::test_plain_reference_is_unchanged_by_the_offset_plumbing", + "tests/test_qwen3_next_norm.py::test_weight_offset_is_one", + "tests/test_qwen3_next_norm.py::test_zero_centred_cuda_constructor_rejects_missing_extension", + "tests/test_qwen3_next_norm.py::test_zero_centred_op_inherits_the_plain_reference", + "tests/test_qwen3_next_norm.py::test_zero_weight_is_identity_scaling" + ], + "case_ids_sha256": "694c931b65f9cfa5db963f2eca6d11bd309546c824a1df52f9da2ab128e83e0f", + "norm_gates": [ + "qwen3_next_rms_norm-forward.json", + "qwen3_next_rms_norm-gradient.json", + "rms_norm_gated-forward.json", + "rms_norm_gated-gradient.json" + ] + }, + "layer_requirements": { + "schema_version": 1, + "gates": { + "gdn": { + "script": "scripts/qwen3_next_tp_gdn_check.py", + "output_option": "--output", + "scope": "tp4_gdn_layer0", + "groups": { + "cases": [ + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "prompt-gradient", + "replicated-norm-gradient", + "hf-load-export" + ] + }, + "script_sha256": "cc4338893f90af004c51c20fc67d1a9a3f4bf8d26775277f72671c02983e4df5" + }, + "attention": { + "script": "scripts/qwen3_next_tp_attention_check.py", + "output_option": "--output", + "scope": "tp4_full_attention_layer3", + "groups": { + "attention.cases": [ + "hf-load-export", + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "batch4-varlen-reorder", + "sixteen-token-decode", + "prompt-gradient", + "kv-pair-gradient", + "qk-norm-gradient" + ] + }, + "script_sha256": "d27d43efb05415a8ef5892c3c2238a2b9744a4821f5466faf46c6510e6e01bec" + }, + "moe": { + "script": "scripts/qwen3_next_tp_moe_check.py", + "output_option": "--output", + "scope": "tp4_moe_block_layer0", + "groups": { + "moe.cases": [ + "hf-load-export-all512experts", + "routes-replicated-8", + "full-chunk-reorder-8", + "routes-replicated-64", + "full-chunk-reorder-64", + "routes-replicated-256", + "full-chunk-reorder-256", + "routes-replicated-1024", + "full-chunk-reorder-1024", + "training-forward", + "all-parameter-gradient", + "replicated-router-gradient" + ] + }, + "script_sha256": "d5c1bbbb82e408b65871b0cb1638d7a6cf8cfe07f0a3315a657b7dc232d544be" + }, + "adapters": { + "script": "scripts/qwen3_next_adapter_check.py", + "output_option": "--out", + "scope": "gdn_engine_adapter_component", + "groups": { + "cases": [ + "batch1-length8", + "batch1-length64", + "batch1-length256", + "batch1-length1024", + "batch4-length8", + "batch4-length64", + "batch4-length256", + "batch4-length1024", + "mixed-prefill-decode16-reorder" + ] + }, + "fields": { + "prompt_gradient": "passed", + "hf_conv_roundtrip": "passed", + "batch_invariance_capability_registered": false + }, + "script_sha256": "3ce45bb317237c1a06533116d65fb77c2a23b6f503ae46406ede543036eb0f20" + }, + "heads": { + "script": "scripts/qwen3_next_tp_head_check.py", + "output_option": "--output", + "scope": "tp4_embedding_lm_head_only", + "groups": { + "cases": [ + "hf-embedding-roundtrip", + "hf-lm-head-roundtrip", + "replicated-norm-gradient", + "nonzero-finite-embedding-head-gradient", + "embedding-repeat-100", + "batch-invariant-prompt8", + "batch-invariant-prompt64", + "batch-invariant-prompt256", + "batch-invariant-prompt1024", + "logprob-original-and-promoted-logits", + "entropy-interface" + ] + }, + "script_sha256": "0504185d21a75405c8e994bc57b016cf4ec357d8b16e7430772c11934f2af876" + } + }, + "scheduler_case_ids": [ + "p0008-b1-full", + "p0008-b1-chunked", + "p0008-b4-full", + "p0008-b4-chunked", + "p0064-b1-full", + "p0064-b1-chunked", + "p0064-b4-full", + "p0064-b4-chunked", + "p0256-b1-full", + "p0256-b1-chunked", + "p0256-b4-full", + "p0256-b4-chunked", + "p1024-b1-full", + "p1024-b1-chunked", + "p1024-b4-full", + "p1024-b4-chunked" + ], + "registry_sha256": "e3949a750cb27c1897a000f3b023f912629906612ae8949c1575d0acc36df5ec", + "case_ids_per_rank": [ + "adapters/cases/batch1-length1024", + "adapters/cases/batch1-length256", + "adapters/cases/batch1-length64", + "adapters/cases/batch1-length8", + "adapters/cases/batch4-length1024", + "adapters/cases/batch4-length256", + "adapters/cases/batch4-length64", + "adapters/cases/batch4-length8", + "adapters/cases/mixed-prefill-decode16-reorder", + "attention/attention.cases/batch4-varlen-reorder", + "attention/attention.cases/full-chunk-1024", + "attention/attention.cases/full-chunk-256", + "attention/attention.cases/full-chunk-64", + "attention/attention.cases/full-chunk-8", + "attention/attention.cases/hf-load-export", + "attention/attention.cases/kv-pair-gradient", + "attention/attention.cases/prompt-gradient", + "attention/attention.cases/qk-norm-gradient", + "attention/attention.cases/sixteen-token-decode", + "gdn/cases/full-chunk-1024", + "gdn/cases/full-chunk-256", + "gdn/cases/full-chunk-64", + "gdn/cases/full-chunk-8", + "gdn/cases/hf-load-export", + "gdn/cases/prompt-gradient", + "gdn/cases/replicated-norm-gradient", + "heads/cases/batch-invariant-prompt1024", + "heads/cases/batch-invariant-prompt256", + "heads/cases/batch-invariant-prompt64", + "heads/cases/batch-invariant-prompt8", + "heads/cases/embedding-repeat-100", + "heads/cases/entropy-interface", + "heads/cases/hf-embedding-roundtrip", + "heads/cases/hf-lm-head-roundtrip", + "heads/cases/logprob-original-and-promoted-logits", + "heads/cases/nonzero-finite-embedding-head-gradient", + "heads/cases/replicated-norm-gradient", + "moe/moe.cases/all-parameter-gradient", + "moe/moe.cases/full-chunk-reorder-1024", + "moe/moe.cases/full-chunk-reorder-256", + "moe/moe.cases/full-chunk-reorder-64", + "moe/moe.cases/full-chunk-reorder-8", + "moe/moe.cases/hf-load-export-all512experts", + "moe/moe.cases/replicated-router-gradient", + "moe/moe.cases/routes-replicated-1024", + "moe/moe.cases/routes-replicated-256", + "moe/moe.cases/routes-replicated-64", + "moe/moe.cases/routes-replicated-8", + "moe/moe.cases/training-forward" + ], + "case_ids_sha256": "be74417dfbd6031ba27978d06d04bb15daaab2aeb57d132c7e0d41176b28b46e" + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + } +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/measured-commit.txt b/docs/usage/evidence/qwen3-next-chain-b200/measured-commit.txt new file mode 100644 index 000000000..40b91b81a --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/measured-commit.txt @@ -0,0 +1 @@ +c67ec14401b0847ac96441a24acfaac0b17b77ec diff --git a/docs/usage/evidence/qwen3-next-chain-b200/preflight/checkpoint.json b/docs/usage/evidence/qwen3-next-chain-b200/preflight/checkpoint.json new file mode 100644 index 000000000..4488f19f1 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/preflight/checkpoint.json @@ -0,0 +1,14 @@ +{ + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "shards_verified": 41, + "metadata_sha256": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + } +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/preflight/device_guards.xml b/docs/usage/evidence/qwen3-next-chain-b200/preflight/device_guards.xml new file mode 100644 index 000000000..f4624846d --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/preflight/device_guards.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/usage/evidence/qwen3-next-chain-b200/preflight/environment.json b/docs/usage/evidence/qwen3-next-chain-b200/preflight/environment.json new file mode 100644 index 000000000..e7ccbb35a --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/preflight/environment.json @@ -0,0 +1,40 @@ +{ + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "visible_gpu_ids": "0,1,2,3", + "execution_gpus": 4, + "python": "3.12.14 | packaged by Anaconda, Inc. | (main, Aug 27 2026, 14:46:43) [GCC 14.3.0]", + "executable": "", + "platform": "Linux-6.8.0-111-generic-x86_64-with-glibc2.39", + "versions": { + "torch": "2.13.0", + "vllm": "0.30.0", + "triton": "3.7.1", + "transformers": "5.17.0", + "flashinfer-python": "0.6.18.post1", + "safetensors": "0.8.0" + }, + "torch_cuda": "13.0", + "nvcc": "nvcc: NVIDIA (R) Cuda compiler driver\nCopyright (c) 2005-2025 NVIDIA Corporation\nBuilt on Wed_Aug_20_01:58:59_PM_PDT_2025\nCuda compilation tools, release 13.0, V13.0.88\nBuild cuda_13.0.r13.0/compiler.36424714_0\n", + "compiler": "g++ (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0\nCopyright (C) 2023 Free Software Foundation, Inc.\nThis is free software; see the source for copying conditions. There is NO\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n", + "nvidia_smi": "Fri Oct 9 03:11:54 2026 \n+-----------------------------------------------------------------------------------------+\n| NVIDIA-SMI 580.126.20 Driver Version: 580.126.20 CUDA Version: 13.0 |\n+-----------------------------------------+------------------------+----------------------+\n| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |\n| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |\n| | | MIG M. |\n|=========================================+========================+======================|\n| 0 NVIDIA B200 On | 00000000:1B:00.0 Off | 0 |\n| N/A 35C P0 253W / 1000W | 0MiB / 183359MiB | 0% Default |\n| | | Disabled |\n+-----------------------------------------+------------------------+----------------------+\n| 1 NVIDIA B200 On | 00000000:43:00.0 Off | 0 |\n| N/A 36C P0 254W / 1000W | 0MiB / 183359MiB | 0% Default |\n| | | Disabled |\n+-----------------------------------------+------------------------+----------------------+\n| 2 NVIDIA B200 On | 00000000:52:00.0 Off | 0 |\n| N/A 41C P0 256W / 1000W | 0MiB / 183359MiB | 0% Default |\n| | | Disabled |\n+-----------------------------------------+------------------------+----------------------+\n| 3 NVIDIA B200 On | 00000000:61:00.0 Off | 0 |\n| N/A 41C P0 256W / 1000W | 0MiB / 183359MiB | 0% Default |\n| | | Disabled |\n+-----------------------------------------+------------------------+----------------------+\n| 4 NVIDIA B200 On | 00000000:9D:00.0 Off | 0 |\n| N/A 36C P0 250W / 1000W | 0MiB / 183359MiB | 0% Default |\n| | | Disabled |\n+-----------------------------------------+------------------------+----------------------+\n| 5 NVIDIA B200 On | 00000000:C3:00.0 Off | 0 |\n| N/A 36C P0 250W / 1000W | 0MiB / 183359MiB | 0% Default |\n| | | Disabled |\n+-----------------------------------------+------------------------+----------------------+\n| 6 NVIDIA B200 On | 00000000:D1:00.0 Off | 0 |\n| N/A 42C P0 256W / 1000W | 0MiB / 183359MiB | 0% Default |\n| | | Disabled |\n+-----------------------------------------+------------------------+----------------------+\n| 7 NVIDIA B200 On | 00000000:DF:00.0 Off | 0 |\n| N/A 41C P0 253W / 1000W | 0MiB / 183359MiB | 0% Default |\n| | | Disabled |\n+-----------------------------------------+------------------------+----------------------+\n\n+-----------------------------------------------------------------------------------------+\n| Processes: |\n| GPU GI CI PID Type Process name GPU Memory |\n| ID ID Usage |\n|=========================================================================================|\n| No running processes found |\n+-----------------------------------------------------------------------------------------+\n", + "gpu_topology": "\t\u001b[4mGPU0\tGPU1\tGPU2\tGPU3\tGPU4\tGPU5\tGPU6\tGPU7\tNIC0\tNIC1\tNIC2\tNIC3\tNIC4\tNIC5\tNIC6\tNIC7\tNIC8\tNIC9\tNIC10\tNIC11\tNIC12\tNIC13\tNIC14\tNIC15\tCPU Affinity\tNUMA Affinity\tGPU NUMA ID\u001b[0m\nGPU0\t X \tNV18\tNV18\tNV18\tNV18\tNV18\tNV18\tNV18\tNODE\tNODE\tNODE\tNODE\tPXB\tNODE\tNODE\tNODE\tNODE\tNODE\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\t0-53,112-165\t0\t\tN/A\nGPU1\tNV18\t X \tNV18\tNV18\tNV18\tNV18\tNV18\tNV18\tNODE\tNODE\tNODE\tNODE\tNODE\tNODE\tNODE\tPXB\tNODE\tNODE\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\t0-53,112-165\t0\t\tN/A\nGPU2\tNV18\tNV18\t X \tNV18\tNV18\tNV18\tNV18\tNV18\tNODE\tNODE\tNODE\tNODE\tNODE\tNODE\tNODE\tNODE\tPXB\tNODE\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\t0-53,112-165\t0\t\tN/A\nGPU3\tNV18\tNV18\tNV18\t X \tNV18\tNV18\tNV18\tNV18\tNODE\tNODE\tNODE\tNODE\tNODE\tNODE\tNODE\tNODE\tNODE\tPXB\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\t0-53,112-165\t0\t\tN/A\nGPU4\tNV18\tNV18\tNV18\tNV18\t X \tNV18\tNV18\tNV18\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tPXB\tNODE\tNODE\tNODE\tNODE\tNODE\t56-109,168-221\t1\t\tN/A\nGPU5\tNV18\tNV18\tNV18\tNV18\tNV18\t X \tNV18\tNV18\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tNODE\tNODE\tNODE\tPXB\tNODE\tNODE\t56-109,168-221\t1\t\tN/A\nGPU6\tNV18\tNV18\tNV18\tNV18\tNV18\tNV18\t X \tNV18\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tNODE\tNODE\tNODE\tNODE\tPXB\tNODE\t56-109,168-221\t1\t\tN/A\nGPU7\tNV18\tNV18\tNV18\tNV18\tNV18\tNV18\tNV18\t X \tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tNODE\tNODE\tNODE\tNODE\tNODE\tPXB\t56-109,168-221\t1\t\tN/A\nNIC0\tNODE\tNODE\tNODE\tNODE\tSYS\tSYS\tSYS\tSYS\t X \tPIX\tPIX\tPIX\tNODE\tNODE\tNODE\tNODE\tNODE\tNODE\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\t\t\t\t\nNIC1\tNODE\tNODE\tNODE\tNODE\tSYS\tSYS\tSYS\tSYS\tPIX\t X \tPIX\tPIX\tNODE\tNODE\tNODE\tNODE\tNODE\tNODE\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\t\t\t\t\nNIC2\tNODE\tNODE\tNODE\tNODE\tSYS\tSYS\tSYS\tSYS\tPIX\tPIX\t X \tPIX\tNODE\tNODE\tNODE\tNODE\tNODE\tNODE\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\t\t\t\t\nNIC3\tNODE\tNODE\tNODE\tNODE\tSYS\tSYS\tSYS\tSYS\tPIX\tPIX\tPIX\t X \tNODE\tNODE\tNODE\tNODE\tNODE\tNODE\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\t\t\t\t\nNIC4\tPXB\tNODE\tNODE\tNODE\tSYS\tSYS\tSYS\tSYS\tNODE\tNODE\tNODE\tNODE\t X \tNODE\tNODE\tNODE\tNODE\tNODE\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\t\t\t\t\nNIC5\tNODE\tNODE\tNODE\tNODE\tSYS\tSYS\tSYS\tSYS\tNODE\tNODE\tNODE\tNODE\tNODE\t X \tPIX\tNODE\tNODE\tNODE\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\t\t\t\t\nNIC6\tNODE\tNODE\tNODE\tNODE\tSYS\tSYS\tSYS\tSYS\tNODE\tNODE\tNODE\tNODE\tNODE\tPIX\t X \tNODE\tNODE\tNODE\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\t\t\t\t\nNIC7\tNODE\tPXB\tNODE\tNODE\tSYS\tSYS\tSYS\tSYS\tNODE\tNODE\tNODE\tNODE\tNODE\tNODE\tNODE\t X \tNODE\tNODE\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\t\t\t\t\nNIC8\tNODE\tNODE\tPXB\tNODE\tSYS\tSYS\tSYS\tSYS\tNODE\tNODE\tNODE\tNODE\tNODE\tNODE\tNODE\tNODE\t X \tNODE\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\t\t\t\t\nNIC9\tNODE\tNODE\tNODE\tPXB\tSYS\tSYS\tSYS\tSYS\tNODE\tNODE\tNODE\tNODE\tNODE\tNODE\tNODE\tNODE\tNODE\t X \tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\t\t\t\t\nNIC10\tSYS\tSYS\tSYS\tSYS\tPXB\tNODE\tNODE\tNODE\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\t X \tNODE\tNODE\tNODE\tNODE\tNODE\t\t\t\t\nNIC11\tSYS\tSYS\tSYS\tSYS\tNODE\tNODE\tNODE\tNODE\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tNODE\t X \tPIX\tNODE\tNODE\tNODE\t\t\t\t\nNIC12\tSYS\tSYS\tSYS\tSYS\tNODE\tNODE\tNODE\tNODE\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tNODE\tPIX\t X \tNODE\tNODE\tNODE\t\t\t\t\nNIC13\tSYS\tSYS\tSYS\tSYS\tNODE\tPXB\tNODE\tNODE\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tNODE\tNODE\tNODE\t X \tNODE\tNODE\t\t\t\t\nNIC14\tSYS\tSYS\tSYS\tSYS\tNODE\tNODE\tPXB\tNODE\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tNODE\tNODE\tNODE\tNODE\t X \tNODE\t\t\t\t\nNIC15\tSYS\tSYS\tSYS\tSYS\tNODE\tNODE\tNODE\tPXB\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tSYS\tNODE\tNODE\tNODE\tNODE\tNODE\t X \t\t\t\t\n\nLegend:\n\n X = Self\n SYS = Connection traversing PCIe as well as the SMP interconnect between NUMA nodes (e.g., QPI/UPI)\n NODE = Connection traversing PCIe as well as the interconnect between PCIe Host Bridges within a NUMA node\n PHB = Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)\n PXB = Connection traversing multiple PCIe bridges (without traversing the PCIe Host Bridge)\n PIX = Connection traversing at most a single PCIe bridge\n NV# = Connection traversing a bonded set of # NVLinks\n\nNIC Legend:\n\n NIC0: mlx5_0\n NIC1: mlx5_1\n NIC2: mlx5_2\n NIC3: mlx5_3\n NIC4: mlx5_4\n NIC5: mlx5_5\n NIC6: mlx5_6\n NIC7: mlx5_7\n NIC8: mlx5_8\n NIC9: mlx5_9\n NIC10: mlx5_10\n NIC11: mlx5_11\n NIC12: mlx5_12\n NIC13: mlx5_13\n NIC14: mlx5_14\n NIC15: mlx5_15\n\n", + "visible_gpus": [ + "_CudaDeviceProperties(name='NVIDIA B200', major=10, minor=0, total_memory=182631MB, multi_processor_count=148, uuid=f84b0ae3-604b-7194-e772-280f5d102d46, pci_bus_id=27, pci_device_id=0, pci_domain_id=0, L2_cache_size=126MB)", + "_CudaDeviceProperties(name='NVIDIA B200', major=10, minor=0, total_memory=182631MB, multi_processor_count=148, uuid=225c7841-f606-0248-cce4-31f3ae0b215d, pci_bus_id=67, pci_device_id=0, pci_domain_id=0, L2_cache_size=126MB)", + "_CudaDeviceProperties(name='NVIDIA B200', major=10, minor=0, total_memory=182631MB, multi_processor_count=148, uuid=46fa983d-5878-1d92-4a61-197f569e8b01, pci_bus_id=82, pci_device_id=0, pci_domain_id=0, L2_cache_size=126MB)", + "_CudaDeviceProperties(name='NVIDIA B200', major=10, minor=0, total_memory=182631MB, multi_processor_count=148, uuid=79936bd2-1377-8dcf-bdb1-e6e772d0e0f3, pci_bus_id=97, pci_device_id=0, pci_domain_id=0, L2_cache_size=126MB)" + ], + "memory": { + "limits": { + "/memory.limit_in_bytes": "9223372036854771712", + "/memory.limit_in_bytes": "9223372036854771712", + "/memory.limit_in_bytes": "9223372036854771712" + }, + "cgroup_bytes": null, + "declared_bytes": 549755813888, + "effective_bytes": 549755813888, + "available_bytes": 2091552657408 + }, + "memory_requested": "512G" +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/preflight/operators.json b/docs/usage/evidence/qwen3-next-chain-b200/preflight/operators.json new file mode 100644 index 000000000..500251cce --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/preflight/operators.json @@ -0,0 +1,304 @@ +{ + "scope": "qwen3_next_operators_only", + "status": "passed", + "suite": "all", + "diagnostic_only": false, + "full_model_l2": "not_evaluated", + "git_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "git_dirty": false, + "versions": { + "torch": "2.13.0", + "vllm": "0.30.0", + "transformers": "5.17.0", + "triton": "3.7.1" + }, + "mandatory_case_ids": [ + "tests/check_qwen3_next_attention.py::test_d256_backward_with_cached_prefix_matches_float64_formula", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[1024]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[256]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[64]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[8]", + "tests/check_qwen3_next_attention.py::test_d256_input_device_guard_and_nondefault_stream", + "tests/check_qwen3_next_attention.py::test_native_backward_rejects_malformed_probability_and_gradient_buffers", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[0]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[2]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_target_inputs_do_not_depend_on_companions", + "tests/check_qwen3_next_batch_invariance.py::test_triton_chunked_prefill_is_batch_invariant", + "tests/check_qwen3_next_conv_bridge.py::test_chunked_and_reordered_sequences_match", + "tests/check_qwen3_next_conv_bridge.py::test_empty_sequence_preserves_cache_and_gradients", + "tests/check_qwen3_next_conv_bridge.py::test_response_gradient_reaches_prompt_and_convolution_weight", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths0]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths1]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths2]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-4]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[1]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[4]", + "tests/check_qwen3_next_core_matrix.py::test_variable_lengths_empty_and_mixed_step_match_independent_sequences", + "tests/check_qwen3_next_forward.py::test_combine_has_fixed_route_order_and_differentiable_weights", + "tests/check_qwen3_next_forward.py::test_full_vocabulary_logprob_entropy_modes_and_gradient", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_fail_closed_on_the_tensor_descriptor_path", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[128]", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[512]", + "tests/check_qwen3_next_forward.py::test_logprob_nan_rejected_before_comparison", + "tests/check_qwen3_next_forward.py::test_moe_vjp_matches_independent_double_formula", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[1024-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[128-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-16]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-256]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-3072]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-37984]", + "tests/check_qwen3_next_forward.py::test_qwen_moe_actual_tp4_shapes_and_independent_training_forward", + "tests/check_qwen3_next_forward.py::test_route_weights_are_batch_invariant", + "tests/check_qwen3_next_forward.py::test_shared_linear_vjp_and_empty_tokens", + "tests/check_qwen3_next_forward.py::test_stable_route_tie_boundary_and_router_gradient", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_backward_matches_recomputed_recurrence_vjp", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_forward_is_provider_exact_and_does_not_mutate_inputs", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_keeps_prompt_state_gradient_through_response", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[False]", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[True]", + "tests/check_qwen3_next_gdn_bridge.py::test_initial_state_vjp_matches_provider_directional_difference", + "tests/check_qwen3_next_gdn_sequence.py::test_1024_token_chunk_continuation_is_bitwise_exact", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad0]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad1]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad2]", + "tests/check_qwen3_next_gdn_sequence.py::test_chunk_boundary_retains_prompt_and_initial_state_gradients", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths0]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths1]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths2]", + "tests/check_qwen3_next_gdn_sequence.py::test_reserved_and_duplicate_slots_are_rejected", + "tests/check_qwen3_next_norm_providers.py::test_custom_op_has_distinct_native_and_cuda_paths", + "tests/check_qwen3_next_norm_providers.py::test_gdn_decode_provider_env_defaults_are_recorded", + "tests/check_qwen3_next_norm_providers.py::test_our_gated_op_is_batch_invariant", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_cuda]", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_native]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots0]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots2]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots3]", + "tests/check_qwen3_next_shared_core.py::test_independent_training_forward_matches_inference_and_retains_gradients", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[1024]", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[8]", + "tests/check_qwen3_next_shared_core.py::test_unimplemented_provider_profile_is_rejected", + "tests/test_qwen3_next_norm.py::test_bad_weight_shape_raises", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[16]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[1]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[2]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[32]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[48]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[64]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[8]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[128]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[2048]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_with_padding", + "tests/test_qwen3_next_norm.py::test_call_matches_forward", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[128]", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[2048]", + "tests/test_qwen3_next_norm.py::test_cuda_default_offset_preserves_plain_convention", + "tests/test_qwen3_next_norm.py::test_cuda_gated_backward_matches_autograd_golden", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_matches_golden_within_contract", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_bad_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_mismatched_gate", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_backward_uses_the_sigmoid_derivative", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_swish_is_an_alias_for_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_unit_weight_is_plain_norm_times_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_weight_offset_is_applied_in_fp32", + "tests/test_qwen3_next_norm.py::test_cuda_gated_wrapper_rejects_equal_numel_wrong_shape", + "tests/test_qwen3_next_norm.py::test_cuda_gated_zero_gate_zeroes_output", + "tests/test_qwen3_next_norm.py::test_cuda_offset_equals_explicit_fp32_weight", + "tests/test_qwen3_next_norm.py::test_cuda_offset_is_not_folded_through_bfloat16", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_backward_is_offset_aware", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_within_tolerance_of_golden", + "tests/test_qwen3_next_norm.py::test_deterministic_repeat", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype0]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype1]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype2]", + "tests/test_qwen3_next_norm.py::test_eps_inside_sqrt", + "tests/test_qwen3_next_norm.py::test_gated_batch_invariance_slice", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedHFOp]", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedOp]", + "tests/test_qwen3_next_norm.py::test_gated_conventions_diverge_in_low_precision", + "tests/test_qwen3_next_norm.py::test_gated_cuda_op_rejects_bad_activation_at_construction", + "tests/test_qwen3_next_norm.py::test_gated_extension_handles_empty_batch_and_nondefault_stream", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[dy_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[gate_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[rstd_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_shape]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_matches_hf_formula_fp32", + "tests/test_qwen3_next_norm.py::test_gated_shape_mismatch_raises", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_strict_matches_vllm_formula_fp32", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[128]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[2048]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_offset_applied_in_fp32_not_folded_into_bf16", + "tests/test_qwen3_next_norm.py::test_op_batch_invariance_on_device", + "tests/test_qwen3_next_norm.py::test_plain_reference_is_unchanged_by_the_offset_plumbing", + "tests/test_qwen3_next_norm.py::test_weight_offset_is_one", + "tests/test_qwen3_next_norm.py::test_zero_centred_cuda_constructor_rejects_missing_extension", + "tests/test_qwen3_next_norm.py::test_zero_centred_op_inherits_the_plain_reference", + "tests/test_qwen3_next_norm.py::test_zero_weight_is_identity_scaling" + ], + "case_ids_sha256": "694c931b65f9cfa5db963f2eca6d11bd309546c824a1df52f9da2ab128e83e0f", + "pytest_exit_code": 0, + "provider_tests": { + "tests": 233, + "failures": 0, + "errors": 0, + "skipped": 0 + }, + "norm_gates": { + "qwen3_next_rms_norm-forward.json": { + "passed": true, + "exit_code": 0, + "workload": { + "workload_id": "qwen3-next-80b-a3b-norm-c3-c4-v1", + "scope": "qwen3_next_norm_operators", + "fixture_identity_sha256": "3ac9490ffbb1486edac6ea509811fd4d5affbe880b208bd7d9b052b0ce418442", + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "full_model_evidence": false + } + }, + "qwen3_next_rms_norm-gradient.json": { + "passed": true, + "exit_code": 0, + "workload": { + "workload_id": "qwen3-next-80b-a3b-norm-c3-c4-v1", + "scope": "qwen3_next_norm_operators", + "fixture_identity_sha256": "3ac9490ffbb1486edac6ea509811fd4d5affbe880b208bd7d9b052b0ce418442", + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "full_model_evidence": false + } + }, + "rms_norm_gated-forward.json": { + "passed": true, + "exit_code": 0, + "workload": { + "workload_id": "qwen3-next-80b-a3b-norm-c3-c4-v1", + "scope": "qwen3_next_norm_operators", + "fixture_identity_sha256": "3ac9490ffbb1486edac6ea509811fd4d5affbe880b208bd7d9b052b0ce418442", + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "full_model_evidence": false + } + }, + "rms_norm_gated-gradient.json": { + "passed": true, + "exit_code": 0, + "workload": { + "workload_id": "qwen3-next-80b-a3b-norm-c3-c4-v1", + "scope": "qwen3_next_norm_operators", + "fixture_identity_sha256": "3ac9490ffbb1486edac6ea509811fd4d5affbe880b208bd7d9b052b0ce418442", + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "full_model_evidence": false + } + } + } +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/preflight/result.json b/docs/usage/evidence/qwen3-next-chain-b200/preflight/result.json new file mode 100644 index 000000000..5458370f0 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/preflight/result.json @@ -0,0 +1,797 @@ +{ + "contract_version": 4, + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "cuda_identity": { + "home": "", + "nvcc_sha256": "b8e2347d9d7fcadf8812a27324d515de99d033d3e48611811ece7e66d7895f8a" + }, + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "operator_requirements": { + "suite": "all", + "case_ids": [ + "tests/check_qwen3_next_attention.py::test_d256_backward_with_cached_prefix_matches_float64_formula", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[1024]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[256]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[64]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[8]", + "tests/check_qwen3_next_attention.py::test_d256_input_device_guard_and_nondefault_stream", + "tests/check_qwen3_next_attention.py::test_native_backward_rejects_malformed_probability_and_gradient_buffers", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[0]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[2]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_target_inputs_do_not_depend_on_companions", + "tests/check_qwen3_next_batch_invariance.py::test_triton_chunked_prefill_is_batch_invariant", + "tests/check_qwen3_next_conv_bridge.py::test_chunked_and_reordered_sequences_match", + "tests/check_qwen3_next_conv_bridge.py::test_empty_sequence_preserves_cache_and_gradients", + "tests/check_qwen3_next_conv_bridge.py::test_response_gradient_reaches_prompt_and_convolution_weight", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths0]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths1]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths2]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-4]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[1]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[4]", + "tests/check_qwen3_next_core_matrix.py::test_variable_lengths_empty_and_mixed_step_match_independent_sequences", + "tests/check_qwen3_next_forward.py::test_combine_has_fixed_route_order_and_differentiable_weights", + "tests/check_qwen3_next_forward.py::test_full_vocabulary_logprob_entropy_modes_and_gradient", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_fail_closed_on_the_tensor_descriptor_path", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[128]", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[512]", + "tests/check_qwen3_next_forward.py::test_logprob_nan_rejected_before_comparison", + "tests/check_qwen3_next_forward.py::test_moe_vjp_matches_independent_double_formula", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[1024-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[128-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-16]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-256]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-3072]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-37984]", + "tests/check_qwen3_next_forward.py::test_qwen_moe_actual_tp4_shapes_and_independent_training_forward", + "tests/check_qwen3_next_forward.py::test_route_weights_are_batch_invariant", + "tests/check_qwen3_next_forward.py::test_shared_linear_vjp_and_empty_tokens", + "tests/check_qwen3_next_forward.py::test_stable_route_tie_boundary_and_router_gradient", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_backward_matches_recomputed_recurrence_vjp", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_forward_is_provider_exact_and_does_not_mutate_inputs", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_keeps_prompt_state_gradient_through_response", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[False]", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[True]", + "tests/check_qwen3_next_gdn_bridge.py::test_initial_state_vjp_matches_provider_directional_difference", + "tests/check_qwen3_next_gdn_sequence.py::test_1024_token_chunk_continuation_is_bitwise_exact", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad0]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad1]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad2]", + "tests/check_qwen3_next_gdn_sequence.py::test_chunk_boundary_retains_prompt_and_initial_state_gradients", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths0]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths1]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths2]", + "tests/check_qwen3_next_gdn_sequence.py::test_reserved_and_duplicate_slots_are_rejected", + "tests/check_qwen3_next_norm_providers.py::test_custom_op_has_distinct_native_and_cuda_paths", + "tests/check_qwen3_next_norm_providers.py::test_gdn_decode_provider_env_defaults_are_recorded", + "tests/check_qwen3_next_norm_providers.py::test_our_gated_op_is_batch_invariant", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_cuda]", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_native]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots0]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots2]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots3]", + "tests/check_qwen3_next_shared_core.py::test_independent_training_forward_matches_inference_and_retains_gradients", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[1024]", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[8]", + "tests/check_qwen3_next_shared_core.py::test_unimplemented_provider_profile_is_rejected", + "tests/test_qwen3_next_norm.py::test_bad_weight_shape_raises", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[16]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[1]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[2]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[32]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[48]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[64]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[8]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[128]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[2048]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_with_padding", + "tests/test_qwen3_next_norm.py::test_call_matches_forward", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[128]", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[2048]", + "tests/test_qwen3_next_norm.py::test_cuda_default_offset_preserves_plain_convention", + "tests/test_qwen3_next_norm.py::test_cuda_gated_backward_matches_autograd_golden", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_matches_golden_within_contract", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_bad_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_mismatched_gate", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_backward_uses_the_sigmoid_derivative", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_swish_is_an_alias_for_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_unit_weight_is_plain_norm_times_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_weight_offset_is_applied_in_fp32", + "tests/test_qwen3_next_norm.py::test_cuda_gated_wrapper_rejects_equal_numel_wrong_shape", + "tests/test_qwen3_next_norm.py::test_cuda_gated_zero_gate_zeroes_output", + "tests/test_qwen3_next_norm.py::test_cuda_offset_equals_explicit_fp32_weight", + "tests/test_qwen3_next_norm.py::test_cuda_offset_is_not_folded_through_bfloat16", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_backward_is_offset_aware", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_within_tolerance_of_golden", + "tests/test_qwen3_next_norm.py::test_deterministic_repeat", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype0]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype1]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype2]", + "tests/test_qwen3_next_norm.py::test_eps_inside_sqrt", + "tests/test_qwen3_next_norm.py::test_gated_batch_invariance_slice", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedHFOp]", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedOp]", + "tests/test_qwen3_next_norm.py::test_gated_conventions_diverge_in_low_precision", + "tests/test_qwen3_next_norm.py::test_gated_cuda_op_rejects_bad_activation_at_construction", + "tests/test_qwen3_next_norm.py::test_gated_extension_handles_empty_batch_and_nondefault_stream", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[dy_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[gate_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[rstd_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_shape]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_matches_hf_formula_fp32", + "tests/test_qwen3_next_norm.py::test_gated_shape_mismatch_raises", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_strict_matches_vllm_formula_fp32", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[128]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[2048]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_offset_applied_in_fp32_not_folded_into_bf16", + "tests/test_qwen3_next_norm.py::test_op_batch_invariance_on_device", + "tests/test_qwen3_next_norm.py::test_plain_reference_is_unchanged_by_the_offset_plumbing", + "tests/test_qwen3_next_norm.py::test_weight_offset_is_one", + "tests/test_qwen3_next_norm.py::test_zero_centred_cuda_constructor_rejects_missing_extension", + "tests/test_qwen3_next_norm.py::test_zero_centred_op_inherits_the_plain_reference", + "tests/test_qwen3_next_norm.py::test_zero_weight_is_identity_scaling" + ], + "case_ids_sha256": "694c931b65f9cfa5db963f2eca6d11bd309546c824a1df52f9da2ab128e83e0f", + "norm_gates": [ + "qwen3_next_rms_norm-forward.json", + "qwen3_next_rms_norm-gradient.json", + "rms_norm_gated-forward.json", + "rms_norm_gated-gradient.json" + ] + }, + "layer_requirements": { + "schema_version": 1, + "gates": { + "gdn": { + "script": "scripts/qwen3_next_tp_gdn_check.py", + "output_option": "--output", + "scope": "tp4_gdn_layer0", + "groups": { + "cases": [ + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "prompt-gradient", + "replicated-norm-gradient", + "hf-load-export" + ] + }, + "script_sha256": "cc4338893f90af004c51c20fc67d1a9a3f4bf8d26775277f72671c02983e4df5" + }, + "attention": { + "script": "scripts/qwen3_next_tp_attention_check.py", + "output_option": "--output", + "scope": "tp4_full_attention_layer3", + "groups": { + "attention.cases": [ + "hf-load-export", + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "batch4-varlen-reorder", + "sixteen-token-decode", + "prompt-gradient", + "kv-pair-gradient", + "qk-norm-gradient" + ] + }, + "script_sha256": "d27d43efb05415a8ef5892c3c2238a2b9744a4821f5466faf46c6510e6e01bec" + }, + "moe": { + "script": "scripts/qwen3_next_tp_moe_check.py", + "output_option": "--output", + "scope": "tp4_moe_block_layer0", + "groups": { + "moe.cases": [ + "hf-load-export-all512experts", + "routes-replicated-8", + "full-chunk-reorder-8", + "routes-replicated-64", + "full-chunk-reorder-64", + "routes-replicated-256", + "full-chunk-reorder-256", + "routes-replicated-1024", + "full-chunk-reorder-1024", + "training-forward", + "all-parameter-gradient", + "replicated-router-gradient" + ] + }, + "script_sha256": "d5c1bbbb82e408b65871b0cb1638d7a6cf8cfe07f0a3315a657b7dc232d544be" + }, + "adapters": { + "script": "scripts/qwen3_next_adapter_check.py", + "output_option": "--out", + "scope": "gdn_engine_adapter_component", + "groups": { + "cases": [ + "batch1-length8", + "batch1-length64", + "batch1-length256", + "batch1-length1024", + "batch4-length8", + "batch4-length64", + "batch4-length256", + "batch4-length1024", + "mixed-prefill-decode16-reorder" + ] + }, + "fields": { + "prompt_gradient": "passed", + "hf_conv_roundtrip": "passed", + "batch_invariance_capability_registered": false + }, + "script_sha256": "3ce45bb317237c1a06533116d65fb77c2a23b6f503ae46406ede543036eb0f20" + }, + "heads": { + "script": "scripts/qwen3_next_tp_head_check.py", + "output_option": "--output", + "scope": "tp4_embedding_lm_head_only", + "groups": { + "cases": [ + "hf-embedding-roundtrip", + "hf-lm-head-roundtrip", + "replicated-norm-gradient", + "nonzero-finite-embedding-head-gradient", + "embedding-repeat-100", + "batch-invariant-prompt8", + "batch-invariant-prompt64", + "batch-invariant-prompt256", + "batch-invariant-prompt1024", + "logprob-original-and-promoted-logits", + "entropy-interface" + ] + }, + "script_sha256": "0504185d21a75405c8e994bc57b016cf4ec357d8b16e7430772c11934f2af876" + } + }, + "scheduler_case_ids": [ + "p0008-b1-full", + "p0008-b1-chunked", + "p0008-b4-full", + "p0008-b4-chunked", + "p0064-b1-full", + "p0064-b1-chunked", + "p0064-b4-full", + "p0064-b4-chunked", + "p0256-b1-full", + "p0256-b1-chunked", + "p0256-b4-full", + "p0256-b4-chunked", + "p1024-b1-full", + "p1024-b1-chunked", + "p1024-b4-full", + "p1024-b4-chunked" + ], + "registry_sha256": "e3949a750cb27c1897a000f3b023f912629906612ae8949c1575d0acc36df5ec", + "case_ids_per_rank": [ + "adapters/cases/batch1-length1024", + "adapters/cases/batch1-length256", + "adapters/cases/batch1-length64", + "adapters/cases/batch1-length8", + "adapters/cases/batch4-length1024", + "adapters/cases/batch4-length256", + "adapters/cases/batch4-length64", + "adapters/cases/batch4-length8", + "adapters/cases/mixed-prefill-decode16-reorder", + "attention/attention.cases/batch4-varlen-reorder", + "attention/attention.cases/full-chunk-1024", + "attention/attention.cases/full-chunk-256", + "attention/attention.cases/full-chunk-64", + "attention/attention.cases/full-chunk-8", + "attention/attention.cases/hf-load-export", + "attention/attention.cases/kv-pair-gradient", + "attention/attention.cases/prompt-gradient", + "attention/attention.cases/qk-norm-gradient", + "attention/attention.cases/sixteen-token-decode", + "gdn/cases/full-chunk-1024", + "gdn/cases/full-chunk-256", + "gdn/cases/full-chunk-64", + "gdn/cases/full-chunk-8", + "gdn/cases/hf-load-export", + "gdn/cases/prompt-gradient", + "gdn/cases/replicated-norm-gradient", + "heads/cases/batch-invariant-prompt1024", + "heads/cases/batch-invariant-prompt256", + "heads/cases/batch-invariant-prompt64", + "heads/cases/batch-invariant-prompt8", + "heads/cases/embedding-repeat-100", + "heads/cases/entropy-interface", + "heads/cases/hf-embedding-roundtrip", + "heads/cases/hf-lm-head-roundtrip", + "heads/cases/logprob-original-and-promoted-logits", + "heads/cases/nonzero-finite-embedding-head-gradient", + "heads/cases/replicated-norm-gradient", + "moe/moe.cases/all-parameter-gradient", + "moe/moe.cases/full-chunk-reorder-1024", + "moe/moe.cases/full-chunk-reorder-256", + "moe/moe.cases/full-chunk-reorder-64", + "moe/moe.cases/full-chunk-reorder-8", + "moe/moe.cases/hf-load-export-all512experts", + "moe/moe.cases/replicated-router-gradient", + "moe/moe.cases/routes-replicated-1024", + "moe/moe.cases/routes-replicated-256", + "moe/moe.cases/routes-replicated-64", + "moe/moe.cases/routes-replicated-8", + "moe/moe.cases/training-forward" + ], + "case_ids_sha256": "be74417dfbd6031ba27978d06d04bb15daaab2aeb57d132c7e0d41176b28b46e" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "run_id": "20261009T031116Z-preflight-c67ec144-430891a5", + "stage": "preflight", + "suite": "all", + "execution_id": "430891a5bf164e1387feafceeadf2d43", + "attempt": "0", + "status": "passed", + "phase": "complete", + "scope": "four_gpu_infrastructure_and_operators_only", + "full_model_l2": "not_evaluated", + "evidence": { + "operators": { + "path": "attempts/0/operators/summary.json", + "sha256": "dedb24b6ac2a01d37eb795a001376ca0b200a03e417f8131688aac67c19c2ebd" + }, + "environment": { + "path": "attempts/0/environment.json", + "sha256": "5bae9cd9e76ff901168160af83cda3820a84008d32bbb2fe9e049cc8c9f666aa" + }, + "device_guards": { + "path": "attempts/0/device-guards.xml", + "sha256": "8682d7d2230a2c231890deb3861a03e08c675bbdf6cd9b9505205c2c34da1e22" + }, + "tp4": { + "path": "attempts/0/tp4.json", + "sha256": "94b8471a1b6c0c75c0af44a25f62b50d633bce4429a8f5de40cc7ab3ef721a9e" + }, + "checkpoint": { + "path": "attempts/0/checkpoint.json", + "sha256": "7ceb9dab2ce8c0a2551a970819f9f0adbb538f04c4124982458a42f997d7c934" + }, + "rollout_smoke": { + "path": "attempts/0/rollout-smoke.json", + "sha256": "f5427f8ff01398280f1a8b216a15702f7f344e947a000e1255f062d1e45801f0" + } + }, + "checkpoint": { + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "shards_verified": 41, + "metadata_sha256": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + } + }, + "provider_paths": { + "norm": "/source/rl_engine/_C.cpython-312-x86_64-linux-gnu.so", + "gdn": "vllm.third_party.flash_linear_attention.ops.fused_recurrent.fused_recurrent_gated_delta_rule_packed_decode" + } +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/preflight/rollout_smoke.json b/docs/usage/evidence/qwen3-next-chain-b200/preflight/rollout_smoke.json new file mode 100644 index 000000000..4029711ca --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/preflight/rollout_smoke.json @@ -0,0 +1,75 @@ +{ + "scope": "rollout_smoke_only", + "full_model_l2": "not_evaluated", + "batch_invariant_requested": false, + "moe_backend": "triton", + "model": "", + "tensor_parallel_size": 4, + "results": [ + { + "prompt_token_ids": [ + 785, + 6722, + 315, + 9625, + 374 + ], + "response_token_ids": [ + 12095, + 13, + 576, + 6722, + 315, + 9856, + 374, + 19846 + ], + "selected_logprobs": [ + -0.14352020621299744, + -0.7613688111305237, + -0.7894042134284973, + -0.4375315308570862, + -0.031600143760442734, + -1.0866872072219849, + -0.00048828122089616954, + -0.015291244722902775 + ], + "text": " Paris. The capital of Germany is Berlin" + }, + { + "prompt_token_ids": [ + 47866, + 220, + 22, + 5519, + 220, + 20, + 13, + 576, + 1102, + 374 + ], + "response_token_ids": [ + 510, + 32, + 13, + 220, + 16, + 16, + 198, + 33 + ], + "selected_logprobs": [ + -0.6616742610931396, + -0.00334596517495811, + -0.001652424456551671, + -0.5070273876190186, + -0.07833854109048843, + -1.0462173223495483, + -0.0008693729760125279, + -1.5497195136049413e-06 + ], + "text": ":\nA. 11\nB" + } + ] +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/preflight/run.json b/docs/usage/evidence/qwen3-next-chain-b200/preflight/run.json new file mode 100644 index 000000000..d7104619b --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/preflight/run.json @@ -0,0 +1,5248 @@ +{ + "run_id": "20261009T031116Z-preflight-c67ec144-430891a5", + "execution_id": "430891a5bf164e1387feafceeadf2d43", + "contract_version": 4, + "suite": "all", + "execution_gpus": 4, + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "stage": "preflight", + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source": "/source", + "python": "", + "cuda_home": "", + "checkpoint": "", + "memory": "512G", + "previous": null, + "status": "prepared", + "full_model_l2": "not_evaluated", + "environment": { + "identity": { + "base_prefix": "/miniconda3/envs/rlkernel", + "binary": "/python3.12", + "binary_sha256": "6a1eb3ffc29f3a6b0ece607b016b4cfa5ca3ac57b34f17ed3266b404f78d2729", + "build_tools": { + "ninja": { + "path": "/miniconda3/envs/rlkernel/bin/ninja", + "sha256": "08639e194fffa7f08b259fc4abfa4803aff66b64de52549cee42ec527d55cea6" + } + }, + "distributions": [ + { + "direct_url": null, + "metadata_sha256": "6f1038270be40f9b8c0bcf391c627e7d7f41ccdd19aa192d6eac1dbfc3b19abc", + "name": "GitPython", + "version": "3.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "3f71971502087521f123c9daa26bc12d31d3466738b567390b8602acad3be22a", + "name": "Jinja2", + "version": "3.1.6" + }, + { + "direct_url": null, + "metadata_sha256": "818fb343b7b6b99a32771bf4813521ae6440b4c7579b3ae46e32dd02da0afeee", + "name": "Markdown", + "version": "3.11" + }, + { + "direct_url": null, + "metadata_sha256": "dc1ee42cf8ecfeee0ab60b15b21d291833e0732548efcb7bb5b3564dca3e5bf7", + "name": "MarkupSafe", + "version": "3.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "de7389b142450a0014234286b0876f328439b823c355c73d0aed41fd67ec208c", + "name": "PyJWT", + "version": "2.15.1" + }, + { + "direct_url": null, + "metadata_sha256": "ffcad4415cafb22b8b536a61595e9ee13438b51d31b0763c1b273ce3bc58e840", + "name": "PyYAML", + "version": "6.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "8562d701cc52d9cafbb418942b0e072fc087ed8ddcf35cd10224c1b2ed8bdd91", + "name": "Pygments", + "version": "2.21.0" + }, + { + "direct_url": null, + "metadata_sha256": "b6c25fcfdcc495edf248a10ca4ad28327ef2ed6047a6ec5c6346e121414c7f21", + "name": "Werkzeug", + "version": "3.1.9" + }, + { + "direct_url": null, + "metadata_sha256": "55c400d24c71b581d9c0992f71df6047cf6c878bebe61a7d45d6e02dc0e4c510", + "name": "absl-py", + "version": "2.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "13db521f90a6a882027b2388eaa2ebf252945f9c2adb7e7e371da18239da4df0", + "name": "accelerate", + "version": "1.15.0" + }, + { + "direct_url": null, + "metadata_sha256": "86fe44e38e67872dd895c729044942ba2c2f934ae439a899fb83a186206b7fd4", + "name": "agent-detector", + "version": "2.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "afe11fe9f5aa54e734cdd51659bed8c89dc6bcd5aef0ad96f2d20149c8de5456", + "name": "aiohappyeyeballs", + "version": "2.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "570b307bc0b53fbbd3ed2ce0b7eca6bbf2fa73bf75e24a480f1034d8c0b832bf", + "name": "aiohttp", + "version": "3.14.3" + }, + { + "direct_url": null, + "metadata_sha256": "44b7f8e14c4770793e747fad50c9e0a6ee7357651d878554f192d94768dc14a8", + "name": "aiohttp-cors", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "648813a44a9ae0ab2f20ee86d2404dcc38e3f9e80c63316cf6e536735df14e54", + "name": "aiosignal", + "version": "1.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "f6a3f6668bacef7f73a2c19ccb2be910b2363d1731c4725cb04364d99e24935a", + "name": "annotated-doc", + "version": "0.0.5" + }, + { + "direct_url": null, + "metadata_sha256": "fc6d752cde6a6a4bff03474386de750e130b75da3c7815ee909f45b51fea98c8", + "name": "annotated-types", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "4e89d670a4b20029da30e5a9e8ebcbc844deff9c44209552bafd5537249c8b9e", + "name": "anthropic", + "version": "1.9.0" + }, + { + "direct_url": null, + "metadata_sha256": "b5a6f00800956387fcddab1fe1b5aa8502c249b86cfb16d58ed700f282f60142", + "name": "antlr4-python3-runtime", + "version": "4.9.3" + }, + { + "direct_url": null, + "metadata_sha256": "a6008defa9492cd08250217b134782cad1db4580e1d7ddf69cc2a2a48cea24e0", + "name": "anyio", + "version": "4.15.1" + }, + { + "direct_url": null, + "metadata_sha256": "7877c64ce8957237363f2df313819bb07f50752df016d14c5a5a99bec10f5deb", + "name": "apache-tvm-ffi", + "version": "0.1.11" + }, + { + "direct_url": null, + "metadata_sha256": "3543ca8f0e072c00ab111b20eba99ce86dbf93ada28988775bc2677284b3c07a", + "name": "astor", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "d4b328c09c024fe1e4d788a9c7715ad726095131b815cd35fd933268226f6269", + "name": "attrs", + "version": "26.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "4850c4d696a5e2a2ecbb3dd792b060acc1de79e09800669b0b9fc3a22c055e6d", + "name": "av", + "version": "19.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "863ff92208d0a02dabfa008bfe91846a5c401ded301e5687dca7dc63c911865f", + "name": "babel", + "version": "2.18.0" + }, + { + "direct_url": null, + "metadata_sha256": "f32e6df3197f05202e586624d95c5e217003d80cee655c165d533102f628df21", + "name": "backrefs", + "version": "8.0" + }, + { + "direct_url": null, + "metadata_sha256": "905c362f655fbc6d37a24686efc2b3bfbd3123b8ee5a443a43f6750d87455e90", + "name": "blake3", + "version": "1.0.10" + }, + { + "direct_url": null, + "metadata_sha256": "07c85682b6aefd5c9b48890d306c1604311902295704892ede48e5a83219a8d3", + "name": "blobfile", + "version": "3.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "2d582941a7081625a35f35a0c4a2e80f7737312e29c38e5fdb6fc08f9c113077", + "name": "bracex", + "version": "3.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "3b60c55bae0d0340c3a3fd918635bbfa3087579da66e0fd7f6be7a3782c0da3d", + "name": "cachetools", + "version": "7.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "5d11a6878d5bc3f22290281a19ef7b36daa95c910780950608b95cd788c7e12e", + "name": "cbor2", + "version": "6.1.4" + }, + { + "direct_url": null, + "metadata_sha256": "362c9942c48051f168ed2b9f2146266b7792d3c05e164cd6afc3f3b65884fdc9", + "name": "certifi", + "version": "2026.7.22" + }, + { + "direct_url": null, + "metadata_sha256": "b4abf1bcf1c1d8e0272d8007fc974499ea59e5f2a5b98af3c78a5e67515a9d87", + "name": "cffi", + "version": "2.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "766120f13c177446f51929a4d201104bc935b6d5a2a176cd6716edce757d3d95", + "name": "cfgv", + "version": "3.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "610e9a9d03ce837ffe6e42be5e02e70087f73863f7350bf7bb7f0511edcc5ec0", + "name": "charset-normalizer", + "version": "3.5.2" + }, + { + "direct_url": null, + "metadata_sha256": "7ad836b3147c9702546d9c28b4fa5be23b24445439db5d0d2a58d17281c84daa", + "name": "click", + "version": "8.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "4c5f00599ebcbf11d337e48a72784d256ca3d704fa9e9f5daadd60065e6776b7", + "name": "cloudpickle", + "version": "3.1.2" + }, + { + "direct_url": null, + "metadata_sha256": "a0970189e3ab7a596d6902d5f61f93b414f138f03d3cf19029145657bfceb382", + "name": "cmake", + "version": "4.1.2" + }, + { + "direct_url": null, + "metadata_sha256": "94a6ebf9718e55f254a43ce0d2f04e0d6d44e7141b6f3144a84feb6519a77bfd", + "name": "colorama", + "version": "0.4.6" + }, + { + "direct_url": null, + "metadata_sha256": "ca8ec227f406d970a645ec482b20619128dd34b9cf71159cc24e27db461a2711", + "name": "colorful", + "version": "0.5.8" + }, + { + "direct_url": null, + "metadata_sha256": "bbaa51b7e4d8f142bd075d01257c0572c0c844796d51426e35c8096a13e8da76", + "name": "compressed-tensors", + "version": "0.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "6063d8ff7ebc458d63a4332853d7ababf4ee2b86336362c8d2b12be6e998eb6b", + "name": "connectrpc", + "version": "0.11.1" + }, + { + "direct_url": null, + "metadata_sha256": "ac5f4b5a5f68080bd9c3fe77399fe8a1bff2ee5923c49db1df544dd054cbf15b", + "name": "cryptography", + "version": "50.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "f41d2f6b4616accca2f5e1dd47aa9e8937c28076cde698226d93e727751f3099", + "name": "cuda-bindings", + "version": "13.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "e5ca6ed34c687c6f4a4d157ad0a2cf06ec0316fe8c4c0ddeb666ad76dd6f30f4", + "name": "cuda-core", + "version": "1.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "89baadd9da23dce9990481519544115615ba3cbd2d1a41e09feea7756fffb378", + "name": "cuda-pathfinder", + "version": "1.8.2" + }, + { + "direct_url": null, + "metadata_sha256": "1ab914b9a57ca601df2e3cfe9608427b15d8afb78029076ace5d1caf9fd45f08", + "name": "cuda-python", + "version": "13.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "73d97a5eb578223b4895ef4f234574d14219cef9999ff7d0e92a3d0dd057bd3f", + "name": "cuda-tile", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "ae6f957fe66ed63081d1d83ee6e8838f3a0af2c6fce1223629d0dd6264565ead", + "name": "cuda-toolkit", + "version": "13.0.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "1f8e0ae51ad5feea63f58ed2e24f3da6f23ed548043235a14f7623d961dd9b64", + "name": "datasets", + "version": "5.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "153f4a4d6ff03dbe5c8ad7fe54bc2e7b989a4947b70f7aa77fbf652b394f2a2e", + "name": "depyf", + "version": "0.20.0" + }, + { + "direct_url": null, + "metadata_sha256": "ee09fc752d7271aac93079cfd63409957dc6b536c1ffd9355a01bf7297e72aa6", + "name": "detect-installer", + "version": "0.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "a7feab2c4f69fd5f85e5a3cb495a7f1870a6bf8199dcee5339e8118f7acbdc09", + "name": "dill", + "version": "0.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "fef3fde661fe30ba7bd1d78841a797136b2b3461705bb4eb92dc54f8308bbaae", + "name": "distlib", + "version": "0.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "fef3fde661fe30ba7bd1d78841a797136b2b3461705bb4eb92dc54f8308bbaae", + "name": "distlib", + "version": "0.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "a3ca2e39abe76c4a33d5fe4a2a84375ec9f25cdfdb7e1d8ea406bd6f1603205c", + "name": "dnspython", + "version": "2.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "92a07daad5e6ff461199de14e845d9b376e309ef916ce5379f3c9cd4e3b1623f", + "name": "dockerfile-parse", + "version": "2.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "5b566b25f0cbe4955d0b16844a7cc6d2002caa3bde2dfda7f301fd8870cbaa56", + "name": "docstring_parser", + "version": "0.18.0" + }, + { + "direct_url": null, + "metadata_sha256": "5a1080b5768c6c591e1c4f9c9812cafa808781b9eeb198043bf185e22d4a1613", + "name": "e2b", + "version": "2.51.0" + }, + { + "direct_url": null, + "metadata_sha256": "0a63979e0b946e16238e4339e60d9c1eb5a7ce3ea93dae78b5da9c65a6190540", + "name": "einops", + "version": "0.8.2" + }, + { + "direct_url": null, + "metadata_sha256": "16cbe67a57558f1d4bfdbc22a454434ba301750c57a62b1d3f5361c9e5cddc00", + "name": "email-validator", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "0617ddb55b90b42ddc9398dc7e91d61fe928a2504939f76526dc15b22d238caa", + "name": "fastapi", + "version": "0.136.3" + }, + { + "direct_url": null, + "metadata_sha256": "ddd82b9666c21988e234d623e2575e1b89fd4133260eeab43fc9a7c074f7024a", + "name": "fastapi-cli", + "version": "0.0.32" + }, + { + "direct_url": null, + "metadata_sha256": "611602e834d42e10433155ff5f5581358d732fa6b6f6f7820a8f79e74b1ce1f9", + "name": "fastapi-cloud-cli", + "version": "0.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "794524e4a9659bda6043721d848d028ea49996085a33326094fbaaa3f6e6b895", + "name": "fastar", + "version": "0.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "711401d36e60e10e35beb4d0f1bb42bf0c4d86339ae52f32b9aa4a4d790530dd", + "name": "fastsafetensors", + "version": "0.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "efaea9742e348c4c4bdcc6f616a33cc5aa3ae926494a72a46690b7da2f08ed5c", + "name": "filelock", + "version": "4.0.7" + }, + { + "direct_url": null, + "metadata_sha256": "99bd6c3f10781d3d2d350f2c3c9fc4765b55f25de8a6d6dd1f71501802d1255e", + "name": "fla-core", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "0a6ef979b75295cee2b5293ad4942b0cf2682e9e38680203064e0b70249c1a96", + "name": "flash-linear-attention", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "76b70a11ca82ea4606b529e7a8658cb3fe71412afa46f2ed57101dd91ba27558", + "name": "flashinfer-python", + "version": "0.6.18.post1" + }, + { + "direct_url": null, + "metadata_sha256": "ba8ff415192b5cbb90efce046e2271a00c8184afc362d8b47fbbc84d5e558b05", + "name": "frozenlist", + "version": "1.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "e7712831c80eb13b08fb7f7cc33988a8f24654af9eba7c6f5f943b2636e4306a", + "name": "fsspec", + "version": "2026.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "025de85c794878d0caa737869307447595f514ebf9599eacb5b1a501bae479b6", + "name": "fsspec", + "version": "2026.9.0" + }, + { + "direct_url": null, + "metadata_sha256": "ca94883bdeaa3740b45b6994443b445fd67c6e4a8064ac3bf9d92d2a5221eee8", + "name": "ghp-import", + "version": "2.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "a7e90983562a035cf767baa63d8c32bc37e1de7cad71ac7b6b2bc70a95bba4eb", + "name": "gitdb", + "version": "4.0.12" + }, + { + "direct_url": null, + "metadata_sha256": "dd96143ec79178bef685c1f5c0a58a87a66d003b421e605de65697308321d518", + "name": "google-api-core", + "version": "2.40.0" + }, + { + "direct_url": null, + "metadata_sha256": "0735d57088a83df2355e16843107fb0112abe2178fc5bb8132947a7ad962aa41", + "name": "google-auth", + "version": "2.59.1" + }, + { + "direct_url": null, + "metadata_sha256": "2f3aa9d9500d329560440e6a5a152e420aad5f5bbb23701f45b740be721784a1", + "name": "googleapis-common-protos", + "version": "1.75.5" + }, + { + "direct_url": null, + "metadata_sha256": "06d74ab04fdc03fad368868907f0d10e7d9f397aab58d58965c0b78ffaec34cc", + "name": "griffelib", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "7ee1c179e2c68a62968308b2f96f4f3469176ee3ac8bdb494ac80188d4d41271", + "name": "grpcio", + "version": "1.84.0" + }, + { + "direct_url": null, + "metadata_sha256": "04cf3a4a91575850f386f4fcfdedd8e7fbfba08feff038fbc1296d1e854db2dd", + "name": "h11", + "version": "0.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "b954a6ba4739c0cc878bb8ea27ea7c7154a48bb4b7c06dba9e9cf880cf0ec930", + "name": "h2", + "version": "4.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "6f0d7bf86e75d0bda1ceccc82367c0145ad0ec522c4d4f51bb454f467faadcc9", + "name": "hf-xet", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "f991b847550cf8225f69562902b5ccb591b2ce9a08fe07ef6e6d701bdb4694a7", + "name": "hpack", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "314d194165c4700034c1c67cee847d549a6d7091374c71f2cef0186ec56a3eb9", + "name": "httpcore", + "version": "1.0.9" + }, + { + "direct_url": null, + "metadata_sha256": "aed9767360bed1bcbda71e3b1a3c996603f86558bc77a1693ee3d09973d20cad", + "name": "httpcore2", + "version": "2.13.1" + }, + { + "direct_url": null, + "metadata_sha256": "8fa3bf3510c35e2eea9f523a1cace7120079cf51d76c4acea97de95806aaa14a", + "name": "httptools", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "3bf4804c215d111b6a4702cf9000021ab39807d1ed3207dd011b14b2843b2d14", + "name": "httpx", + "version": "0.28.1" + }, + { + "direct_url": null, + "metadata_sha256": "d11dd50813b8914bd9455e8b2b591171cd2b1618883943153afadc8bb9224678", + "name": "httpx2", + "version": "2.13.1" + }, + { + "direct_url": null, + "metadata_sha256": "43b119c34ad2b2aacc032a1a6a8feb142fdb5ca407a3519325d74dd53d8904df", + "name": "huggingface_hub", + "version": "1.33.0" + }, + { + "direct_url": null, + "metadata_sha256": "9ce850d5a6b775e5ef4a335f907e579a878e058213121b6eec567781ea68c585", + "name": "humming-kernels", + "version": "0.1.12" + }, + { + "direct_url": null, + "metadata_sha256": "67aa4f6717d82446a51ce350e7c4769eba0c4a22d2f428255cddd9d24b11a914", + "name": "hyperframe", + "version": "6.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd9511ede42f63b995c3f71944f908cb8f014048b63ecc1c8d420525a3354b59", + "name": "identify", + "version": "2.6.20" + }, + { + "direct_url": null, + "metadata_sha256": "af3c3a62bb5d82d6a43454684e0b1dedde27a21ea90eacfb1bed9814619f06d0", + "name": "idna", + "version": "3.20" + }, + { + "direct_url": null, + "metadata_sha256": "cf71393f3d079ce2e859384573e65aaacd1709bef700701f629df32398b598f0", + "name": "ijson", + "version": "3.5.1" + }, + { + "direct_url": null, + "metadata_sha256": "9305763e93d03df0e36516b1125fa046a6ebe37d44589e200e0593cf4bdfd980", + "name": "importlib_metadata", + "version": "9.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "32860c3c19b2e91f6cb5bd83400b5870cda051bc74a5a08822c8c666af0990db", + "name": "iniconfig", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "560faabb3d45d779e445a74e7e806a786f95f2200fa06d979603b7f0ee1cfb39", + "name": "instanttensor", + "version": "0.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "f6fc1f0d389e4245fc2a1a0fdfee09422e56200cb6f94659668456997ff4f7a9", + "name": "interegular", + "version": "0.3.3" + }, + { + "direct_url": null, + "metadata_sha256": "d10f300731197a4829b77f0c883bb3cf8a37ae8c76a302e095fa95d6427706d0", + "name": "jiter", + "version": "0.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "5b0c8d4b4c535a2432fb206223d774509b6e20af374c6a4b6f98bf72a7de6702", + "name": "jmespath", + "version": "1.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "6c4032c2e74273452cd77399af2ee85198f49c22da897983f26d2ed6f787c4e8", + "name": "jsonschema", + "version": "4.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "aaa6cd66f423729e8da397c9d533b7d731f6b25f3d6371b9338c36bdb9be74a0", + "name": "jsonschema-specifications", + "version": "2025.9.1" + }, + { + "direct_url": null, + "metadata_sha256": "f7c0687c032593106a2e5a3c241cf8043e7e2c222bddb0022b4cb2bf5de67115", + "name": "lark", + "version": "1.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "4511c6b04efc57a5f5333edc1f5f48b9f5412c3923d4bc19b715bdf47977511c", + "name": "linkify-it-py", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "be929870f6ecae18a819c56118f1101f3076e25ac6a4843ca6f4707ebd1e87c6", + "name": "llguidance", + "version": "1.7.6" + }, + { + "direct_url": null, + "metadata_sha256": "cf2b87669bead3e76ec54207f3354c13f73b50c32fcd13c8d627084b3379139e", + "name": "llvmlite", + "version": "0.47.0" + }, + { + "direct_url": null, + "metadata_sha256": "0a416d79c5543d94d2b18807626293d4f47655d1d22724c7ae296e413078aaba", + "name": "lm-format-enforcer", + "version": "0.11.3" + }, + { + "direct_url": null, + "metadata_sha256": "16bc1f59e34fd2a6633bd395276052eacd2c777b2cf72781e76b203f013a8fac", + "name": "loguru", + "version": "0.7.3" + }, + { + "direct_url": null, + "metadata_sha256": "5216d5acfd039a7b581a826186309594b228d37d2c8d56864124ea666689fe4e", + "name": "lxml", + "version": "6.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "f59d772b35315a928672bfcccfb89d82c0aac672c5275c048f7a93b79015bcea", + "name": "markdown-it-py", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "b137367ef0056711cbf5e53015df9168cab80373104e7899b1c0263a21d9c99c", + "name": "mcp", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "38e0b9edaae09e58cd1461fc961ced22672038a697930bedef153a74befb3de1", + "name": "mcp-types", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "799f49685865fd9cc8915fdb92a33e102eeeffad562b03b4aeffb6f422b771c1", + "name": "mdit-py-plugins", + "version": "0.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "481f9cbe08596c6eaba6343e0efa1b13b2362c30dce0610f7c08523f1d98388d", + "name": "mdurl", + "version": "0.1.2" + }, + { + "direct_url": "{\"dir_info\": {\"editable\": true}, \"url\": \"file:///Megatron-LM-training\"}", + "metadata_sha256": "2876c0c760bbfc93bd7d737bf0db2866a937308a7c1707c3a2bb59d4795986ff", + "name": "megatron-core", + "version": "0.16.0rc0" + }, + { + "direct_url": null, + "metadata_sha256": "a6e34d488c879f57ce042bec38f8864ba3ea7d6ecf0ab757fc88fe8dc0a22f26", + "name": "memray", + "version": "1.20.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd26d80dc9676b1fb8c894355bd525fbe7f49a6a86a555c72e9ec6d927247c33", + "name": "mergedeep", + "version": "1.3.4" + }, + { + "direct_url": null, + "metadata_sha256": "dd1b3b89e88d1c65a26e6e72dd075eabbc220bfb138769ec8b64578ee911795c", + "name": "mistral_common", + "version": "1.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "4859847a9f6321daf8849cf7fd1542ff430db6563a2abf9ac0d62a5b21bd951d", + "name": "mkdocs", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "1729fc31479f2582486cdc85397417659dd3b2fb3f920553de66cfe59d5f0b3e", + "name": "mkdocs-awesome-nav", + "version": "3.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "88b4b7b7c0aba5547befdedaf515c8df4867361daf55ff60b72578464d72dcbe", + "name": "mkdocs-get-deps", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "ad33bb33fb16b1f69689c4682550e97232154e367e2c8c8aee9dad0f10d269ce", + "name": "mkdocs-git-revision-date-localized-plugin", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "ed69fbfb9ac00c10c5a383a12ff9d2b9919ae184e408554434199211643d6040", + "name": "mkdocs-material", + "version": "9.7.7" + }, + { + "direct_url": null, + "metadata_sha256": "d1c549b61701148b97f8246bc924b2840e504b37b0ce7a27e78ddf81261e5363", + "name": "mkdocs-material-extensions", + "version": "1.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "4ad6171f3bf6812e4de90670ff0089d445093d4fe1d05d55f17b96a4a192a816", + "name": "ml_dtypes", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "4ad6171f3bf6812e4de90670ff0089d445093d4fe1d05d55f17b96a4a192a816", + "name": "ml_dtypes", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "b0dbdfa30ab6b1ce637a794899c9e43019182b6d1ab2d07b90f647f7331eba6b", + "name": "model-hosting-container-standards", + "version": "0.1.16" + }, + { + "direct_url": null, + "metadata_sha256": "95424470e481cfa8d18b30963b6de3aafe16614b1ea0414e184a008571dde84f", + "name": "mpmath", + "version": "1.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "eb184d83489401903615ce8a78d98d5b933dec0f7246811d396a529915fe797c", + "name": "msgpack", + "version": "1.2.3" + }, + { + "direct_url": null, + "metadata_sha256": "520006303d6a0e859970b83f7d452196e2e8f6dab08f6dcf1ba5823c1230025f", + "name": "msgspec", + "version": "0.22.0" + }, + { + "direct_url": null, + "metadata_sha256": "010d2fe039006070a711a476b171b7b7da5c29ccad3c4eecd77ef3711b07c2d0", + "name": "multidict", + "version": "6.9.1" + }, + { + "direct_url": null, + "metadata_sha256": "235634cc7ebda45f8a84dfdb1b9b35ac1a77a1888b34650c3a616d23e4a7e93f", + "name": "multiprocess", + "version": "0.70.19" + }, + { + "direct_url": null, + "metadata_sha256": "7c545b4b3e5e83d3fde41352272c10cb9deeaba5b7138fbf24383e952af8822e", + "name": "natsort", + "version": "8.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "311ee8cdaeaf9f11acf51cda9c3b5b191f76ce9d98bc3418164c3189bbc37a08", + "name": "nccl4py", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "66360539217852c3b44b37f409eade7e1559baf018bb363bacb2aa3a9759b203", + "name": "networkx", + "version": "3.7" + }, + { + "direct_url": null, + "metadata_sha256": "e8b0b1746808b87816c47e4531780ded7f246bed9575a89e8b40200aa81e9a13", + "name": "ninja", + "version": "1.13.2" + }, + { + "direct_url": null, + "metadata_sha256": "77c1117f0dbc41560ddc6e6b37b542fb4e88afcd4ef82ec06593e5bbd5f37121", + "name": "nodeenv", + "version": "1.11.0" + }, + { + "direct_url": null, + "metadata_sha256": "9af629898406c9eaa69897fe09220dc483270cdba89f6b20bf0165cdf0e1668e", + "name": "numba", + "version": "0.65.0" + }, + { + "direct_url": null, + "metadata_sha256": "0c7281a81cf76e40b27c1385ffd8a215d7227adc219f177ce807ead9e91994a5", + "name": "numpy", + "version": "2.3.5" + }, + { + "direct_url": null, + "metadata_sha256": "0c7281a81cf76e40b27c1385ffd8a215d7227adc219f177ce807ead9e91994a5", + "name": "numpy", + "version": "2.3.5" + }, + { + "direct_url": null, + "metadata_sha256": "bab990ced4537ce74ef5961ca933c4c6fd604fd09a5827a4a428c55bcb0be35b", + "name": "nvdlfw_inspect", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "10f6595146332d35f7f15a000e08b5c81432528c5d026470c1d03f0c1399fb70", + "name": "nvidia-cublas", + "version": "13.1.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "58e933b4ac8e49f098b16ab7480d03bd792afc3d1db10d0aacbdcc2c62e48fa3", + "name": "nvidia-cuda-cccl", + "version": "13.3.4.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "baac937970681d41aa0c3708b3d55d73f8d29e70aceaac0e71fe6d1548e94a09", + "name": "nvidia-cuda-crt", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "8d51e5c76ef5707b0b80d5ec9a791c0f11a480ab721820cf100a3cc566017eef", + "name": "nvidia-cuda-cupti", + "version": "13.0.85" + }, + { + "direct_url": null, + "metadata_sha256": "724bf56e61ddef5d4c2482ff64103a973b911b110b668acaea5373f6c83c1c5c", + "name": "nvidia-cuda-nvcc", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "c54801dbd815d534519a761f1f328325aa0f1d1f1659aa969fa74e7a2c76eee9", + "name": "nvidia-cuda-nvdisasm", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "af51f248363020b9fdfd2743704e901bf3d19a1a1ce1fe44fb98ba148bfc0157", + "name": "nvidia-cuda-nvrtc", + "version": "13.0.88" + }, + { + "direct_url": null, + "metadata_sha256": "055f7fc69a5a2159de82cd0718da02c8852e81c8a71ebb117b8e799badd7167e", + "name": "nvidia-cuda-runtime", + "version": "13.0.96" + }, + { + "direct_url": null, + "metadata_sha256": "df18686dbdb3074ca375a1d6c623a04102fd348950c67a721397349c6d4f0477", + "name": "nvidia-cudnn-cu13", + "version": "9.20.0.48" + }, + { + "direct_url": null, + "metadata_sha256": "abd0ca3f67af19a4d383ff2a012ae0090d4731c6492fd47236615308a50b3981", + "name": "nvidia-cudnn-frontend", + "version": "1.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "4a78545d424d0c5038353f7046a8ae40ceaf312045d71399eac9511f5fc15434", + "name": "nvidia-cufft", + "version": "12.0.0.61" + }, + { + "direct_url": null, + "metadata_sha256": "e49b909195c03ddbe203729d9b31dd88e3f207368333d1909c67c6b130a0c696", + "name": "nvidia-cufile", + "version": "1.15.1.6" + }, + { + "direct_url": null, + "metadata_sha256": "bb15a754c6be32c23aaac13c1cfa7a8ce53d92bc26652ec3b609f7a5cce3e7d1", + "name": "nvidia-curand", + "version": "10.4.0.35" + }, + { + "direct_url": null, + "metadata_sha256": "0dd58f677811eac04901a793740932e5a2a8fff2f5453aa6351614eb18391bb6", + "name": "nvidia-cusolver", + "version": "12.0.4.66" + }, + { + "direct_url": null, + "metadata_sha256": "8aeb284782ef6883095a5d1c110e221cad023a99afcfd5cdb4969a25e146d562", + "name": "nvidia-cusparse", + "version": "12.6.3.3" + }, + { + "direct_url": null, + "metadata_sha256": "09555246122896eaca3b8313eecfca4b339fefd3b597874cb9fe3bf29dab38c9", + "name": "nvidia-cusparselt-cu13", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "ac77bac79fbfb0c52ac6e2e5abc936b1e127be2192f0cbc27b00be3125fa86ae", + "name": "nvidia-cutlass-dsl", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "1ec968ec7c4083f7fe4e1fb8384c7e9b853a81491fef9f4cb1cf755961aaedf6", + "name": "nvidia-cutlass-dsl-libs-base", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "cc6f3846cd820013eaa6e2665c493d70c607be6ce7349b939eb4742888470585", + "name": "nvidia-cutlass-dsl-libs-core", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "2357d0df2d0d17c0b16663b8a89df53f751b19721f66821fd88fa78112c08e55", + "name": "nvidia-cutlass-dsl-libs-cu12", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "244590c25662dcf777b1daae97a858afe1a1aec62e5e6678b217007a459ab552", + "name": "nvidia-cutlass-dsl-libs-cu13", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "c3a25ada01f57418c1b897406c3abab18834e6adc573ab7b060620c453afb6db", + "name": "nvidia-ml-py", + "version": "13.615.71" + }, + { + "direct_url": null, + "metadata_sha256": "56baad4e7f699902b03b17580933f7bd50b6ea97b7df9d7e807750973da7529c", + "name": "nvidia-nccl-cu13", + "version": "2.29.7" + }, + { + "direct_url": null, + "metadata_sha256": "98810ef0ab8badc369e6a46a038f8ee9f412c0c753fb5ad580544f23a0aa7962", + "name": "nvidia-nvjitlink", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "b0f54ee21909d19640a58e05da755c91763eb5725f544fd0d4b84b2f5f94deba", + "name": "nvidia-nvshmem-cu13", + "version": "3.4.5" + }, + { + "direct_url": null, + "metadata_sha256": "06dc1a593c7e8b8c3f29184228c83f8f7ef57787ad91f3e5bcae1d238dd3092a", + "name": "nvidia-nvtx", + "version": "13.0.85" + }, + { + "direct_url": null, + "metadata_sha256": "32ee63450a437b6a6ed227ff6549144aa596197a322993521ec7af826ebd413e", + "name": "nvidia-nvvm", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "32c2efdcd2c673b3b7f35ca9c2cccefaad36f1f0a920648a13cad85f6a5767b2", + "name": "nvtx", + "version": "0.2.15" + }, + { + "direct_url": null, + "metadata_sha256": "3419d80e114a2c19fa9bd3582939a3942f19673055707ba6ca2ca489d58b41e0", + "name": "omegaconf", + "version": "2.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "28971076ce9c279d4b889496b046d55a1e05b02fb9851ceb717e9a10df799572", + "name": "onnx", + "version": "1.23.1" + }, + { + "direct_url": null, + "metadata_sha256": "1246f5a4d8295907a42e809ed9173ede2510ec9d260d2168989d126564897fa5", + "name": "onnx-ir", + "version": "1.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "e14643636835759700dff286f949c5ec34e7eac7ac47f44096414f0e0f1c3101", + "name": "onnxscript", + "version": "0.7.2" + }, + { + "direct_url": null, + "metadata_sha256": "00f847e99939207bd70dfd806428f6b20a3d01074b59325e4c76149a2e19be26", + "name": "openai", + "version": "3.22.1" + }, + { + "direct_url": null, + "metadata_sha256": "598d3ad5a22a14a7c4f1d218b43e345f32b0ba094b753467bae8a3f708fd48cb", + "name": "openai-agents", + "version": "0.22.3" + }, + { + "direct_url": null, + "metadata_sha256": "5a0afcb1ce845e05da12beb1767f5d2749bbc9e9050718c6b9fa3c225713c9eb", + "name": "openai-harmony", + "version": "0.0.8" + }, + { + "direct_url": null, + "metadata_sha256": "e86a6b6fcbbe152805f782c57df321002892e163019574877e9829272e25eb4e", + "name": "opencensus", + "version": "0.11.4" + }, + { + "direct_url": null, + "metadata_sha256": "53d669c8bd3d32d3275153b454e515ca5cc6dec92fae3a98309b5a2b19fe6d2d", + "name": "opencensus-context", + "version": "0.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "19778b6d66b0e45bf73e11fa37a208949d5b393aef914627394d5601455546a6", + "name": "opencv-python-headless", + "version": "5.0.0.93" + }, + { + "direct_url": null, + "metadata_sha256": "19778b6d66b0e45bf73e11fa37a208949d5b393aef914627394d5601455546a6", + "name": "opencv-python-headless", + "version": "5.0.0.93" + }, + { + "direct_url": null, + "metadata_sha256": "a3f5434fa7c80f7f7abc82173da639c8e9c59d30b4027182645562bd3d2f4f97", + "name": "opentelemetry-api", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "8611977ea596e4827874582e86250618444e1c718229dddfc16e5ea437ce5fcb", + "name": "opentelemetry-exporter-http-transport", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "2cfd41e5ca33292d987ba71fa6186d11e16ed66888f3a26f8a3a99060c4b5e90", + "name": "opentelemetry-exporter-otlp", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "3bb4494220732d4bf10e1dba231ea7638cedaa5362e1f23a50d34a14f520fea8", + "name": "opentelemetry-exporter-otlp-common", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "27fb1c8aa5c2cd07776f9f3281fc618cd3feb96017757c33d2b3586fb7fec88b", + "name": "opentelemetry-exporter-otlp-proto-common", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "5cba6098cdd0bfb06853a6c704a2451c4f82c9dea376a30b59ecd279296648ad", + "name": "opentelemetry-exporter-otlp-proto-grpc", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "6f53ef1c172ebf87af69b9ef390aa908506d0cd14bc7811985fdd937a4058808", + "name": "opentelemetry-exporter-otlp-proto-http", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "1910f4e7ebd497e98b6d231e10275288fda2cd1885117575706c62f45e065889", + "name": "opentelemetry-exporter-prometheus", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "fab18b721e30be41448be252e1dca43b48e7f15d971e0bb552492c0ef4b07bee", + "name": "opentelemetry-proto", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "3644a79f55762a646799ff52b9d837e01c8192b7b28f735a383f55c90edb9bc2", + "name": "opentelemetry-sdk", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "add3db481f7f401f65cfbddb058fde3bb4c9dd7b61064a84f8598ad7efe0b11c", + "name": "opentelemetry-semantic-conventions", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "0dfff30e912520a226bcf7a547393484cfcd8c738439c7b48418f61c95109480", + "name": "opentelemetry-semantic-conventions-ai", + "version": "0.5.1" + }, + { + "direct_url": null, + "metadata_sha256": "210ce26bad0a245a72831b4fa029708c245d4d670a88c8d5a69b1446c24a95e4", + "name": "orjson", + "version": "3.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "35ff73511848f5f934ccc39d538014716ec4579e76d54e0e407ff51794a7939c", + "name": "outlines_core", + "version": "0.2.14" + }, + { + "direct_url": null, + "metadata_sha256": "8ee2f7138ade46b6e348a6d099612f5bd6caff13511f3b4144327f37ce50eacf", + "name": "packaging", + "version": "26.3" + }, + { + "direct_url": null, + "metadata_sha256": "a4ab87bf8083001f25ccdc46095f05b678b3569dd58edc2cf941e3e7f64d7c88", + "name": "paginate", + "version": "0.5.7" + }, + { + "direct_url": null, + "metadata_sha256": "1de96a6c28c2e5613c9c87cd4ad9484791001cf58df43cf2ba74d5c4f85f0ad2", + "name": "pandas", + "version": "3.0.6" + }, + { + "direct_url": null, + "metadata_sha256": "d05b8d05da9f78176b2eefaacdfaa5e96708ec4f488daea8bbc52e3ed1bc3954", + "name": "partial-json-parser", + "version": "0.2.1.1.post7" + }, + { + "direct_url": null, + "metadata_sha256": "c1d126edceac2685e29403a8ae3a27c47143dce1f0252fa3931771562f1e2b4f", + "name": "pathspec", + "version": "1.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "30325dc8ce17bc64f9dbc0a449232fd35841a019df22a6f481007c9c5a28c1cb", + "name": "pillow", + "version": "12.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "cbc0b7b6e63b50dcb7c17cf3526a9304f285d9a31353adf3b22acc2059ab23f5", + "name": "pip", + "version": "25.0.1" + }, + { + "direct_url": "{\"dir_info\": {}, \"url\": \"file:///work\"}", + "metadata_sha256": "6ba03b5bc457a2a3d92468729501b5892a0d38ebcc36766c58859449498c5743", + "name": "pip", + "version": "26.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "0421937c4410b61c5325233d5b7671ae933bae8de174f87586ac55aa804851ea", + "name": "platformdirs", + "version": "4.12.2" + }, + { + "direct_url": null, + "metadata_sha256": "2bcffab42626e1fb50d6329765619312d30fe7f4880e98dcee99c92ebd283bb4", + "name": "pluggy", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "7e7562ba7c032f8edd02641ae71b1ac2d8f388103a68d777a7e907d19e75bc17", + "name": "pre_commit", + "version": "4.6.2" + }, + { + "direct_url": null, + "metadata_sha256": "bbe0a7662602ddd23f929fe0ee98e9d04406e138aeee18ce4861af186ea6060d", + "name": "prometheus-fastapi-instrumentator", + "version": "8.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "ece4a61f3ffb92a083fd5e47e180e3e070342e60a3bd93876a879e79a643e821", + "name": "prometheus_client", + "version": "0.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "5feba21a58eaa126e7e7739e57e2572e5bb251fcbf56e439e508acc47d769314", + "name": "propcache", + "version": "0.5.4" + }, + { + "direct_url": null, + "metadata_sha256": "3f136dbf7239c987a7685acd33440cc5efd6c4107b4b11c425201b4de70ae36f", + "name": "proto-plus", + "version": "1.29.0" + }, + { + "direct_url": null, + "metadata_sha256": "118b5ad013120a7a6e24714595ad776bf264d7b0060389133310d18ea1480902", + "name": "protobuf", + "version": "7.36.2" + }, + { + "direct_url": null, + "metadata_sha256": "0849f5a519bf9bc23ef204443fdd8d6d10678863acac7ca9340fc11bfba5a856", + "name": "protobuf-py", + "version": "0.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "eab5f2f4fd98f67a710a8fb1975b64ffa880a4f977566f022c567e08e324ccd6", + "name": "protobuf-py-ext", + "version": "0.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "39009938840de3a8b2a37eb4668d2601aae8c74e4b74743f73e59996b5b7e6e1", + "name": "psutil", + "version": "7.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "df44b58e8a4cfe57f65773ec47f7bdf2a14c8f5f73a7abf331a6b6237d6d691a", + "name": "py-cpuinfo", + "version": "9.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "2fd4a9efc5e5c74ae4c2fcf1970193c524c62ab22af8d5e66ebf7df9e6e46e83", + "name": "py-spy", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "d2ccdeb15cddedc81637a83e40baa6397fe269023b738d0fc3cb2d90722e290b", + "name": "pyarrow", + "version": "25.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "47b9f28e971a56f5adf949e0bcf105b0bf6587946566ecf197a2819d8848cc01", + "name": "pyasn1", + "version": "0.6.4" + }, + { + "direct_url": null, + "metadata_sha256": "82ce4c01c6d36841b9801fcdabab9bfe61d0b5e4e440c275941d8a2d4a790730", + "name": "pyasn1_modules", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "45cb345e4c12f63bc843b8c88902cc44c4d624a55aaef8cd5ffbc0ad16356fbe", + "name": "pybase64", + "version": "1.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "d311ae661edeac8ff029ab2960d065a7e792ebf8f79af682daa53109fe81318b", + "name": "pybind11", + "version": "3.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "cce9c0d440d065d4cdfb0d00004b8ddd65cf363a740efc5b0920b29201a59cd9", + "name": "pycountry", + "version": "26.2.16" + }, + { + "direct_url": null, + "metadata_sha256": "a1e33542883c249bf6c263b0023b9ea8a6131a77d9cb2cbc88316968e5eada83", + "name": "pycparser", + "version": "3.0" + }, + { + "direct_url": null, + "metadata_sha256": "faffcc4d7d359cb1047a9f67f7c65096b838c6db6c62852ef20fb27d55649a95", + "name": "pycryptodomex", + "version": "3.23.0" + }, + { + "direct_url": null, + "metadata_sha256": "98929f4cb80451dc3c6c8cd541a3081dccf0dee94afe7d9fa5c214a18ff236ce", + "name": "pydantic", + "version": "2.13.5" + }, + { + "direct_url": null, + "metadata_sha256": "8eccadbe707db97c397fb79073fe791b7998ef3a85f04f817f8991f7697b190b", + "name": "pydantic-extra-types", + "version": "2.11.1" + }, + { + "direct_url": null, + "metadata_sha256": "8f00c91deb34399316a5386eb2e76fe09f14a08dc3045f2e7dce9bf8573796bd", + "name": "pydantic-settings", + "version": "2.15.0" + }, + { + "direct_url": null, + "metadata_sha256": "66c729edddc20bf2764bb18bd87d907b08690e50355f39b97acc737b26d1d164", + "name": "pydantic_core", + "version": "2.46.5" + }, + { + "direct_url": null, + "metadata_sha256": "394500d78a0c1a433ae8ca3693152c08f6a901121d4b069cf1540a19759e2950", + "name": "pylatexenc", + "version": "2.11" + }, + { + "direct_url": null, + "metadata_sha256": "df2e9e9847a2aea0ae6e20fd325aeb16cf3ce7f8913462db6c2398363cd0c0bf", + "name": "pymdown-extensions", + "version": "12.1" + }, + { + "direct_url": null, + "metadata_sha256": "82fcfe724db9f0b51348da89f4f5cdc0b08d08882b1bbc0ca4913d3a0a93bcb9", + "name": "pynvvideocodec", + "version": "2.0.4" + }, + { + "direct_url": null, + "metadata_sha256": "3722422cc1478b175879143dfb78f98b7a5f53f4f684d71b7054fe2e8acd3b89", + "name": "pyqwest", + "version": "0.10.0" + }, + { + "direct_url": null, + "metadata_sha256": "7d1d1c276b7c372d55d17ac7d30f0a4b80a746e147347b8510d1355eea7f80c8", + "name": "pytest", + "version": "9.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "89e7c1c932e52b74bdcaf504389d2d1a2d7ca559b02bf5a09fc80ebd58ad10f7", + "name": "python-dateutil", + "version": "2.9.0.post0" + }, + { + "direct_url": null, + "metadata_sha256": "54f30f811841b6d772f31715712c85bfe0041839cb071f78daf41c700a98642b", + "name": "python-discovery", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "54f30f811841b6d772f31715712c85bfe0041839cb071f78daf41c700a98642b", + "name": "python-discovery", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "0cc19efd76cfbf3bcb2cb0d3ab82191036855859455aa3812c5e9e591e3f34e8", + "name": "python-dotenv", + "version": "1.2.3" + }, + { + "direct_url": null, + "metadata_sha256": "1d866c6124631b9ce1797ad412fff298ab53fc2d95210281d7c8f20e920753fa", + "name": "python-json-logger", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "2d18a1e7286d92a656ead5ec6f83d5ae6dc858634624f6b264703ae88d24d718", + "name": "python-multipart", + "version": "0.0.32" + }, + { + "direct_url": null, + "metadata_sha256": "beaa0efe9ba4b34843f5a0fc7379a73f10e95adb8cc0c31f359ab6f3a42b4def", + "name": "pyyaml_env_tag", + "version": "1.1" + }, + { + "direct_url": null, + "metadata_sha256": "238dc769e22d4f5626750cdff36e920e4a8d69c10d88de6d79b40a59cc13d873", + "name": "pyzmq", + "version": "27.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "de0a5e855bb5bb78b7acdcd2ca60619c6a0c109814881589caf158ec07155662", + "name": "quack-kernels", + "version": "0.6.5" + }, + { + "direct_url": null, + "metadata_sha256": "961ffef199b876fb4d7b10903d78e79f359d703b1638834c61d70b9879932918", + "name": "qwen-vl-utils", + "version": "0.0.14" + }, + { + "direct_url": null, + "metadata_sha256": "faf6ab9027d12de992827a2d8a224996fe6747a8c5f7d31ae495983dc73eefe9", + "name": "ray", + "version": "2.54.0" + }, + { + "direct_url": null, + "metadata_sha256": "c50d8b3ff4d113925b60dc47d1d28e87248a3338024241b0a3a66c8794fbce0c", + "name": "referencing", + "version": "0.37.0" + }, + { + "direct_url": null, + "metadata_sha256": "02acdc52d6f21d5f4b172254daaa94edfaa44c9ebe14d1c00cc4c8fe99b0e1df", + "name": "regex", + "version": "2026.9.29" + }, + { + "direct_url": null, + "metadata_sha256": "ac08207697217d1ffde8a161b424d77d6e2af6b62630fa26d75d08f11076cdca", + "name": "requests", + "version": "2.34.2" + }, + { + "direct_url": null, + "metadata_sha256": "f1abd635c3dff607a4fd654c62a88d9d4c21843cfc9176116c156f4269ca21b5", + "name": "rich", + "version": "15.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "932ff7743a756d0efcc45528d64c275ac3cb40a8dd1787ea10cb303907f0ae4f", + "name": "rich-toolkit", + "version": "0.20.5" + }, + { + "direct_url": null, + "metadata_sha256": "294a1405c0fa34b5f735bcb46459050436849a1e584c643544de99c07c529fb7", + "name": "rignore", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "5e54dd00b4ad336c5161d47de2a5c2212090c44629c28b6538b156256e49282d", + "name": "rpds-py", + "version": "2026.6.3" + }, + { + "direct_url": null, + "metadata_sha256": "0d5895abd80bfc0027c02943abaea4547061b9004bd134950d640d619a697835", + "name": "safetensors", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "91d5de3f641f33a8fbb4b6e91772da68d50b68686971d7b66af2068f2e77b694", + "name": "scipy", + "version": "1.17.1" + }, + { + "direct_url": null, + "metadata_sha256": "297fb30f701a800489c12893a951da3e5bd1f80061a1f43f0d3e9f1d4c6bc6fd", + "name": "sentencepiece", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "4245e0388ddf2048a38ae2a24a3d2c583408b2454aadc680d3c3beede639db3f", + "name": "sentry-sdk", + "version": "2.71.0" + }, + { + "direct_url": null, + "metadata_sha256": "ae8a9e6feec1a76e954d65ea48ac57842c9a7bfb5ac6e5ea82400a5ba9f71a98", + "name": "setproctitle", + "version": "1.3.7" + }, + { + "direct_url": null, + "metadata_sha256": "341d00772017437d0f6e3c943ae353f243c39fedfba403aea47cced927a76516", + "name": "setuptools", + "version": "79.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "ff4bcfb192bd542ed8f1794fb32ffc9eabd932d6e03cb00a4ad5e35a2469af88", + "name": "setuptools", + "version": "80.10.2" + }, + { + "direct_url": null, + "metadata_sha256": "f1e5a532fb8cda0bbc370e3db6cb9cea72a065d12ddd6a14976ba3cf66264221", + "name": "shellingham", + "version": "1.5.4" + }, + { + "direct_url": null, + "metadata_sha256": "2aba2cfd9c2ad7625a5d374d141af317d8f92d3534997bf98d127e52848dfc81", + "name": "six", + "version": "1.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "69ae2dfe547624be97fae348e1cfa3793f8854eed32cc1603badedc7d48fb36e", + "name": "smart_open", + "version": "8.0.2" + }, + { + "direct_url": null, + "metadata_sha256": "d415e6c6de7dee117d254a342668c489931bc88eac7ec8678b452078e366da6e", + "name": "smmap", + "version": "5.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "093bc4f0740a6fc28692e616aa8fe68d7e1d76426cc5a5faf9ea722a8ee7aaae", + "name": "sniffio", + "version": "1.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "b3cef071eb1dbeaa76a1273fe2ca2cc8ef36e835165253952d93780962529ac1", + "name": "sse-starlette", + "version": "3.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "3c01ca830e213f0311fe37bc3b46b8ab230a5e7acb894bf0fc8785cb7ccfed48", + "name": "starlette", + "version": "1.7.0" + }, + { + "direct_url": null, + "metadata_sha256": "6017ca508a293cf47a88a78cb330e9cbd131d74ec3c7fbf89bd4300ed3129d30", + "name": "supervisor", + "version": "4.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "fd5eb4925b04f9bffbc6c4f92bf8aea7243b918b43cd359493fce48a7dd3b336", + "name": "sympy", + "version": "1.14.0" + }, + { + "direct_url": null, + "metadata_sha256": "f09f0e24282c5a86346bcd5b10ae5ff81869fa8ef69c3ba524bd0a817a87dda9", + "name": "tabulate", + "version": "0.10.0" + }, + { + "direct_url": null, + "metadata_sha256": "519fa19c146fd58a0a75ecf1461e4bd98f9c06d01800c37d4a80f5fef095f4e1", + "name": "tensorboard", + "version": "2.21.0" + }, + { + "direct_url": null, + "metadata_sha256": "1af7ad76e4073b01ab147eb3c1d8e38b95d38062c6c9bc63890150738642e8eb", + "name": "tensorboard-data-server", + "version": "0.7.2" + }, + { + "direct_url": null, + "metadata_sha256": "9e597f62fc07e3b931d5c8fb0e90706fb6d45465cfb5d01dbd27ba7fc135c02c", + "name": "tensorstore", + "version": "0.1.80" + }, + { + "direct_url": null, + "metadata_sha256": "0da993d16ef6326f471796fcb065622f309c5c1aae6c6295b488ea64bb5c880c", + "name": "textual", + "version": "8.2.8" + }, + { + "direct_url": null, + "metadata_sha256": "52ca6148d4fd1497254855fa610cfdde99191cd42bce7a452fd3a68855504ac0", + "name": "tiktoken", + "version": "0.14.0" + }, + { + "direct_url": null, + "metadata_sha256": "0df9eb495cfb477dcbdfbdcd8c04d952d3eb00d77831630760571e13545398e5", + "name": "tilelang", + "version": "0.1.12" + }, + { + "direct_url": null, + "metadata_sha256": "802b576e011dc61bd2681593e8d802714b6c4ce636a9cf87035026db32ce6262", + "name": "tokenizers", + "version": "0.23.2" + }, + { + "direct_url": null, + "metadata_sha256": "4e1631b2164a49ff9a848d86ce504fdcc15e3540dbb262df8f33a2681a8de513", + "name": "tokenspeed-mla", + "version": "0.1.8" + }, + { + "direct_url": null, + "metadata_sha256": "05086095a775c5dca70998dcf442a848c13f9c68b54a54c510c3542c5abb6563", + "name": "tokenspeed-triton", + "version": "3.8.10.post20260920" + }, + { + "direct_url": null, + "metadata_sha256": "71daba472d0c5ffc25c0231dc29688ab0cb13d5bc7e7d93f6c4cce4169c50048", + "name": "torch", + "version": "2.13.0" + }, + { + "direct_url": null, + "metadata_sha256": "cccd2f1c0e5866e63732f58798c8d642ee6d10cd560d6f691e7981b908c246c9", + "name": "torch_c_dlpack_ext", + "version": "0.1.5" + }, + { + "direct_url": "{\"dir_info\": {}, \"url\": \"file:///torch_memory_saver\"}", + "metadata_sha256": "6276cef17dedbb5ee0d6157bbf63b832e916026281328d995ad3d488c2539618", + "name": "torch_memory_saver", + "version": "0.0.9.post1+slime" + }, + { + "direct_url": null, + "metadata_sha256": "29809ca2c86dda5079654f1f70564a64435e9d08f1964a2412b6f514e1b5ff64", + "name": "torchaudio", + "version": "2.11.0" + }, + { + "direct_url": null, + "metadata_sha256": "7e9be0f3a290e3fd9370d8fe010c7ffd006d5d3d05ab8bdf7df8f92f0fca9c39", + "name": "torchcodec", + "version": "0.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "181fa5e6b399c378711eddcdacd756d3c51317916f8eb160ee36cae7fae9589f", + "name": "torchvision", + "version": "0.28.0" + }, + { + "direct_url": null, + "metadata_sha256": "43d1261aff90cf3d5b1b40cf1f94234d61409b14e59f3766f457c1eec7f7ac15", + "name": "tqdm", + "version": "4.70.1" + }, + { + "direct_url": "{\"archive_info\": {\"hash\": \"sha256=3e1d9f534781c8e608240da0b495b8246317a36382f7609017cbaa7fb1d53f7b\", \"hashes\": {\"sha256\": \"3e1d9f534781c8e608240da0b495b8246317a36382f7609017cbaa7fb1d53f7b\"}}, \"url\": \"file:///wheels/transformer_engine-2.16.1%2Bc9877beb-cp312-cp312-linux_x86_64.whl\"}", + "metadata_sha256": "d882f743161d9d9f35dee4e1a8cc9136fa495f7c660caace01ab8f5602d76aa7", + "name": "transformer_engine", + "version": "2.16.1+c9877beb" + }, + { + "direct_url": null, + "metadata_sha256": "465797a59706d83b45c93fde750b228c3b6e1addc44115de2c4c02ad66d9c5ea", + "name": "transformers", + "version": "5.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "a91982ca086667c592a951973434f7c5a9f27a8300bc97af78dfb496afe53e71", + "name": "triton", + "version": "3.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "d26fbb244532c4051e715f9047cd943e2cc4abb0ac6f2a517fa2986eb1ea726a", + "name": "truststore", + "version": "0.10.4" + }, + { + "direct_url": null, + "metadata_sha256": "c84af1a069084b1b440b3594068dec29200d52d4c1a9b652030448717f270158", + "name": "typer", + "version": "0.27.2" + }, + { + "direct_url": null, + "metadata_sha256": "0ad6653b7439f4bb6a596cb7b01ed1b716458467525c4dc40b75d62bdb943c98", + "name": "typing-inspection", + "version": "0.4.4" + }, + { + "direct_url": null, + "metadata_sha256": "d005280aa13b334ac942d20219102865e559f69ffd06c35c248b2f0d0da3b933", + "name": "typing_extensions", + "version": "4.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "fba2930e9030a18965d243f8d330748db2e67572a81b3b68710462fb5110332a", + "name": "urllib3", + "version": "2.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "bc5717bd6524a33838f285261868bcc8e311e8c29fdb19e41d56c38b04890e84", + "name": "uvicorn", + "version": "0.54.0" + }, + { + "direct_url": null, + "metadata_sha256": "741c006d8441f562aa853a5430df236fbb4af923445491f396bf09943bd30258", + "name": "uvloop", + "version": "0.22.1" + }, + { + "direct_url": "{\"dir_info\": {\"editable\": true}, \"url\": \"file:///vime\"}", + "metadata_sha256": "f85aa01dfdc868756a6583434bbff040f29eb511d47d5b25ada063a84353aac6", + "name": "vime", + "version": "0.3.2" + }, + { + "direct_url": null, + "metadata_sha256": "c25431aaf1950971fe96292f395a41a55b403127bfca0d0b8f7dc9cff5dab75d", + "name": "virtualenv", + "version": "21.14.1" + }, + { + "direct_url": null, + "metadata_sha256": "4e3ee0a31d85e56268640aae853bcee4794dfe8c0483c5c6370517e480c81ae0", + "name": "virtualenv", + "version": "21.14.5" + }, + { + "direct_url": null, + "metadata_sha256": "d4ed5c7551cddb8c1aeff2f9f27b3491f6ad2c9afda8e7bb9779c33fa12a536c", + "name": "vllm", + "version": "0.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "84b482e09bac949e992594757214a1920c667a5d898ee320e309250697f6d26e", + "name": "vllm-router", + "version": "0.1.15" + }, + { + "direct_url": null, + "metadata_sha256": "9b16c871eb1060a5218e9b9a9ad33288d94844cfaf43f08dbb6c32423bde8fe3", + "name": "wandb", + "version": "0.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "8e4f2be437dfe4eb3c6c959e517ac20b75d06525563f1ebcbf06f9ec648bd7c1", + "name": "watchdog", + "version": "6.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "15218afb42938907c2ca74c54e3d8e3a5406493c4761e29e38e82bfec0f84296", + "name": "watchfiles", + "version": "1.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "8863af96e88b7db9990da99aa6c46816eacc3d2f9ae1297b53381b033cd70119", + "name": "wcmatch", + "version": "11.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "f46e6bd6cfafb2b684c29587b017b7096fd9155b74eda25a22eca784b9803ab7", + "name": "websockets", + "version": "16.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "ce82db5ccfefa4bfbe4e25a36e1f91e8e7d51fcaeb31586c4d48e1c69f99168b", + "name": "websockets", + "version": "17.1" + }, + { + "direct_url": null, + "metadata_sha256": "0f142a2c09eac643c7d0bfe77f3f121184c0b17914afbd32af669ed19b2b02ef", + "name": "wheel", + "version": "0.47.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd58938e51a3c5cb363f6f22eaa2a8a7accc1ce373388de167a82f77d3e5783f", + "name": "wrapt", + "version": "2.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "b0b72c1941f04499ca7e1a3a6e479aee8df902c3d49979624b59dba8c3228d37", + "name": "xgrammar", + "version": "0.2.8" + }, + { + "direct_url": null, + "metadata_sha256": "ef8861f39e5c36255966a36032651f937d890d55f31f1c26304b488f1ba34332", + "name": "xxhash", + "version": "4.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "740c08057b6eb69c58402c87d652af0a471e46325d811f2c605632a18817152f", + "name": "yarl", + "version": "1.25.1" + }, + { + "direct_url": null, + "metadata_sha256": "7b060e4d24394b5431875e2f74fec8e6bffa79d2e6b4cb8c7e2a5187dd2d8d69", + "name": "z3-solver", + "version": "4.15.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "3d76d4fbc95f0851191147db12300938c67a6f8fb1df884886d9601272ccc4e8", + "name": "zipp", + "version": "4.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "d3de2651e4e908dbb7c9d80508e5179590217dfac4993dc8b04381c5b9718c4c", + "name": "zstandard", + "version": "0.25.0" + } + ], + "executable": "", + "installed_provider_sources": { + "vllm/compilation/__init__.py": { + "path": "/vllm/compilation/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/backends.py": { + "path": "/vllm/compilation/backends.py", + "sha256": "fa4bff8920b363efbbde9456f135fa9d2c004a5bde1898877f177418b2d8b008" + }, + "vllm/compilation/base_static_graph.py": { + "path": "/vllm/compilation/base_static_graph.py", + "sha256": "5cfe8e06db84aa42cd41cdd93ebe93af00b3a242c8011042057530e2922b523a" + }, + "vllm/compilation/breakable_cudagraph.py": { + "path": "/vllm/compilation/breakable_cudagraph.py", + "sha256": "3cc427612a08e2b9b3fee47548026400c1d0776e2d4747535e59ef5512bdf1e8" + }, + "vllm/compilation/caching.py": { + "path": "/vllm/compilation/caching.py", + "sha256": "71d212452dde742fbf28b8a01ed29d3c08a7457ff7f8da2a20ce9d17e902c2cf" + }, + "vllm/compilation/codegen.py": { + "path": "/vllm/compilation/codegen.py", + "sha256": "e04833bec88cf9d1a13aa7341e30e3233d1138bfe23424e0fd34d664b3fedb9f" + }, + "vllm/compilation/compiler_interface.py": { + "path": "/vllm/compilation/compiler_interface.py", + "sha256": "8d84e2864bf83f754bae9e9f77119e0287cca9f97f5fa5ec2535e07b5ad88944" + }, + "vllm/compilation/counter.py": { + "path": "/vllm/compilation/counter.py", + "sha256": "d8158c54dd36a357bf24f6f84dc22f572d3a27f4875f3d5779b12bc5d454ff76" + }, + "vllm/compilation/cuda_graph.py": { + "path": "/vllm/compilation/cuda_graph.py", + "sha256": "05c86392d7fae967ac73076dba7e01990a0e3ae619e4866450a0c1be56bd1192" + }, + "vllm/compilation/decorators.py": { + "path": "/vllm/compilation/decorators.py", + "sha256": "cab6962e8a1fead59c75f5ed8cb4732f9e5441ff972030c2f4b1c4ba0c58de3c" + }, + "vllm/compilation/monitor.py": { + "path": "/vllm/compilation/monitor.py", + "sha256": "43b24c5cb1bc4d32dc979f3222596905c7b3acc58415328a234402e6edc76abf" + }, + "vllm/compilation/partition_rules.py": { + "path": "/vllm/compilation/partition_rules.py", + "sha256": "857d2fb06dc871ea1d3717cd01fbd4e5205984100d98b7b72a2933d6ff1cfa4d" + }, + "vllm/compilation/passes/__init__.py": { + "path": "/vllm/compilation/passes/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/fusion/__init__.py": { + "path": "/vllm/compilation/passes/fusion/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/fusion/act_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/act_quant_fusion.py", + "sha256": "1fa9c3ca4fb424685b7053c3dda89dda16c98dc5645d85f0f28dca58429792b3" + }, + "vllm/compilation/passes/fusion/add_rms_fusion.py": { + "path": "/vllm/compilation/passes/fusion/add_rms_fusion.py", + "sha256": "e46998552628aa5cd5962fc39ea39ae824fd97e6aeba1d176e9cc7cade39837b" + }, + "vllm/compilation/passes/fusion/allreduce_rms_fusion.py": { + "path": "/vllm/compilation/passes/fusion/allreduce_rms_fusion.py", + "sha256": "0af193505880cec0f6ffa224c688bce3c9ddc318dccdf04a696b4e4b4506a963" + }, + "vllm/compilation/passes/fusion/attn_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/attn_quant_fusion.py", + "sha256": "ecc64e82be4481954c9cac6c23d7794846ab19486b570f2dda07ab5ad67c5a49" + }, + "vllm/compilation/passes/fusion/collective_fusion.py": { + "path": "/vllm/compilation/passes/fusion/collective_fusion.py", + "sha256": "1e2c8539d6960b45907fb3bf0482441ea7250e97c56ffdea1500514efa0b164d" + }, + "vllm/compilation/passes/fusion/matcher_utils.py": { + "path": "/vllm/compilation/passes/fusion/matcher_utils.py", + "sha256": "50ac5714ce1bb113520de769ea6234316acc470a8cdf2537a996ce9a9d54337d" + }, + "vllm/compilation/passes/fusion/mla_attn_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/mla_attn_quant_fusion.py", + "sha256": "a966fe7f58bf9228379f793f5fd851735a97f9639722766b2a20cb79a9e4baec" + }, + "vllm/compilation/passes/fusion/mla_rope_kvcache_cat_fusion.py": { + "path": "/vllm/compilation/passes/fusion/mla_rope_kvcache_cat_fusion.py", + "sha256": "1602cc28055ffa8d1123ddb1d256bf0bd12006fd06ea7e16a986c55746dbe0dc" + }, + "vllm/compilation/passes/fusion/qk_norm_rope_fusion.py": { + "path": "/vllm/compilation/passes/fusion/qk_norm_rope_fusion.py", + "sha256": "aebc7d1a5189b65ac665afcc169e7baebd53efe719c48e35e7c5babe85af0d39" + }, + "vllm/compilation/passes/fusion/qk_norm_rope_kvcache_fusion.py": { + "path": "/vllm/compilation/passes/fusion/qk_norm_rope_kvcache_fusion.py", + "sha256": "f0cfd0d83ec4acb09f9bf91d199b114e9d4995e3059c13eb23a6978ce7c07eb2" + }, + "vllm/compilation/passes/fusion/rms_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rms_quant_fusion.py", + "sha256": "4852aa44e0e2087043fdac271bda9b8d9bfe3201bb84ce3919b8ed454d8083c4" + }, + "vllm/compilation/passes/fusion/rocm_aiter_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rocm_aiter_fusion.py", + "sha256": "372e76c68c75209a085deec6dd22b3816be633613ca82f6f2925c1b3773d61a0" + }, + "vllm/compilation/passes/fusion/rope_kvcache_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rope_kvcache_fusion.py", + "sha256": "3a756e9049593537143b5a56ab9185a6bc83f57ed81d84226d7791a46a984b53" + }, + "vllm/compilation/passes/fusion/sequence_parallelism.py": { + "path": "/vllm/compilation/passes/fusion/sequence_parallelism.py", + "sha256": "3af7e420dcb35fff0bae0f8f599d0f1bda34445ebe194059892a434b2976d654" + }, + "vllm/compilation/passes/fx_utils.py": { + "path": "/vllm/compilation/passes/fx_utils.py", + "sha256": "730708213acf9d1b5f3176b433dfc197a5f3c81b5ce443f0923c526924833003" + }, + "vllm/compilation/passes/inductor_pass.py": { + "path": "/vllm/compilation/passes/inductor_pass.py", + "sha256": "1f380aacf7adabb8bf8b7d41c0a93473947f0716f7445bd910fd448f6c08e672" + }, + "vllm/compilation/passes/ir/__init__.py": { + "path": "/vllm/compilation/passes/ir/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/ir/clone_elimination.py": { + "path": "/vllm/compilation/passes/ir/clone_elimination.py", + "sha256": "5297078f5cddce081faba5215814275381d2083b32318fcfeb2bf9d69fedb7c7" + }, + "vllm/compilation/passes/ir/inplace_functionalization.py": { + "path": "/vllm/compilation/passes/ir/inplace_functionalization.py", + "sha256": "2dc4f22c6f05224828c2941479185b1452d4490f488b7f0bfd124334e7809fed" + }, + "vllm/compilation/passes/ir/lowering_pass.py": { + "path": "/vllm/compilation/passes/ir/lowering_pass.py", + "sha256": "d9c3d90f63138420f0e5489447b5996573fcfbbab939da2efccd00848492b172" + }, + "vllm/compilation/passes/ir/utils.py": { + "path": "/vllm/compilation/passes/ir/utils.py", + "sha256": "f59d33a6c7d0616cbeec1e9fb1d6c948881bf81fe124caeb906eac2e2197ea21" + }, + "vllm/compilation/passes/pass_manager.py": { + "path": "/vllm/compilation/passes/pass_manager.py", + "sha256": "486979a058aa2e20ebedcbb6e039f7a59f38d2efd2cda11219fae4067be0968d" + }, + "vllm/compilation/passes/utility/__init__.py": { + "path": "/vllm/compilation/passes/utility/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/utility/fix_functionalization.py": { + "path": "/vllm/compilation/passes/utility/fix_functionalization.py", + "sha256": "ad5b504a05ccee023869b0c8df70ec2fff9a4a80d25fd903e2b532f470e7203f" + }, + "vllm/compilation/passes/utility/noop_elimination.py": { + "path": "/vllm/compilation/passes/utility/noop_elimination.py", + "sha256": "8abf85d28c13f95059f2acbc0275b9b9ed2ad4990f7c5763bbe3067a4aa629ce" + }, + "vllm/compilation/passes/utility/post_cleanup.py": { + "path": "/vllm/compilation/passes/utility/post_cleanup.py", + "sha256": "1c38b14fc209165cbcf8ca763a17ac4e528b97f59b573e5d52df2cce7d758de3" + }, + "vllm/compilation/passes/utility/scatter_split_replace.py": { + "path": "/vllm/compilation/passes/utility/scatter_split_replace.py", + "sha256": "138402cc3097768a32e9e5b8d1a054b6176e494bddc8684e23ca2dc5fdc3fdda" + }, + "vllm/compilation/passes/utility/split_coalescing.py": { + "path": "/vllm/compilation/passes/utility/split_coalescing.py", + "sha256": "0b02acd9e1ad43d7b3e128b914e969b9580773f2818078846dfbf163a8bd0871" + }, + "vllm/compilation/passes/vllm_inductor_pass.py": { + "path": "/vllm/compilation/passes/vllm_inductor_pass.py", + "sha256": "4f83ffb67f834a214221d810c7843a8e41eb4e5930eb40adbd8cf054ff6fb9c6" + }, + "vllm/compilation/piecewise_backend.py": { + "path": "/vllm/compilation/piecewise_backend.py", + "sha256": "6525318ff3ca2e4978e24dd9232a7ae0a02e920e19604b83db6f6043d1f8a54d" + }, + "vllm/compilation/wrapper.py": { + "path": "/vllm/compilation/wrapper.py", + "sha256": "c1b1fca679ea16aa07a696831a810c0d531da2bb0ea32dd6f1a95cdaef36de07" + }, + "vllm/config/__init__.py": { + "path": "/vllm/config/__init__.py", + "sha256": "56fb0cb1598d297e4f95a97e5d86dc624145d1532f5faa432b7d2834d7155bd5" + }, + "vllm/config/attention.py": { + "path": "/vllm/config/attention.py", + "sha256": "c41f345b512d9b7df882328257eb3a6381f41088c11ae83b5ecd8a9e8265d1bc" + }, + "vllm/config/cache.py": { + "path": "/vllm/config/cache.py", + "sha256": "f1c226ba679c884930dbfcaf41a57248b137a9a20d3ed8e3d3b31752bb484c07" + }, + "vllm/config/compilation.py": { + "path": "/vllm/config/compilation.py", + "sha256": "c9cec5c7200e8e559810ec8c30113ad61dab6780f9f7fb3c116bd0d9b5a43065" + }, + "vllm/config/device.py": { + "path": "/vllm/config/device.py", + "sha256": "7b82eee02ceb5842337451a27a3d5729920c47e25e8f6bf3997f5146f9330a9c" + }, + "vllm/config/diffusion.py": { + "path": "/vllm/config/diffusion.py", + "sha256": "1fa9fd2478a866098a28a3586b55af2f9738656b7813a55d76539c10dd99fe8d" + }, + "vllm/config/ec_manager_config.py": { + "path": "/vllm/config/ec_manager_config.py", + "sha256": "418b387dbe7bdf67deddce331c205768a2d42aea37141f59fb02a8a1528e3552" + }, + "vllm/config/ec_transfer.py": { + "path": "/vllm/config/ec_transfer.py", + "sha256": "0eabb2c25194676d23c6acf59562672a1dd24415043ac5737d621ce0d681ec70" + }, + "vllm/config/engram.py": { + "path": "/vllm/config/engram.py", + "sha256": "34043a22385a041d4e9be8857f64174c990c2ca8308b97b6a952b5ab96c20ee5" + }, + "vllm/config/fault_tolerance.py": { + "path": "/vllm/config/fault_tolerance.py", + "sha256": "b166b24373d599fb15ddc575e3061cf0dcb42174d0369d8468008e7ffbb2a4e2" + }, + "vllm/config/kernel.py": { + "path": "/vllm/config/kernel.py", + "sha256": "27e23c584cf862f4091858db6dc85bbc2a01f4baf9dca3f232ae6f3bac02390e" + }, + "vllm/config/kv_events.py": { + "path": "/vllm/config/kv_events.py", + "sha256": "b1dbaee3e6830e381e9157fe3bab0d65c357da88ff7cdf8b1e4b3a4e75c82a87" + }, + "vllm/config/kv_transfer.py": { + "path": "/vllm/config/kv_transfer.py", + "sha256": "506fae7a9d7f32cb3646156cf9249a856f6317dff6c4c85db70efd34418c429b" + }, + "vllm/config/load.py": { + "path": "/vllm/config/load.py", + "sha256": "bd6431c22e078362d749a56a2c84145432ebf2605d8bcfa2ac679182d18ed630" + }, + "vllm/config/lora.py": { + "path": "/vllm/config/lora.py", + "sha256": "ed6cf6575f5950f079a62f904caeae93d1a4745dd8c21788b74367883bcd4b08" + }, + "vllm/config/mamba.py": { + "path": "/vllm/config/mamba.py", + "sha256": "2090f791201ca45dd4f1d72b8651268890eb07574b6084721194eb8fdf612c48" + }, + "vllm/config/model.py": { + "path": "/vllm/config/model.py", + "sha256": "f4168b67cc93ce72ff2a6d4c66974223e32fd0f1fab4c05e44bd68a275e18d69" + }, + "vllm/config/model_arch.py": { + "path": "/vllm/config/model_arch.py", + "sha256": "2babe28329d7b60b4e205f6d72c687f0f66e6535aa2f20411469e5ec362f6b5f" + }, + "vllm/config/multimodal.py": { + "path": "/vllm/config/multimodal.py", + "sha256": "271911aee151f17f092228cecee82af0713e9a47340ffdf66834ca7638a50d22" + }, + "vllm/config/observability.py": { + "path": "/vllm/config/observability.py", + "sha256": "d57c59ec776477ab0a20e9f2b945bc954d8ea3737c869259480e9aa10dfb9f6d" + }, + "vllm/config/offload.py": { + "path": "/vllm/config/offload.py", + "sha256": "6f2db3d9a2730588473d5155811690c6241b167a21dcb62fbbd9ebb6386de42c" + }, + "vllm/config/parallel.py": { + "path": "/vllm/config/parallel.py", + "sha256": "f012ace89e3fb730a467f729f602679bc145c49f0d10721811c9d818570e7b2b" + }, + "vllm/config/pooler.py": { + "path": "/vllm/config/pooler.py", + "sha256": "9f01913dcb7bccbf9b672b16643f18471ae202455992e8afaf0725a17f2b3d08" + }, + "vllm/config/profiler.py": { + "path": "/vllm/config/profiler.py", + "sha256": "04d24fa1dc7cfedca6b5c7d9115f7f7021722fc46a5b15234a1e3b3a506c93e5" + }, + "vllm/config/quantization.py": { + "path": "/vllm/config/quantization.py", + "sha256": "acffc52f525b39a88efd656f1ed705ce3a1b758298bb0684fac7694776bc10b4" + }, + "vllm/config/reasoning.py": { + "path": "/vllm/config/reasoning.py", + "sha256": "2c4f7bdee48a9fb3d93787c4c32361c2411417cce452cfde86808d8759977861" + }, + "vllm/config/scheduler.py": { + "path": "/vllm/config/scheduler.py", + "sha256": "822179da62be4bca0619c8590082ae09123f5c4415f9cc2037be673748239edb" + }, + "vllm/config/speculative.py": { + "path": "/vllm/config/speculative.py", + "sha256": "9c642a87264339c0dbc1d0b57330572149df0f9d5e16c6893b9895e50a619e19" + }, + "vllm/config/speech_to_text.py": { + "path": "/vllm/config/speech_to_text.py", + "sha256": "bf4a566fbde6a1cec1e209070b739650c3302c12696739c88049cb8f723a4c3f" + }, + "vllm/config/structured_outputs.py": { + "path": "/vllm/config/structured_outputs.py", + "sha256": "55649776594349b8b4aa3e08fc4c88068366732a486d6fb235079188044aa829" + }, + "vllm/config/utils.py": { + "path": "/vllm/config/utils.py", + "sha256": "d035e9e488ba92b6c47a96cf05d9b2a850d53eda8a05115b22ff9af8dbc2fc64" + }, + "vllm/config/vllm.py": { + "path": "/vllm/config/vllm.py", + "sha256": "956b812e5a719bcbfa3a3958801361b38b9c928c96b8c073311bbb96376dfb7a" + }, + "vllm/config/watermarking.py": { + "path": "/vllm/config/watermarking.py", + "sha256": "30e6620a3cd7529f0736ad55e38bc326a6a78dee4552f0722208400041c94a1f" + }, + "vllm/config/weight_transfer.py": { + "path": "/vllm/config/weight_transfer.py", + "sha256": "92edd9e5ea90c97a8f3c5f20abf1734a105ee1f3f89e306e7ba87e758f1f767e" + }, + "vllm/distributed/__init__.py": { + "path": "/vllm/distributed/__init__.py", + "sha256": "97f28c30b32662af8cab163939e4ee423037f11630752e13b55cbc25a7d0ab71" + }, + "vllm/distributed/communication_op.py": { + "path": "/vllm/distributed/communication_op.py", + "sha256": "3c3f8ac60db38ece891d39dc1e2f6f1947ad438685893d2e5777d072320bd1b8" + }, + "vllm/distributed/device_communicators/__init__.py": { + "path": "/vllm/distributed/device_communicators/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/device_communicators/aiter_custom_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/aiter_custom_all_reduce.py", + "sha256": "f8eb027ce7a85d94af6260960ceb7f36fc6f1406c9af9c9b6285fddb3f178009" + }, + "vllm/distributed/device_communicators/all2all.py": { + "path": "/vllm/distributed/device_communicators/all2all.py", + "sha256": "1f1b69236acd3cd7bd94520fd6d591bfd31b57c4bc7c9f9f4161ea8bbd0c5f26" + }, + "vllm/distributed/device_communicators/all_reduce_utils.py": { + "path": "/vllm/distributed/device_communicators/all_reduce_utils.py", + "sha256": "ed0ab4dd05b2519a6313892e68824c97b540034664d7f8c3d031b322e33e1bfc" + }, + "vllm/distributed/device_communicators/base_device_communicator.py": { + "path": "/vllm/distributed/device_communicators/base_device_communicator.py", + "sha256": "4a7670f12ed7c7621b25d476e2687c24ca01f3be183fff4a6a25337596fe506b" + }, + "vllm/distributed/device_communicators/cpu_communicator.py": { + "path": "/vllm/distributed/device_communicators/cpu_communicator.py", + "sha256": "e1856c8e91cfbbb4d9ce990c1236e258ba4021e226afcbab645653380b38d64b" + }, + "vllm/distributed/device_communicators/cuda_communicator.py": { + "path": "/vllm/distributed/device_communicators/cuda_communicator.py", + "sha256": "102d95c67ec798cf352b817ba92e8abc9da37f30d1bbdf3aab45d3927b627b93" + }, + "vllm/distributed/device_communicators/cuda_wrapper.py": { + "path": "/vllm/distributed/device_communicators/cuda_wrapper.py", + "sha256": "333b6d9ed173e7a18c7f2b6627a3c9c9ed88892ce52015f05e29d6d245e48ee3" + }, + "vllm/distributed/device_communicators/custom_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/custom_all_reduce.py", + "sha256": "a048c1327c23580805600c0c951831bec333b1ffc4eb26a0e3d34119c4f0c445" + }, + "vllm/distributed/device_communicators/flashinfer_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/flashinfer_all_reduce.py", + "sha256": "b4359760e9b55963676109a5c3a015fb82e190d4df1d021de9ee01e7814cbdda" + }, + "vllm/distributed/device_communicators/flashinfer_pcie_ipc_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/flashinfer_pcie_ipc_all_reduce.py", + "sha256": "8b67b0fc356a565095f56b475cc89c513e3a5eff051ab1c52e5beb0c1a79e9f2" + }, + "vllm/distributed/device_communicators/mnnvl_compat.py": { + "path": "/vllm/distributed/device_communicators/mnnvl_compat.py", + "sha256": "72ee1e6f9571b4c8ecbd9f60cd469d1b565cb79cab519a688a93f290906a2615" + }, + "vllm/distributed/device_communicators/pynccl.py": { + "path": "/vllm/distributed/device_communicators/pynccl.py", + "sha256": "882fb83c5a3c565a3f8fd664b79f5ceae566dca180019ecafd74bc8c11d9f8cf" + }, + "vllm/distributed/device_communicators/pynccl_allocator.py": { + "path": "/vllm/distributed/device_communicators/pynccl_allocator.py", + "sha256": "390e2576cbf4ae06341ca4dab24fc7e4d4f7c24dd444329ed05d828a9ce91460" + }, + "vllm/distributed/device_communicators/pynccl_wrapper.py": { + "path": "/vllm/distributed/device_communicators/pynccl_wrapper.py", + "sha256": "ce63c8da57bb88d4cf89956bd70bb63f0f44bfad468ddb37b765611551f6d99f" + }, + "vllm/distributed/device_communicators/quick_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/quick_all_reduce.py", + "sha256": "8aacb23e7c297b0ae2f80d99c5affd2e7517115d7874be51069d14a44db7b5f2" + }, + "vllm/distributed/device_communicators/ray_communicator.py": { + "path": "/vllm/distributed/device_communicators/ray_communicator.py", + "sha256": "332c37f65495b60564d61db59bc2d30ca0236adc33442d01464790bde9aec897" + }, + "vllm/distributed/device_communicators/shm_broadcast.py": { + "path": "/vllm/distributed/device_communicators/shm_broadcast.py", + "sha256": "f3e7a3f3ff713fccbd535e0d41650ee05bdf8677e83d4b90519910645022c30b" + }, + "vllm/distributed/device_communicators/shm_object_storage.py": { + "path": "/vllm/distributed/device_communicators/shm_object_storage.py", + "sha256": "e097bf7ac0141fe8db4131e8fd553ca2ad5b0600b22a56f3924af6b795e7207c" + }, + "vllm/distributed/device_communicators/symm_mem.py": { + "path": "/vllm/distributed/device_communicators/symm_mem.py", + "sha256": "b06e3ddb9ae880a30ec4a103ce32eb9794223bb0293832e89572af28adaaa544" + }, + "vllm/distributed/device_communicators/xpu_communicator.py": { + "path": "/vllm/distributed/device_communicators/xpu_communicator.py", + "sha256": "527cbfb250760abc62096ee7cd612307b821f21b72dee1687ad866620ec89b6d" + }, + "vllm/distributed/ec_transfer/__init__.py": { + "path": "/vllm/distributed/ec_transfer/__init__.py", + "sha256": "061405bb51df7409c9938b62e25caa8bd6ebf85da6d1700dbd4affe2a0825135" + }, + "vllm/distributed/ec_transfer/ec_connector/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/base.py", + "sha256": "22d4913375bb622473fbe1a77f9376b804949cd8a7e31e9518208f9561d161e2" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/common.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/common.py", + "sha256": "e2267abd8d00a6d2605e1a82ea5c73396a71b427452eab469fcca0134c334e7c" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/connector.py", + "sha256": "72cd35d9fd754a2992dd090a8af13c91e0789b4038ac29276750d823120235db" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/base.py", + "sha256": "19e8df88b0fa831997896355ecdd49e0d86cb074cd7ae28aed0b328b0bb3ab2e" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/zmq.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/zmq.py", + "sha256": "435641c0e37551ab4937855abd067be26905b91215e759cbd9d28a419a34ff9a" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/base.py", + "sha256": "3be698aeb67d32ee3741e76b2fb71806941c587578583acf8fbc42fbf22b46a5" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/nixl.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/nixl.py", + "sha256": "03af8f6549a6027b7262a482907af591e45f28b9b1c5a3408bbc6600e38797e5" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/ec_shared_region.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/ec_shared_region.py", + "sha256": "e40607952c9920024455eca2f419e8c3ef1de9a4d8b27c147a33bb941b8c08b1" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/protocol.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/protocol.py", + "sha256": "05878336884396bfbef77b96b0fa6359f6fa0aba912961f14a84f5a436f27038" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/__init__.py", + "sha256": "01c42385bf3a55cff09cc05ba956f6dd4b8b6b986bf4d6eca4e566cb045b48e0" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/embedding_cache.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/embedding_cache.py", + "sha256": "7359fb980af1fc30b3253681310ef636e2b4a19134e04a93270c9c45de2572d8" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/session.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/session.py", + "sha256": "5973548a919e13c866222b91d502686a6757a31e5a5664b879bf2887ed9fb212" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/utils.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/utils.py", + "sha256": "160ac665f20f2c75b343c1e784084f2b0b4d1cf8fdb28ee15deee4dc8ed0ce45" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/worker/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/worker/__init__.py", + "sha256": "f08d296d3560c42173ae8af961af4a768033ccf1e36e9c17c0cdd53013d0c52e" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/worker/descriptor_buffers.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/worker/descriptor_buffers.py", + "sha256": "be7c81be214e995da8499105ba485854d9c19d6f8e905f8f1b87b83694ca0864" + }, + "vllm/distributed/ec_transfer/ec_connector/example_connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/example_connector.py", + "sha256": "09022ce07a89114bb65d9befd2e60873453aed11bbac8c0a75c1e6084e785a5f" + }, + "vllm/distributed/ec_transfer/ec_connector/factory.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/factory.py", + "sha256": "d6cedca0a99c3dd2b03cd1c15d17472b983e3f7d8f5baf4a12eecaf6abedb817" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/__init__.py", + "sha256": "1cbfc2f95f8f4d48a9253056eb1fd4b562062884e3fd5cb6571583c352fc16f3" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/config.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/config.py", + "sha256": "98c60696f79d1de67d2364cd9e8a42a393b5c8e17ed9af2f971368e47891d7b3" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/control.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/control.py", + "sha256": "58e0d1a423fbe958bfa586ac26a17107e08d0b31d044b4c74ab4dde880e7ca9b" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/memory.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/memory.py", + "sha256": "d5e90b1348de670a70f110d58eedcbdbd053db72c21dd007c3f5275c53951149" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/metadata.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/metadata.py", + "sha256": "497a7e6dfffb7fce80a41d5989f96119b970c143df77bb9d0f9c91d7a46e8c42" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/producer.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/producer.py", + "sha256": "97fa4d0b19475574778eab02f55fad73db9642beb9156da890314fd53fa1a7ab" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/reservation.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/reservation.py", + "sha256": "4790bc65cde4db5f17733ca2c2910980ba594a8a9b79ee27c5b957dffd4c1113" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/scheduler.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/scheduler.py", + "sha256": "53004b62529a31fdd80dfb2e6026610b95041a77e91f731ae526fefd84e7968d" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/state.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/state.py", + "sha256": "92f375d6c5cc9c83dbe95a7977ad8eb0f1b5629ccee92968bcacdc94eee15d65" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/transfer.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/transfer.py", + "sha256": "ada2113a5402054f1149d3edc2537f4e5e1bd696c9b17291c9f2b4cbf6b59753" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/worker.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/worker.py", + "sha256": "89eb91bb64845b3b121d502972a6b04d448714253becd2ea662e5691cd5acdd7" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake_ec_connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake_ec_connector.py", + "sha256": "aaebab4711bc00dd0c622dfbfd8639fc41e7ed5d1658d7d68fe33e4d5fbef3ba" + }, + "vllm/distributed/ec_transfer/ec_connector/utils.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/utils.py", + "sha256": "11b9014b9c0697f8846deff1a55a22fa86a15dc2ac3e139442fb6d513ac03059" + }, + "vllm/distributed/ec_transfer/ec_transfer_state.py": { + "path": "/vllm/distributed/ec_transfer/ec_transfer_state.py", + "sha256": "9487a41f23fa1a4fa6dfca8b42b8e97a0ee19d8406ffd1dcf4bef66315180827" + }, + "vllm/distributed/elastic_ep/__init__.py": { + "path": "/vllm/distributed/elastic_ep/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/elastic_ep/elastic_execute.py": { + "path": "/vllm/distributed/elastic_ep/elastic_execute.py", + "sha256": "b8f60a4183c79ff6051095b5f95bb385bc7fea0cffe8cd9ebc9087ab0e9f01b5" + }, + "vllm/distributed/elastic_ep/elastic_state.py": { + "path": "/vllm/distributed/elastic_ep/elastic_state.py", + "sha256": "fbf049199841a086fdf2fc1ab8498ef017ad3bf319db65c3ae61acbb536d2e10" + }, + "vllm/distributed/elastic_ep/standby_state.py": { + "path": "/vllm/distributed/elastic_ep/standby_state.py", + "sha256": "15282597550ebd0e07b8492ff192aea1ec0dcec8f0ad34009123e1002cc140c1" + }, + "vllm/distributed/eplb/__init__.py": { + "path": "/vllm/distributed/eplb/__init__.py", + "sha256": "1b9c2ee22abb5888c354c5aa01f0944f253e5e24e135d019778398bbe495a628" + }, + "vllm/distributed/eplb/async_worker.py": { + "path": "/vllm/distributed/eplb/async_worker.py", + "sha256": "424328600ad1003286fc5dfffa1f9482007314c060947818b2f94a8b97811f5e" + }, + "vllm/distributed/eplb/eplb_communicator.py": { + "path": "/vllm/distributed/eplb/eplb_communicator.py", + "sha256": "ba30d9d40e7b81d3f42aa9041d2f328edca4073cfe2de920285eb68375501ed8" + }, + "vllm/distributed/eplb/eplb_state.py": { + "path": "/vllm/distributed/eplb/eplb_state.py", + "sha256": "2f06bc8c63f3fdf55edb5032ae55c0ffcac3e67720ce74ea312e3d141b12acf4" + }, + "vllm/distributed/eplb/eplb_utils.py": { + "path": "/vllm/distributed/eplb/eplb_utils.py", + "sha256": "058af6104faa6d4085c1dca80bbe60d92bf0a7ec9cd92c775a180546c9d8c9c3" + }, + "vllm/distributed/eplb/policy/__init__.py": { + "path": "/vllm/distributed/eplb/policy/__init__.py", + "sha256": "daeb266c88442832b1ab8c8c4cc064891b38b9e9ba00aea324f926c87dc6d37e" + }, + "vllm/distributed/eplb/policy/abstract.py": { + "path": "/vllm/distributed/eplb/policy/abstract.py", + "sha256": "b9fd34c28bbfdded03360d7f3f6f8fb978e82689190d7ae4501dfe520e958c62" + }, + "vllm/distributed/eplb/policy/default.py": { + "path": "/vllm/distributed/eplb/policy/default.py", + "sha256": "3b54229e6240d050480390f6b29d4744fd38437d23719f78a6decf7002296a29" + }, + "vllm/distributed/eplb/rebalance_execute.py": { + "path": "/vllm/distributed/eplb/rebalance_execute.py", + "sha256": "b387e228791149018536eee96cf955b33ba79d801cdc36849d1b47a580ec2597" + }, + "vllm/distributed/kv_events.py": { + "path": "/vllm/distributed/kv_events.py", + "sha256": "de08f01e8736881560256c350a3b6418999dd4aa30f9c6ec9159527f7ed6899a" + }, + "vllm/distributed/kv_transfer/__init__.py": { + "path": "/vllm/distributed/kv_transfer/__init__.py", + "sha256": "c1be4e58ec6923bae607a355ad22891c740f056a69ff7358b1e10ea3fd2680ea" + }, + "vllm/distributed/kv_transfer/kv_connector/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/base.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/base.py", + "sha256": "2ae2a2c48f5731f3533166a75440fe91e764332305b5d713df840edba970789d" + }, + "vllm/distributed/kv_transfer/kv_connector/factory.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/factory.py", + "sha256": "add99c93c587b0098b90b1f8fd6940bdd1f15c236c5c6f1a258411863cb902d3" + }, + "vllm/distributed/kv_transfer/kv_connector/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/utils.py", + "sha256": "317ed40dc837671ca6e666165222e641a0f9b3992aea63bbf54de7e13d40b3a4" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/__init__.py", + "sha256": "5beb6ccad12fdcfe1581982da6f18321caca50e73a6b3259ebf3c8dc8b3ffcca" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/base.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/base.py", + "sha256": "97af64220475c6c9e8273438d7b5138b105ebe6944beb783facb36a3bb76f31b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/decode_bench_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/decode_bench_connector.py", + "sha256": "b4151c88cdec28f1ff9259047abc17baf23b892f4b68769a93bf26e0442b9017" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/example_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/example_connector.py", + "sha256": "6226876ef52d10d0d284d29c337ab44698e8bac6abdb2e0ece53b5756c55d068" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/example_hidden_states_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/example_hidden_states_connector.py", + "sha256": "58c22534dcad0fb73599a2d70a2fb104d5b612a4723be5e777f56a56fe07892c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/flexkv_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/flexkv_connector.py", + "sha256": "de4f68c3bd565ed898e47e0b2980049b966ff31888f1957050d30995d4953762" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_client.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_client.py", + "sha256": "bea6ecff2be281c7e96c1551c7bf463cbb01f2964696067c0ebdb683844f9aab" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_connector.py", + "sha256": "e67ed58015090e5eea9d499883f2a9422673d07f8bdbe0ccff7db15d2460de13" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_metadata_server.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_metadata_server.py", + "sha256": "6800e5cf37809f8a8e28c469c14a434db288bc3bf83a8b62ee06910a20c2da19" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/common.py", + "sha256": "8f2c02c08227a9093e6aeb183961aba36b7812cfc29b8c047a2b2c9d82f79c15" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/gather_scatter_helper.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/gather_scatter_helper.py", + "sha256": "08c1b43de34fbeca77357d7576ac1d17cba974b59d695562f68bb713061e7b54" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/hf3fs_mock_client.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/hf3fs_mock_client.py", + "sha256": "bec61a9b0c4b9124b2292d7646d76411da44396389349b53cdcbc46353c8780e" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/connector.py", + "sha256": "8c61094ce0a3a702908f9576f69482e6bf314738a2cbe33a7d3b47258fa0ab43" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/stats.py", + "sha256": "d9383a6ad6ab6b8f812d29d90495407b770eeddb79b86e9d0e3216c0bd16e0ed" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/worker.py", + "sha256": "251c0d8e57e4739c03ce3e1c899a95ff5b1752eb27676c28ab88c4ebd62c4776" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py", + "sha256": "5991f9ff8832df32bd421eb67e48237270ea0a408180e523810bb43606acf8f3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/__init__.py", + "sha256": "c53be9796e76cde637514bfc40a525d8c09bb2784b406cb516790d8285dfe433" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/multi_process_adapter.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/multi_process_adapter.py", + "sha256": "6480d67b31ed603027a83edf327880a38aee45eaeee2da9a4efa93e95527c166" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/utils.py", + "sha256": "e204fa6a853ac9c122d7a4e9d146902230f81c48d4321ed5edfdbf979dd49ba2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/vllm_v1_adapter.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/vllm_v1_adapter.py", + "sha256": "e6fe55049c6b007248516d69640e2f3a4809f9d286091a1014ae0949987fa8f1" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_mp_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_mp_connector.py", + "sha256": "c712c386a7c57bf0355a1441ba574232c3aa5498fcb70713a2b3f5d18b64f9c1" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/metrics.py", + "sha256": "de1b1797d0448f74370919dbb0278767f390e8f59e00a0c0528abefb302babc2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_connector.py", + "sha256": "516be01320e64b0110e102eeb69a6ba766dd5ac8cb3036db6b97b7d54413323d" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_utils.py", + "sha256": "26877610463fa8e9d6b092772f2551bcc0c3ac794cbe63996df0414666a8ebba" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/rdma_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/rdma_utils.py", + "sha256": "716e5042edecaba36c7ca763474988f32fa09c2668b8260260149df610af8f83" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/stats.py", + "sha256": "f39b2f0b1db2e4f922e27e684a3f7bbf5bb279b82a0a8c3bb0c7ae69b6d14d24" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/connector.py", + "sha256": "17a350bdb89e17e415d6c52a48684dc15c35a804378daf03e1f3bee1b1b123a3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/coordinator.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/coordinator.py", + "sha256": "a8eb6c2157a96e8d25233b82347ac8409a41d6390b4f2c64242119c05911010c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/data.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/data.py", + "sha256": "d3cfefdb4165a24995749cba452641b318065baa95bb1bae62f922a2f8886e7b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/metrics.py", + "sha256": "f2b9ef8927632d142aad11a374d0725c6e619ea0bb7fea9eda3f3895eb7d277a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/protocol.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/protocol.py", + "sha256": "ccb1cf6a84a932a375215627d2aaac482c351a05df015d636d05373a6845b7c8" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/scheduler.py", + "sha256": "283849ff581ec206444cdf5621622377f1c925e8d7e05cb9294af2f3a5094e79" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py", + "sha256": "55f1682dfd1ed7af689166421337126a0e1d08afa4774a242e098d79e0c1e95b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_common.py", + "sha256": "549bb4fe22dca5095515b9c0712c31cc81a9d4923881e9f112317640fd8c04ab" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_connector.py", + "sha256": "c0f474bc34b579d889fae92eaf43eaca241be51a4697a187a942f0df4e6b6a98" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_engine.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_engine.py", + "sha256": "d842f3772fc6588d5a329a67572324cb74709aa3df4033e64c791a1e706c8e88" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_layout.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_layout.py", + "sha256": "2b4ec046a78897236b0626939bb828b6ec095355097d10bca39e5f3e1c992553" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py", + "sha256": "12d8387239f3194f2cb63ccbd64824648047210323572d66671e6a1eed349fc3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/__init__.py", + "sha256": "cc3145fe3b6d219a267bf40a0f7c0cc9430e4289f94acab2df761b99b671e7ba" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_scheduler.py", + "sha256": "7a1db8c54e4cd846bdac747344f2aea2c2fcf507817928796063225223b7e169" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_worker.py", + "sha256": "49a2e4faf99bef146b5a1d4d18d48f240b1e561c438252274494b359db96ef52" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/connector.py", + "sha256": "b6a0dc916d052f344be72ecfcb111509c13580102c11a860fa726cf0888949a9" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py", + "sha256": "2b23a07c1ec5ac5490c3b818737c7192e344ea9f52cd5623f75939f741ab4e21" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_scheduler.py", + "sha256": "ac3daf8e2246581fec84ab28f2133569421b62c32a120be4923e2f4d0f2f9de9" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_worker.py", + "sha256": "e5060c9b6cf022de35ca3d1da7a369cd6a6a2dea26219af9f7633aaf78af8a76" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_scheduler.py", + "sha256": "2d9008e33937a4d6c5cf9cc2f96160f2bdbc8e987fe37f0798a7fd7eb84c9572" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_worker.py", + "sha256": "87de3ea383dd3aa95fb2c287ea26ded8a330859cc1295f9faa69047e80865c2c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/scheduler.py", + "sha256": "09f1bfe7075b926b26a94529480e33b62c3ac273ff826f6c502084f08b1b2a08" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/stats.py", + "sha256": "3e710654e0b68d1a8592f0c4735c81b22f4bf698fb1a2dfea126d35bf2dd1ef2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/tp_mapping.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/tp_mapping.py", + "sha256": "2d43607f98701b2fad6cc0ac2767619a80b7fc2b3a3c2eb6ed0da4fb05dcd8f6" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/utils.py", + "sha256": "93de863fc8307a61d40b62f1b176b57ae93c363d34b9e9ddc8e666265b6d45dc" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/worker.py", + "sha256": "5134a36ac100ce7a64f5311029a37ac12c38d91093f63100f51f7fe53ea7c3ee" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/canonical_mapping.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/canonical_mapping.py", + "sha256": "e0b3c6f9806a650e0370c43c5068fc31c0fec94615089e15fdf270d7d96f2b64" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/common.py", + "sha256": "9b3f042c6fa1581d10e8f688d2d9bc927bb41b780a9ea01f514d57228e20c978" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/config.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/config.py", + "sha256": "aea82e60889e78dcad8564ec8285b65a6a372824a1545a98ea8e78b6f4fd418a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/events.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/events.py", + "sha256": "d7039b67be95fd444966628184040a94880873c0611c0e6e7525a22650ffdefb" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/metrics.py", + "sha256": "13d76df014e86691f58dc89a879f9808b124690c9267dd5fa3b2d4004d4c5fdf" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/scheduler.py", + "sha256": "2c5282f4a3165cd787fb355e215e3869f1bdd3f2c795b2155fc537c9d135191a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/worker.py", + "sha256": "acc2df53262441dfc6421a3af7f0cbd68cbfaedbd42bbc384d8e1da2d965d194" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py", + "sha256": "cdc16ca7339a10e1993bd6220e6273f86a4e99779f58f25098a24ad31bb0dbd8" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py", + "sha256": "96238ca82ccf07a1eeb59b8f66de17b09034e3eb993ad9a0a836511d3f69706b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/ssm_conv_transfer_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/ssm_conv_transfer_utils.py", + "sha256": "59a949709482e65a007fbe5352fe9b4bb54c2dcc10ad2c1c41f754b6e13299f4" + }, + "vllm/distributed/kv_transfer/kv_transfer_state.py": { + "path": "/vllm/distributed/kv_transfer/kv_transfer_state.py", + "sha256": "2e5fe09438d6e2ee642f8a26cf7dcf632e870d955d30baf002b76a8bfe836d05" + }, + "vllm/distributed/nixl_utils.py": { + "path": "/vllm/distributed/nixl_utils.py", + "sha256": "0bffa3c052c9f67472b1c0bc3816114891b010c968bf4b8a292e7da4d687db53" + }, + "vllm/distributed/parallel_state.py": { + "path": "/vllm/distributed/parallel_state.py", + "sha256": "d9b10ad56833ebc08a753e1a050ef0989c30d4134021b7b7b00150b7bd01adc6" + }, + "vllm/distributed/stateless_coordinator.py": { + "path": "/vllm/distributed/stateless_coordinator.py", + "sha256": "f52848fbe985ed47b1f3e3ca555314736ca06436e8d738ab4390101f0672dcb0" + }, + "vllm/distributed/utils.py": { + "path": "/vllm/distributed/utils.py", + "sha256": "792146b357139e705064a68d3b66858de8a0baaca4dc7db1232fa217d45db231" + }, + "vllm/distributed/weight_transfer/__init__.py": { + "path": "/vllm/distributed/weight_transfer/__init__.py", + "sha256": "3fb9d4712b7c131d522f5e76e73cd8c333f3cc7af86e2d5ecf9b61b57b3b7f5a" + }, + "vllm/distributed/weight_transfer/base.py": { + "path": "/vllm/distributed/weight_transfer/base.py", + "sha256": "8ab06feb04f1379d0558fbdb77fde46bc84f179e0a26742cabab937e88caa38d" + }, + "vllm/distributed/weight_transfer/clients.py": { + "path": "/vllm/distributed/weight_transfer/clients.py", + "sha256": "ff85c79c350241e6d2749ca23c9d295a3289b4b62bfdf0257d32eb94a0151d36" + }, + "vllm/distributed/weight_transfer/factory.py": { + "path": "/vllm/distributed/weight_transfer/factory.py", + "sha256": "4e979eeac8c5bcdbffb10eb4765cfb30120fa7595c6c2561d3fa1a966ced61c8" + }, + "vllm/distributed/weight_transfer/ipc_engine.py": { + "path": "/vllm/distributed/weight_transfer/ipc_engine.py", + "sha256": "1af578293f387a19073c322b24143c3ae4716ce0c5d2bac2a4ef26fe20119330" + }, + "vllm/distributed/weight_transfer/nccl_common.py": { + "path": "/vllm/distributed/weight_transfer/nccl_common.py", + "sha256": "7b2ef7dc7481c3f478f17c49aa36c7bed54142ec5c93d36ed8426c8fdf09e500" + }, + "vllm/distributed/weight_transfer/nccl_engine.py": { + "path": "/vllm/distributed/weight_transfer/nccl_engine.py", + "sha256": "7fd020c919dc7b4723fb78e64da977b180d0fef0cd21df955a037b848dbaa008" + }, + "vllm/distributed/weight_transfer/packed_tensor.py": { + "path": "/vllm/distributed/weight_transfer/packed_tensor.py", + "sha256": "d0a27fb0be1dc029bd5a1d44fdb57a5e54aa4cd74308bedc339e86ac02c7494c" + }, + "vllm/distributed/weight_transfer/sharded_rdt_common.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_common.py", + "sha256": "be0b13801f24e7b62999b19d733c030510353603a2d5320d5dc98ee02daf22a2" + }, + "vllm/distributed/weight_transfer/sharded_rdt_engine.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_engine.py", + "sha256": "2f791970b4815511a7578ef6c957e7da97b071d26a39087a09a17475909791ee" + }, + "vllm/distributed/weight_transfer/sharded_rdt_fake.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_fake.py", + "sha256": "ee11164e17b5f2793252ce77741b8b94e0583046abf896a590131b2008d1fbb9" + }, + "vllm/distributed/weight_transfer/sharded_rdt_trainer.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_trainer.py", + "sha256": "dd413ff461d41826ccd3eb87d3df22f6cd7f24e09aac7644e3e5b40d7beec484" + }, + "vllm/distributed/weight_transfer/sparse_nccl_engine.py": { + "path": "/vllm/distributed/weight_transfer/sparse_nccl_engine.py", + "sha256": "e11b409454dda2b05ea34e8115ac19027c5e65cb2a5e9682c494f16a50e978f4" + }, + "vllm/model_executor/determinism/__init__.py": { + "path": "/vllm/model_executor/determinism/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/determinism/batch_invariant.py": { + "path": "/vllm/model_executor/determinism/batch_invariant.py", + "sha256": "af8f8d256a48fc214edf426fbe891fb15bd8b1d7ae98b811c736ff1eb0fae798" + }, + "vllm/model_executor/determinism/batch_invariant_configs.py": { + "path": "/vllm/model_executor/determinism/batch_invariant_configs.py", + "sha256": "72ea0d4df0ab5ae288abb7df5c203d2ad5f1709c7295d87ec72da775fddc1b7a" + }, + "vllm/model_executor/layers/fused_moe/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/__init__.py", + "sha256": "64a32665be6d5afcfbaf7a0915717267278b66b880b908b0263ea58f08e51b5e" + }, + "vllm/model_executor/layers/fused_moe/activation.py": { + "path": "/vllm/model_executor/layers/fused_moe/activation.py", + "sha256": "78dec0e85e0c040304515f64ccf8f2c6a7a2e5b9f1124a2138a97d9a02585541" + }, + "vllm/model_executor/layers/fused_moe/all2all_utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/all2all_utils.py", + "sha256": "dc4750a446f7de31d09a46034da5fdf479bc169af90f47aa9af8ae15e67b0828" + }, + "vllm/model_executor/layers/fused_moe/b12x.py": { + "path": "/vllm/model_executor/layers/fused_moe/b12x.py", + "sha256": "ee76cc6aa801e24be8ec78a9e8502061ad48667d5ff8711e43f68fba912425bd" + }, + "vllm/model_executor/layers/fused_moe/config.py": { + "path": "/vllm/model_executor/layers/fused_moe/config.py", + "sha256": "a3a87cebcc7ac85d73f471dcfafc2d899c6fc08f264777b74a0e919adac9e03f" + }, + "vllm/model_executor/layers/fused_moe/deep_gemm_utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/deep_gemm_utils.py", + "sha256": "8fdcd857eb333f9c68902105f157568d52067c94ba1e2df6dbfe0474ef1f4c02" + }, + "vllm/model_executor/layers/fused_moe/eep_reconfigure.py": { + "path": "/vllm/model_executor/layers/fused_moe/eep_reconfigure.py", + "sha256": "9d7580265e8563e1140c2bb4c3a81a35ddd54903f5ec0a2720ffc064681f02f9" + }, + "vllm/model_executor/layers/fused_moe/expert_map_manager.py": { + "path": "/vllm/model_executor/layers/fused_moe/expert_map_manager.py", + "sha256": "308c00f63fcb6f44518ec3a56d8f902c7bba75928c2e3aea30fbe1f3f473973b" + }, + "vllm/model_executor/layers/fused_moe/experts/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a16_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a16_moe.py", + "sha256": "53deea255175171971422d14082ad139b5ec7b62e21429a4c7cc0ebbefd29cdc" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a8_moe.py", + "sha256": "f3fc51b95ed89862381908a0134e326228827f44854248db9585a9c4899c34f4" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp8_moe.py", + "sha256": "af6db1760961a5a71234f8b1cdf42e9e30a236e13601b0826a75110b79724948" + }, + "vllm/model_executor/layers/fused_moe/experts/batched_deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/batched_deep_gemm_moe.py", + "sha256": "b0cd4ea706583518dc608fb56f832fc3595f24bd863b03ef1e8c22b36b873508" + }, + "vllm/model_executor/layers/fused_moe/experts/cpu_int4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cpu_int4_moe.py", + "sha256": "67170af3ba9dc4c4f71d78a72efc3fa4e366eac614936a79911dae5c75ac1864" + }, + "vllm/model_executor/layers/fused_moe/experts/cpu_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cpu_moe.py", + "sha256": "0754cd4ff1b28e6d3932a67609d335acefd28f95a841f0492923813356a6d81e" + }, + "vllm/model_executor/layers/fused_moe/experts/cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cutlass_moe.py", + "sha256": "db901bdbcd3fdac23a1d74e39c51e67f14a82be787b2fd704ed1e787372ae868" + }, + "vllm/model_executor/layers/fused_moe/experts/deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/deep_gemm_moe.py", + "sha256": "16911a64a72eafc26a1bcb544a91f90144d85dc41e3ee57cf20e89925227bbb7" + }, + "vllm/model_executor/layers/fused_moe/experts/fallback.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fallback.py", + "sha256": "1bdd0a4f2ebaa40ec96a5aacc07aee61511af59e6324ce456aa65003b6e2991a" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_b12x_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_b12x_moe.py", + "sha256": "e613afe5da2742e42c717c1a0a56bd9e1c7e3e0452a828db0013d81063518954" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_batched_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_batched_moe.py", + "sha256": "295254dfeeec8df3eb8110e6f659a946cb9cded3de1565ecad4d741b3c3f3e00" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_moe.py", + "sha256": "08578bcd0cf72d6a470e40950175e73639efaa6d8d23c6da0869345312b229c9" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutlass_moe.py", + "sha256": "52887cec5fe628e0a4e7793deb546b40f6c29f7362b3b436c10ca36934ab9826" + }, + "vllm/model_executor/layers/fused_moe/experts/fused_batched_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fused_batched_moe.py", + "sha256": "2435587fc7f8fe8ea341ea0eb8f14c11f3f5b31fbbb9b29ce569ad3bace6e6a0" + }, + "vllm/model_executor/layers/fused_moe/experts/fused_humming_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fused_humming_moe.py", + "sha256": "a6830a76ff7f4cd3479b9c8372a30d03e8301604555cbdbcd9ac89a813b7431a" + }, + "vllm/model_executor/layers/fused_moe/experts/gpt_oss_triton_kernels_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/gpt_oss_triton_kernels_moe.py", + "sha256": "1613a7a6b256e8faee6fdcfae84f293492db6229d28ceb3e8a8d6093af480e36" + }, + "vllm/model_executor/layers/fused_moe/experts/int4_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/int4_emulation_moe.py", + "sha256": "f12857caf0671a341687ad3c5f48616b816ed51e1bcbdefa0a7edbecdb81a79d" + }, + "vllm/model_executor/layers/fused_moe/experts/lora_context.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/lora_context.py", + "sha256": "9b41eefaaa57c5dd0dc54217ef95978821b0c52e90ea4db8b0752e08452bd3e5" + }, + "vllm/model_executor/layers/fused_moe/experts/lora_experts_mixin.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/lora_experts_mixin.py", + "sha256": "b2bc55ed6be98b526c6a5698e2d98300650e78555f56b1820e58c04888e2a373" + }, + "vllm/model_executor/layers/fused_moe/experts/marlin_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/marlin_moe.py", + "sha256": "93916b721548e6194dc70cf6cec224b4b1456a0cc0980235e97beba7bf36541d" + }, + "vllm/model_executor/layers/fused_moe/experts/mxfp8_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/mxfp8_emulation_moe.py", + "sha256": "d09c62ad1398c51ff6f515f2a61014ee9e9a9798d0fe9762c47f446efc5edbef" + }, + "vllm/model_executor/layers/fused_moe/experts/mxfp8_native_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/mxfp8_native_moe.py", + "sha256": "01a42cebf18189e566034111b2145573c655319e8af1a56db60d53a319c40613" + }, + "vllm/model_executor/layers/fused_moe/experts/nvfp4_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/nvfp4_emulation_moe.py", + "sha256": "f24467762b60702f0df122ed64786be839a838a9b6cafaecbd04d35fbfedb189" + }, + "vllm/model_executor/layers/fused_moe/experts/ocp_mx_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/ocp_mx_emulation_moe.py", + "sha256": "dcaa60a9ebdb0bd8223b37af41f018ce7f95716ec7cd8526850f4433a579213b" + }, + "vllm/model_executor/layers/fused_moe/experts/rdna3_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/rdna3_moe.py", + "sha256": "e4abd802dc2f0ad9b338ebde397633c761d881c37813e2dc229902c526b597d8" + }, + "vllm/model_executor/layers/fused_moe/experts/rocm_aiter_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/rocm_aiter_moe.py", + "sha256": "bf09a7b783f5752d61cab76221b32b598d8846d801ee39dc9209d636c9659c6f" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_cutlass_moe.py", + "sha256": "ffce5ad627c540940d122d8df7981644b2eb35d07d480995c0f4f30517815fac" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_deep_gemm_moe.py", + "sha256": "c7209fa5e1ccb184a68b37a0706fc571a76696c2ae79802ddc7f889b1c29684d" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_moe.py", + "sha256": "806fbccfe30f5fbd578acf773add99bdf022b12d617958bd6281aef6de369701" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_bf16_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_bf16_moe.py", + "sha256": "76256de96fefece9c41ffb1108487919e24da364cf4412c6c3474498aba59137" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_fp8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_fp8_moe.py", + "sha256": "b54c7ceb45e5d07aa905f42ea44caccf85ca35ba9fb825d4c01947764510f68b" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_lora_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_lora_moe.py", + "sha256": "dd35a9e4242c0dc8d691168813e14bd5543e591f02ee529d0691e07651942c5a" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_mxfp4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_mxfp4_moe.py", + "sha256": "fe780f125a3dc3ba919659e9b85340bd32afcbfe47733a002bfdfb92eadf400c" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_mxint4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_mxint4_moe.py", + "sha256": "2106d67c2951aa690c4656ca58240d09c366cffe8cb4d9fd575df016c377cc30" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_nvfp4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_nvfp4_moe.py", + "sha256": "e938ac9f058f7c90b41c9610513239bec54a95304bfb5ff5f6897ebd54733d7e" + }, + "vllm/model_executor/layers/fused_moe/experts/xpu_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/xpu_moe.py", + "sha256": "2a11bac0cf9274d963315efd6eebdc62978b0b7aa02e8849ff2a562742f0b86d" + }, + "vllm/model_executor/layers/fused_moe/fused_flydsl_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_flydsl_moe.py", + "sha256": "0e74879ee5c72f616ae4064b9dff3b3a0b583b7fc70b8f92f1e8b730ecd5d39b" + }, + "vllm/model_executor/layers/fused_moe/fused_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe.py", + "sha256": "7072eb06237be9d33dcb0ef7101410f886a6363c98cbee70a014c68b70f639cb" + }, + "vllm/model_executor/layers/fused_moe/fused_moe_method_base.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe_method_base.py", + "sha256": "18dcfc469d3252749801bbf943857f58da85de1f2db8fdff5a9f4986a925dc68" + }, + "vllm/model_executor/layers/fused_moe/fused_moe_modular_method.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe_modular_method.py", + "sha256": "321c744eac1fcaffd6b1b2971204c8baa57dfec53e91e5d24140014d72d64f83" + }, + "vllm/model_executor/layers/fused_moe/hpc_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/hpc_moe.py", + "sha256": "2ca9c5d71b6fd91651027905e2b83103a8823845e053e7153e148cb8e0ee666d" + }, + "vllm/model_executor/layers/fused_moe/layer.py": { + "path": "/vllm/model_executor/layers/fused_moe/layer.py", + "sha256": "def0b4e13bcc1e4e21ee10644e647e2eda1acbf0cc01e76d6128abb59ea08224" + }, + "vllm/model_executor/layers/fused_moe/modular_kernel.py": { + "path": "/vllm/model_executor/layers/fused_moe/modular_kernel.py", + "sha256": "8dc4e0dbbf35b3aac8add63ca6f2a7bbfdadaabbd60826e24598b22c7d8e5c22" + }, + "vllm/model_executor/layers/fused_moe/moe_align_block_size.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_align_block_size.py", + "sha256": "c3f7fc2087836f0160a32ab99ceb1d8f6e87c793679da34dd672e225cb7fa31b" + }, + "vllm/model_executor/layers/fused_moe/moe_fused_mul_sum.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_fused_mul_sum.py", + "sha256": "112e72578002c3bff538418dac64b3b56d995994a2fc5e32b18d2cf3b8392a13" + }, + "vllm/model_executor/layers/fused_moe/moe_output.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_output.py", + "sha256": "6ea4cbd78f9efc7f842c5df246f553f08b991c3479b8b04b89902ed08aaf8e8f" + }, + "vllm/model_executor/layers/fused_moe/moe_permute_unpermute.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_permute_unpermute.py", + "sha256": "1adc592c6254d0c877d66be5406afbc822459c18a838f4bbd094a992e7609d06" + }, + "vllm/model_executor/layers/fused_moe/oracle/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/__init__.py", + "sha256": "4dcf941d50d48bb812de0f39e9194bf17a76b8035fe324889c6038f710fdc453" + }, + "vllm/model_executor/layers/fused_moe/oracle/base.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/base.py", + "sha256": "555bbcd18a3744e64eee4e953daabef3bd268a1bd4faf967d4cfd14d6074f685" + }, + "vllm/model_executor/layers/fused_moe/oracle/fp8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/fp8.py", + "sha256": "245bd36c285df1e6f7c51e52dcda31ad247894577a9f8d765613c2c2feae9aee" + }, + "vllm/model_executor/layers/fused_moe/oracle/int8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/int8.py", + "sha256": "c1b67886511bd966b162db5bca8930f04895fb37a969818a4a10f0726c59547f" + }, + "vllm/model_executor/layers/fused_moe/oracle/int_wna16.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/int_wna16.py", + "sha256": "cfffe8b8b290330be9d18ffa07aeecf296484395ff04df3147d99393e48b55c1" + }, + "vllm/model_executor/layers/fused_moe/oracle/mxfp4.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/mxfp4.py", + "sha256": "b7915e6779b5c88e7dcd2d227f003a8e45071d6d86877013067142d4feb64a8c" + }, + "vllm/model_executor/layers/fused_moe/oracle/mxfp8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/mxfp8.py", + "sha256": "9cfdc8102a04bb844dcd7ed88043bba96ec751794bc093da76c69aa8cf88cf48" + }, + "vllm/model_executor/layers/fused_moe/oracle/nvfp4.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/nvfp4.py", + "sha256": "735b4cdeb1258f11fb02320fc0c70cab5edaca468dd60b07b2d369389d2b0313" + }, + "vllm/model_executor/layers/fused_moe/oracle/unquantized.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/unquantized.py", + "sha256": "c8b8203bd0b73bb7f586f703607394d663f14c05711416ad42d45af564382223" + }, + "vllm/model_executor/layers/fused_moe/oracle/w4a8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/w4a8.py", + "sha256": "d7fa6e2982f20b34d5ce9c5ce28a61122762a3fcdd53d249479472a4f2316c6a" + }, + "vllm/model_executor/layers/fused_moe/oracle/w4a8_int8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/w4a8_int8.py", + "sha256": "6d6f9ca2e67b630002873de2f8d8a231d091c5c2f0f3354a9e8209449b481a4c" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/__init__.py", + "sha256": "2800113263a83c2632e522fb22790b29f63384da75d43de32f0ae2f95e8ae4c1" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/batched.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/batched.py", + "sha256": "d52425dd8c08e47cf8d9c3088daf3b1cc721c8667de4c738d04ba997f9a08ccb" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ht.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ht.py", + "sha256": "465cdf1d6cee91b2ee8c2e43abbea6e8408976e3048c10f44c089f34b415bc60" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ll.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ll.py", + "sha256": "f704922b1db680c4c212982a096e09d6b3eb97d89110313f86ed958a00df21b7" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_v2.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_v2.py", + "sha256": "8d690b016bbcfbc9eb599bcc36a6f798b2f1720c828f4347ea742e218c0cc60d" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_one_sided.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_one_sided.py", + "sha256": "acb57d8342af62bb5672036871cd4b27ecc7f37dfa7c894850bb860e6152a1f0" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_two_sided.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_two_sided.py", + "sha256": "cc5b00d6a157b6eca5afaaf7435165dbd1b4524d6d88bf75808cbe074a389f79" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/mori.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/mori.py", + "sha256": "8e9c3b5b1f0de13f467d95bf2f451cba0e4b0d9a1bdcf98da0988a3a9a79a045" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/naive_dp_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/naive_dp_ep.py", + "sha256": "db015e5b18750bbbf5b2bbaceca877dd6f3f3e74c2a94e8dc185f7413b387f91" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/nixl_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/nixl_ep.py", + "sha256": "1f71d70ac509bf5d3d67a8d95a8ee108a50af6bb5d4bde7181ca28e286f6ffce" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/no_dp_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/no_dp_ep.py", + "sha256": "adbbf529cd22059c95b5380952943a70cf11e05e321dcd707f296bebde61a6e7" + }, + "vllm/model_executor/layers/fused_moe/routed_experts.py": { + "path": "/vllm/model_executor/layers/fused_moe/routed_experts.py", + "sha256": "68c48e5df0ea4a7cc1f04436b7b9153eb53802ecd9bb55d38db8738508daac6d" + }, + "vllm/model_executor/layers/fused_moe/routed_experts_capturer.py": { + "path": "/vllm/model_executor/layers/fused_moe/routed_experts_capturer.py", + "sha256": "cd006bc1a1703418cca3b589fafb2abc4268a086fb3db044bbb64348aeac8b13" + }, + "vllm/model_executor/layers/fused_moe/router/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/layers/fused_moe/router/aiter_shared_routed_fused_moe_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/aiter_shared_routed_fused_moe_router.py", + "sha256": "f47046db1275601a2c67c9232afc7b866c9623a19639d5be867e4c7914a35069" + }, + "vllm/model_executor/layers/fused_moe/router/base_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/base_router.py", + "sha256": "47fa2324bcd9b6ebdc138d69ae6b6ecc0f2463d34bda8c5988bdb0a2a76d3fae" + }, + "vllm/model_executor/layers/fused_moe/router/bf16x3_router_gemm_cutedsl.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/bf16x3_router_gemm_cutedsl.py", + "sha256": "d0f1edd1ebc48d88e490bdb3c93db49bdc0a135ff83e7e0b57130e9f8255fc32" + }, + "vllm/model_executor/layers/fused_moe/router/cpu_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/cpu_router.py", + "sha256": "bff36b15818c87bfbb7ee3def7dc7f6396860abbe5893ff6148801fe941a4b92" + }, + "vllm/model_executor/layers/fused_moe/router/custom_routing_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/custom_routing_router.py", + "sha256": "1a40c7054e3c3a1b3ee2e98f6bc9efa9dfdc11f316a8edf7357dd91533487bfe" + }, + "vllm/model_executor/layers/fused_moe/router/dsv4_topk.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/dsv4_topk.py", + "sha256": "14f7c8487b9aef652dd61c91e0e3c3640b643bf9cd0d8a7184157d71f4beb63e" + }, + "vllm/model_executor/layers/fused_moe/router/fused_moe_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_moe_router.py", + "sha256": "0daa0dc05b931d66767feca444a4cd57ecf140f59b40ea0e8ad213eef6da2b36" + }, + "vllm/model_executor/layers/fused_moe/router/fused_topk_bias_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_topk_bias_router.py", + "sha256": "8fdc28cc248180ad4f11bb4bcda3df47926ec12665a0d84bb712fe83fc6b9376" + }, + "vllm/model_executor/layers/fused_moe/router/fused_topk_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_topk_router.py", + "sha256": "1c80f4af4d781fd66b12aa6a7a0fd30082bc521df40f1252987a8ac4c0bef51c" + }, + "vllm/model_executor/layers/fused_moe/router/gate_linear.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/gate_linear.py", + "sha256": "faa43362c2e7c568498a923c682ca18cae75e87f48d00882770821cb19c21198" + }, + "vllm/model_executor/layers/fused_moe/router/grouped_topk_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/grouped_topk_router.py", + "sha256": "048339e1799cdd42c9dae686a6cb891046577fb391b500f0d12eed73c8f61e52" + }, + "vllm/model_executor/layers/fused_moe/router/rocm_fp32_router_gemm.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/rocm_fp32_router_gemm.py", + "sha256": "9c331ef3d0bb2fb6954387d77ac62a99c5c76d2753c7438bfbb5115f68aae5ac" + }, + "vllm/model_executor/layers/fused_moe/router/router_factory.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/router_factory.py", + "sha256": "019bc8adaa7642abab82843efd53cd1a378f62c652521a1de2b781480eb88742" + }, + "vllm/model_executor/layers/fused_moe/router/routing_simulator_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/routing_simulator_router.py", + "sha256": "a7345df5add00cf3bd93024492d6fc1189fd3ecf2754a11cef1b03a295d791f7" + }, + "vllm/model_executor/layers/fused_moe/router/zero_expert_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/zero_expert_router.py", + "sha256": "dea306edd92e2b9c1b43f982ede8e1e10770d2c66220f5a106e0ed0165276e9c" + }, + "vllm/model_executor/layers/fused_moe/runner/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/layers/fused_moe/runner/moe_runner.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/moe_runner.py", + "sha256": "05893188402fe37229bf72d75088d66193c417d5d502daafd3a55e1bfedaa60c" + }, + "vllm/model_executor/layers/fused_moe/runner/moe_runner_interface.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/moe_runner_interface.py", + "sha256": "189cad01611124eb44594713cbf5918d16fc70196dc81a525ae0a7a97a5fcc51" + }, + "vllm/model_executor/layers/fused_moe/runner/shared_experts.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/shared_experts.py", + "sha256": "d89e4c79c46f6fe61262c51f3facf102e71ce1e4eb3db67f72b6bd8470937be9" + }, + "vllm/model_executor/layers/fused_moe/topk_weight_and_reduce.py": { + "path": "/vllm/model_executor/layers/fused_moe/topk_weight_and_reduce.py", + "sha256": "3dfede72d52bf99af40997994704e6c502ee3bab2bd39bfaa8a68d7dae440203" + }, + "vllm/model_executor/layers/fused_moe/unquantized_fused_moe_method.py": { + "path": "/vllm/model_executor/layers/fused_moe/unquantized_fused_moe_method.py", + "sha256": "182a5ec1874ece2091a24c5303f6ab9ea64a9a61adf325b863927f0cdd83e5d3" + }, + "vllm/model_executor/layers/fused_moe/utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/utils.py", + "sha256": "a93a0bded4008db19d8b38370526ae34fafb9c8278e5b4f60acb6acc8fdc1850" + }, + "vllm/model_executor/layers/mamba/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/abstract.py": { + "path": "/vllm/model_executor/layers/mamba/abstract.py", + "sha256": "dfdc8c836894f574e41d93d76ab989cacd3d7ecf59c97a929abfa48d9364e8ad" + }, + "vllm/model_executor/layers/mamba/gdn/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/gdn/base.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/base.py", + "sha256": "7fec748fc74131f5a45bcaf2644b3fa3a0598fd437d7347f8207ea3644a951c5" + }, + "vllm/model_executor/layers/mamba/gdn/kimi_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/kimi_gdn_linear_attn.py", + "sha256": "1cec4da5c9da73557e192bfb36cd540aae51d3e91283b554449c4a97f0f89bd9" + }, + "vllm/model_executor/layers/mamba/gdn/olmo_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/olmo_gdn_linear_attn.py", + "sha256": "60873ca3bb0c4d17c33bd259b62b658db4883cd23138f47dd4ead62cd2ff0605" + }, + "vllm/model_executor/layers/mamba/gdn/qwen_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/qwen_gdn_linear_attn.py", + "sha256": "b80f8e6f3fff442fb880aebb3209c52f814f66490009f4ac4003de603576d10a" + }, + "vllm/model_executor/layers/mamba/linear/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/linear/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py", + "sha256": "3c480ddd6eba0766ed012a1074bbec5f241d868a87b020b0f6312222c32f93eb" + }, + "vllm/model_executor/layers/mamba/linear/base.py": { + "path": "/vllm/model_executor/layers/mamba/linear/base.py", + "sha256": "26125cd427225954e1846ca361cdaf43f2b56f11b1e217cf26e91a80ef0edb6a" + }, + "vllm/model_executor/layers/mamba/linear/minimax_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/linear/minimax_linear_attn.py", + "sha256": "4adc00f54893b5bc6c31c613deda152a19af3b1bba04153ab5924c3bf2a3aaae" + }, + "vllm/model_executor/layers/mamba/mamba_mixer.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_mixer.py", + "sha256": "a485e937ad9db14d3ad03fde5a9fe795cfa863649563e52fc7e6c52ef631164e" + }, + "vllm/model_executor/layers/mamba/mamba_mixer2.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_mixer2.py", + "sha256": "d58d93e90d9eb90bc5133b79f07c7c62d0032b35d6cf916e3fe34367b81c5cd5" + }, + "vllm/model_executor/layers/mamba/mamba_utils.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_utils.py", + "sha256": "ce9845b4a4ef4bc46577a33038ed69d59ceccb52f30e9c5bdaa36e48be3b2ca4" + }, + "vllm/model_executor/layers/mamba/ops/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/ops/causal_conv1d.py": { + "path": "/vllm/model_executor/layers/mamba/ops/causal_conv1d.py", + "sha256": "044d005cfe59fd0818ed421274e04f3e8dd679b8cdb64fca9f4422f2643484b2" + }, + "vllm/model_executor/layers/mamba/ops/cpu/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/ops/cpu/causal_conv1d.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/causal_conv1d.py", + "sha256": "64104672890ac2ef240c20c7f8059beeade707178574809dbca8721dff5ea6fa" + }, + "vllm/model_executor/layers/mamba/ops/cpu/gdn_attention.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/gdn_attention.py", + "sha256": "a50288945bf5b102ad3025ae536638dcc32d84cf7c22aaf3a85326b0c1c56c1f" + }, + "vllm/model_executor/layers/mamba/ops/cpu/mamba_ssm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/mamba_ssm.py", + "sha256": "5839e576172a3246337f5e4fb1bc19eb583b3e2b2f7e35dd060dc3041eb8372d" + }, + "vllm/model_executor/layers/mamba/ops/gather_initial_states.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gather_initial_states.py", + "sha256": "5198bb6de6d91c583a5f65d926412a76ee04a06fa72aaba76eaf156b27cd0523" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/__init__.py", + "sha256": "b88b52e71fcb21bd3fa215ea171dcd2ad2ff17c97788cfe64caa7ba45c7ecf97" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_h.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_h.py", + "sha256": "f50bbe5c0b6382323ec5dfc24a5e0c7971113d59727515e60c9fe3689734e5ba" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_kkt_inv_uw.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_kkt_inv_uw.py", + "sha256": "b4a65dd194907db08865e0596fe254f915e670a9e6b27ffa2933c1026dde9b1e" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_o.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_o.py", + "sha256": "629f7843a7e611efb9390f2ebb7a4b924b2c328d48a317fddfaa96af4d9bc60a" + }, + "vllm/model_executor/layers/mamba/ops/layernorm_gated.py": { + "path": "/vllm/model_executor/layers/mamba/ops/layernorm_gated.py", + "sha256": "3433f2e3b87c2b2ccf8e9794ce40762c86a6da38a94ecee001f439ea0d0373dd" + }, + "vllm/model_executor/layers/mamba/ops/mamba_ssm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/mamba_ssm.py", + "sha256": "a4515ec7895b40ed878cf380445034b25faa61fbaa799d96c49217bbdfd7e400" + }, + "vllm/model_executor/layers/mamba/ops/replayssm_config.py": { + "path": "/vllm/model_executor/layers/mamba/ops/replayssm_config.py", + "sha256": "5fe9d5d7aa2de6a65875b3796a919b22bc435fd76055ba054bbff43aa005bc44" + }, + "vllm/model_executor/layers/mamba/ops/scatter_states.py": { + "path": "/vllm/model_executor/layers/mamba/ops/scatter_states.py", + "sha256": "f3bb004c73edaba56337747893eb07faf29b270dc8bb9c893ee9b1044e4ead9a" + }, + "vllm/model_executor/layers/mamba/ops/selective_state_update_replayssm_output_only.py": { + "path": "/vllm/model_executor/layers/mamba/ops/selective_state_update_replayssm_output_only.py", + "sha256": "cea7fd3063ca9dcc4e33f180d01ea379195ec515cedc9d0b03b11dc67670d695" + }, + "vllm/model_executor/layers/mamba/ops/ssd_bmm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_bmm.py", + "sha256": "26983d97a7f5c5f9197a16a6bee7b1294839b9ae31a14c14aaee38b43523e630" + }, + "vllm/model_executor/layers/mamba/ops/ssd_chunk_scan.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_chunk_scan.py", + "sha256": "d5ef32e8cb47e2ce71984579df78ab69754895f891766394daf327867cfa4f8f" + }, + "vllm/model_executor/layers/mamba/ops/ssd_chunk_state.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_chunk_state.py", + "sha256": "177e3aa7fe72647133bbd86135533e8688a5802678d4d1564aa549410362316f" + }, + "vllm/model_executor/layers/mamba/ops/ssd_combined.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_combined.py", + "sha256": "1317bbb668d3c60dfe0658850f9968614f03fa5eb61196f8ce6ac17dbb31b480" + }, + "vllm/model_executor/layers/mamba/ops/ssd_state_passing.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_state_passing.py", + "sha256": "36b8c8edba437916a5b789717c61fc22077de01e77892cb96dbff3b00a57410e" + }, + "vllm/model_executor/layers/mamba/ops/ssu_dispatch.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssu_dispatch.py", + "sha256": "bbe0f0e61da87f3ddfead19a79ca376516b63f1ea868be3485333c63fa20ef41" + }, + "vllm/model_executor/layers/mamba/ops/triton_helpers.py": { + "path": "/vllm/model_executor/layers/mamba/ops/triton_helpers.py", + "sha256": "a8795532f22c37a93e82c9d8e3fadcb5f4da98673d7b321fe8481305eaafad30" + }, + "vllm/model_executor/layers/mamba/short_conv.py": { + "path": "/vllm/model_executor/layers/mamba/short_conv.py", + "sha256": "228494efab185ee17374f762874f4c8b9a26aac9decfa8c906ce38446e0de51a" + }, + "vllm/model_executor/models/qwen3_next.py": { + "path": "/vllm/model_executor/models/qwen3_next.py", + "sha256": "4fa5112ac2bf7886d41d9e1f6c3da8793620d1ec49c961b31e9609459a6a7f7a" + }, + "vllm/third_party/flash_linear_attention/__init__.py": { + "path": "/vllm/third_party/flash_linear_attention/__init__.py", + "sha256": "5dbbfa3fc286edb2e970e175ef33cee4f6181c89b0784f5a8986201b2312f54e" + }, + "vllm/third_party/flash_linear_attention/ops/__init__.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/__init__.py", + "sha256": "dd738dc1d08045e76455cdbe16052a5b769e0eb11d6e87ff28353994f880cd6c" + }, + "vllm/third_party/flash_linear_attention/ops/chunk.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk.py", + "sha256": "c105ead259e86aedc248c53e7c4cef07034d0ff12da608d80265d1dd0990803f" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_delta_h.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_delta_h.py", + "sha256": "1b3ad391f939d9443c6b7adb19e57fe381bd5dccea064e8417a4f85b0e713b26" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_o.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_o.py", + "sha256": "3b63b836a8cc561723c23db5a528a0b474d9cd78508d610f0b348c585a889a19" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_scaled_dot_kkt.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_scaled_dot_kkt.py", + "sha256": "7ae41df3755acc7e925a134d848f78bb5fc00b90069039d86403c5853323ea42" + }, + "vllm/third_party/flash_linear_attention/ops/cumsum.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/cumsum.py", + "sha256": "d818215669b451868823202ac0bcea77e7a9d75957254c7c1060a73a55dc39b6" + }, + "vllm/third_party/flash_linear_attention/ops/fused_gdn_prefill_post_conv.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_gdn_prefill_post_conv.py", + "sha256": "590717b2107abc90d72548de06b5d315229eb2775c94614f3f545df11cc2b5df" + }, + "vllm/third_party/flash_linear_attention/ops/fused_norm_gate.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_norm_gate.py", + "sha256": "e6eb90467f29d8a0a04f2a364d20a2c3191b6ab857841bfb82076b33a6022d1a" + }, + "vllm/third_party/flash_linear_attention/ops/fused_recurrent.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_recurrent.py", + "sha256": "fe6f1311014809040497aa0a623e7fa97f4b3457cdc7ee1f1f8aed21f326f755" + }, + "vllm/third_party/flash_linear_attention/ops/fused_sigmoid_gating.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_sigmoid_gating.py", + "sha256": "000ab8996af9788fdb8843a6a3b91833e7a14c8acc0e1ea073a536330f64cb6f" + }, + "vllm/third_party/flash_linear_attention/ops/index.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/index.py", + "sha256": "a4f8b2c052635cb519a80099e8a85411d1d5d6880b38f466788259bbe66b154d" + }, + "vllm/third_party/flash_linear_attention/ops/kda.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/kda.py", + "sha256": "e1f31aaa89b91f8e5db6d070b229e2c81c7206e8caec67de41db97d06be0c476" + }, + "vllm/third_party/flash_linear_attention/ops/l2norm.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/l2norm.py", + "sha256": "520f4513ef4fc97e6b88dc07877cca8e29da0d34e44673fe989e3af002d86381" + }, + "vllm/third_party/flash_linear_attention/ops/layernorm_guard.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/layernorm_guard.py", + "sha256": "42af29be26e8fc94a4658e053c095fcdab9ffdc1bc2446a01e787deda2a298c0" + }, + "vllm/third_party/flash_linear_attention/ops/op.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/op.py", + "sha256": "456da84fd12411cf53c96a90dd4f78f49afb454c3d51d2c524ea8e7106fe8ae5" + }, + "vllm/third_party/flash_linear_attention/ops/solve_tril.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/solve_tril.py", + "sha256": "d1a4ff27623a938825052500afa7e2aa24fadd2fa4c9be6376c9128824f86f82" + }, + "vllm/third_party/flash_linear_attention/ops/utils.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/utils.py", + "sha256": "d6c90d36505e02086954c23ca4dd2fea82a69416d68ff1d0501e16b3148b5b0c" + }, + "vllm/third_party/flash_linear_attention/ops/wy_fast.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/wy_fast.py", + "sha256": "c9fc8259db0a8746dc04f1d799cb73333457118cf89a0bdce8dde8a80a28cd96" + }, + "vllm/v1/attention/__init__.py": { + "path": "/vllm/v1/attention/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backend.py": { + "path": "/vllm/v1/attention/backend.py", + "sha256": "01ac364372afa75fdb22486aa3a9c7cf9aebb742e3471dfb9e0f9d9d36b734bc" + }, + "vllm/v1/attention/backends/__init__.py": { + "path": "/vllm/v1/attention/backends/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backends/b12x.py": { + "path": "/vllm/v1/attention/backends/b12x.py", + "sha256": "443f0a98738fdfefe5b9ab151d278bfd43a8ac807eb2b0b9b2a13d51922afbf9" + }, + "vllm/v1/attention/backends/composite.py": { + "path": "/vllm/v1/attention/backends/composite.py", + "sha256": "4cf3d66dca891562709eed4f50aa14b0ae6c8240d9ea86504a3304b2f356cce0" + }, + "vllm/v1/attention/backends/cpu_attn.py": { + "path": "/vllm/v1/attention/backends/cpu_attn.py", + "sha256": "76fb02a6bd725125565d84bf04f627cf16da5f7ff8f31f87c01ed6a1439398c7" + }, + "vllm/v1/attention/backends/fa_utils.py": { + "path": "/vllm/v1/attention/backends/fa_utils.py", + "sha256": "08fa6e231d3af3a71a6e59162dd12328aa8beb28548165ae58f130a92adb5a83" + }, + "vllm/v1/attention/backends/flash_attn.py": { + "path": "/vllm/v1/attention/backends/flash_attn.py", + "sha256": "b170a4789e18104c1bee35bea70df51abe6766693d8f4726a59f2e6f5c4282aa" + }, + "vllm/v1/attention/backends/flash_attn_diffkv.py": { + "path": "/vllm/v1/attention/backends/flash_attn_diffkv.py", + "sha256": "e4627c88c3ba8caee260540e994cc8137fd2ff7cd7813356b36387c6c88ce30a" + }, + "vllm/v1/attention/backends/flashinfer.py": { + "path": "/vllm/v1/attention/backends/flashinfer.py", + "sha256": "8ee541fde43ed92a417b3f01ea1e6fc64af8ab2eb54cbfc28308a49aaca4ed7f" + }, + "vllm/v1/attention/backends/flex_attention.py": { + "path": "/vllm/v1/attention/backends/flex_attention.py", + "sha256": "ad07f0ad73aeeadc3534b3a05c14f88a62cb3638874239ae9823c49b36276dc3" + }, + "vllm/v1/attention/backends/gdn_attn.py": { + "path": "/vllm/v1/attention/backends/gdn_attn.py", + "sha256": "3831019404a92200a38b43571c040cffeb6638bbdc71e4cb5e680dbc6c93d054" + }, + "vllm/v1/attention/backends/hpc_attn.py": { + "path": "/vllm/v1/attention/backends/hpc_attn.py", + "sha256": "af9e2aec1b498f0ee48a2dce3cf5646edf1976466980b2fd927c0e82b875427c" + }, + "vllm/v1/attention/backends/linear_attn.py": { + "path": "/vllm/v1/attention/backends/linear_attn.py", + "sha256": "bc42144fcd027434c6a10dc9f4c5f991db8899d387af5f6485402ce097eb0513" + }, + "vllm/v1/attention/backends/mamba1_attn.py": { + "path": "/vllm/v1/attention/backends/mamba1_attn.py", + "sha256": "32159dae11cab3c8c576b9514ad97d5108c8d1b4cac9fcfe345ec6a76223aee7" + }, + "vllm/v1/attention/backends/mamba2_attn.py": { + "path": "/vllm/v1/attention/backends/mamba2_attn.py", + "sha256": "a5bcdecb7b9547137023e1c77a386003358fa940eaf5f319ed142211dcdba139" + }, + "vllm/v1/attention/backends/mamba_attn.py": { + "path": "/vllm/v1/attention/backends/mamba_attn.py", + "sha256": "5e7b2c4058fc5e6096d001bff6c789b78368b025bbe4600f191aaca2ff59b59f" + }, + "vllm/v1/attention/backends/mla/__init__.py": { + "path": "/vllm/v1/attention/backends/mla/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backends/mla/aiter_triton_mla.py": { + "path": "/vllm/v1/attention/backends/mla/aiter_triton_mla.py", + "sha256": "ed0e285cdae06a019150c41cc958b3c0b5ceb0e4f299d5318d1c90e2c2395390" + }, + "vllm/v1/attention/backends/mla/amx_mla.py": { + "path": "/vllm/v1/attention/backends/mla/amx_mla.py", + "sha256": "7f5cddec30b2dfe22ccdbd3b9da673c879719bf6da4074317bd60add55f5d15f" + }, + "vllm/v1/attention/backends/mla/compressor_utils.py": { + "path": "/vllm/v1/attention/backends/mla/compressor_utils.py", + "sha256": "3589e94105368ea285c40b82db1a0332682ff5d071fe363627cf4c0d10f3facf" + }, + "vllm/v1/attention/backends/mla/cpu_mla.py": { + "path": "/vllm/v1/attention/backends/mla/cpu_mla.py", + "sha256": "ff2110b9f78e92adf6bab294465cbc294ae1ff71cb1780fed158179e134a4ca6" + }, + "vllm/v1/attention/backends/mla/cutlass_mla.py": { + "path": "/vllm/v1/attention/backends/mla/cutlass_mla.py", + "sha256": "211d298680f9bd793cc468281b316d6633c5f4eb6dcec71d3329b034a23ab9b5" + }, + "vllm/v1/attention/backends/mla/flashattn_mla.py": { + "path": "/vllm/v1/attention/backends/mla/flashattn_mla.py", + "sha256": "ac89e0ad75a37e92566d264bafe324735a80f9ab4709241a4454d17b3d38bb63" + }, + "vllm/v1/attention/backends/mla/flashattn_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashattn_mla_sparse.py", + "sha256": "67dd3ead2e8b9d8cda0825ecc93779cb7d670628bc741c759a7d3cd5d474030f" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla.py", + "sha256": "0c24ff016fb6b0bb41d9e7484b6f1af42f37bcc384ed613473fc3e01ad25f664" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse.py", + "sha256": "2116d965b2067134d8afa5878d4d16c0149b061258f50c4106d993aa13b073cc" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm120.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm120.py", + "sha256": "102ca08793d567f95598eefeb34c3f6ec50b3b9d704f162d1402b97b12b5777b" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm90.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm90.py", + "sha256": "df9fe4970aa3f53cf24784b8534b89e0101a2ca20a35a2ebbc9a12a4463d5993" + }, + "vllm/v1/attention/backends/mla/flashmla.py": { + "path": "/vllm/v1/attention/backends/mla/flashmla.py", + "sha256": "c9d8046a853ecbdeff9ebfc738f5bb34c4f272b278231a09a0fbf73708c7c188" + }, + "vllm/v1/attention/backends/mla/flashmla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashmla_sparse.py", + "sha256": "7a379c717adb9667ce94cbc16c0e3a1fb22a169713db6d7941c141fa84077b3f" + }, + "vllm/v1/attention/backends/mla/index_group.py": { + "path": "/vllm/v1/attention/backends/mla/index_group.py", + "sha256": "c24e028c3c160a9bb92e043da5b5b34c805e84745b7c4b8da6fb8702a0ddd641" + }, + "vllm/v1/attention/backends/mla/indexer.py": { + "path": "/vllm/v1/attention/backends/mla/indexer.py", + "sha256": "2acbc1c4fa57c3424ad95e6ecbe76eb7141747773c3e867ce704f4adccba892a" + }, + "vllm/v1/attention/backends/mla/prefill/__init__.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/__init__.py", + "sha256": "903630eb705dd175bf4ae4558a4bcaa07c110056b6a11eb830fdd2fb21b3c48a" + }, + "vllm/v1/attention/backends/mla/prefill/aiter_flash_attn.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/aiter_flash_attn.py", + "sha256": "571b8a9910c4ea3fefda60659026f3bf0d7b542c34553c8c9a4d43bb82077e61" + }, + "vllm/v1/attention/backends/mla/prefill/base.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/base.py", + "sha256": "138bf3ddaf5a94c3cdbc4e08ac676edcae84b32fc76625e546f3b47f7d8b82ec" + }, + "vllm/v1/attention/backends/mla/prefill/cpu_sdpa.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/cpu_sdpa.py", + "sha256": "1bb686395274a8ec0d9fd7327410a527655fe060cbbc263eab138fea988d96de" + }, + "vllm/v1/attention/backends/mla/prefill/flash_attn.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/flash_attn.py", + "sha256": "5e648c82c82e5f81fe11458eb82b9f90b50fc06df2ade3bf111ee6b7a2ee8481" + }, + "vllm/v1/attention/backends/mla/prefill/flashinfer.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/flashinfer.py", + "sha256": "63861219c35b8abc0ebe01e1f51543c5ed40bd46119ca261d927da7c6826b49b" + }, + "vllm/v1/attention/backends/mla/prefill/registry.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/registry.py", + "sha256": "c8c30b92213d594beaa3cab4d5003da26a85870dbb11d1ab73191962d0645b53" + }, + "vllm/v1/attention/backends/mla/prefill/selector.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/selector.py", + "sha256": "101d9fca7924b0c5d7891a17fe8942611bd6759e32b03a571dc87b14c1430f2f" + }, + "vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py", + "sha256": "047cf07bfcc83db3b11a6a54ffe189f6146e6ec9ad33ce2fa7d18860bf4210f0" + }, + "vllm/v1/attention/backends/mla/prefill/trtllm_ragged.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/trtllm_ragged.py", + "sha256": "9e13ea6f6a25accedd918c0de64bbb812ccb20ffb95350ab018a6e76d493789b" + }, + "vllm/v1/attention/backends/mla/rocm_aiter_mla.py": { + "path": "/vllm/v1/attention/backends/mla/rocm_aiter_mla.py", + "sha256": "b489f5830c655bfb6299801a70d69b9821513c69568ecab3689db5a7be867be5" + }, + "vllm/v1/attention/backends/mla/rocm_aiter_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/rocm_aiter_mla_sparse.py", + "sha256": "91b1d9b3d860a9720bc01b8ebe9bbe8649a7d6bca20d4b63939bc100309bca19" + }, + "vllm/v1/attention/backends/mla/sparse_swa.py": { + "path": "/vllm/v1/attention/backends/mla/sparse_swa.py", + "sha256": "a47853ad8a3fe40f24704592581ea323a18041b84610df010a5534da634e311e" + }, + "vllm/v1/attention/backends/mla/sparse_utils.py": { + "path": "/vllm/v1/attention/backends/mla/sparse_utils.py", + "sha256": "c3cdf060288c05542243a9fe8b5ad3a963ad75e9ce399009b5e45c1235a88ce4" + }, + "vllm/v1/attention/backends/mla/tokenspeed_mla.py": { + "path": "/vllm/v1/attention/backends/mla/tokenspeed_mla.py", + "sha256": "b9ba523c606430cecb99a88b28c53d98a99dcf5e76105a80664338110a20f1ad" + }, + "vllm/v1/attention/backends/mla/triton_mla.py": { + "path": "/vllm/v1/attention/backends/mla/triton_mla.py", + "sha256": "21b16b3b34470edcc33d0423e560837c1d37d4bab31c7b3b9cfd7faa47864b51" + }, + "vllm/v1/attention/backends/mla/xpu_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/xpu_mla_sparse.py", + "sha256": "559c6240fe466521a6b2df4c94aea02ddf3f5efa5ba6954fa180c5a51c0f12d2" + }, + "vllm/v1/attention/backends/recoverssm_metadata.py": { + "path": "/vllm/v1/attention/backends/recoverssm_metadata.py", + "sha256": "02896a667db0f0308371ceb50048b18e5866c0235d163c0357e9a05dcedb3394" + }, + "vllm/v1/attention/backends/registry.py": { + "path": "/vllm/v1/attention/backends/registry.py", + "sha256": "378e8ee78734bd8c8adbe287d4c0a4058dcbb553195a09fbcce00a3cc30adc29" + }, + "vllm/v1/attention/backends/rocm_aiter_fa.py": { + "path": "/vllm/v1/attention/backends/rocm_aiter_fa.py", + "sha256": "d1418af03bf58209c850f466b712d3ea22a14ebb758c42dd43e65738281841fd" + }, + "vllm/v1/attention/backends/rocm_aiter_unified_attn.py": { + "path": "/vllm/v1/attention/backends/rocm_aiter_unified_attn.py", + "sha256": "59d2645eb4c91dc0567754a7163d066f4f2faf48f1957b254fcdd5604e9d8c8c" + }, + "vllm/v1/attention/backends/rocm_attn.py": { + "path": "/vllm/v1/attention/backends/rocm_attn.py", + "sha256": "4a8f57067073fbceb784af6c3467487c450d00fa3957928fadb99a79f6036292" + }, + "vllm/v1/attention/backends/short_conv_attn.py": { + "path": "/vllm/v1/attention/backends/short_conv_attn.py", + "sha256": "84fc460ef2fbd09743b069bec0c14b39542af6c2254a403e37a048427e151121" + }, + "vllm/v1/attention/backends/triton_attn.py": { + "path": "/vllm/v1/attention/backends/triton_attn.py", + "sha256": "1057663d110e1d5229495a799027b27277c1eca325d5b6780fa2259afbf58a1a" + }, + "vllm/v1/attention/backends/triton_attn_diffkv.py": { + "path": "/vllm/v1/attention/backends/triton_attn_diffkv.py", + "sha256": "de0357eae005246642140f1ab8842ba5ed8bff5c84b18a6d3a7bbf409c578301" + }, + "vllm/v1/attention/backends/triton_flash_attn.py": { + "path": "/vllm/v1/attention/backends/triton_flash_attn.py", + "sha256": "176e45329aeb28a2008362bb607d1b8c89816eb665859ab908b0385a11acf1c2" + }, + "vllm/v1/attention/backends/triton_flashinfer.py": { + "path": "/vllm/v1/attention/backends/triton_flashinfer.py", + "sha256": "48d5f967e388d4e8d6bbec8d827b44d855346bc2fada28adf65768bf6623527b" + }, + "vllm/v1/attention/backends/turboquant_attn.py": { + "path": "/vllm/v1/attention/backends/turboquant_attn.py", + "sha256": "616d16d608d9d1fbf6c29548037e7e9cf330f4d36a01aa3ffabf42a731eb6e2b" + }, + "vllm/v1/attention/backends/utils.py": { + "path": "/vllm/v1/attention/backends/utils.py", + "sha256": "fbc221360d2d54cb21ef3f625dc8711500de345a355801548b4337bb9b8abee0" + }, + "vllm/v1/attention/ops/__init__.py": { + "path": "/vllm/v1/attention/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/ops/chunked_prefill_paged_decode.py": { + "path": "/vllm/v1/attention/ops/chunked_prefill_paged_decode.py", + "sha256": "973db848a790b2e8d99e728b2fc4f44b501bbe58c62747244ddff04cfcf11a85" + }, + "vllm/v1/attention/ops/common.py": { + "path": "/vllm/v1/attention/ops/common.py", + "sha256": "b4b67e7fc0cce471e337d742c097fba06da7563816e8799e27719714e31e1d5b" + }, + "vllm/v1/attention/ops/cp_common.py": { + "path": "/vllm/v1/attention/ops/cp_common.py", + "sha256": "2369181862e96db64b14ef20c5c2e249ed2ea5f3dea2467a2aa388372bb86d9d" + }, + "vllm/v1/attention/ops/dcp.py": { + "path": "/vllm/v1/attention/ops/dcp.py", + "sha256": "a478bdc781460f0582cfaf74d6431f1a826c201f02f39d882d12a96139bc3f28" + }, + "vllm/v1/attention/ops/flashmla.py": { + "path": "/vllm/v1/attention/ops/flashmla.py", + "sha256": "8a40d6e120e3ab25a95fcfeb32b0b5b4c1ea02b984633866628536dcd26ed2e8" + }, + "vllm/v1/attention/ops/flydsl_kernels/__init__.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/attention/ops/flydsl_kernels/tq_decode.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/tq_decode.py", + "sha256": "cc4b7f82897596e0974b3d3a710a1a8bc58c3d22b72cc7f461dd1c4acd2e451b" + }, + "vllm/v1/attention/ops/flydsl_kernels/tq_decode_gqa6.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/tq_decode_gqa6.py", + "sha256": "a983f6d375c325900955e11696dab1e2665770e83f84d51f93d3ed5e1d8880e0" + }, + "vllm/v1/attention/ops/flydsl_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/flydsl_turboquant_decode.py", + "sha256": "7b1dd0ef7c7fb28a6a8831759e00b939ab844d067657155cc11cf75532a22c63" + }, + "vllm/v1/attention/ops/int4_per_token_head.py": { + "path": "/vllm/v1/attention/ops/int4_per_token_head.py", + "sha256": "d91968f280cd8eaed7570ab255f0276b40e833e18a25066d371d9ca8149425f2" + }, + "vllm/v1/attention/ops/merge_attn_states.py": { + "path": "/vllm/v1/attention/ops/merge_attn_states.py", + "sha256": "ad08403d2843fc892f0b0b4b9f5fabb81884556f89f7170dca46ccef498a3539" + }, + "vllm/v1/attention/ops/metadata.py": { + "path": "/vllm/v1/attention/ops/metadata.py", + "sha256": "ca882b84c5aaefb1f77e4d8ea09a00103fbc53defa8671bba036c961c17fc760" + }, + "vllm/v1/attention/ops/paged_attn.py": { + "path": "/vllm/v1/attention/ops/paged_attn.py", + "sha256": "016a95f892ec751c86b37be1e12171bad9f0b4076bbf2219ff336f4e9c503653" + }, + "vllm/v1/attention/ops/pcp.py": { + "path": "/vllm/v1/attention/ops/pcp.py", + "sha256": "dadeff95fe2df2be8028baabeef01b0d2d628cd67de2176915e737ce096de3dd" + }, + "vllm/v1/attention/ops/prefix_prefill.py": { + "path": "/vllm/v1/attention/ops/prefix_prefill.py", + "sha256": "b08ad92db715fc03c11699de3de463d55e411f42f77548e06b41049a61de692f" + }, + "vllm/v1/attention/ops/rocm_aiter_mla_merge.py": { + "path": "/vllm/v1/attention/ops/rocm_aiter_mla_merge.py", + "sha256": "564c66e4877732e48a6f7d52405c43dc952eec0f0ae4353d34886bca056132b9" + }, + "vllm/v1/attention/ops/rocm_aiter_mla_sparse.py": { + "path": "/vllm/v1/attention/ops/rocm_aiter_mla_sparse.py", + "sha256": "feec664be5045fd1ba13b8f6ef83b52c96910ddc78baca0431bcf610c9e8f5cc" + }, + "vllm/v1/attention/ops/triton_attention_helpers.py": { + "path": "/vllm/v1/attention/ops/triton_attention_helpers.py", + "sha256": "35aa993d01345f535d2641cf9dcabb8b64c51b20a19707bc5987e616aaa87ddd" + }, + "vllm/v1/attention/ops/triton_decode_attention.py": { + "path": "/vllm/v1/attention/ops/triton_decode_attention.py", + "sha256": "b9823c65eba22d76abf64dad7d7d16a950f67471c86d6cb5b3e983aaf14381ac" + }, + "vllm/v1/attention/ops/triton_merge_attn_states.py": { + "path": "/vllm/v1/attention/ops/triton_merge_attn_states.py", + "sha256": "f63229162181ab93198550b73a115f1cc1034cfd60e6f58bc8ab3e22a6e8ce60" + }, + "vllm/v1/attention/ops/triton_prefill_attention.py": { + "path": "/vllm/v1/attention/ops/triton_prefill_attention.py", + "sha256": "352c1a4ac86146580040579fb217c2e288268830d6602b735713e154f36d74fe" + }, + "vllm/v1/attention/ops/triton_reshape_and_cache_flash.py": { + "path": "/vllm/v1/attention/ops/triton_reshape_and_cache_flash.py", + "sha256": "6cac51475b8c656992a21b2d150acd3a16a95a7ab7d49aab151a3ef13c24b80d" + }, + "vllm/v1/attention/ops/triton_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/triton_turboquant_decode.py", + "sha256": "8e52678136449e4bbca2195fbcbb87426c955a2b1b8422e7ab9511e45ee5f5c6" + }, + "vllm/v1/attention/ops/triton_turboquant_store.py": { + "path": "/vllm/v1/attention/ops/triton_turboquant_store.py", + "sha256": "6e6e2fe74a307d40f0be786ccbaea76d989e3c7b5985f3144a5218c61bf6d902" + }, + "vllm/v1/attention/ops/triton_unified_attention.py": { + "path": "/vllm/v1/attention/ops/triton_unified_attention.py", + "sha256": "65d0fbcf33d00789df8ca688c0a1c908e710cfaef53471178747ecae11f05829" + }, + "vllm/v1/attention/ops/triton_unified_attention_diffkv.py": { + "path": "/vllm/v1/attention/ops/triton_unified_attention_diffkv.py", + "sha256": "7fa36d7b7441f1c396e0348eac61d691d2e459e5c4c393c4aa262dfb670e68f7" + }, + "vllm/v1/attention/ops/turboquant_soa/__init__.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/__init__.py", + "sha256": "6b43b6fcb2a71c44ceff4ed1edd417a839f4901251ba15831b09ad979baa4984" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode.py", + "sha256": "bf00634191bba14cbf4a23c1d67dc3dcb244c2b8989f08362757b54435830986" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode_v2.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode_v2.py", + "sha256": "28e7ecc15c450d3591983a50c46a03aa6ca6fa99304c17c333940617d9916485" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_store.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_store.py", + "sha256": "dccf93b9fdd34f9b9eacd468e9de35b9d93378594487c335cf50642aaec681f2" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_unified_attention.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_unified_attention.py", + "sha256": "b4b2b5f3985b3a6126fd052e6ec1ed91c610da8a525a9ae7470ac829405bd85c" + }, + "vllm/v1/attention/ops/vit_attn_wrappers.py": { + "path": "/vllm/v1/attention/ops/vit_attn_wrappers.py", + "sha256": "a99d57b58269c7521fa5d7d47af06551f3bab2b5c7358ef78165a7f6e20a92a6" + }, + "vllm/v1/attention/ops/xpu_mla_sparse.py": { + "path": "/vllm/v1/attention/ops/xpu_mla_sparse.py", + "sha256": "d98d17110577c2b7b4d05e07bfdae15faf83321b6342a5daaaecce45b9503f38" + }, + "vllm/v1/attention/selector.py": { + "path": "/vllm/v1/attention/selector.py", + "sha256": "87f653ded7974875183c920e3e4589c28116bcbc99714d1da7cb51ae77c0b182" + }, + "vllm/v1/core/sched/__init__.py": { + "path": "/vllm/v1/core/sched/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/core/sched/async_scheduler.py": { + "path": "/vllm/v1/core/sched/async_scheduler.py", + "sha256": "e586a0ef3c6778be56a93e7f9bb712d4de9de6e7d7fe7e3e1d51dae83ecfc508" + }, + "vllm/v1/core/sched/interface.py": { + "path": "/vllm/v1/core/sched/interface.py", + "sha256": "be6c008664096c5660a8879de72b315bbe479bf1d688be9b25891063ec53a367" + }, + "vllm/v1/core/sched/output.py": { + "path": "/vllm/v1/core/sched/output.py", + "sha256": "3a66c8efaefe10c572f6f33cf1f8aa4610758c945130cad62eb9f7331005677c" + }, + "vllm/v1/core/sched/request_queue.py": { + "path": "/vllm/v1/core/sched/request_queue.py", + "sha256": "4b8d938e5fb8152fe61030b8aa991f983fcac9a405c37ed8908045e05e82ae5e" + }, + "vllm/v1/core/sched/scheduler.py": { + "path": "/vllm/v1/core/sched/scheduler.py", + "sha256": "c1db45f3bbad3a875dd8638331b8870c4380ac1ab4734265ba5c863833a82884" + }, + "vllm/v1/core/sched/utils.py": { + "path": "/vllm/v1/core/sched/utils.py", + "sha256": "1ed988044eb8028c77ede875bd1a5fd05ff6998b455d61e3997d6a3d7fc1c3a7" + }, + "vllm/v1/sample/__init__.py": { + "path": "/vllm/v1/sample/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/sample/logits_processor/__init__.py": { + "path": "/vllm/v1/sample/logits_processor/__init__.py", + "sha256": "1f9b02dae8cf6d44484638037123d3a2dec6b7b9a2bcc9afceef1a9bf3eaedec" + }, + "vllm/v1/sample/logits_processor/builtin.py": { + "path": "/vllm/v1/sample/logits_processor/builtin.py", + "sha256": "6105816ece77e5b1dbee0d07abc90ce039d650bac2ddb85c93280c48b00f2ebe" + }, + "vllm/v1/sample/logits_processor/interface.py": { + "path": "/vllm/v1/sample/logits_processor/interface.py", + "sha256": "171dfc6ef9b5b53128e8eaecc4bdf1de413a706d64bf5be686048f583c66eee1" + }, + "vllm/v1/sample/logits_processor/state.py": { + "path": "/vllm/v1/sample/logits_processor/state.py", + "sha256": "a96411f14362c45f839e181dcb3ac01d5b880812bccb3552fc17863b219f44ac" + }, + "vllm/v1/sample/metadata.py": { + "path": "/vllm/v1/sample/metadata.py", + "sha256": "6582cfe1a240c7ddb975f0ef6dd7dcd28dcf0fc7670394390250013977aa7ffd" + }, + "vllm/v1/sample/ops/__init__.py": { + "path": "/vllm/v1/sample/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/sample/ops/bad_words.py": { + "path": "/vllm/v1/sample/ops/bad_words.py", + "sha256": "0b1d0a9b13b92ddcae2c83393c07a34c0f107813725700dee794caa7fe7f3b12" + }, + "vllm/v1/sample/ops/logprobs.py": { + "path": "/vllm/v1/sample/ops/logprobs.py", + "sha256": "b286f69012a6758bfe9250038b0697294dbffe0d32c6906f284c39f75ee48be3" + }, + "vllm/v1/sample/ops/penalties.py": { + "path": "/vllm/v1/sample/ops/penalties.py", + "sha256": "4debfcf247b3887478d2b9ec98f108756bbed2805462777ef6b56f3bdf4ce682" + }, + "vllm/v1/sample/ops/topk_topp_sampler.py": { + "path": "/vllm/v1/sample/ops/topk_topp_sampler.py", + "sha256": "13ea4359832bc914492330958ec4f5ac140f408b8f410cc05c6eaf7ddcd70be4" + }, + "vllm/v1/sample/ops/topk_topp_triton.py": { + "path": "/vllm/v1/sample/ops/topk_topp_triton.py", + "sha256": "0b5fc337058e22bc28a8530ccec904d6ccd89b9548b02955c657ac429b1669d2" + }, + "vllm/v1/sample/rejection_sampler.py": { + "path": "/vllm/v1/sample/rejection_sampler.py", + "sha256": "0bb9d224887ccb1355e16199005cc23a4afc6fa75156eca419851b7247d99750" + }, + "vllm/v1/sample/sampler.py": { + "path": "/vllm/v1/sample/sampler.py", + "sha256": "f95805b2c6d06218c724826aa5f881a606e8d0a534a566aee7c85948520dd216" + }, + "vllm/v1/sample/thinking_budget_state.py": { + "path": "/vllm/v1/sample/thinking_budget_state.py", + "sha256": "962f8f55210eb0a431cb9c78b013e35f7a7dd58d06d6fb2e7fcff1b457356f8e" + }, + "vllm/v1/worker/__init__.py": { + "path": "/vllm/v1/worker/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/block_table.py": { + "path": "/vllm/v1/worker/block_table.py", + "sha256": "a09b8819e1417b7a186cf3472224e2138fc5d41a291c6692bb7df711b0c44259" + }, + "vllm/v1/worker/cp_utils.py": { + "path": "/vllm/v1/worker/cp_utils.py", + "sha256": "e32625d83a641b8dd8df82e92d1b6fb20af0cdf2e8fbd2fb131aa3c215415448" + }, + "vllm/v1/worker/cpu/__init__.py": { + "path": "/vllm/v1/worker/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/cpu/buffer_utils.py": { + "path": "/vllm/v1/worker/cpu/buffer_utils.py", + "sha256": "e7313fd8c2c76ebfb98d2fa53008bc9691d0f83a7d7c05e87602b5a29fb79e04" + }, + "vllm/v1/worker/cpu/model_runner.py": { + "path": "/vllm/v1/worker/cpu/model_runner.py", + "sha256": "24a1c916550051327dd5893243a6d4200f3824b91b3af8aa6f6c793fd7c68c3e" + }, + "vllm/v1/worker/cpu/shm.py": { + "path": "/vllm/v1/worker/cpu/shm.py", + "sha256": "08491af8ad341399d1375f2d21ad00414d4c89b0a5c03f55de8704914bbfcbd9" + }, + "vllm/v1/worker/cpu_model_runner.py": { + "path": "/vllm/v1/worker/cpu_model_runner.py", + "sha256": "92111aba92f00571f1a3c4c6e43cf1da6ccb4d2afac2f4d5abc018a4a6e7e8bd" + }, + "vllm/v1/worker/cpu_worker.py": { + "path": "/vllm/v1/worker/cpu_worker.py", + "sha256": "a8051b9e510ef0af9cc34004f2cbe5c0f902bd0cebc32c9464e744344dfdf849" + }, + "vllm/v1/worker/dp_utils.py": { + "path": "/vllm/v1/worker/dp_utils.py", + "sha256": "8cd19f1bfbc5c4f6ec60df89aea7c8a19b400ebc264f372b103014152e92158c" + }, + "vllm/v1/worker/ec_connector_model_runner_mixin.py": { + "path": "/vllm/v1/worker/ec_connector_model_runner_mixin.py", + "sha256": "fe9b11cebb8562f1bfe98b98a5647b2b081a6e424cb60d4ffe2412c91a99215e" + }, + "vllm/v1/worker/encoder_cudagraph.py": { + "path": "/vllm/v1/worker/encoder_cudagraph.py", + "sha256": "6a08d3779bca1b47dbf9daf6eafe2d3c70dbcb8aeb7d63ba7efacc68241ee3bc" + }, + "vllm/v1/worker/encoder_cudagraph_defs.py": { + "path": "/vllm/v1/worker/encoder_cudagraph_defs.py", + "sha256": "bb7be050fcaa8868e7816c84caec875da57050d65fe7eaf00f3d41473df25e3a" + }, + "vllm/v1/worker/gpu/__init__.py": { + "path": "/vllm/v1/worker/gpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/async_utils.py": { + "path": "/vllm/v1/worker/gpu/async_utils.py", + "sha256": "77e17a4570ead2be30ae9b00888cf077a3b873018c12ca0549b853bfda02c1ba" + }, + "vllm/v1/worker/gpu/attn_utils.py": { + "path": "/vllm/v1/worker/gpu/attn_utils.py", + "sha256": "b9b81e59dda2720b1f9c434471381f879228832443e52756e469b4ad4905888f" + }, + "vllm/v1/worker/gpu/block_table.py": { + "path": "/vllm/v1/worker/gpu/block_table.py", + "sha256": "61c004315d5af7e7eae4e2a9e6be92ea82c520327690a7f55a73bb9ce95f520a" + }, + "vllm/v1/worker/gpu/buffer_utils.py": { + "path": "/vllm/v1/worker/gpu/buffer_utils.py", + "sha256": "6597f701a30261bf250e9ad5a29737264624a1caa20527aeea0dad630325b093" + }, + "vllm/v1/worker/gpu/cp_utils.py": { + "path": "/vllm/v1/worker/gpu/cp_utils.py", + "sha256": "456c1bb7e262d99ff555522a4f134e5a9b42aee23290be25455eaef36ee8eaaf" + }, + "vllm/v1/worker/gpu/cudagraph_utils.py": { + "path": "/vllm/v1/worker/gpu/cudagraph_utils.py", + "sha256": "6e9c042890603535e300a40df8ee159dbed1058a64a83ae50ff0329e332e05ff" + }, + "vllm/v1/worker/gpu/dp_utils.py": { + "path": "/vllm/v1/worker/gpu/dp_utils.py", + "sha256": "e26867bc89e6bfc933cabc5ed13e5dc7b8d2d3030118ca1ca64c8785dabc0fc1" + }, + "vllm/v1/worker/gpu/ec_connector.py": { + "path": "/vllm/v1/worker/gpu/ec_connector.py", + "sha256": "2afe6e641f4ae3eb3b8da336c74eaa7479bf617b27cfb39a1fcbe487686f0a08" + }, + "vllm/v1/worker/gpu/eplb_utils.py": { + "path": "/vllm/v1/worker/gpu/eplb_utils.py", + "sha256": "1829fac11464aed4649179b302df198de51b95d0589f4e56bea305a876a63e26" + }, + "vllm/v1/worker/gpu/input_batch.py": { + "path": "/vllm/v1/worker/gpu/input_batch.py", + "sha256": "d5dd956eb319bd69dd9e762047833d81ad40b21fce619fcb2133759e73620694" + }, + "vllm/v1/worker/gpu/kv_connector.py": { + "path": "/vllm/v1/worker/gpu/kv_connector.py", + "sha256": "b89a4333f1e552d86e1815674b59e9f1335f0f49c0a7b46082439076f62c6a81" + }, + "vllm/v1/worker/gpu/lora_utils.py": { + "path": "/vllm/v1/worker/gpu/lora_utils.py", + "sha256": "1e90eddd9ddb4ca55e574bb28e87ae3a6f6750175a62d373102426543f4ccd66" + }, + "vllm/v1/worker/gpu/metrics/__init__.py": { + "path": "/vllm/v1/worker/gpu/metrics/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/metrics/logits.py": { + "path": "/vllm/v1/worker/gpu/metrics/logits.py", + "sha256": "ea058d7510a077a55f8ac7e4c3d596508346244e908cb372865d7159f62edc89" + }, + "vllm/v1/worker/gpu/mm/__init__.py": { + "path": "/vllm/v1/worker/gpu/mm/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/mm/encoder_cache.py": { + "path": "/vllm/v1/worker/gpu/mm/encoder_cache.py", + "sha256": "89c500338fddbeee7c4fca978a3a7c4c566a03e848e399d303fbee3c80631cd2" + }, + "vllm/v1/worker/gpu/mm/encoder_runner.py": { + "path": "/vllm/v1/worker/gpu/mm/encoder_runner.py", + "sha256": "0981e352d70301b7154a217a48665ffe35f215d053ec5740c2515a3e1e11b4e6" + }, + "vllm/v1/worker/gpu/mm/lora.py": { + "path": "/vllm/v1/worker/gpu/mm/lora.py", + "sha256": "a3eddfad6ad64de276964240c28dc080888df4a56dd5eac18f89428f2cbb7a01" + }, + "vllm/v1/worker/gpu/mm/rope.py": { + "path": "/vllm/v1/worker/gpu/mm/rope.py", + "sha256": "0924375bcb367267e783b57dd2ad9de1189d97025ce4313baaa54f2911eaaf1e" + }, + "vllm/v1/worker/gpu/model_runner.py": { + "path": "/vllm/v1/worker/gpu/model_runner.py", + "sha256": "174c93db921c23cf0396eee4764be25b2bd2d4b6a06e9fa41ce3598b884ce8ce" + }, + "vllm/v1/worker/gpu/model_states/__init__.py": { + "path": "/vllm/v1/worker/gpu/model_states/__init__.py", + "sha256": "07815d0b788fc88185772f581bbf892a675259f9288375571f29887622f8d93c" + }, + "vllm/v1/worker/gpu/model_states/default.py": { + "path": "/vllm/v1/worker/gpu/model_states/default.py", + "sha256": "bb614f814780f052e869f9acf31dfbfa68718ee7dc6252eefa901b5730ee8a2a" + }, + "vllm/v1/worker/gpu/model_states/encoder_decoder.py": { + "path": "/vllm/v1/worker/gpu/model_states/encoder_decoder.py", + "sha256": "a5868059d8af672548b41d0e623e884320e6ed61e6aaca2d2828ff5be0356f2f" + }, + "vllm/v1/worker/gpu/model_states/encoder_only.py": { + "path": "/vllm/v1/worker/gpu/model_states/encoder_only.py", + "sha256": "84e96b55a2639e2a73fa4a0308acc89c8d053dc715481180b237e0196dcef99f" + }, + "vllm/v1/worker/gpu/model_states/interface.py": { + "path": "/vllm/v1/worker/gpu/model_states/interface.py", + "sha256": "5675b6fedc7403a9ab410b1e5565974e78fac23c42ab4253ae1da52d6e09b594" + }, + "vllm/v1/worker/gpu/model_states/mamba_hybrid.py": { + "path": "/vllm/v1/worker/gpu/model_states/mamba_hybrid.py", + "sha256": "573e130ac5587d4822fabf97adad1ad0fda02ff83c5e70df879a5bb175ae845c" + }, + "vllm/v1/worker/gpu/model_states/mm_pruning.py": { + "path": "/vllm/v1/worker/gpu/model_states/mm_pruning.py", + "sha256": "b150940b12ae76048f050a8eeb54d532bbdc530a18ffbf320ddeeb0cfaa90f93" + }, + "vllm/v1/worker/gpu/model_states/prompt_embeds.py": { + "path": "/vllm/v1/worker/gpu/model_states/prompt_embeds.py", + "sha256": "11f9e270925c2df6a505557605ac2b859bb145cf3420b0111e7482a1c544f9b1" + }, + "vllm/v1/worker/gpu/model_states/recoverssm.py": { + "path": "/vllm/v1/worker/gpu/model_states/recoverssm.py", + "sha256": "b4b660e62eaf33f4fe8271f83ed1fb6de6bc08f800a8073b27803e42fb29a645" + }, + "vllm/v1/worker/gpu/pcp_manager.py": { + "path": "/vllm/v1/worker/gpu/pcp_manager.py", + "sha256": "2d80df0ed5b18a2069f9d0689cb59923ffe324ba200fcafe242da23da3a6ddaa" + }, + "vllm/v1/worker/gpu/pool/__init__.py": { + "path": "/vllm/v1/worker/gpu/pool/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/pool/pooling_runner.py": { + "path": "/vllm/v1/worker/gpu/pool/pooling_runner.py", + "sha256": "f8463f7648cce0f3f29418a4d9fee61634ead760957cf236d06d61cf8cd986e7" + }, + "vllm/v1/worker/gpu/pp_utils.py": { + "path": "/vllm/v1/worker/gpu/pp_utils.py", + "sha256": "dadeef0bebf61d0ad44a28d06372208ec4e6389224d6017f412683b026bdbb5c" + }, + "vllm/v1/worker/gpu/sample/__init__.py": { + "path": "/vllm/v1/worker/gpu/sample/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/sample/bad_words.py": { + "path": "/vllm/v1/worker/gpu/sample/bad_words.py", + "sha256": "8d3cbd5613398260314d94739d8ee0e1ac0c22abf2f960f541d3c0d4e39d360b" + }, + "vllm/v1/worker/gpu/sample/batch_shard.py": { + "path": "/vllm/v1/worker/gpu/sample/batch_shard.py", + "sha256": "c30274a3a04e6a03e89be9cd7c62de602b1aba4d412f64540ab6201036de3928" + }, + "vllm/v1/worker/gpu/sample/gumbel.py": { + "path": "/vllm/v1/worker/gpu/sample/gumbel.py", + "sha256": "3ec1df510bdad13e8b0a457b5b67c98affdf6e57369e56cb471246cc8f40dd34" + }, + "vllm/v1/worker/gpu/sample/logit_bias.py": { + "path": "/vllm/v1/worker/gpu/sample/logit_bias.py", + "sha256": "9e80a3fe6f3c7474723408cfff52183f4585fdeedd9c2312843ee98d0b12724c" + }, + "vllm/v1/worker/gpu/sample/logprob.py": { + "path": "/vllm/v1/worker/gpu/sample/logprob.py", + "sha256": "f47479a818192acb6b297c79fa67a3b2f9820e3492a394d5adda777e9b7c832e" + }, + "vllm/v1/worker/gpu/sample/min_p.py": { + "path": "/vllm/v1/worker/gpu/sample/min_p.py", + "sha256": "4cb5e2f45e1ced6f9685283a7a5c8cfd7204d9a249822e866cfff756c7f04f62" + }, + "vllm/v1/worker/gpu/sample/output.py": { + "path": "/vllm/v1/worker/gpu/sample/output.py", + "sha256": "d6e298c0f197d487a8faaf7200f500fa83df1d7a4bbf4339cadd6a18008f7f9c" + }, + "vllm/v1/worker/gpu/sample/penalties.py": { + "path": "/vllm/v1/worker/gpu/sample/penalties.py", + "sha256": "46c29434caf5f415129ef4a9bb2b8d4f62d2765596e3e07f73ad2b198c7def1b" + }, + "vllm/v1/worker/gpu/sample/prompt_logprob.py": { + "path": "/vllm/v1/worker/gpu/sample/prompt_logprob.py", + "sha256": "4cf22d390e7bf59e44c458cff7180268db63e95d06af2f1e14d720a2d77c9663" + }, + "vllm/v1/worker/gpu/sample/sampler.py": { + "path": "/vllm/v1/worker/gpu/sample/sampler.py", + "sha256": "832c9945d201a1e730ff9b4b52076aa83bd4a5064e1e4cfea952cf84d4a8d1f0" + }, + "vllm/v1/worker/gpu/sample/states.py": { + "path": "/vllm/v1/worker/gpu/sample/states.py", + "sha256": "4e3671f93695ba5a48fad7d2d13beb231ac8741034904ed5a15d9f7b9b86662e" + }, + "vllm/v1/worker/gpu/sample/thinking_budget.py": { + "path": "/vllm/v1/worker/gpu/sample/thinking_budget.py", + "sha256": "020513e1d3406f367de6ad995a95055008fd0c28f2873647e8283c9870e22404" + }, + "vllm/v1/worker/gpu/sample/trace_replay.py": { + "path": "/vllm/v1/worker/gpu/sample/trace_replay.py", + "sha256": "d2a7d3b3b55379efabe4740a4b7f14030126dc11be36f6ea974164ce42316a50" + }, + "vllm/v1/worker/gpu/sample/watermark.py": { + "path": "/vllm/v1/worker/gpu/sample/watermark.py", + "sha256": "a3581458169dab9153eb09fd67218e0ee5585406537a9de80ad528ae62b030c0" + }, + "vllm/v1/worker/gpu/shutdown.py": { + "path": "/vllm/v1/worker/gpu/shutdown.py", + "sha256": "bb470f14b17c7e52571ef8938b2a9527e7c2846852ae8a3a94b69cd1c30aa4b1" + }, + "vllm/v1/worker/gpu/spec_decode/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/__init__.py", + "sha256": "1f1f84bfe6f4f5af3a7e21a7a8716ecf7b9013da1d03327668a3ee36afc24c32" + }, + "vllm/v1/worker/gpu/spec_decode/acceptance_estimator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/acceptance_estimator.py", + "sha256": "505b843bdd75928b03793b395b47b8be914bd7fe2a3351c8ec04339baeebb1c2" + }, + "vllm/v1/worker/gpu/spec_decode/adaptive_verification.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/adaptive_verification.py", + "sha256": "276b2fec56758a94c71b717f6786b8a6f126db2e20cf964350202feee61a0a39" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/cudagraph_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/cudagraph_utils.py", + "sha256": "13392ef0a9ed59eb9c2b2bad43d7c61beb212a8805849e46b5130c230275d0a5" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/speculator.py", + "sha256": "5b97f54e20ddf65b98e939832d050745f67ef43cfa145786da300f1a8322e3c6" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/cudagraph.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/cudagraph.py", + "sha256": "beab567ae2df6a2ba2cd92fe7ee452c6b959b8a7037a4b5f493993a1824619bb" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/speculator.py", + "sha256": "f9c100f42f9326e48eb84e89281897e859ba761943f54d593523555ccd98dc63" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/utils.py", + "sha256": "53d2c3ad474d290d2c6df027446bbd80ac7447684e5242ab2c3c5337d2abd383" + }, + "vllm/v1/worker/gpu/spec_decode/dflash2/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash2/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/dflash2/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash2/speculator.py", + "sha256": "b70043550938a1df9aecc85d8c8224c38c929ca34f68834572f6e723854d2027" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/speculator.py", + "sha256": "dcf4abdedbd2bddd0d76be198ccf5b4e467c46f645038c35fcab821491a35b03" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/utils.py", + "sha256": "86af2bf30604a184312e8f076097b91ecfec704f409f9d68d634b03d6b318070" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/eagle3_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/eagle3_utils.py", + "sha256": "201ee875fcc3d076a8fc1f3876dcbf85736b221a368555243a8987ff26a1674e" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/speculator.py", + "sha256": "746e318a4f266d75522ff7f3731ea9b4527b7b4824f71364d1a62184ea1f7b3d" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/utils.py", + "sha256": "94de6f55a1761f24f4aa1388cbc3b3763d4ab3ee53260330056ad31ce0b78236" + }, + "vllm/v1/worker/gpu/spec_decode/extract_hidden_states.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/extract_hidden_states.py", + "sha256": "93c4233be7b2d2290b33902ea9b3bb5274c11701830851d03967a22144536e2d" + }, + "vllm/v1/worker/gpu/spec_decode/gemma4/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/gemma4/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/gemma4/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/gemma4/speculator.py", + "sha256": "9991210d7babd2caf2cd10797ca8688543dedeafbc3b86bc7c979c1a6ae9f949" + }, + "vllm/v1/worker/gpu/spec_decode/mtp/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/mtp/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/mtp/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/mtp/speculator.py", + "sha256": "926d6c9ffdb368c971647911a60493820d056ce236fcae9d94a42fa2e006255d" + }, + "vllm/v1/worker/gpu/spec_decode/multi_module_mtp/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/multi_module_mtp/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/multi_module_mtp/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/multi_module_mtp/speculator.py", + "sha256": "d9d4735b9b33829332b0e845b6d3073b2f0436045ed693b25c6434f351644127" + }, + "vllm/v1/worker/gpu/spec_decode/rejection_sampler.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/rejection_sampler.py", + "sha256": "030db5bfca162cc1f305112f299de5d6d61c59d3ed0807fee46575441ca4086d" + }, + "vllm/v1/worker/gpu/spec_decode/rejection_sampler_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/rejection_sampler_utils.py", + "sha256": "214b61fa0abe88573beb779872c035b3954e5651a85bd438d99ee5905d3a62ec" + }, + "vllm/v1/worker/gpu/spec_decode/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/speculator.py", + "sha256": "3a1ab15bf8b20918852eb835fe9755046e99dcbac6ba6ca3d414949fc8bc695a" + }, + "vllm/v1/worker/gpu/spec_decode/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/utils.py", + "sha256": "282f2929eddae9ca7312269f799be07472334b6df9fd91878b5e839ec05e418c" + }, + "vllm/v1/worker/gpu/states.py": { + "path": "/vllm/v1/worker/gpu/states.py", + "sha256": "99418f5df43ca612ded72609fee011620b065b2cab2f249ccb387096bf4ae71a" + }, + "vllm/v1/worker/gpu/structured_outputs.py": { + "path": "/vllm/v1/worker/gpu/structured_outputs.py", + "sha256": "18a10532db7e66b55e334acacd1fd989ad6361adf31dd0de9a9a65e23db25951" + }, + "vllm/v1/worker/gpu/ubatch_utils.py": { + "path": "/vllm/v1/worker/gpu/ubatch_utils.py", + "sha256": "5092e2e58af0561c8dc12e62847cfc6dda9ca20dfbd33e7f0cd77a83fe87f7c5" + }, + "vllm/v1/worker/gpu/warmup.py": { + "path": "/vllm/v1/worker/gpu/warmup.py", + "sha256": "423ac32d58fe008c228cfa223e4fcebfcf87e3463a9dbdf80a083c0578d73723" + }, + "vllm/v1/worker/gpu_input_batch.py": { + "path": "/vllm/v1/worker/gpu_input_batch.py", + "sha256": "18cf455c9d0eea61cc581c7932f2e6cd09786914e82dd35eef1c1430da359a0f" + }, + "vllm/v1/worker/gpu_model_runner.py": { + "path": "/vllm/v1/worker/gpu_model_runner.py", + "sha256": "87c29d08c0bbf66993d8b984811e7325e35e6436242a773feb55ec88f16b2c51" + }, + "vllm/v1/worker/gpu_ubatch_wrapper.py": { + "path": "/vllm/v1/worker/gpu_ubatch_wrapper.py", + "sha256": "4233cfbe8c9884b042c4363890108f616483b694ebe9a6e69578dcf89c6dac5c" + }, + "vllm/v1/worker/gpu_worker.py": { + "path": "/vllm/v1/worker/gpu_worker.py", + "sha256": "6994436e4547c0996ab555b3e814e8ccea26b650dfc1b378b97d640745309347" + }, + "vllm/v1/worker/kv_connector_model_runner_mixin.py": { + "path": "/vllm/v1/worker/kv_connector_model_runner_mixin.py", + "sha256": "e1cc76d065a7e60aacddb190ae795a480b65cd02ba71a1fc699a02a85c1a3de2" + }, + "vllm/v1/worker/lora_model_runner_mixin.py": { + "path": "/vllm/v1/worker/lora_model_runner_mixin.py", + "sha256": "fef6092a15d8d37f6fa22495e6106e2e5280180908d61ce43d9ff5bf4eef3f2f" + }, + "vllm/v1/worker/mamba_utils.py": { + "path": "/vllm/v1/worker/mamba_utils.py", + "sha256": "23fdaa4e8f63ee8f938eaa1a2b39f803cb04fa6ecd69789563254b1a0691413a" + }, + "vllm/v1/worker/mm_encoder_model_runner.py": { + "path": "/vllm/v1/worker/mm_encoder_model_runner.py", + "sha256": "780c41be84ad022205c21c1decb6bb8d5afb03bc7be120c1f7df03b710acc3d7" + }, + "vllm/v1/worker/sentinel/__init__.py": { + "path": "/vllm/v1/worker/sentinel/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/sentinel/gpu_worker_sentinel.py": { + "path": "/vllm/v1/worker/sentinel/gpu_worker_sentinel.py", + "sha256": "3959b8619d052c5dd247815074e03ec21ec9b43cc424ff2d296abc19b227b852" + }, + "vllm/v1/worker/startup_plan.py": { + "path": "/vllm/v1/worker/startup_plan.py", + "sha256": "84bcbb4f7a9fd7c8d10c9c895aadd9673d44c767b9132368d11eb5e017afe86b" + }, + "vllm/v1/worker/ubatch_utils.py": { + "path": "/vllm/v1/worker/ubatch_utils.py", + "sha256": "b34dce551b5195c414e6a3a997c75961cc7a17f24c7c980487fe3d3e2ba7a798" + }, + "vllm/v1/worker/ubatching.py": { + "path": "/vllm/v1/worker/ubatching.py", + "sha256": "40391241c564feb5f16c77898ae6ae152ed6e71a4682e2a406387785d8de02d7" + }, + "vllm/v1/worker/utils.py": { + "path": "/vllm/v1/worker/utils.py", + "sha256": "0ca3ec6bf4d20076145b7fe64e564962adebedc8f75a856b517ba0b2f2d77acf" + }, + "vllm/v1/worker/worker_base.py": { + "path": "/vllm/v1/worker/worker_base.py", + "sha256": "4a1a5266b912fe97991d8dc89d92b923990da9f6cb4b817d00d52e9c0d26dd7c" + }, + "vllm/v1/worker/workspace.py": { + "path": "/vllm/v1/worker/workspace.py", + "sha256": "d21c08167d1d0d1c0cddaa80453a53a0b4dec5d81b5a537c94a21324344976b3" + }, + "vllm/v1/worker/xpu_model_runner.py": { + "path": "/vllm/v1/worker/xpu_model_runner.py", + "sha256": "07fa0390d28f2b8c3c3c0019eb9c3b126e2397aea268ba47c889f06b423deb23" + }, + "vllm/v1/worker/xpu_worker.py": { + "path": "/vllm/v1/worker/xpu_worker.py", + "sha256": "711b56432506b58041cd86e71320c3960413f7bd61061990b66488421d81cfc3" + } + }, + "prefix": "", + "pth": { + "/__editable__.megatron_core-0.16.0rc0.pth": "d55c9b64480b34aae3d4d31e7706b93391c969dec6e0498e50963b03445a57b0", + "/__editable__.rl_kernel-0.1.0.pth": "1454c4987b35762a0d189d4e901c5d077fde62a1944fbaabecea230e57f3923a", + "/__editable__.vime-0.3.2.pth": "77eec5d06d628cb952e65edd813ca88d8db67ccc785083e1b7b29011b92bec4f", + "/distutils-precedence.pth": "2638ce9e2500e572a5e0de7faed6661eb569d1b696fcba07b0dd223da5f5d224", + "/qwen3_next_cuda_runtime.pth": "e0d3ab57dd3ff4f5d55fcf76e83c549cc00b3c813e6f717c540d5ded79fa2f49", + "/qwen3_next_megatron_source.pth": "8556ac057538e82856cb76cbbc954f58312a3f45373daec3eec826031cfd2709", + "/__editable__.rl_kernel-0.1.0.pth": "1454c4987b35762a0d189d4e901c5d077fde62a1944fbaabecea230e57f3923a", + "/distutils-precedence.pth": "2638ce9e2500e572a5e0de7faed6661eb569d1b696fcba07b0dd223da5f5d224", + "/nvidia_cutlass_dsl_packages.pth": "cc710b99ddb3d76361a70461461d274212a979d00c381d821fce5bb3ad9cf246" + }, + "pyvenv_cfg_sha256": "48579f2c6d35c3d535c2690d7d426587c4b8e92021463f0266b38d35dfbbb834", + "sources": { + "/Megatron-LM-training": { + "patch_sha256": "f66035f12501aa1d08e8884e0dea5a22d59825d717aeda73c3e83876e3efd79f", + "path": "/Megatron-LM-training", + "tree": "731fc44a368d6cac8c6171a29d5c687ff0d95bd1" + }, + "/vime": { + "patch_sha256": "66949839d4c18329444f4f9f6dcd702b53ce1b94e9aa15ed111f28743bfaa4b9", + "path": "/vime", + "tree": "f5174e67dbcdaef983eecd45f215fef2d8429dd0" + } + }, + "version": "3.12.14 | packaged by Anaconda, Inc. | (main, Aug 27 2026, 14:46:43) [GCC 14.3.0]" + }, + "sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca" + }, + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "cuda_identity": { + "home": "", + "nvcc_sha256": "b8e2347d9d7fcadf8812a27324d515de99d033d3e48611811ece7e66d7895f8a" + }, + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "operator_requirements": { + "suite": "all", + "case_ids": [ + "tests/check_qwen3_next_attention.py::test_d256_backward_with_cached_prefix_matches_float64_formula", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[1024]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[256]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[64]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[8]", + "tests/check_qwen3_next_attention.py::test_d256_input_device_guard_and_nondefault_stream", + "tests/check_qwen3_next_attention.py::test_native_backward_rejects_malformed_probability_and_gradient_buffers", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[0]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[2]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_target_inputs_do_not_depend_on_companions", + "tests/check_qwen3_next_batch_invariance.py::test_triton_chunked_prefill_is_batch_invariant", + "tests/check_qwen3_next_conv_bridge.py::test_chunked_and_reordered_sequences_match", + "tests/check_qwen3_next_conv_bridge.py::test_empty_sequence_preserves_cache_and_gradients", + "tests/check_qwen3_next_conv_bridge.py::test_response_gradient_reaches_prompt_and_convolution_weight", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths0]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths1]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths2]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-4]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[1]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[4]", + "tests/check_qwen3_next_core_matrix.py::test_variable_lengths_empty_and_mixed_step_match_independent_sequences", + "tests/check_qwen3_next_forward.py::test_combine_has_fixed_route_order_and_differentiable_weights", + "tests/check_qwen3_next_forward.py::test_full_vocabulary_logprob_entropy_modes_and_gradient", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_fail_closed_on_the_tensor_descriptor_path", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[128]", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[512]", + "tests/check_qwen3_next_forward.py::test_logprob_nan_rejected_before_comparison", + "tests/check_qwen3_next_forward.py::test_moe_vjp_matches_independent_double_formula", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[1024-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[128-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-16]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-256]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-3072]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-37984]", + "tests/check_qwen3_next_forward.py::test_qwen_moe_actual_tp4_shapes_and_independent_training_forward", + "tests/check_qwen3_next_forward.py::test_route_weights_are_batch_invariant", + "tests/check_qwen3_next_forward.py::test_shared_linear_vjp_and_empty_tokens", + "tests/check_qwen3_next_forward.py::test_stable_route_tie_boundary_and_router_gradient", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_backward_matches_recomputed_recurrence_vjp", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_forward_is_provider_exact_and_does_not_mutate_inputs", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_keeps_prompt_state_gradient_through_response", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[False]", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[True]", + "tests/check_qwen3_next_gdn_bridge.py::test_initial_state_vjp_matches_provider_directional_difference", + "tests/check_qwen3_next_gdn_sequence.py::test_1024_token_chunk_continuation_is_bitwise_exact", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad0]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad1]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad2]", + "tests/check_qwen3_next_gdn_sequence.py::test_chunk_boundary_retains_prompt_and_initial_state_gradients", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths0]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths1]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths2]", + "tests/check_qwen3_next_gdn_sequence.py::test_reserved_and_duplicate_slots_are_rejected", + "tests/check_qwen3_next_norm_providers.py::test_custom_op_has_distinct_native_and_cuda_paths", + "tests/check_qwen3_next_norm_providers.py::test_gdn_decode_provider_env_defaults_are_recorded", + "tests/check_qwen3_next_norm_providers.py::test_our_gated_op_is_batch_invariant", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_cuda]", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_native]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots0]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots2]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots3]", + "tests/check_qwen3_next_shared_core.py::test_independent_training_forward_matches_inference_and_retains_gradients", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[1024]", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[8]", + "tests/check_qwen3_next_shared_core.py::test_unimplemented_provider_profile_is_rejected", + "tests/test_qwen3_next_norm.py::test_bad_weight_shape_raises", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[16]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[1]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[2]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[32]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[48]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[64]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[8]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[128]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[2048]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_with_padding", + "tests/test_qwen3_next_norm.py::test_call_matches_forward", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[128]", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[2048]", + "tests/test_qwen3_next_norm.py::test_cuda_default_offset_preserves_plain_convention", + "tests/test_qwen3_next_norm.py::test_cuda_gated_backward_matches_autograd_golden", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_matches_golden_within_contract", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_bad_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_mismatched_gate", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_backward_uses_the_sigmoid_derivative", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_swish_is_an_alias_for_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_unit_weight_is_plain_norm_times_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_weight_offset_is_applied_in_fp32", + "tests/test_qwen3_next_norm.py::test_cuda_gated_wrapper_rejects_equal_numel_wrong_shape", + "tests/test_qwen3_next_norm.py::test_cuda_gated_zero_gate_zeroes_output", + "tests/test_qwen3_next_norm.py::test_cuda_offset_equals_explicit_fp32_weight", + "tests/test_qwen3_next_norm.py::test_cuda_offset_is_not_folded_through_bfloat16", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_backward_is_offset_aware", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_within_tolerance_of_golden", + "tests/test_qwen3_next_norm.py::test_deterministic_repeat", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype0]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype1]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype2]", + "tests/test_qwen3_next_norm.py::test_eps_inside_sqrt", + "tests/test_qwen3_next_norm.py::test_gated_batch_invariance_slice", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedHFOp]", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedOp]", + "tests/test_qwen3_next_norm.py::test_gated_conventions_diverge_in_low_precision", + "tests/test_qwen3_next_norm.py::test_gated_cuda_op_rejects_bad_activation_at_construction", + "tests/test_qwen3_next_norm.py::test_gated_extension_handles_empty_batch_and_nondefault_stream", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[dy_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[gate_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[rstd_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_shape]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_matches_hf_formula_fp32", + "tests/test_qwen3_next_norm.py::test_gated_shape_mismatch_raises", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_strict_matches_vllm_formula_fp32", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[128]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[2048]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_offset_applied_in_fp32_not_folded_into_bf16", + "tests/test_qwen3_next_norm.py::test_op_batch_invariance_on_device", + "tests/test_qwen3_next_norm.py::test_plain_reference_is_unchanged_by_the_offset_plumbing", + "tests/test_qwen3_next_norm.py::test_weight_offset_is_one", + "tests/test_qwen3_next_norm.py::test_zero_centred_cuda_constructor_rejects_missing_extension", + "tests/test_qwen3_next_norm.py::test_zero_centred_op_inherits_the_plain_reference", + "tests/test_qwen3_next_norm.py::test_zero_weight_is_identity_scaling" + ], + "case_ids_sha256": "694c931b65f9cfa5db963f2eca6d11bd309546c824a1df52f9da2ab128e83e0f", + "norm_gates": [ + "qwen3_next_rms_norm-forward.json", + "qwen3_next_rms_norm-gradient.json", + "rms_norm_gated-forward.json", + "rms_norm_gated-gradient.json" + ] + }, + "layer_requirements": { + "schema_version": 1, + "gates": { + "gdn": { + "script": "scripts/qwen3_next_tp_gdn_check.py", + "output_option": "--output", + "scope": "tp4_gdn_layer0", + "groups": { + "cases": [ + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "prompt-gradient", + "replicated-norm-gradient", + "hf-load-export" + ] + }, + "script_sha256": "cc4338893f90af004c51c20fc67d1a9a3f4bf8d26775277f72671c02983e4df5" + }, + "attention": { + "script": "scripts/qwen3_next_tp_attention_check.py", + "output_option": "--output", + "scope": "tp4_full_attention_layer3", + "groups": { + "attention.cases": [ + "hf-load-export", + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "batch4-varlen-reorder", + "sixteen-token-decode", + "prompt-gradient", + "kv-pair-gradient", + "qk-norm-gradient" + ] + }, + "script_sha256": "d27d43efb05415a8ef5892c3c2238a2b9744a4821f5466faf46c6510e6e01bec" + }, + "moe": { + "script": "scripts/qwen3_next_tp_moe_check.py", + "output_option": "--output", + "scope": "tp4_moe_block_layer0", + "groups": { + "moe.cases": [ + "hf-load-export-all512experts", + "routes-replicated-8", + "full-chunk-reorder-8", + "routes-replicated-64", + "full-chunk-reorder-64", + "routes-replicated-256", + "full-chunk-reorder-256", + "routes-replicated-1024", + "full-chunk-reorder-1024", + "training-forward", + "all-parameter-gradient", + "replicated-router-gradient" + ] + }, + "script_sha256": "d5c1bbbb82e408b65871b0cb1638d7a6cf8cfe07f0a3315a657b7dc232d544be" + }, + "adapters": { + "script": "scripts/qwen3_next_adapter_check.py", + "output_option": "--out", + "scope": "gdn_engine_adapter_component", + "groups": { + "cases": [ + "batch1-length8", + "batch1-length64", + "batch1-length256", + "batch1-length1024", + "batch4-length8", + "batch4-length64", + "batch4-length256", + "batch4-length1024", + "mixed-prefill-decode16-reorder" + ] + }, + "fields": { + "prompt_gradient": "passed", + "hf_conv_roundtrip": "passed", + "batch_invariance_capability_registered": false + }, + "script_sha256": "3ce45bb317237c1a06533116d65fb77c2a23b6f503ae46406ede543036eb0f20" + }, + "heads": { + "script": "scripts/qwen3_next_tp_head_check.py", + "output_option": "--output", + "scope": "tp4_embedding_lm_head_only", + "groups": { + "cases": [ + "hf-embedding-roundtrip", + "hf-lm-head-roundtrip", + "replicated-norm-gradient", + "nonzero-finite-embedding-head-gradient", + "embedding-repeat-100", + "batch-invariant-prompt8", + "batch-invariant-prompt64", + "batch-invariant-prompt256", + "batch-invariant-prompt1024", + "logprob-original-and-promoted-logits", + "entropy-interface" + ] + }, + "script_sha256": "0504185d21a75405c8e994bc57b016cf4ec357d8b16e7430772c11934f2af876" + } + }, + "scheduler_case_ids": [ + "p0008-b1-full", + "p0008-b1-chunked", + "p0008-b4-full", + "p0008-b4-chunked", + "p0064-b1-full", + "p0064-b1-chunked", + "p0064-b4-full", + "p0064-b4-chunked", + "p0256-b1-full", + "p0256-b1-chunked", + "p0256-b4-full", + "p0256-b4-chunked", + "p1024-b1-full", + "p1024-b1-chunked", + "p1024-b4-full", + "p1024-b4-chunked" + ], + "registry_sha256": "e3949a750cb27c1897a000f3b023f912629906612ae8949c1575d0acc36df5ec", + "case_ids_per_rank": [ + "adapters/cases/batch1-length1024", + "adapters/cases/batch1-length256", + "adapters/cases/batch1-length64", + "adapters/cases/batch1-length8", + "adapters/cases/batch4-length1024", + "adapters/cases/batch4-length256", + "adapters/cases/batch4-length64", + "adapters/cases/batch4-length8", + "adapters/cases/mixed-prefill-decode16-reorder", + "attention/attention.cases/batch4-varlen-reorder", + "attention/attention.cases/full-chunk-1024", + "attention/attention.cases/full-chunk-256", + "attention/attention.cases/full-chunk-64", + "attention/attention.cases/full-chunk-8", + "attention/attention.cases/hf-load-export", + "attention/attention.cases/kv-pair-gradient", + "attention/attention.cases/prompt-gradient", + "attention/attention.cases/qk-norm-gradient", + "attention/attention.cases/sixteen-token-decode", + "gdn/cases/full-chunk-1024", + "gdn/cases/full-chunk-256", + "gdn/cases/full-chunk-64", + "gdn/cases/full-chunk-8", + "gdn/cases/hf-load-export", + "gdn/cases/prompt-gradient", + "gdn/cases/replicated-norm-gradient", + "heads/cases/batch-invariant-prompt1024", + "heads/cases/batch-invariant-prompt256", + "heads/cases/batch-invariant-prompt64", + "heads/cases/batch-invariant-prompt8", + "heads/cases/embedding-repeat-100", + "heads/cases/entropy-interface", + "heads/cases/hf-embedding-roundtrip", + "heads/cases/hf-lm-head-roundtrip", + "heads/cases/logprob-original-and-promoted-logits", + "heads/cases/nonzero-finite-embedding-head-gradient", + "heads/cases/replicated-norm-gradient", + "moe/moe.cases/all-parameter-gradient", + "moe/moe.cases/full-chunk-reorder-1024", + "moe/moe.cases/full-chunk-reorder-256", + "moe/moe.cases/full-chunk-reorder-64", + "moe/moe.cases/full-chunk-reorder-8", + "moe/moe.cases/hf-load-export-all512experts", + "moe/moe.cases/replicated-router-gradient", + "moe/moe.cases/routes-replicated-1024", + "moe/moe.cases/routes-replicated-256", + "moe/moe.cases/routes-replicated-64", + "moe/moe.cases/routes-replicated-8", + "moe/moe.cases/training-forward" + ], + "case_ids_sha256": "be74417dfbd6031ba27978d06d04bb15daaab2aeb57d132c7e0d41176b28b46e" + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + } +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/preflight/tp4.json b/docs/usage/evidence/qwen3-next-chain-b200/preflight/tp4.json new file mode 100644 index 000000000..38447a87b --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/preflight/tp4.json @@ -0,0 +1,49 @@ +{ + "status": "passed", + "ranks": [ + { + "status": "passed", + "rank": 0, + "world_size": 4, + "device": "NVIDIA B200", + "nccl": [ + 2, + 29, + 7 + ] + }, + { + "status": "passed", + "rank": 1, + "world_size": 4, + "device": "NVIDIA B200", + "nccl": [ + 2, + 29, + 7 + ] + }, + { + "status": "passed", + "rank": 2, + "world_size": 4, + "device": "NVIDIA B200", + "nccl": [ + 2, + 29, + 7 + ] + }, + { + "status": "passed", + "rank": 3, + "world_size": 4, + "device": "NVIDIA B200", + "nccl": [ + 2, + 29, + 7 + ] + } + ] +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/redaction.json b/docs/usage/evidence/qwen3-next-chain-b200/redaction.json new file mode 100644 index 000000000..96d008b7e --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/redaction.json @@ -0,0 +1,15 @@ +{ + "placeholders": { + "": 9, + "": 35, + "": 18, + "": 7117, + "": 1, + "": 99, + "": 18, + "": 88, + "": 258, + "": 12, + "": 7161 + } +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/train/environment.json b/docs/usage/evidence/qwen3-next-chain-b200/train/environment.json new file mode 100644 index 000000000..074a21752 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/train/environment.json @@ -0,0 +1,4500 @@ +{ + "environment": { + "identity": { + "base_prefix": "/miniconda3/envs/rlkernel", + "binary": "/python3.12", + "binary_sha256": "6a1eb3ffc29f3a6b0ece607b016b4cfa5ca3ac57b34f17ed3266b404f78d2729", + "build_tools": { + "ninja": { + "path": "/miniconda3/envs/rlkernel/bin/ninja", + "sha256": "08639e194fffa7f08b259fc4abfa4803aff66b64de52549cee42ec527d55cea6" + } + }, + "distributions": [ + { + "direct_url": null, + "metadata_sha256": "6f1038270be40f9b8c0bcf391c627e7d7f41ccdd19aa192d6eac1dbfc3b19abc", + "name": "GitPython", + "version": "3.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "3f71971502087521f123c9daa26bc12d31d3466738b567390b8602acad3be22a", + "name": "Jinja2", + "version": "3.1.6" + }, + { + "direct_url": null, + "metadata_sha256": "818fb343b7b6b99a32771bf4813521ae6440b4c7579b3ae46e32dd02da0afeee", + "name": "Markdown", + "version": "3.11" + }, + { + "direct_url": null, + "metadata_sha256": "dc1ee42cf8ecfeee0ab60b15b21d291833e0732548efcb7bb5b3564dca3e5bf7", + "name": "MarkupSafe", + "version": "3.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "de7389b142450a0014234286b0876f328439b823c355c73d0aed41fd67ec208c", + "name": "PyJWT", + "version": "2.15.1" + }, + { + "direct_url": null, + "metadata_sha256": "ffcad4415cafb22b8b536a61595e9ee13438b51d31b0763c1b273ce3bc58e840", + "name": "PyYAML", + "version": "6.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "8562d701cc52d9cafbb418942b0e072fc087ed8ddcf35cd10224c1b2ed8bdd91", + "name": "Pygments", + "version": "2.21.0" + }, + { + "direct_url": null, + "metadata_sha256": "b6c25fcfdcc495edf248a10ca4ad28327ef2ed6047a6ec5c6346e121414c7f21", + "name": "Werkzeug", + "version": "3.1.9" + }, + { + "direct_url": null, + "metadata_sha256": "55c400d24c71b581d9c0992f71df6047cf6c878bebe61a7d45d6e02dc0e4c510", + "name": "absl-py", + "version": "2.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "13db521f90a6a882027b2388eaa2ebf252945f9c2adb7e7e371da18239da4df0", + "name": "accelerate", + "version": "1.15.0" + }, + { + "direct_url": null, + "metadata_sha256": "86fe44e38e67872dd895c729044942ba2c2f934ae439a899fb83a186206b7fd4", + "name": "agent-detector", + "version": "2.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "afe11fe9f5aa54e734cdd51659bed8c89dc6bcd5aef0ad96f2d20149c8de5456", + "name": "aiohappyeyeballs", + "version": "2.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "570b307bc0b53fbbd3ed2ce0b7eca6bbf2fa73bf75e24a480f1034d8c0b832bf", + "name": "aiohttp", + "version": "3.14.3" + }, + { + "direct_url": null, + "metadata_sha256": "44b7f8e14c4770793e747fad50c9e0a6ee7357651d878554f192d94768dc14a8", + "name": "aiohttp-cors", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "648813a44a9ae0ab2f20ee86d2404dcc38e3f9e80c63316cf6e536735df14e54", + "name": "aiosignal", + "version": "1.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "f6a3f6668bacef7f73a2c19ccb2be910b2363d1731c4725cb04364d99e24935a", + "name": "annotated-doc", + "version": "0.0.5" + }, + { + "direct_url": null, + "metadata_sha256": "fc6d752cde6a6a4bff03474386de750e130b75da3c7815ee909f45b51fea98c8", + "name": "annotated-types", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "4e89d670a4b20029da30e5a9e8ebcbc844deff9c44209552bafd5537249c8b9e", + "name": "anthropic", + "version": "1.9.0" + }, + { + "direct_url": null, + "metadata_sha256": "b5a6f00800956387fcddab1fe1b5aa8502c249b86cfb16d58ed700f282f60142", + "name": "antlr4-python3-runtime", + "version": "4.9.3" + }, + { + "direct_url": null, + "metadata_sha256": "a6008defa9492cd08250217b134782cad1db4580e1d7ddf69cc2a2a48cea24e0", + "name": "anyio", + "version": "4.15.1" + }, + { + "direct_url": null, + "metadata_sha256": "7877c64ce8957237363f2df313819bb07f50752df016d14c5a5a99bec10f5deb", + "name": "apache-tvm-ffi", + "version": "0.1.11" + }, + { + "direct_url": null, + "metadata_sha256": "3543ca8f0e072c00ab111b20eba99ce86dbf93ada28988775bc2677284b3c07a", + "name": "astor", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "d4b328c09c024fe1e4d788a9c7715ad726095131b815cd35fd933268226f6269", + "name": "attrs", + "version": "26.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "4850c4d696a5e2a2ecbb3dd792b060acc1de79e09800669b0b9fc3a22c055e6d", + "name": "av", + "version": "19.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "863ff92208d0a02dabfa008bfe91846a5c401ded301e5687dca7dc63c911865f", + "name": "babel", + "version": "2.18.0" + }, + { + "direct_url": null, + "metadata_sha256": "f32e6df3197f05202e586624d95c5e217003d80cee655c165d533102f628df21", + "name": "backrefs", + "version": "8.0" + }, + { + "direct_url": null, + "metadata_sha256": "905c362f655fbc6d37a24686efc2b3bfbd3123b8ee5a443a43f6750d87455e90", + "name": "blake3", + "version": "1.0.10" + }, + { + "direct_url": null, + "metadata_sha256": "07c85682b6aefd5c9b48890d306c1604311902295704892ede48e5a83219a8d3", + "name": "blobfile", + "version": "3.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "2d582941a7081625a35f35a0c4a2e80f7737312e29c38e5fdb6fc08f9c113077", + "name": "bracex", + "version": "3.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "3b60c55bae0d0340c3a3fd918635bbfa3087579da66e0fd7f6be7a3782c0da3d", + "name": "cachetools", + "version": "7.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "5d11a6878d5bc3f22290281a19ef7b36daa95c910780950608b95cd788c7e12e", + "name": "cbor2", + "version": "6.1.4" + }, + { + "direct_url": null, + "metadata_sha256": "362c9942c48051f168ed2b9f2146266b7792d3c05e164cd6afc3f3b65884fdc9", + "name": "certifi", + "version": "2026.7.22" + }, + { + "direct_url": null, + "metadata_sha256": "b4abf1bcf1c1d8e0272d8007fc974499ea59e5f2a5b98af3c78a5e67515a9d87", + "name": "cffi", + "version": "2.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "766120f13c177446f51929a4d201104bc935b6d5a2a176cd6716edce757d3d95", + "name": "cfgv", + "version": "3.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "610e9a9d03ce837ffe6e42be5e02e70087f73863f7350bf7bb7f0511edcc5ec0", + "name": "charset-normalizer", + "version": "3.5.2" + }, + { + "direct_url": null, + "metadata_sha256": "7ad836b3147c9702546d9c28b4fa5be23b24445439db5d0d2a58d17281c84daa", + "name": "click", + "version": "8.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "4c5f00599ebcbf11d337e48a72784d256ca3d704fa9e9f5daadd60065e6776b7", + "name": "cloudpickle", + "version": "3.1.2" + }, + { + "direct_url": null, + "metadata_sha256": "a0970189e3ab7a596d6902d5f61f93b414f138f03d3cf19029145657bfceb382", + "name": "cmake", + "version": "4.1.2" + }, + { + "direct_url": null, + "metadata_sha256": "94a6ebf9718e55f254a43ce0d2f04e0d6d44e7141b6f3144a84feb6519a77bfd", + "name": "colorama", + "version": "0.4.6" + }, + { + "direct_url": null, + "metadata_sha256": "ca8ec227f406d970a645ec482b20619128dd34b9cf71159cc24e27db461a2711", + "name": "colorful", + "version": "0.5.8" + }, + { + "direct_url": null, + "metadata_sha256": "bbaa51b7e4d8f142bd075d01257c0572c0c844796d51426e35c8096a13e8da76", + "name": "compressed-tensors", + "version": "0.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "6063d8ff7ebc458d63a4332853d7ababf4ee2b86336362c8d2b12be6e998eb6b", + "name": "connectrpc", + "version": "0.11.1" + }, + { + "direct_url": null, + "metadata_sha256": "ac5f4b5a5f68080bd9c3fe77399fe8a1bff2ee5923c49db1df544dd054cbf15b", + "name": "cryptography", + "version": "50.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "f41d2f6b4616accca2f5e1dd47aa9e8937c28076cde698226d93e727751f3099", + "name": "cuda-bindings", + "version": "13.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "e5ca6ed34c687c6f4a4d157ad0a2cf06ec0316fe8c4c0ddeb666ad76dd6f30f4", + "name": "cuda-core", + "version": "1.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "89baadd9da23dce9990481519544115615ba3cbd2d1a41e09feea7756fffb378", + "name": "cuda-pathfinder", + "version": "1.8.2" + }, + { + "direct_url": null, + "metadata_sha256": "1ab914b9a57ca601df2e3cfe9608427b15d8afb78029076ace5d1caf9fd45f08", + "name": "cuda-python", + "version": "13.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "73d97a5eb578223b4895ef4f234574d14219cef9999ff7d0e92a3d0dd057bd3f", + "name": "cuda-tile", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "ae6f957fe66ed63081d1d83ee6e8838f3a0af2c6fce1223629d0dd6264565ead", + "name": "cuda-toolkit", + "version": "13.0.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "1f8e0ae51ad5feea63f58ed2e24f3da6f23ed548043235a14f7623d961dd9b64", + "name": "datasets", + "version": "5.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "153f4a4d6ff03dbe5c8ad7fe54bc2e7b989a4947b70f7aa77fbf652b394f2a2e", + "name": "depyf", + "version": "0.20.0" + }, + { + "direct_url": null, + "metadata_sha256": "ee09fc752d7271aac93079cfd63409957dc6b536c1ffd9355a01bf7297e72aa6", + "name": "detect-installer", + "version": "0.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "a7feab2c4f69fd5f85e5a3cb495a7f1870a6bf8199dcee5339e8118f7acbdc09", + "name": "dill", + "version": "0.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "fef3fde661fe30ba7bd1d78841a797136b2b3461705bb4eb92dc54f8308bbaae", + "name": "distlib", + "version": "0.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "fef3fde661fe30ba7bd1d78841a797136b2b3461705bb4eb92dc54f8308bbaae", + "name": "distlib", + "version": "0.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "a3ca2e39abe76c4a33d5fe4a2a84375ec9f25cdfdb7e1d8ea406bd6f1603205c", + "name": "dnspython", + "version": "2.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "92a07daad5e6ff461199de14e845d9b376e309ef916ce5379f3c9cd4e3b1623f", + "name": "dockerfile-parse", + "version": "2.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "5b566b25f0cbe4955d0b16844a7cc6d2002caa3bde2dfda7f301fd8870cbaa56", + "name": "docstring_parser", + "version": "0.18.0" + }, + { + "direct_url": null, + "metadata_sha256": "5a1080b5768c6c591e1c4f9c9812cafa808781b9eeb198043bf185e22d4a1613", + "name": "e2b", + "version": "2.51.0" + }, + { + "direct_url": null, + "metadata_sha256": "0a63979e0b946e16238e4339e60d9c1eb5a7ce3ea93dae78b5da9c65a6190540", + "name": "einops", + "version": "0.8.2" + }, + { + "direct_url": null, + "metadata_sha256": "16cbe67a57558f1d4bfdbc22a454434ba301750c57a62b1d3f5361c9e5cddc00", + "name": "email-validator", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "0617ddb55b90b42ddc9398dc7e91d61fe928a2504939f76526dc15b22d238caa", + "name": "fastapi", + "version": "0.136.3" + }, + { + "direct_url": null, + "metadata_sha256": "ddd82b9666c21988e234d623e2575e1b89fd4133260eeab43fc9a7c074f7024a", + "name": "fastapi-cli", + "version": "0.0.32" + }, + { + "direct_url": null, + "metadata_sha256": "611602e834d42e10433155ff5f5581358d732fa6b6f6f7820a8f79e74b1ce1f9", + "name": "fastapi-cloud-cli", + "version": "0.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "794524e4a9659bda6043721d848d028ea49996085a33326094fbaaa3f6e6b895", + "name": "fastar", + "version": "0.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "711401d36e60e10e35beb4d0f1bb42bf0c4d86339ae52f32b9aa4a4d790530dd", + "name": "fastsafetensors", + "version": "0.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "efaea9742e348c4c4bdcc6f616a33cc5aa3ae926494a72a46690b7da2f08ed5c", + "name": "filelock", + "version": "4.0.7" + }, + { + "direct_url": null, + "metadata_sha256": "99bd6c3f10781d3d2d350f2c3c9fc4765b55f25de8a6d6dd1f71501802d1255e", + "name": "fla-core", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "0a6ef979b75295cee2b5293ad4942b0cf2682e9e38680203064e0b70249c1a96", + "name": "flash-linear-attention", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "76b70a11ca82ea4606b529e7a8658cb3fe71412afa46f2ed57101dd91ba27558", + "name": "flashinfer-python", + "version": "0.6.18.post1" + }, + { + "direct_url": null, + "metadata_sha256": "ba8ff415192b5cbb90efce046e2271a00c8184afc362d8b47fbbc84d5e558b05", + "name": "frozenlist", + "version": "1.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "e7712831c80eb13b08fb7f7cc33988a8f24654af9eba7c6f5f943b2636e4306a", + "name": "fsspec", + "version": "2026.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "025de85c794878d0caa737869307447595f514ebf9599eacb5b1a501bae479b6", + "name": "fsspec", + "version": "2026.9.0" + }, + { + "direct_url": null, + "metadata_sha256": "ca94883bdeaa3740b45b6994443b445fd67c6e4a8064ac3bf9d92d2a5221eee8", + "name": "ghp-import", + "version": "2.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "a7e90983562a035cf767baa63d8c32bc37e1de7cad71ac7b6b2bc70a95bba4eb", + "name": "gitdb", + "version": "4.0.12" + }, + { + "direct_url": null, + "metadata_sha256": "dd96143ec79178bef685c1f5c0a58a87a66d003b421e605de65697308321d518", + "name": "google-api-core", + "version": "2.40.0" + }, + { + "direct_url": null, + "metadata_sha256": "0735d57088a83df2355e16843107fb0112abe2178fc5bb8132947a7ad962aa41", + "name": "google-auth", + "version": "2.59.1" + }, + { + "direct_url": null, + "metadata_sha256": "2f3aa9d9500d329560440e6a5a152e420aad5f5bbb23701f45b740be721784a1", + "name": "googleapis-common-protos", + "version": "1.75.5" + }, + { + "direct_url": null, + "metadata_sha256": "06d74ab04fdc03fad368868907f0d10e7d9f397aab58d58965c0b78ffaec34cc", + "name": "griffelib", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "7ee1c179e2c68a62968308b2f96f4f3469176ee3ac8bdb494ac80188d4d41271", + "name": "grpcio", + "version": "1.84.0" + }, + { + "direct_url": null, + "metadata_sha256": "04cf3a4a91575850f386f4fcfdedd8e7fbfba08feff038fbc1296d1e854db2dd", + "name": "h11", + "version": "0.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "b954a6ba4739c0cc878bb8ea27ea7c7154a48bb4b7c06dba9e9cf880cf0ec930", + "name": "h2", + "version": "4.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "6f0d7bf86e75d0bda1ceccc82367c0145ad0ec522c4d4f51bb454f467faadcc9", + "name": "hf-xet", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "f991b847550cf8225f69562902b5ccb591b2ce9a08fe07ef6e6d701bdb4694a7", + "name": "hpack", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "314d194165c4700034c1c67cee847d549a6d7091374c71f2cef0186ec56a3eb9", + "name": "httpcore", + "version": "1.0.9" + }, + { + "direct_url": null, + "metadata_sha256": "aed9767360bed1bcbda71e3b1a3c996603f86558bc77a1693ee3d09973d20cad", + "name": "httpcore2", + "version": "2.13.1" + }, + { + "direct_url": null, + "metadata_sha256": "8fa3bf3510c35e2eea9f523a1cace7120079cf51d76c4acea97de95806aaa14a", + "name": "httptools", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "3bf4804c215d111b6a4702cf9000021ab39807d1ed3207dd011b14b2843b2d14", + "name": "httpx", + "version": "0.28.1" + }, + { + "direct_url": null, + "metadata_sha256": "d11dd50813b8914bd9455e8b2b591171cd2b1618883943153afadc8bb9224678", + "name": "httpx2", + "version": "2.13.1" + }, + { + "direct_url": null, + "metadata_sha256": "43b119c34ad2b2aacc032a1a6a8feb142fdb5ca407a3519325d74dd53d8904df", + "name": "huggingface_hub", + "version": "1.33.0" + }, + { + "direct_url": null, + "metadata_sha256": "9ce850d5a6b775e5ef4a335f907e579a878e058213121b6eec567781ea68c585", + "name": "humming-kernels", + "version": "0.1.12" + }, + { + "direct_url": null, + "metadata_sha256": "67aa4f6717d82446a51ce350e7c4769eba0c4a22d2f428255cddd9d24b11a914", + "name": "hyperframe", + "version": "6.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd9511ede42f63b995c3f71944f908cb8f014048b63ecc1c8d420525a3354b59", + "name": "identify", + "version": "2.6.20" + }, + { + "direct_url": null, + "metadata_sha256": "af3c3a62bb5d82d6a43454684e0b1dedde27a21ea90eacfb1bed9814619f06d0", + "name": "idna", + "version": "3.20" + }, + { + "direct_url": null, + "metadata_sha256": "cf71393f3d079ce2e859384573e65aaacd1709bef700701f629df32398b598f0", + "name": "ijson", + "version": "3.5.1" + }, + { + "direct_url": null, + "metadata_sha256": "9305763e93d03df0e36516b1125fa046a6ebe37d44589e200e0593cf4bdfd980", + "name": "importlib_metadata", + "version": "9.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "32860c3c19b2e91f6cb5bd83400b5870cda051bc74a5a08822c8c666af0990db", + "name": "iniconfig", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "560faabb3d45d779e445a74e7e806a786f95f2200fa06d979603b7f0ee1cfb39", + "name": "instanttensor", + "version": "0.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "f6fc1f0d389e4245fc2a1a0fdfee09422e56200cb6f94659668456997ff4f7a9", + "name": "interegular", + "version": "0.3.3" + }, + { + "direct_url": null, + "metadata_sha256": "d10f300731197a4829b77f0c883bb3cf8a37ae8c76a302e095fa95d6427706d0", + "name": "jiter", + "version": "0.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "5b0c8d4b4c535a2432fb206223d774509b6e20af374c6a4b6f98bf72a7de6702", + "name": "jmespath", + "version": "1.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "6c4032c2e74273452cd77399af2ee85198f49c22da897983f26d2ed6f787c4e8", + "name": "jsonschema", + "version": "4.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "aaa6cd66f423729e8da397c9d533b7d731f6b25f3d6371b9338c36bdb9be74a0", + "name": "jsonschema-specifications", + "version": "2025.9.1" + }, + { + "direct_url": null, + "metadata_sha256": "f7c0687c032593106a2e5a3c241cf8043e7e2c222bddb0022b4cb2bf5de67115", + "name": "lark", + "version": "1.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "4511c6b04efc57a5f5333edc1f5f48b9f5412c3923d4bc19b715bdf47977511c", + "name": "linkify-it-py", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "be929870f6ecae18a819c56118f1101f3076e25ac6a4843ca6f4707ebd1e87c6", + "name": "llguidance", + "version": "1.7.6" + }, + { + "direct_url": null, + "metadata_sha256": "cf2b87669bead3e76ec54207f3354c13f73b50c32fcd13c8d627084b3379139e", + "name": "llvmlite", + "version": "0.47.0" + }, + { + "direct_url": null, + "metadata_sha256": "0a416d79c5543d94d2b18807626293d4f47655d1d22724c7ae296e413078aaba", + "name": "lm-format-enforcer", + "version": "0.11.3" + }, + { + "direct_url": null, + "metadata_sha256": "16bc1f59e34fd2a6633bd395276052eacd2c777b2cf72781e76b203f013a8fac", + "name": "loguru", + "version": "0.7.3" + }, + { + "direct_url": null, + "metadata_sha256": "5216d5acfd039a7b581a826186309594b228d37d2c8d56864124ea666689fe4e", + "name": "lxml", + "version": "6.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "f59d772b35315a928672bfcccfb89d82c0aac672c5275c048f7a93b79015bcea", + "name": "markdown-it-py", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "b137367ef0056711cbf5e53015df9168cab80373104e7899b1c0263a21d9c99c", + "name": "mcp", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "38e0b9edaae09e58cd1461fc961ced22672038a697930bedef153a74befb3de1", + "name": "mcp-types", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "799f49685865fd9cc8915fdb92a33e102eeeffad562b03b4aeffb6f422b771c1", + "name": "mdit-py-plugins", + "version": "0.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "481f9cbe08596c6eaba6343e0efa1b13b2362c30dce0610f7c08523f1d98388d", + "name": "mdurl", + "version": "0.1.2" + }, + { + "direct_url": "{\"dir_info\": {\"editable\": true}, \"url\": \"file:///Megatron-LM-training\"}", + "metadata_sha256": "2876c0c760bbfc93bd7d737bf0db2866a937308a7c1707c3a2bb59d4795986ff", + "name": "megatron-core", + "version": "0.16.0rc0" + }, + { + "direct_url": null, + "metadata_sha256": "a6e34d488c879f57ce042bec38f8864ba3ea7d6ecf0ab757fc88fe8dc0a22f26", + "name": "memray", + "version": "1.20.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd26d80dc9676b1fb8c894355bd525fbe7f49a6a86a555c72e9ec6d927247c33", + "name": "mergedeep", + "version": "1.3.4" + }, + { + "direct_url": null, + "metadata_sha256": "dd1b3b89e88d1c65a26e6e72dd075eabbc220bfb138769ec8b64578ee911795c", + "name": "mistral_common", + "version": "1.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "4859847a9f6321daf8849cf7fd1542ff430db6563a2abf9ac0d62a5b21bd951d", + "name": "mkdocs", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "1729fc31479f2582486cdc85397417659dd3b2fb3f920553de66cfe59d5f0b3e", + "name": "mkdocs-awesome-nav", + "version": "3.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "88b4b7b7c0aba5547befdedaf515c8df4867361daf55ff60b72578464d72dcbe", + "name": "mkdocs-get-deps", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "ad33bb33fb16b1f69689c4682550e97232154e367e2c8c8aee9dad0f10d269ce", + "name": "mkdocs-git-revision-date-localized-plugin", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "ed69fbfb9ac00c10c5a383a12ff9d2b9919ae184e408554434199211643d6040", + "name": "mkdocs-material", + "version": "9.7.7" + }, + { + "direct_url": null, + "metadata_sha256": "d1c549b61701148b97f8246bc924b2840e504b37b0ce7a27e78ddf81261e5363", + "name": "mkdocs-material-extensions", + "version": "1.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "4ad6171f3bf6812e4de90670ff0089d445093d4fe1d05d55f17b96a4a192a816", + "name": "ml_dtypes", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "4ad6171f3bf6812e4de90670ff0089d445093d4fe1d05d55f17b96a4a192a816", + "name": "ml_dtypes", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "b0dbdfa30ab6b1ce637a794899c9e43019182b6d1ab2d07b90f647f7331eba6b", + "name": "model-hosting-container-standards", + "version": "0.1.16" + }, + { + "direct_url": null, + "metadata_sha256": "95424470e481cfa8d18b30963b6de3aafe16614b1ea0414e184a008571dde84f", + "name": "mpmath", + "version": "1.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "eb184d83489401903615ce8a78d98d5b933dec0f7246811d396a529915fe797c", + "name": "msgpack", + "version": "1.2.3" + }, + { + "direct_url": null, + "metadata_sha256": "520006303d6a0e859970b83f7d452196e2e8f6dab08f6dcf1ba5823c1230025f", + "name": "msgspec", + "version": "0.22.0" + }, + { + "direct_url": null, + "metadata_sha256": "010d2fe039006070a711a476b171b7b7da5c29ccad3c4eecd77ef3711b07c2d0", + "name": "multidict", + "version": "6.9.1" + }, + { + "direct_url": null, + "metadata_sha256": "235634cc7ebda45f8a84dfdb1b9b35ac1a77a1888b34650c3a616d23e4a7e93f", + "name": "multiprocess", + "version": "0.70.19" + }, + { + "direct_url": null, + "metadata_sha256": "7c545b4b3e5e83d3fde41352272c10cb9deeaba5b7138fbf24383e952af8822e", + "name": "natsort", + "version": "8.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "311ee8cdaeaf9f11acf51cda9c3b5b191f76ce9d98bc3418164c3189bbc37a08", + "name": "nccl4py", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "66360539217852c3b44b37f409eade7e1559baf018bb363bacb2aa3a9759b203", + "name": "networkx", + "version": "3.7" + }, + { + "direct_url": null, + "metadata_sha256": "e8b0b1746808b87816c47e4531780ded7f246bed9575a89e8b40200aa81e9a13", + "name": "ninja", + "version": "1.13.2" + }, + { + "direct_url": null, + "metadata_sha256": "77c1117f0dbc41560ddc6e6b37b542fb4e88afcd4ef82ec06593e5bbd5f37121", + "name": "nodeenv", + "version": "1.11.0" + }, + { + "direct_url": null, + "metadata_sha256": "9af629898406c9eaa69897fe09220dc483270cdba89f6b20bf0165cdf0e1668e", + "name": "numba", + "version": "0.65.0" + }, + { + "direct_url": null, + "metadata_sha256": "0c7281a81cf76e40b27c1385ffd8a215d7227adc219f177ce807ead9e91994a5", + "name": "numpy", + "version": "2.3.5" + }, + { + "direct_url": null, + "metadata_sha256": "0c7281a81cf76e40b27c1385ffd8a215d7227adc219f177ce807ead9e91994a5", + "name": "numpy", + "version": "2.3.5" + }, + { + "direct_url": null, + "metadata_sha256": "bab990ced4537ce74ef5961ca933c4c6fd604fd09a5827a4a428c55bcb0be35b", + "name": "nvdlfw_inspect", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "10f6595146332d35f7f15a000e08b5c81432528c5d026470c1d03f0c1399fb70", + "name": "nvidia-cublas", + "version": "13.1.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "58e933b4ac8e49f098b16ab7480d03bd792afc3d1db10d0aacbdcc2c62e48fa3", + "name": "nvidia-cuda-cccl", + "version": "13.3.4.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "baac937970681d41aa0c3708b3d55d73f8d29e70aceaac0e71fe6d1548e94a09", + "name": "nvidia-cuda-crt", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "8d51e5c76ef5707b0b80d5ec9a791c0f11a480ab721820cf100a3cc566017eef", + "name": "nvidia-cuda-cupti", + "version": "13.0.85" + }, + { + "direct_url": null, + "metadata_sha256": "724bf56e61ddef5d4c2482ff64103a973b911b110b668acaea5373f6c83c1c5c", + "name": "nvidia-cuda-nvcc", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "c54801dbd815d534519a761f1f328325aa0f1d1f1659aa969fa74e7a2c76eee9", + "name": "nvidia-cuda-nvdisasm", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "af51f248363020b9fdfd2743704e901bf3d19a1a1ce1fe44fb98ba148bfc0157", + "name": "nvidia-cuda-nvrtc", + "version": "13.0.88" + }, + { + "direct_url": null, + "metadata_sha256": "055f7fc69a5a2159de82cd0718da02c8852e81c8a71ebb117b8e799badd7167e", + "name": "nvidia-cuda-runtime", + "version": "13.0.96" + }, + { + "direct_url": null, + "metadata_sha256": "df18686dbdb3074ca375a1d6c623a04102fd348950c67a721397349c6d4f0477", + "name": "nvidia-cudnn-cu13", + "version": "9.20.0.48" + }, + { + "direct_url": null, + "metadata_sha256": "abd0ca3f67af19a4d383ff2a012ae0090d4731c6492fd47236615308a50b3981", + "name": "nvidia-cudnn-frontend", + "version": "1.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "4a78545d424d0c5038353f7046a8ae40ceaf312045d71399eac9511f5fc15434", + "name": "nvidia-cufft", + "version": "12.0.0.61" + }, + { + "direct_url": null, + "metadata_sha256": "e49b909195c03ddbe203729d9b31dd88e3f207368333d1909c67c6b130a0c696", + "name": "nvidia-cufile", + "version": "1.15.1.6" + }, + { + "direct_url": null, + "metadata_sha256": "bb15a754c6be32c23aaac13c1cfa7a8ce53d92bc26652ec3b609f7a5cce3e7d1", + "name": "nvidia-curand", + "version": "10.4.0.35" + }, + { + "direct_url": null, + "metadata_sha256": "0dd58f677811eac04901a793740932e5a2a8fff2f5453aa6351614eb18391bb6", + "name": "nvidia-cusolver", + "version": "12.0.4.66" + }, + { + "direct_url": null, + "metadata_sha256": "8aeb284782ef6883095a5d1c110e221cad023a99afcfd5cdb4969a25e146d562", + "name": "nvidia-cusparse", + "version": "12.6.3.3" + }, + { + "direct_url": null, + "metadata_sha256": "09555246122896eaca3b8313eecfca4b339fefd3b597874cb9fe3bf29dab38c9", + "name": "nvidia-cusparselt-cu13", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "ac77bac79fbfb0c52ac6e2e5abc936b1e127be2192f0cbc27b00be3125fa86ae", + "name": "nvidia-cutlass-dsl", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "1ec968ec7c4083f7fe4e1fb8384c7e9b853a81491fef9f4cb1cf755961aaedf6", + "name": "nvidia-cutlass-dsl-libs-base", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "cc6f3846cd820013eaa6e2665c493d70c607be6ce7349b939eb4742888470585", + "name": "nvidia-cutlass-dsl-libs-core", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "2357d0df2d0d17c0b16663b8a89df53f751b19721f66821fd88fa78112c08e55", + "name": "nvidia-cutlass-dsl-libs-cu12", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "244590c25662dcf777b1daae97a858afe1a1aec62e5e6678b217007a459ab552", + "name": "nvidia-cutlass-dsl-libs-cu13", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "c3a25ada01f57418c1b897406c3abab18834e6adc573ab7b060620c453afb6db", + "name": "nvidia-ml-py", + "version": "13.615.71" + }, + { + "direct_url": null, + "metadata_sha256": "56baad4e7f699902b03b17580933f7bd50b6ea97b7df9d7e807750973da7529c", + "name": "nvidia-nccl-cu13", + "version": "2.29.7" + }, + { + "direct_url": null, + "metadata_sha256": "98810ef0ab8badc369e6a46a038f8ee9f412c0c753fb5ad580544f23a0aa7962", + "name": "nvidia-nvjitlink", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "b0f54ee21909d19640a58e05da755c91763eb5725f544fd0d4b84b2f5f94deba", + "name": "nvidia-nvshmem-cu13", + "version": "3.4.5" + }, + { + "direct_url": null, + "metadata_sha256": "06dc1a593c7e8b8c3f29184228c83f8f7ef57787ad91f3e5bcae1d238dd3092a", + "name": "nvidia-nvtx", + "version": "13.0.85" + }, + { + "direct_url": null, + "metadata_sha256": "32ee63450a437b6a6ed227ff6549144aa596197a322993521ec7af826ebd413e", + "name": "nvidia-nvvm", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "32c2efdcd2c673b3b7f35ca9c2cccefaad36f1f0a920648a13cad85f6a5767b2", + "name": "nvtx", + "version": "0.2.15" + }, + { + "direct_url": null, + "metadata_sha256": "3419d80e114a2c19fa9bd3582939a3942f19673055707ba6ca2ca489d58b41e0", + "name": "omegaconf", + "version": "2.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "28971076ce9c279d4b889496b046d55a1e05b02fb9851ceb717e9a10df799572", + "name": "onnx", + "version": "1.23.1" + }, + { + "direct_url": null, + "metadata_sha256": "1246f5a4d8295907a42e809ed9173ede2510ec9d260d2168989d126564897fa5", + "name": "onnx-ir", + "version": "1.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "e14643636835759700dff286f949c5ec34e7eac7ac47f44096414f0e0f1c3101", + "name": "onnxscript", + "version": "0.7.2" + }, + { + "direct_url": null, + "metadata_sha256": "00f847e99939207bd70dfd806428f6b20a3d01074b59325e4c76149a2e19be26", + "name": "openai", + "version": "3.22.1" + }, + { + "direct_url": null, + "metadata_sha256": "598d3ad5a22a14a7c4f1d218b43e345f32b0ba094b753467bae8a3f708fd48cb", + "name": "openai-agents", + "version": "0.22.3" + }, + { + "direct_url": null, + "metadata_sha256": "5a0afcb1ce845e05da12beb1767f5d2749bbc9e9050718c6b9fa3c225713c9eb", + "name": "openai-harmony", + "version": "0.0.8" + }, + { + "direct_url": null, + "metadata_sha256": "e86a6b6fcbbe152805f782c57df321002892e163019574877e9829272e25eb4e", + "name": "opencensus", + "version": "0.11.4" + }, + { + "direct_url": null, + "metadata_sha256": "53d669c8bd3d32d3275153b454e515ca5cc6dec92fae3a98309b5a2b19fe6d2d", + "name": "opencensus-context", + "version": "0.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "19778b6d66b0e45bf73e11fa37a208949d5b393aef914627394d5601455546a6", + "name": "opencv-python-headless", + "version": "5.0.0.93" + }, + { + "direct_url": null, + "metadata_sha256": "19778b6d66b0e45bf73e11fa37a208949d5b393aef914627394d5601455546a6", + "name": "opencv-python-headless", + "version": "5.0.0.93" + }, + { + "direct_url": null, + "metadata_sha256": "a3f5434fa7c80f7f7abc82173da639c8e9c59d30b4027182645562bd3d2f4f97", + "name": "opentelemetry-api", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "8611977ea596e4827874582e86250618444e1c718229dddfc16e5ea437ce5fcb", + "name": "opentelemetry-exporter-http-transport", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "2cfd41e5ca33292d987ba71fa6186d11e16ed66888f3a26f8a3a99060c4b5e90", + "name": "opentelemetry-exporter-otlp", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "3bb4494220732d4bf10e1dba231ea7638cedaa5362e1f23a50d34a14f520fea8", + "name": "opentelemetry-exporter-otlp-common", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "27fb1c8aa5c2cd07776f9f3281fc618cd3feb96017757c33d2b3586fb7fec88b", + "name": "opentelemetry-exporter-otlp-proto-common", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "5cba6098cdd0bfb06853a6c704a2451c4f82c9dea376a30b59ecd279296648ad", + "name": "opentelemetry-exporter-otlp-proto-grpc", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "6f53ef1c172ebf87af69b9ef390aa908506d0cd14bc7811985fdd937a4058808", + "name": "opentelemetry-exporter-otlp-proto-http", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "1910f4e7ebd497e98b6d231e10275288fda2cd1885117575706c62f45e065889", + "name": "opentelemetry-exporter-prometheus", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "fab18b721e30be41448be252e1dca43b48e7f15d971e0bb552492c0ef4b07bee", + "name": "opentelemetry-proto", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "3644a79f55762a646799ff52b9d837e01c8192b7b28f735a383f55c90edb9bc2", + "name": "opentelemetry-sdk", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "add3db481f7f401f65cfbddb058fde3bb4c9dd7b61064a84f8598ad7efe0b11c", + "name": "opentelemetry-semantic-conventions", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "0dfff30e912520a226bcf7a547393484cfcd8c738439c7b48418f61c95109480", + "name": "opentelemetry-semantic-conventions-ai", + "version": "0.5.1" + }, + { + "direct_url": null, + "metadata_sha256": "210ce26bad0a245a72831b4fa029708c245d4d670a88c8d5a69b1446c24a95e4", + "name": "orjson", + "version": "3.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "35ff73511848f5f934ccc39d538014716ec4579e76d54e0e407ff51794a7939c", + "name": "outlines_core", + "version": "0.2.14" + }, + { + "direct_url": null, + "metadata_sha256": "8ee2f7138ade46b6e348a6d099612f5bd6caff13511f3b4144327f37ce50eacf", + "name": "packaging", + "version": "26.3" + }, + { + "direct_url": null, + "metadata_sha256": "a4ab87bf8083001f25ccdc46095f05b678b3569dd58edc2cf941e3e7f64d7c88", + "name": "paginate", + "version": "0.5.7" + }, + { + "direct_url": null, + "metadata_sha256": "1de96a6c28c2e5613c9c87cd4ad9484791001cf58df43cf2ba74d5c4f85f0ad2", + "name": "pandas", + "version": "3.0.6" + }, + { + "direct_url": null, + "metadata_sha256": "d05b8d05da9f78176b2eefaacdfaa5e96708ec4f488daea8bbc52e3ed1bc3954", + "name": "partial-json-parser", + "version": "0.2.1.1.post7" + }, + { + "direct_url": null, + "metadata_sha256": "c1d126edceac2685e29403a8ae3a27c47143dce1f0252fa3931771562f1e2b4f", + "name": "pathspec", + "version": "1.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "30325dc8ce17bc64f9dbc0a449232fd35841a019df22a6f481007c9c5a28c1cb", + "name": "pillow", + "version": "12.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "cbc0b7b6e63b50dcb7c17cf3526a9304f285d9a31353adf3b22acc2059ab23f5", + "name": "pip", + "version": "25.0.1" + }, + { + "direct_url": "{\"dir_info\": {}, \"url\": \"file:///work\"}", + "metadata_sha256": "6ba03b5bc457a2a3d92468729501b5892a0d38ebcc36766c58859449498c5743", + "name": "pip", + "version": "26.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "0421937c4410b61c5325233d5b7671ae933bae8de174f87586ac55aa804851ea", + "name": "platformdirs", + "version": "4.12.2" + }, + { + "direct_url": null, + "metadata_sha256": "2bcffab42626e1fb50d6329765619312d30fe7f4880e98dcee99c92ebd283bb4", + "name": "pluggy", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "7e7562ba7c032f8edd02641ae71b1ac2d8f388103a68d777a7e907d19e75bc17", + "name": "pre_commit", + "version": "4.6.2" + }, + { + "direct_url": null, + "metadata_sha256": "bbe0a7662602ddd23f929fe0ee98e9d04406e138aeee18ce4861af186ea6060d", + "name": "prometheus-fastapi-instrumentator", + "version": "8.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "ece4a61f3ffb92a083fd5e47e180e3e070342e60a3bd93876a879e79a643e821", + "name": "prometheus_client", + "version": "0.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "5feba21a58eaa126e7e7739e57e2572e5bb251fcbf56e439e508acc47d769314", + "name": "propcache", + "version": "0.5.4" + }, + { + "direct_url": null, + "metadata_sha256": "3f136dbf7239c987a7685acd33440cc5efd6c4107b4b11c425201b4de70ae36f", + "name": "proto-plus", + "version": "1.29.0" + }, + { + "direct_url": null, + "metadata_sha256": "118b5ad013120a7a6e24714595ad776bf264d7b0060389133310d18ea1480902", + "name": "protobuf", + "version": "7.36.2" + }, + { + "direct_url": null, + "metadata_sha256": "0849f5a519bf9bc23ef204443fdd8d6d10678863acac7ca9340fc11bfba5a856", + "name": "protobuf-py", + "version": "0.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "eab5f2f4fd98f67a710a8fb1975b64ffa880a4f977566f022c567e08e324ccd6", + "name": "protobuf-py-ext", + "version": "0.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "39009938840de3a8b2a37eb4668d2601aae8c74e4b74743f73e59996b5b7e6e1", + "name": "psutil", + "version": "7.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "df44b58e8a4cfe57f65773ec47f7bdf2a14c8f5f73a7abf331a6b6237d6d691a", + "name": "py-cpuinfo", + "version": "9.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "2fd4a9efc5e5c74ae4c2fcf1970193c524c62ab22af8d5e66ebf7df9e6e46e83", + "name": "py-spy", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "d2ccdeb15cddedc81637a83e40baa6397fe269023b738d0fc3cb2d90722e290b", + "name": "pyarrow", + "version": "25.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "47b9f28e971a56f5adf949e0bcf105b0bf6587946566ecf197a2819d8848cc01", + "name": "pyasn1", + "version": "0.6.4" + }, + { + "direct_url": null, + "metadata_sha256": "82ce4c01c6d36841b9801fcdabab9bfe61d0b5e4e440c275941d8a2d4a790730", + "name": "pyasn1_modules", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "45cb345e4c12f63bc843b8c88902cc44c4d624a55aaef8cd5ffbc0ad16356fbe", + "name": "pybase64", + "version": "1.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "d311ae661edeac8ff029ab2960d065a7e792ebf8f79af682daa53109fe81318b", + "name": "pybind11", + "version": "3.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "cce9c0d440d065d4cdfb0d00004b8ddd65cf363a740efc5b0920b29201a59cd9", + "name": "pycountry", + "version": "26.2.16" + }, + { + "direct_url": null, + "metadata_sha256": "a1e33542883c249bf6c263b0023b9ea8a6131a77d9cb2cbc88316968e5eada83", + "name": "pycparser", + "version": "3.0" + }, + { + "direct_url": null, + "metadata_sha256": "faffcc4d7d359cb1047a9f67f7c65096b838c6db6c62852ef20fb27d55649a95", + "name": "pycryptodomex", + "version": "3.23.0" + }, + { + "direct_url": null, + "metadata_sha256": "98929f4cb80451dc3c6c8cd541a3081dccf0dee94afe7d9fa5c214a18ff236ce", + "name": "pydantic", + "version": "2.13.5" + }, + { + "direct_url": null, + "metadata_sha256": "8eccadbe707db97c397fb79073fe791b7998ef3a85f04f817f8991f7697b190b", + "name": "pydantic-extra-types", + "version": "2.11.1" + }, + { + "direct_url": null, + "metadata_sha256": "8f00c91deb34399316a5386eb2e76fe09f14a08dc3045f2e7dce9bf8573796bd", + "name": "pydantic-settings", + "version": "2.15.0" + }, + { + "direct_url": null, + "metadata_sha256": "66c729edddc20bf2764bb18bd87d907b08690e50355f39b97acc737b26d1d164", + "name": "pydantic_core", + "version": "2.46.5" + }, + { + "direct_url": null, + "metadata_sha256": "394500d78a0c1a433ae8ca3693152c08f6a901121d4b069cf1540a19759e2950", + "name": "pylatexenc", + "version": "2.11" + }, + { + "direct_url": null, + "metadata_sha256": "df2e9e9847a2aea0ae6e20fd325aeb16cf3ce7f8913462db6c2398363cd0c0bf", + "name": "pymdown-extensions", + "version": "12.1" + }, + { + "direct_url": null, + "metadata_sha256": "82fcfe724db9f0b51348da89f4f5cdc0b08d08882b1bbc0ca4913d3a0a93bcb9", + "name": "pynvvideocodec", + "version": "2.0.4" + }, + { + "direct_url": null, + "metadata_sha256": "3722422cc1478b175879143dfb78f98b7a5f53f4f684d71b7054fe2e8acd3b89", + "name": "pyqwest", + "version": "0.10.0" + }, + { + "direct_url": null, + "metadata_sha256": "7d1d1c276b7c372d55d17ac7d30f0a4b80a746e147347b8510d1355eea7f80c8", + "name": "pytest", + "version": "9.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "89e7c1c932e52b74bdcaf504389d2d1a2d7ca559b02bf5a09fc80ebd58ad10f7", + "name": "python-dateutil", + "version": "2.9.0.post0" + }, + { + "direct_url": null, + "metadata_sha256": "54f30f811841b6d772f31715712c85bfe0041839cb071f78daf41c700a98642b", + "name": "python-discovery", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "54f30f811841b6d772f31715712c85bfe0041839cb071f78daf41c700a98642b", + "name": "python-discovery", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "0cc19efd76cfbf3bcb2cb0d3ab82191036855859455aa3812c5e9e591e3f34e8", + "name": "python-dotenv", + "version": "1.2.3" + }, + { + "direct_url": null, + "metadata_sha256": "1d866c6124631b9ce1797ad412fff298ab53fc2d95210281d7c8f20e920753fa", + "name": "python-json-logger", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "2d18a1e7286d92a656ead5ec6f83d5ae6dc858634624f6b264703ae88d24d718", + "name": "python-multipart", + "version": "0.0.32" + }, + { + "direct_url": null, + "metadata_sha256": "beaa0efe9ba4b34843f5a0fc7379a73f10e95adb8cc0c31f359ab6f3a42b4def", + "name": "pyyaml_env_tag", + "version": "1.1" + }, + { + "direct_url": null, + "metadata_sha256": "238dc769e22d4f5626750cdff36e920e4a8d69c10d88de6d79b40a59cc13d873", + "name": "pyzmq", + "version": "27.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "de0a5e855bb5bb78b7acdcd2ca60619c6a0c109814881589caf158ec07155662", + "name": "quack-kernels", + "version": "0.6.5" + }, + { + "direct_url": null, + "metadata_sha256": "961ffef199b876fb4d7b10903d78e79f359d703b1638834c61d70b9879932918", + "name": "qwen-vl-utils", + "version": "0.0.14" + }, + { + "direct_url": null, + "metadata_sha256": "faf6ab9027d12de992827a2d8a224996fe6747a8c5f7d31ae495983dc73eefe9", + "name": "ray", + "version": "2.54.0" + }, + { + "direct_url": null, + "metadata_sha256": "c50d8b3ff4d113925b60dc47d1d28e87248a3338024241b0a3a66c8794fbce0c", + "name": "referencing", + "version": "0.37.0" + }, + { + "direct_url": null, + "metadata_sha256": "02acdc52d6f21d5f4b172254daaa94edfaa44c9ebe14d1c00cc4c8fe99b0e1df", + "name": "regex", + "version": "2026.9.29" + }, + { + "direct_url": null, + "metadata_sha256": "ac08207697217d1ffde8a161b424d77d6e2af6b62630fa26d75d08f11076cdca", + "name": "requests", + "version": "2.34.2" + }, + { + "direct_url": null, + "metadata_sha256": "f1abd635c3dff607a4fd654c62a88d9d4c21843cfc9176116c156f4269ca21b5", + "name": "rich", + "version": "15.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "932ff7743a756d0efcc45528d64c275ac3cb40a8dd1787ea10cb303907f0ae4f", + "name": "rich-toolkit", + "version": "0.20.5" + }, + { + "direct_url": null, + "metadata_sha256": "294a1405c0fa34b5f735bcb46459050436849a1e584c643544de99c07c529fb7", + "name": "rignore", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "5e54dd00b4ad336c5161d47de2a5c2212090c44629c28b6538b156256e49282d", + "name": "rpds-py", + "version": "2026.6.3" + }, + { + "direct_url": null, + "metadata_sha256": "0d5895abd80bfc0027c02943abaea4547061b9004bd134950d640d619a697835", + "name": "safetensors", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "91d5de3f641f33a8fbb4b6e91772da68d50b68686971d7b66af2068f2e77b694", + "name": "scipy", + "version": "1.17.1" + }, + { + "direct_url": null, + "metadata_sha256": "297fb30f701a800489c12893a951da3e5bd1f80061a1f43f0d3e9f1d4c6bc6fd", + "name": "sentencepiece", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "4245e0388ddf2048a38ae2a24a3d2c583408b2454aadc680d3c3beede639db3f", + "name": "sentry-sdk", + "version": "2.71.0" + }, + { + "direct_url": null, + "metadata_sha256": "ae8a9e6feec1a76e954d65ea48ac57842c9a7bfb5ac6e5ea82400a5ba9f71a98", + "name": "setproctitle", + "version": "1.3.7" + }, + { + "direct_url": null, + "metadata_sha256": "341d00772017437d0f6e3c943ae353f243c39fedfba403aea47cced927a76516", + "name": "setuptools", + "version": "79.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "ff4bcfb192bd542ed8f1794fb32ffc9eabd932d6e03cb00a4ad5e35a2469af88", + "name": "setuptools", + "version": "80.10.2" + }, + { + "direct_url": null, + "metadata_sha256": "f1e5a532fb8cda0bbc370e3db6cb9cea72a065d12ddd6a14976ba3cf66264221", + "name": "shellingham", + "version": "1.5.4" + }, + { + "direct_url": null, + "metadata_sha256": "2aba2cfd9c2ad7625a5d374d141af317d8f92d3534997bf98d127e52848dfc81", + "name": "six", + "version": "1.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "69ae2dfe547624be97fae348e1cfa3793f8854eed32cc1603badedc7d48fb36e", + "name": "smart_open", + "version": "8.0.2" + }, + { + "direct_url": null, + "metadata_sha256": "d415e6c6de7dee117d254a342668c489931bc88eac7ec8678b452078e366da6e", + "name": "smmap", + "version": "5.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "093bc4f0740a6fc28692e616aa8fe68d7e1d76426cc5a5faf9ea722a8ee7aaae", + "name": "sniffio", + "version": "1.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "b3cef071eb1dbeaa76a1273fe2ca2cc8ef36e835165253952d93780962529ac1", + "name": "sse-starlette", + "version": "3.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "3c01ca830e213f0311fe37bc3b46b8ab230a5e7acb894bf0fc8785cb7ccfed48", + "name": "starlette", + "version": "1.7.0" + }, + { + "direct_url": null, + "metadata_sha256": "6017ca508a293cf47a88a78cb330e9cbd131d74ec3c7fbf89bd4300ed3129d30", + "name": "supervisor", + "version": "4.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "fd5eb4925b04f9bffbc6c4f92bf8aea7243b918b43cd359493fce48a7dd3b336", + "name": "sympy", + "version": "1.14.0" + }, + { + "direct_url": null, + "metadata_sha256": "f09f0e24282c5a86346bcd5b10ae5ff81869fa8ef69c3ba524bd0a817a87dda9", + "name": "tabulate", + "version": "0.10.0" + }, + { + "direct_url": null, + "metadata_sha256": "519fa19c146fd58a0a75ecf1461e4bd98f9c06d01800c37d4a80f5fef095f4e1", + "name": "tensorboard", + "version": "2.21.0" + }, + { + "direct_url": null, + "metadata_sha256": "1af7ad76e4073b01ab147eb3c1d8e38b95d38062c6c9bc63890150738642e8eb", + "name": "tensorboard-data-server", + "version": "0.7.2" + }, + { + "direct_url": null, + "metadata_sha256": "9e597f62fc07e3b931d5c8fb0e90706fb6d45465cfb5d01dbd27ba7fc135c02c", + "name": "tensorstore", + "version": "0.1.80" + }, + { + "direct_url": null, + "metadata_sha256": "0da993d16ef6326f471796fcb065622f309c5c1aae6c6295b488ea64bb5c880c", + "name": "textual", + "version": "8.2.8" + }, + { + "direct_url": null, + "metadata_sha256": "52ca6148d4fd1497254855fa610cfdde99191cd42bce7a452fd3a68855504ac0", + "name": "tiktoken", + "version": "0.14.0" + }, + { + "direct_url": null, + "metadata_sha256": "0df9eb495cfb477dcbdfbdcd8c04d952d3eb00d77831630760571e13545398e5", + "name": "tilelang", + "version": "0.1.12" + }, + { + "direct_url": null, + "metadata_sha256": "802b576e011dc61bd2681593e8d802714b6c4ce636a9cf87035026db32ce6262", + "name": "tokenizers", + "version": "0.23.2" + }, + { + "direct_url": null, + "metadata_sha256": "4e1631b2164a49ff9a848d86ce504fdcc15e3540dbb262df8f33a2681a8de513", + "name": "tokenspeed-mla", + "version": "0.1.8" + }, + { + "direct_url": null, + "metadata_sha256": "05086095a775c5dca70998dcf442a848c13f9c68b54a54c510c3542c5abb6563", + "name": "tokenspeed-triton", + "version": "3.8.10.post20260920" + }, + { + "direct_url": null, + "metadata_sha256": "71daba472d0c5ffc25c0231dc29688ab0cb13d5bc7e7d93f6c4cce4169c50048", + "name": "torch", + "version": "2.13.0" + }, + { + "direct_url": null, + "metadata_sha256": "cccd2f1c0e5866e63732f58798c8d642ee6d10cd560d6f691e7981b908c246c9", + "name": "torch_c_dlpack_ext", + "version": "0.1.5" + }, + { + "direct_url": "{\"dir_info\": {}, \"url\": \"file:///torch_memory_saver\"}", + "metadata_sha256": "6276cef17dedbb5ee0d6157bbf63b832e916026281328d995ad3d488c2539618", + "name": "torch_memory_saver", + "version": "0.0.9.post1+slime" + }, + { + "direct_url": null, + "metadata_sha256": "29809ca2c86dda5079654f1f70564a64435e9d08f1964a2412b6f514e1b5ff64", + "name": "torchaudio", + "version": "2.11.0" + }, + { + "direct_url": null, + "metadata_sha256": "7e9be0f3a290e3fd9370d8fe010c7ffd006d5d3d05ab8bdf7df8f92f0fca9c39", + "name": "torchcodec", + "version": "0.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "181fa5e6b399c378711eddcdacd756d3c51317916f8eb160ee36cae7fae9589f", + "name": "torchvision", + "version": "0.28.0" + }, + { + "direct_url": null, + "metadata_sha256": "43d1261aff90cf3d5b1b40cf1f94234d61409b14e59f3766f457c1eec7f7ac15", + "name": "tqdm", + "version": "4.70.1" + }, + { + "direct_url": "{\"archive_info\": {\"hash\": \"sha256=3e1d9f534781c8e608240da0b495b8246317a36382f7609017cbaa7fb1d53f7b\", \"hashes\": {\"sha256\": \"3e1d9f534781c8e608240da0b495b8246317a36382f7609017cbaa7fb1d53f7b\"}}, \"url\": \"file:///wheels/transformer_engine-2.16.1%2Bc9877beb-cp312-cp312-linux_x86_64.whl\"}", + "metadata_sha256": "d882f743161d9d9f35dee4e1a8cc9136fa495f7c660caace01ab8f5602d76aa7", + "name": "transformer_engine", + "version": "2.16.1+c9877beb" + }, + { + "direct_url": null, + "metadata_sha256": "465797a59706d83b45c93fde750b228c3b6e1addc44115de2c4c02ad66d9c5ea", + "name": "transformers", + "version": "5.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "a91982ca086667c592a951973434f7c5a9f27a8300bc97af78dfb496afe53e71", + "name": "triton", + "version": "3.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "d26fbb244532c4051e715f9047cd943e2cc4abb0ac6f2a517fa2986eb1ea726a", + "name": "truststore", + "version": "0.10.4" + }, + { + "direct_url": null, + "metadata_sha256": "c84af1a069084b1b440b3594068dec29200d52d4c1a9b652030448717f270158", + "name": "typer", + "version": "0.27.2" + }, + { + "direct_url": null, + "metadata_sha256": "0ad6653b7439f4bb6a596cb7b01ed1b716458467525c4dc40b75d62bdb943c98", + "name": "typing-inspection", + "version": "0.4.4" + }, + { + "direct_url": null, + "metadata_sha256": "d005280aa13b334ac942d20219102865e559f69ffd06c35c248b2f0d0da3b933", + "name": "typing_extensions", + "version": "4.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "fba2930e9030a18965d243f8d330748db2e67572a81b3b68710462fb5110332a", + "name": "urllib3", + "version": "2.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "bc5717bd6524a33838f285261868bcc8e311e8c29fdb19e41d56c38b04890e84", + "name": "uvicorn", + "version": "0.54.0" + }, + { + "direct_url": null, + "metadata_sha256": "741c006d8441f562aa853a5430df236fbb4af923445491f396bf09943bd30258", + "name": "uvloop", + "version": "0.22.1" + }, + { + "direct_url": "{\"dir_info\": {\"editable\": true}, \"url\": \"file:///vime\"}", + "metadata_sha256": "f85aa01dfdc868756a6583434bbff040f29eb511d47d5b25ada063a84353aac6", + "name": "vime", + "version": "0.3.2" + }, + { + "direct_url": null, + "metadata_sha256": "c25431aaf1950971fe96292f395a41a55b403127bfca0d0b8f7dc9cff5dab75d", + "name": "virtualenv", + "version": "21.14.1" + }, + { + "direct_url": null, + "metadata_sha256": "4e3ee0a31d85e56268640aae853bcee4794dfe8c0483c5c6370517e480c81ae0", + "name": "virtualenv", + "version": "21.14.5" + }, + { + "direct_url": null, + "metadata_sha256": "d4ed5c7551cddb8c1aeff2f9f27b3491f6ad2c9afda8e7bb9779c33fa12a536c", + "name": "vllm", + "version": "0.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "84b482e09bac949e992594757214a1920c667a5d898ee320e309250697f6d26e", + "name": "vllm-router", + "version": "0.1.15" + }, + { + "direct_url": null, + "metadata_sha256": "9b16c871eb1060a5218e9b9a9ad33288d94844cfaf43f08dbb6c32423bde8fe3", + "name": "wandb", + "version": "0.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "8e4f2be437dfe4eb3c6c959e517ac20b75d06525563f1ebcbf06f9ec648bd7c1", + "name": "watchdog", + "version": "6.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "15218afb42938907c2ca74c54e3d8e3a5406493c4761e29e38e82bfec0f84296", + "name": "watchfiles", + "version": "1.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "8863af96e88b7db9990da99aa6c46816eacc3d2f9ae1297b53381b033cd70119", + "name": "wcmatch", + "version": "11.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "f46e6bd6cfafb2b684c29587b017b7096fd9155b74eda25a22eca784b9803ab7", + "name": "websockets", + "version": "16.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "ce82db5ccfefa4bfbe4e25a36e1f91e8e7d51fcaeb31586c4d48e1c69f99168b", + "name": "websockets", + "version": "17.1" + }, + { + "direct_url": null, + "metadata_sha256": "0f142a2c09eac643c7d0bfe77f3f121184c0b17914afbd32af669ed19b2b02ef", + "name": "wheel", + "version": "0.47.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd58938e51a3c5cb363f6f22eaa2a8a7accc1ce373388de167a82f77d3e5783f", + "name": "wrapt", + "version": "2.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "b0b72c1941f04499ca7e1a3a6e479aee8df902c3d49979624b59dba8c3228d37", + "name": "xgrammar", + "version": "0.2.8" + }, + { + "direct_url": null, + "metadata_sha256": "ef8861f39e5c36255966a36032651f937d890d55f31f1c26304b488f1ba34332", + "name": "xxhash", + "version": "4.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "740c08057b6eb69c58402c87d652af0a471e46325d811f2c605632a18817152f", + "name": "yarl", + "version": "1.25.1" + }, + { + "direct_url": null, + "metadata_sha256": "7b060e4d24394b5431875e2f74fec8e6bffa79d2e6b4cb8c7e2a5187dd2d8d69", + "name": "z3-solver", + "version": "4.15.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "3d76d4fbc95f0851191147db12300938c67a6f8fb1df884886d9601272ccc4e8", + "name": "zipp", + "version": "4.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "d3de2651e4e908dbb7c9d80508e5179590217dfac4993dc8b04381c5b9718c4c", + "name": "zstandard", + "version": "0.25.0" + } + ], + "executable": "", + "installed_provider_sources": { + "vllm/compilation/__init__.py": { + "path": "/vllm/compilation/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/backends.py": { + "path": "/vllm/compilation/backends.py", + "sha256": "fa4bff8920b363efbbde9456f135fa9d2c004a5bde1898877f177418b2d8b008" + }, + "vllm/compilation/base_static_graph.py": { + "path": "/vllm/compilation/base_static_graph.py", + "sha256": "5cfe8e06db84aa42cd41cdd93ebe93af00b3a242c8011042057530e2922b523a" + }, + "vllm/compilation/breakable_cudagraph.py": { + "path": "/vllm/compilation/breakable_cudagraph.py", + "sha256": "3cc427612a08e2b9b3fee47548026400c1d0776e2d4747535e59ef5512bdf1e8" + }, + "vllm/compilation/caching.py": { + "path": "/vllm/compilation/caching.py", + "sha256": "71d212452dde742fbf28b8a01ed29d3c08a7457ff7f8da2a20ce9d17e902c2cf" + }, + "vllm/compilation/codegen.py": { + "path": "/vllm/compilation/codegen.py", + "sha256": "e04833bec88cf9d1a13aa7341e30e3233d1138bfe23424e0fd34d664b3fedb9f" + }, + "vllm/compilation/compiler_interface.py": { + "path": "/vllm/compilation/compiler_interface.py", + "sha256": "8d84e2864bf83f754bae9e9f77119e0287cca9f97f5fa5ec2535e07b5ad88944" + }, + "vllm/compilation/counter.py": { + "path": "/vllm/compilation/counter.py", + "sha256": "d8158c54dd36a357bf24f6f84dc22f572d3a27f4875f3d5779b12bc5d454ff76" + }, + "vllm/compilation/cuda_graph.py": { + "path": "/vllm/compilation/cuda_graph.py", + "sha256": "05c86392d7fae967ac73076dba7e01990a0e3ae619e4866450a0c1be56bd1192" + }, + "vllm/compilation/decorators.py": { + "path": "/vllm/compilation/decorators.py", + "sha256": "cab6962e8a1fead59c75f5ed8cb4732f9e5441ff972030c2f4b1c4ba0c58de3c" + }, + "vllm/compilation/monitor.py": { + "path": "/vllm/compilation/monitor.py", + "sha256": "43b24c5cb1bc4d32dc979f3222596905c7b3acc58415328a234402e6edc76abf" + }, + "vllm/compilation/partition_rules.py": { + "path": "/vllm/compilation/partition_rules.py", + "sha256": "857d2fb06dc871ea1d3717cd01fbd4e5205984100d98b7b72a2933d6ff1cfa4d" + }, + "vllm/compilation/passes/__init__.py": { + "path": "/vllm/compilation/passes/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/fusion/__init__.py": { + "path": "/vllm/compilation/passes/fusion/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/fusion/act_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/act_quant_fusion.py", + "sha256": "1fa9c3ca4fb424685b7053c3dda89dda16c98dc5645d85f0f28dca58429792b3" + }, + "vllm/compilation/passes/fusion/add_rms_fusion.py": { + "path": "/vllm/compilation/passes/fusion/add_rms_fusion.py", + "sha256": "e46998552628aa5cd5962fc39ea39ae824fd97e6aeba1d176e9cc7cade39837b" + }, + "vllm/compilation/passes/fusion/allreduce_rms_fusion.py": { + "path": "/vllm/compilation/passes/fusion/allreduce_rms_fusion.py", + "sha256": "0af193505880cec0f6ffa224c688bce3c9ddc318dccdf04a696b4e4b4506a963" + }, + "vllm/compilation/passes/fusion/attn_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/attn_quant_fusion.py", + "sha256": "ecc64e82be4481954c9cac6c23d7794846ab19486b570f2dda07ab5ad67c5a49" + }, + "vllm/compilation/passes/fusion/collective_fusion.py": { + "path": "/vllm/compilation/passes/fusion/collective_fusion.py", + "sha256": "1e2c8539d6960b45907fb3bf0482441ea7250e97c56ffdea1500514efa0b164d" + }, + "vllm/compilation/passes/fusion/matcher_utils.py": { + "path": "/vllm/compilation/passes/fusion/matcher_utils.py", + "sha256": "50ac5714ce1bb113520de769ea6234316acc470a8cdf2537a996ce9a9d54337d" + }, + "vllm/compilation/passes/fusion/mla_attn_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/mla_attn_quant_fusion.py", + "sha256": "a966fe7f58bf9228379f793f5fd851735a97f9639722766b2a20cb79a9e4baec" + }, + "vllm/compilation/passes/fusion/mla_rope_kvcache_cat_fusion.py": { + "path": "/vllm/compilation/passes/fusion/mla_rope_kvcache_cat_fusion.py", + "sha256": "1602cc28055ffa8d1123ddb1d256bf0bd12006fd06ea7e16a986c55746dbe0dc" + }, + "vllm/compilation/passes/fusion/qk_norm_rope_fusion.py": { + "path": "/vllm/compilation/passes/fusion/qk_norm_rope_fusion.py", + "sha256": "aebc7d1a5189b65ac665afcc169e7baebd53efe719c48e35e7c5babe85af0d39" + }, + "vllm/compilation/passes/fusion/qk_norm_rope_kvcache_fusion.py": { + "path": "/vllm/compilation/passes/fusion/qk_norm_rope_kvcache_fusion.py", + "sha256": "f0cfd0d83ec4acb09f9bf91d199b114e9d4995e3059c13eb23a6978ce7c07eb2" + }, + "vllm/compilation/passes/fusion/rms_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rms_quant_fusion.py", + "sha256": "4852aa44e0e2087043fdac271bda9b8d9bfe3201bb84ce3919b8ed454d8083c4" + }, + "vllm/compilation/passes/fusion/rocm_aiter_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rocm_aiter_fusion.py", + "sha256": "372e76c68c75209a085deec6dd22b3816be633613ca82f6f2925c1b3773d61a0" + }, + "vllm/compilation/passes/fusion/rope_kvcache_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rope_kvcache_fusion.py", + "sha256": "3a756e9049593537143b5a56ab9185a6bc83f57ed81d84226d7791a46a984b53" + }, + "vllm/compilation/passes/fusion/sequence_parallelism.py": { + "path": "/vllm/compilation/passes/fusion/sequence_parallelism.py", + "sha256": "3af7e420dcb35fff0bae0f8f599d0f1bda34445ebe194059892a434b2976d654" + }, + "vllm/compilation/passes/fx_utils.py": { + "path": "/vllm/compilation/passes/fx_utils.py", + "sha256": "730708213acf9d1b5f3176b433dfc197a5f3c81b5ce443f0923c526924833003" + }, + "vllm/compilation/passes/inductor_pass.py": { + "path": "/vllm/compilation/passes/inductor_pass.py", + "sha256": "1f380aacf7adabb8bf8b7d41c0a93473947f0716f7445bd910fd448f6c08e672" + }, + "vllm/compilation/passes/ir/__init__.py": { + "path": "/vllm/compilation/passes/ir/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/ir/clone_elimination.py": { + "path": "/vllm/compilation/passes/ir/clone_elimination.py", + "sha256": "5297078f5cddce081faba5215814275381d2083b32318fcfeb2bf9d69fedb7c7" + }, + "vllm/compilation/passes/ir/inplace_functionalization.py": { + "path": "/vllm/compilation/passes/ir/inplace_functionalization.py", + "sha256": "2dc4f22c6f05224828c2941479185b1452d4490f488b7f0bfd124334e7809fed" + }, + "vllm/compilation/passes/ir/lowering_pass.py": { + "path": "/vllm/compilation/passes/ir/lowering_pass.py", + "sha256": "d9c3d90f63138420f0e5489447b5996573fcfbbab939da2efccd00848492b172" + }, + "vllm/compilation/passes/ir/utils.py": { + "path": "/vllm/compilation/passes/ir/utils.py", + "sha256": "f59d33a6c7d0616cbeec1e9fb1d6c948881bf81fe124caeb906eac2e2197ea21" + }, + "vllm/compilation/passes/pass_manager.py": { + "path": "/vllm/compilation/passes/pass_manager.py", + "sha256": "486979a058aa2e20ebedcbb6e039f7a59f38d2efd2cda11219fae4067be0968d" + }, + "vllm/compilation/passes/utility/__init__.py": { + "path": "/vllm/compilation/passes/utility/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/utility/fix_functionalization.py": { + "path": "/vllm/compilation/passes/utility/fix_functionalization.py", + "sha256": "ad5b504a05ccee023869b0c8df70ec2fff9a4a80d25fd903e2b532f470e7203f" + }, + "vllm/compilation/passes/utility/noop_elimination.py": { + "path": "/vllm/compilation/passes/utility/noop_elimination.py", + "sha256": "8abf85d28c13f95059f2acbc0275b9b9ed2ad4990f7c5763bbe3067a4aa629ce" + }, + "vllm/compilation/passes/utility/post_cleanup.py": { + "path": "/vllm/compilation/passes/utility/post_cleanup.py", + "sha256": "1c38b14fc209165cbcf8ca763a17ac4e528b97f59b573e5d52df2cce7d758de3" + }, + "vllm/compilation/passes/utility/scatter_split_replace.py": { + "path": "/vllm/compilation/passes/utility/scatter_split_replace.py", + "sha256": "138402cc3097768a32e9e5b8d1a054b6176e494bddc8684e23ca2dc5fdc3fdda" + }, + "vllm/compilation/passes/utility/split_coalescing.py": { + "path": "/vllm/compilation/passes/utility/split_coalescing.py", + "sha256": "0b02acd9e1ad43d7b3e128b914e969b9580773f2818078846dfbf163a8bd0871" + }, + "vllm/compilation/passes/vllm_inductor_pass.py": { + "path": "/vllm/compilation/passes/vllm_inductor_pass.py", + "sha256": "4f83ffb67f834a214221d810c7843a8e41eb4e5930eb40adbd8cf054ff6fb9c6" + }, + "vllm/compilation/piecewise_backend.py": { + "path": "/vllm/compilation/piecewise_backend.py", + "sha256": "6525318ff3ca2e4978e24dd9232a7ae0a02e920e19604b83db6f6043d1f8a54d" + }, + "vllm/compilation/wrapper.py": { + "path": "/vllm/compilation/wrapper.py", + "sha256": "c1b1fca679ea16aa07a696831a810c0d531da2bb0ea32dd6f1a95cdaef36de07" + }, + "vllm/config/__init__.py": { + "path": "/vllm/config/__init__.py", + "sha256": "56fb0cb1598d297e4f95a97e5d86dc624145d1532f5faa432b7d2834d7155bd5" + }, + "vllm/config/attention.py": { + "path": "/vllm/config/attention.py", + "sha256": "c41f345b512d9b7df882328257eb3a6381f41088c11ae83b5ecd8a9e8265d1bc" + }, + "vllm/config/cache.py": { + "path": "/vllm/config/cache.py", + "sha256": "f1c226ba679c884930dbfcaf41a57248b137a9a20d3ed8e3d3b31752bb484c07" + }, + "vllm/config/compilation.py": { + "path": "/vllm/config/compilation.py", + "sha256": "c9cec5c7200e8e559810ec8c30113ad61dab6780f9f7fb3c116bd0d9b5a43065" + }, + "vllm/config/device.py": { + "path": "/vllm/config/device.py", + "sha256": "7b82eee02ceb5842337451a27a3d5729920c47e25e8f6bf3997f5146f9330a9c" + }, + "vllm/config/diffusion.py": { + "path": "/vllm/config/diffusion.py", + "sha256": "1fa9fd2478a866098a28a3586b55af2f9738656b7813a55d76539c10dd99fe8d" + }, + "vllm/config/ec_manager_config.py": { + "path": "/vllm/config/ec_manager_config.py", + "sha256": "418b387dbe7bdf67deddce331c205768a2d42aea37141f59fb02a8a1528e3552" + }, + "vllm/config/ec_transfer.py": { + "path": "/vllm/config/ec_transfer.py", + "sha256": "0eabb2c25194676d23c6acf59562672a1dd24415043ac5737d621ce0d681ec70" + }, + "vllm/config/engram.py": { + "path": "/vllm/config/engram.py", + "sha256": "34043a22385a041d4e9be8857f64174c990c2ca8308b97b6a952b5ab96c20ee5" + }, + "vllm/config/fault_tolerance.py": { + "path": "/vllm/config/fault_tolerance.py", + "sha256": "b166b24373d599fb15ddc575e3061cf0dcb42174d0369d8468008e7ffbb2a4e2" + }, + "vllm/config/kernel.py": { + "path": "/vllm/config/kernel.py", + "sha256": "27e23c584cf862f4091858db6dc85bbc2a01f4baf9dca3f232ae6f3bac02390e" + }, + "vllm/config/kv_events.py": { + "path": "/vllm/config/kv_events.py", + "sha256": "b1dbaee3e6830e381e9157fe3bab0d65c357da88ff7cdf8b1e4b3a4e75c82a87" + }, + "vllm/config/kv_transfer.py": { + "path": "/vllm/config/kv_transfer.py", + "sha256": "506fae7a9d7f32cb3646156cf9249a856f6317dff6c4c85db70efd34418c429b" + }, + "vllm/config/load.py": { + "path": "/vllm/config/load.py", + "sha256": "bd6431c22e078362d749a56a2c84145432ebf2605d8bcfa2ac679182d18ed630" + }, + "vllm/config/lora.py": { + "path": "/vllm/config/lora.py", + "sha256": "ed6cf6575f5950f079a62f904caeae93d1a4745dd8c21788b74367883bcd4b08" + }, + "vllm/config/mamba.py": { + "path": "/vllm/config/mamba.py", + "sha256": "2090f791201ca45dd4f1d72b8651268890eb07574b6084721194eb8fdf612c48" + }, + "vllm/config/model.py": { + "path": "/vllm/config/model.py", + "sha256": "f4168b67cc93ce72ff2a6d4c66974223e32fd0f1fab4c05e44bd68a275e18d69" + }, + "vllm/config/model_arch.py": { + "path": "/vllm/config/model_arch.py", + "sha256": "2babe28329d7b60b4e205f6d72c687f0f66e6535aa2f20411469e5ec362f6b5f" + }, + "vllm/config/multimodal.py": { + "path": "/vllm/config/multimodal.py", + "sha256": "271911aee151f17f092228cecee82af0713e9a47340ffdf66834ca7638a50d22" + }, + "vllm/config/observability.py": { + "path": "/vllm/config/observability.py", + "sha256": "d57c59ec776477ab0a20e9f2b945bc954d8ea3737c869259480e9aa10dfb9f6d" + }, + "vllm/config/offload.py": { + "path": "/vllm/config/offload.py", + "sha256": "6f2db3d9a2730588473d5155811690c6241b167a21dcb62fbbd9ebb6386de42c" + }, + "vllm/config/parallel.py": { + "path": "/vllm/config/parallel.py", + "sha256": "f012ace89e3fb730a467f729f602679bc145c49f0d10721811c9d818570e7b2b" + }, + "vllm/config/pooler.py": { + "path": "/vllm/config/pooler.py", + "sha256": "9f01913dcb7bccbf9b672b16643f18471ae202455992e8afaf0725a17f2b3d08" + }, + "vllm/config/profiler.py": { + "path": "/vllm/config/profiler.py", + "sha256": "04d24fa1dc7cfedca6b5c7d9115f7f7021722fc46a5b15234a1e3b3a506c93e5" + }, + "vllm/config/quantization.py": { + "path": "/vllm/config/quantization.py", + "sha256": "acffc52f525b39a88efd656f1ed705ce3a1b758298bb0684fac7694776bc10b4" + }, + "vllm/config/reasoning.py": { + "path": "/vllm/config/reasoning.py", + "sha256": "2c4f7bdee48a9fb3d93787c4c32361c2411417cce452cfde86808d8759977861" + }, + "vllm/config/scheduler.py": { + "path": "/vllm/config/scheduler.py", + "sha256": "822179da62be4bca0619c8590082ae09123f5c4415f9cc2037be673748239edb" + }, + "vllm/config/speculative.py": { + "path": "/vllm/config/speculative.py", + "sha256": "9c642a87264339c0dbc1d0b57330572149df0f9d5e16c6893b9895e50a619e19" + }, + "vllm/config/speech_to_text.py": { + "path": "/vllm/config/speech_to_text.py", + "sha256": "bf4a566fbde6a1cec1e209070b739650c3302c12696739c88049cb8f723a4c3f" + }, + "vllm/config/structured_outputs.py": { + "path": "/vllm/config/structured_outputs.py", + "sha256": "55649776594349b8b4aa3e08fc4c88068366732a486d6fb235079188044aa829" + }, + "vllm/config/utils.py": { + "path": "/vllm/config/utils.py", + "sha256": "d035e9e488ba92b6c47a96cf05d9b2a850d53eda8a05115b22ff9af8dbc2fc64" + }, + "vllm/config/vllm.py": { + "path": "/vllm/config/vllm.py", + "sha256": "956b812e5a719bcbfa3a3958801361b38b9c928c96b8c073311bbb96376dfb7a" + }, + "vllm/config/watermarking.py": { + "path": "/vllm/config/watermarking.py", + "sha256": "30e6620a3cd7529f0736ad55e38bc326a6a78dee4552f0722208400041c94a1f" + }, + "vllm/config/weight_transfer.py": { + "path": "/vllm/config/weight_transfer.py", + "sha256": "92edd9e5ea90c97a8f3c5f20abf1734a105ee1f3f89e306e7ba87e758f1f767e" + }, + "vllm/distributed/__init__.py": { + "path": "/vllm/distributed/__init__.py", + "sha256": "97f28c30b32662af8cab163939e4ee423037f11630752e13b55cbc25a7d0ab71" + }, + "vllm/distributed/communication_op.py": { + "path": "/vllm/distributed/communication_op.py", + "sha256": "3c3f8ac60db38ece891d39dc1e2f6f1947ad438685893d2e5777d072320bd1b8" + }, + "vllm/distributed/device_communicators/__init__.py": { + "path": "/vllm/distributed/device_communicators/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/device_communicators/aiter_custom_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/aiter_custom_all_reduce.py", + "sha256": "f8eb027ce7a85d94af6260960ceb7f36fc6f1406c9af9c9b6285fddb3f178009" + }, + "vllm/distributed/device_communicators/all2all.py": { + "path": "/vllm/distributed/device_communicators/all2all.py", + "sha256": "1f1b69236acd3cd7bd94520fd6d591bfd31b57c4bc7c9f9f4161ea8bbd0c5f26" + }, + "vllm/distributed/device_communicators/all_reduce_utils.py": { + "path": "/vllm/distributed/device_communicators/all_reduce_utils.py", + "sha256": "ed0ab4dd05b2519a6313892e68824c97b540034664d7f8c3d031b322e33e1bfc" + }, + "vllm/distributed/device_communicators/base_device_communicator.py": { + "path": "/vllm/distributed/device_communicators/base_device_communicator.py", + "sha256": "4a7670f12ed7c7621b25d476e2687c24ca01f3be183fff4a6a25337596fe506b" + }, + "vllm/distributed/device_communicators/cpu_communicator.py": { + "path": "/vllm/distributed/device_communicators/cpu_communicator.py", + "sha256": "e1856c8e91cfbbb4d9ce990c1236e258ba4021e226afcbab645653380b38d64b" + }, + "vllm/distributed/device_communicators/cuda_communicator.py": { + "path": "/vllm/distributed/device_communicators/cuda_communicator.py", + "sha256": "102d95c67ec798cf352b817ba92e8abc9da37f30d1bbdf3aab45d3927b627b93" + }, + "vllm/distributed/device_communicators/cuda_wrapper.py": { + "path": "/vllm/distributed/device_communicators/cuda_wrapper.py", + "sha256": "333b6d9ed173e7a18c7f2b6627a3c9c9ed88892ce52015f05e29d6d245e48ee3" + }, + "vllm/distributed/device_communicators/custom_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/custom_all_reduce.py", + "sha256": "a048c1327c23580805600c0c951831bec333b1ffc4eb26a0e3d34119c4f0c445" + }, + "vllm/distributed/device_communicators/flashinfer_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/flashinfer_all_reduce.py", + "sha256": "b4359760e9b55963676109a5c3a015fb82e190d4df1d021de9ee01e7814cbdda" + }, + "vllm/distributed/device_communicators/flashinfer_pcie_ipc_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/flashinfer_pcie_ipc_all_reduce.py", + "sha256": "8b67b0fc356a565095f56b475cc89c513e3a5eff051ab1c52e5beb0c1a79e9f2" + }, + "vllm/distributed/device_communicators/mnnvl_compat.py": { + "path": "/vllm/distributed/device_communicators/mnnvl_compat.py", + "sha256": "72ee1e6f9571b4c8ecbd9f60cd469d1b565cb79cab519a688a93f290906a2615" + }, + "vllm/distributed/device_communicators/pynccl.py": { + "path": "/vllm/distributed/device_communicators/pynccl.py", + "sha256": "882fb83c5a3c565a3f8fd664b79f5ceae566dca180019ecafd74bc8c11d9f8cf" + }, + "vllm/distributed/device_communicators/pynccl_allocator.py": { + "path": "/vllm/distributed/device_communicators/pynccl_allocator.py", + "sha256": "390e2576cbf4ae06341ca4dab24fc7e4d4f7c24dd444329ed05d828a9ce91460" + }, + "vllm/distributed/device_communicators/pynccl_wrapper.py": { + "path": "/vllm/distributed/device_communicators/pynccl_wrapper.py", + "sha256": "ce63c8da57bb88d4cf89956bd70bb63f0f44bfad468ddb37b765611551f6d99f" + }, + "vllm/distributed/device_communicators/quick_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/quick_all_reduce.py", + "sha256": "8aacb23e7c297b0ae2f80d99c5affd2e7517115d7874be51069d14a44db7b5f2" + }, + "vllm/distributed/device_communicators/ray_communicator.py": { + "path": "/vllm/distributed/device_communicators/ray_communicator.py", + "sha256": "332c37f65495b60564d61db59bc2d30ca0236adc33442d01464790bde9aec897" + }, + "vllm/distributed/device_communicators/shm_broadcast.py": { + "path": "/vllm/distributed/device_communicators/shm_broadcast.py", + "sha256": "f3e7a3f3ff713fccbd535e0d41650ee05bdf8677e83d4b90519910645022c30b" + }, + "vllm/distributed/device_communicators/shm_object_storage.py": { + "path": "/vllm/distributed/device_communicators/shm_object_storage.py", + "sha256": "e097bf7ac0141fe8db4131e8fd553ca2ad5b0600b22a56f3924af6b795e7207c" + }, + "vllm/distributed/device_communicators/symm_mem.py": { + "path": "/vllm/distributed/device_communicators/symm_mem.py", + "sha256": "b06e3ddb9ae880a30ec4a103ce32eb9794223bb0293832e89572af28adaaa544" + }, + "vllm/distributed/device_communicators/xpu_communicator.py": { + "path": "/vllm/distributed/device_communicators/xpu_communicator.py", + "sha256": "527cbfb250760abc62096ee7cd612307b821f21b72dee1687ad866620ec89b6d" + }, + "vllm/distributed/ec_transfer/__init__.py": { + "path": "/vllm/distributed/ec_transfer/__init__.py", + "sha256": "061405bb51df7409c9938b62e25caa8bd6ebf85da6d1700dbd4affe2a0825135" + }, + "vllm/distributed/ec_transfer/ec_connector/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/base.py", + "sha256": "22d4913375bb622473fbe1a77f9376b804949cd8a7e31e9518208f9561d161e2" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/common.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/common.py", + "sha256": "e2267abd8d00a6d2605e1a82ea5c73396a71b427452eab469fcca0134c334e7c" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/connector.py", + "sha256": "72cd35d9fd754a2992dd090a8af13c91e0789b4038ac29276750d823120235db" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/base.py", + "sha256": "19e8df88b0fa831997896355ecdd49e0d86cb074cd7ae28aed0b328b0bb3ab2e" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/zmq.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/zmq.py", + "sha256": "435641c0e37551ab4937855abd067be26905b91215e759cbd9d28a419a34ff9a" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/base.py", + "sha256": "3be698aeb67d32ee3741e76b2fb71806941c587578583acf8fbc42fbf22b46a5" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/nixl.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/nixl.py", + "sha256": "03af8f6549a6027b7262a482907af591e45f28b9b1c5a3408bbc6600e38797e5" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/ec_shared_region.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/ec_shared_region.py", + "sha256": "e40607952c9920024455eca2f419e8c3ef1de9a4d8b27c147a33bb941b8c08b1" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/protocol.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/protocol.py", + "sha256": "05878336884396bfbef77b96b0fa6359f6fa0aba912961f14a84f5a436f27038" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/__init__.py", + "sha256": "01c42385bf3a55cff09cc05ba956f6dd4b8b6b986bf4d6eca4e566cb045b48e0" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/embedding_cache.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/embedding_cache.py", + "sha256": "7359fb980af1fc30b3253681310ef636e2b4a19134e04a93270c9c45de2572d8" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/session.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/session.py", + "sha256": "5973548a919e13c866222b91d502686a6757a31e5a5664b879bf2887ed9fb212" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/utils.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/utils.py", + "sha256": "160ac665f20f2c75b343c1e784084f2b0b4d1cf8fdb28ee15deee4dc8ed0ce45" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/worker/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/worker/__init__.py", + "sha256": "f08d296d3560c42173ae8af961af4a768033ccf1e36e9c17c0cdd53013d0c52e" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/worker/descriptor_buffers.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/worker/descriptor_buffers.py", + "sha256": "be7c81be214e995da8499105ba485854d9c19d6f8e905f8f1b87b83694ca0864" + }, + "vllm/distributed/ec_transfer/ec_connector/example_connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/example_connector.py", + "sha256": "09022ce07a89114bb65d9befd2e60873453aed11bbac8c0a75c1e6084e785a5f" + }, + "vllm/distributed/ec_transfer/ec_connector/factory.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/factory.py", + "sha256": "d6cedca0a99c3dd2b03cd1c15d17472b983e3f7d8f5baf4a12eecaf6abedb817" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/__init__.py", + "sha256": "1cbfc2f95f8f4d48a9253056eb1fd4b562062884e3fd5cb6571583c352fc16f3" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/config.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/config.py", + "sha256": "98c60696f79d1de67d2364cd9e8a42a393b5c8e17ed9af2f971368e47891d7b3" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/control.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/control.py", + "sha256": "58e0d1a423fbe958bfa586ac26a17107e08d0b31d044b4c74ab4dde880e7ca9b" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/memory.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/memory.py", + "sha256": "d5e90b1348de670a70f110d58eedcbdbd053db72c21dd007c3f5275c53951149" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/metadata.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/metadata.py", + "sha256": "497a7e6dfffb7fce80a41d5989f96119b970c143df77bb9d0f9c91d7a46e8c42" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/producer.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/producer.py", + "sha256": "97fa4d0b19475574778eab02f55fad73db9642beb9156da890314fd53fa1a7ab" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/reservation.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/reservation.py", + "sha256": "4790bc65cde4db5f17733ca2c2910980ba594a8a9b79ee27c5b957dffd4c1113" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/scheduler.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/scheduler.py", + "sha256": "53004b62529a31fdd80dfb2e6026610b95041a77e91f731ae526fefd84e7968d" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/state.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/state.py", + "sha256": "92f375d6c5cc9c83dbe95a7977ad8eb0f1b5629ccee92968bcacdc94eee15d65" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/transfer.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/transfer.py", + "sha256": "ada2113a5402054f1149d3edc2537f4e5e1bd696c9b17291c9f2b4cbf6b59753" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/worker.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/worker.py", + "sha256": "89eb91bb64845b3b121d502972a6b04d448714253becd2ea662e5691cd5acdd7" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake_ec_connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake_ec_connector.py", + "sha256": "aaebab4711bc00dd0c622dfbfd8639fc41e7ed5d1658d7d68fe33e4d5fbef3ba" + }, + "vllm/distributed/ec_transfer/ec_connector/utils.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/utils.py", + "sha256": "11b9014b9c0697f8846deff1a55a22fa86a15dc2ac3e139442fb6d513ac03059" + }, + "vllm/distributed/ec_transfer/ec_transfer_state.py": { + "path": "/vllm/distributed/ec_transfer/ec_transfer_state.py", + "sha256": "9487a41f23fa1a4fa6dfca8b42b8e97a0ee19d8406ffd1dcf4bef66315180827" + }, + "vllm/distributed/elastic_ep/__init__.py": { + "path": "/vllm/distributed/elastic_ep/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/elastic_ep/elastic_execute.py": { + "path": "/vllm/distributed/elastic_ep/elastic_execute.py", + "sha256": "b8f60a4183c79ff6051095b5f95bb385bc7fea0cffe8cd9ebc9087ab0e9f01b5" + }, + "vllm/distributed/elastic_ep/elastic_state.py": { + "path": "/vllm/distributed/elastic_ep/elastic_state.py", + "sha256": "fbf049199841a086fdf2fc1ab8498ef017ad3bf319db65c3ae61acbb536d2e10" + }, + "vllm/distributed/elastic_ep/standby_state.py": { + "path": "/vllm/distributed/elastic_ep/standby_state.py", + "sha256": "15282597550ebd0e07b8492ff192aea1ec0dcec8f0ad34009123e1002cc140c1" + }, + "vllm/distributed/eplb/__init__.py": { + "path": "/vllm/distributed/eplb/__init__.py", + "sha256": "1b9c2ee22abb5888c354c5aa01f0944f253e5e24e135d019778398bbe495a628" + }, + "vllm/distributed/eplb/async_worker.py": { + "path": "/vllm/distributed/eplb/async_worker.py", + "sha256": "424328600ad1003286fc5dfffa1f9482007314c060947818b2f94a8b97811f5e" + }, + "vllm/distributed/eplb/eplb_communicator.py": { + "path": "/vllm/distributed/eplb/eplb_communicator.py", + "sha256": "ba30d9d40e7b81d3f42aa9041d2f328edca4073cfe2de920285eb68375501ed8" + }, + "vllm/distributed/eplb/eplb_state.py": { + "path": "/vllm/distributed/eplb/eplb_state.py", + "sha256": "2f06bc8c63f3fdf55edb5032ae55c0ffcac3e67720ce74ea312e3d141b12acf4" + }, + "vllm/distributed/eplb/eplb_utils.py": { + "path": "/vllm/distributed/eplb/eplb_utils.py", + "sha256": "058af6104faa6d4085c1dca80bbe60d92bf0a7ec9cd92c775a180546c9d8c9c3" + }, + "vllm/distributed/eplb/policy/__init__.py": { + "path": "/vllm/distributed/eplb/policy/__init__.py", + "sha256": "daeb266c88442832b1ab8c8c4cc064891b38b9e9ba00aea324f926c87dc6d37e" + }, + "vllm/distributed/eplb/policy/abstract.py": { + "path": "/vllm/distributed/eplb/policy/abstract.py", + "sha256": "b9fd34c28bbfdded03360d7f3f6f8fb978e82689190d7ae4501dfe520e958c62" + }, + "vllm/distributed/eplb/policy/default.py": { + "path": "/vllm/distributed/eplb/policy/default.py", + "sha256": "3b54229e6240d050480390f6b29d4744fd38437d23719f78a6decf7002296a29" + }, + "vllm/distributed/eplb/rebalance_execute.py": { + "path": "/vllm/distributed/eplb/rebalance_execute.py", + "sha256": "b387e228791149018536eee96cf955b33ba79d801cdc36849d1b47a580ec2597" + }, + "vllm/distributed/kv_events.py": { + "path": "/vllm/distributed/kv_events.py", + "sha256": "de08f01e8736881560256c350a3b6418999dd4aa30f9c6ec9159527f7ed6899a" + }, + "vllm/distributed/kv_transfer/__init__.py": { + "path": "/vllm/distributed/kv_transfer/__init__.py", + "sha256": "c1be4e58ec6923bae607a355ad22891c740f056a69ff7358b1e10ea3fd2680ea" + }, + "vllm/distributed/kv_transfer/kv_connector/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/base.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/base.py", + "sha256": "2ae2a2c48f5731f3533166a75440fe91e764332305b5d713df840edba970789d" + }, + "vllm/distributed/kv_transfer/kv_connector/factory.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/factory.py", + "sha256": "add99c93c587b0098b90b1f8fd6940bdd1f15c236c5c6f1a258411863cb902d3" + }, + "vllm/distributed/kv_transfer/kv_connector/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/utils.py", + "sha256": "317ed40dc837671ca6e666165222e641a0f9b3992aea63bbf54de7e13d40b3a4" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/__init__.py", + "sha256": "5beb6ccad12fdcfe1581982da6f18321caca50e73a6b3259ebf3c8dc8b3ffcca" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/base.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/base.py", + "sha256": "97af64220475c6c9e8273438d7b5138b105ebe6944beb783facb36a3bb76f31b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/decode_bench_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/decode_bench_connector.py", + "sha256": "b4151c88cdec28f1ff9259047abc17baf23b892f4b68769a93bf26e0442b9017" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/example_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/example_connector.py", + "sha256": "6226876ef52d10d0d284d29c337ab44698e8bac6abdb2e0ece53b5756c55d068" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/example_hidden_states_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/example_hidden_states_connector.py", + "sha256": "58c22534dcad0fb73599a2d70a2fb104d5b612a4723be5e777f56a56fe07892c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/flexkv_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/flexkv_connector.py", + "sha256": "de4f68c3bd565ed898e47e0b2980049b966ff31888f1957050d30995d4953762" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_client.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_client.py", + "sha256": "bea6ecff2be281c7e96c1551c7bf463cbb01f2964696067c0ebdb683844f9aab" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_connector.py", + "sha256": "e67ed58015090e5eea9d499883f2a9422673d07f8bdbe0ccff7db15d2460de13" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_metadata_server.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_metadata_server.py", + "sha256": "6800e5cf37809f8a8e28c469c14a434db288bc3bf83a8b62ee06910a20c2da19" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/common.py", + "sha256": "8f2c02c08227a9093e6aeb183961aba36b7812cfc29b8c047a2b2c9d82f79c15" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/gather_scatter_helper.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/gather_scatter_helper.py", + "sha256": "08c1b43de34fbeca77357d7576ac1d17cba974b59d695562f68bb713061e7b54" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/hf3fs_mock_client.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/hf3fs_mock_client.py", + "sha256": "bec61a9b0c4b9124b2292d7646d76411da44396389349b53cdcbc46353c8780e" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/connector.py", + "sha256": "8c61094ce0a3a702908f9576f69482e6bf314738a2cbe33a7d3b47258fa0ab43" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/stats.py", + "sha256": "d9383a6ad6ab6b8f812d29d90495407b770eeddb79b86e9d0e3216c0bd16e0ed" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/worker.py", + "sha256": "251c0d8e57e4739c03ce3e1c899a95ff5b1752eb27676c28ab88c4ebd62c4776" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py", + "sha256": "5991f9ff8832df32bd421eb67e48237270ea0a408180e523810bb43606acf8f3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/__init__.py", + "sha256": "c53be9796e76cde637514bfc40a525d8c09bb2784b406cb516790d8285dfe433" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/multi_process_adapter.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/multi_process_adapter.py", + "sha256": "6480d67b31ed603027a83edf327880a38aee45eaeee2da9a4efa93e95527c166" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/utils.py", + "sha256": "e204fa6a853ac9c122d7a4e9d146902230f81c48d4321ed5edfdbf979dd49ba2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/vllm_v1_adapter.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/vllm_v1_adapter.py", + "sha256": "e6fe55049c6b007248516d69640e2f3a4809f9d286091a1014ae0949987fa8f1" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_mp_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_mp_connector.py", + "sha256": "c712c386a7c57bf0355a1441ba574232c3aa5498fcb70713a2b3f5d18b64f9c1" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/metrics.py", + "sha256": "de1b1797d0448f74370919dbb0278767f390e8f59e00a0c0528abefb302babc2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_connector.py", + "sha256": "516be01320e64b0110e102eeb69a6ba766dd5ac8cb3036db6b97b7d54413323d" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_utils.py", + "sha256": "26877610463fa8e9d6b092772f2551bcc0c3ac794cbe63996df0414666a8ebba" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/rdma_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/rdma_utils.py", + "sha256": "716e5042edecaba36c7ca763474988f32fa09c2668b8260260149df610af8f83" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/stats.py", + "sha256": "f39b2f0b1db2e4f922e27e684a3f7bbf5bb279b82a0a8c3bb0c7ae69b6d14d24" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/connector.py", + "sha256": "17a350bdb89e17e415d6c52a48684dc15c35a804378daf03e1f3bee1b1b123a3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/coordinator.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/coordinator.py", + "sha256": "a8eb6c2157a96e8d25233b82347ac8409a41d6390b4f2c64242119c05911010c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/data.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/data.py", + "sha256": "d3cfefdb4165a24995749cba452641b318065baa95bb1bae62f922a2f8886e7b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/metrics.py", + "sha256": "f2b9ef8927632d142aad11a374d0725c6e619ea0bb7fea9eda3f3895eb7d277a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/protocol.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/protocol.py", + "sha256": "ccb1cf6a84a932a375215627d2aaac482c351a05df015d636d05373a6845b7c8" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/scheduler.py", + "sha256": "283849ff581ec206444cdf5621622377f1c925e8d7e05cb9294af2f3a5094e79" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py", + "sha256": "55f1682dfd1ed7af689166421337126a0e1d08afa4774a242e098d79e0c1e95b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_common.py", + "sha256": "549bb4fe22dca5095515b9c0712c31cc81a9d4923881e9f112317640fd8c04ab" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_connector.py", + "sha256": "c0f474bc34b579d889fae92eaf43eaca241be51a4697a187a942f0df4e6b6a98" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_engine.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_engine.py", + "sha256": "d842f3772fc6588d5a329a67572324cb74709aa3df4033e64c791a1e706c8e88" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_layout.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_layout.py", + "sha256": "2b4ec046a78897236b0626939bb828b6ec095355097d10bca39e5f3e1c992553" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py", + "sha256": "12d8387239f3194f2cb63ccbd64824648047210323572d66671e6a1eed349fc3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/__init__.py", + "sha256": "cc3145fe3b6d219a267bf40a0f7c0cc9430e4289f94acab2df761b99b671e7ba" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_scheduler.py", + "sha256": "7a1db8c54e4cd846bdac747344f2aea2c2fcf507817928796063225223b7e169" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_worker.py", + "sha256": "49a2e4faf99bef146b5a1d4d18d48f240b1e561c438252274494b359db96ef52" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/connector.py", + "sha256": "b6a0dc916d052f344be72ecfcb111509c13580102c11a860fa726cf0888949a9" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py", + "sha256": "2b23a07c1ec5ac5490c3b818737c7192e344ea9f52cd5623f75939f741ab4e21" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_scheduler.py", + "sha256": "ac3daf8e2246581fec84ab28f2133569421b62c32a120be4923e2f4d0f2f9de9" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_worker.py", + "sha256": "e5060c9b6cf022de35ca3d1da7a369cd6a6a2dea26219af9f7633aaf78af8a76" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_scheduler.py", + "sha256": "2d9008e33937a4d6c5cf9cc2f96160f2bdbc8e987fe37f0798a7fd7eb84c9572" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_worker.py", + "sha256": "87de3ea383dd3aa95fb2c287ea26ded8a330859cc1295f9faa69047e80865c2c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/scheduler.py", + "sha256": "09f1bfe7075b926b26a94529480e33b62c3ac273ff826f6c502084f08b1b2a08" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/stats.py", + "sha256": "3e710654e0b68d1a8592f0c4735c81b22f4bf698fb1a2dfea126d35bf2dd1ef2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/tp_mapping.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/tp_mapping.py", + "sha256": "2d43607f98701b2fad6cc0ac2767619a80b7fc2b3a3c2eb6ed0da4fb05dcd8f6" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/utils.py", + "sha256": "93de863fc8307a61d40b62f1b176b57ae93c363d34b9e9ddc8e666265b6d45dc" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/worker.py", + "sha256": "5134a36ac100ce7a64f5311029a37ac12c38d91093f63100f51f7fe53ea7c3ee" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/canonical_mapping.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/canonical_mapping.py", + "sha256": "e0b3c6f9806a650e0370c43c5068fc31c0fec94615089e15fdf270d7d96f2b64" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/common.py", + "sha256": "9b3f042c6fa1581d10e8f688d2d9bc927bb41b780a9ea01f514d57228e20c978" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/config.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/config.py", + "sha256": "aea82e60889e78dcad8564ec8285b65a6a372824a1545a98ea8e78b6f4fd418a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/events.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/events.py", + "sha256": "d7039b67be95fd444966628184040a94880873c0611c0e6e7525a22650ffdefb" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/metrics.py", + "sha256": "13d76df014e86691f58dc89a879f9808b124690c9267dd5fa3b2d4004d4c5fdf" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/scheduler.py", + "sha256": "2c5282f4a3165cd787fb355e215e3869f1bdd3f2c795b2155fc537c9d135191a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/worker.py", + "sha256": "acc2df53262441dfc6421a3af7f0cbd68cbfaedbd42bbc384d8e1da2d965d194" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py", + "sha256": "cdc16ca7339a10e1993bd6220e6273f86a4e99779f58f25098a24ad31bb0dbd8" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py", + "sha256": "96238ca82ccf07a1eeb59b8f66de17b09034e3eb993ad9a0a836511d3f69706b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/ssm_conv_transfer_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/ssm_conv_transfer_utils.py", + "sha256": "59a949709482e65a007fbe5352fe9b4bb54c2dcc10ad2c1c41f754b6e13299f4" + }, + "vllm/distributed/kv_transfer/kv_transfer_state.py": { + "path": "/vllm/distributed/kv_transfer/kv_transfer_state.py", + "sha256": "2e5fe09438d6e2ee642f8a26cf7dcf632e870d955d30baf002b76a8bfe836d05" + }, + "vllm/distributed/nixl_utils.py": { + "path": "/vllm/distributed/nixl_utils.py", + "sha256": "0bffa3c052c9f67472b1c0bc3816114891b010c968bf4b8a292e7da4d687db53" + }, + "vllm/distributed/parallel_state.py": { + "path": "/vllm/distributed/parallel_state.py", + "sha256": "d9b10ad56833ebc08a753e1a050ef0989c30d4134021b7b7b00150b7bd01adc6" + }, + "vllm/distributed/stateless_coordinator.py": { + "path": "/vllm/distributed/stateless_coordinator.py", + "sha256": "f52848fbe985ed47b1f3e3ca555314736ca06436e8d738ab4390101f0672dcb0" + }, + "vllm/distributed/utils.py": { + "path": "/vllm/distributed/utils.py", + "sha256": "792146b357139e705064a68d3b66858de8a0baaca4dc7db1232fa217d45db231" + }, + "vllm/distributed/weight_transfer/__init__.py": { + "path": "/vllm/distributed/weight_transfer/__init__.py", + "sha256": "3fb9d4712b7c131d522f5e76e73cd8c333f3cc7af86e2d5ecf9b61b57b3b7f5a" + }, + "vllm/distributed/weight_transfer/base.py": { + "path": "/vllm/distributed/weight_transfer/base.py", + "sha256": "8ab06feb04f1379d0558fbdb77fde46bc84f179e0a26742cabab937e88caa38d" + }, + "vllm/distributed/weight_transfer/clients.py": { + "path": "/vllm/distributed/weight_transfer/clients.py", + "sha256": "ff85c79c350241e6d2749ca23c9d295a3289b4b62bfdf0257d32eb94a0151d36" + }, + "vllm/distributed/weight_transfer/factory.py": { + "path": "/vllm/distributed/weight_transfer/factory.py", + "sha256": "4e979eeac8c5bcdbffb10eb4765cfb30120fa7595c6c2561d3fa1a966ced61c8" + }, + "vllm/distributed/weight_transfer/ipc_engine.py": { + "path": "/vllm/distributed/weight_transfer/ipc_engine.py", + "sha256": "1af578293f387a19073c322b24143c3ae4716ce0c5d2bac2a4ef26fe20119330" + }, + "vllm/distributed/weight_transfer/nccl_common.py": { + "path": "/vllm/distributed/weight_transfer/nccl_common.py", + "sha256": "7b2ef7dc7481c3f478f17c49aa36c7bed54142ec5c93d36ed8426c8fdf09e500" + }, + "vllm/distributed/weight_transfer/nccl_engine.py": { + "path": "/vllm/distributed/weight_transfer/nccl_engine.py", + "sha256": "7fd020c919dc7b4723fb78e64da977b180d0fef0cd21df955a037b848dbaa008" + }, + "vllm/distributed/weight_transfer/packed_tensor.py": { + "path": "/vllm/distributed/weight_transfer/packed_tensor.py", + "sha256": "d0a27fb0be1dc029bd5a1d44fdb57a5e54aa4cd74308bedc339e86ac02c7494c" + }, + "vllm/distributed/weight_transfer/sharded_rdt_common.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_common.py", + "sha256": "be0b13801f24e7b62999b19d733c030510353603a2d5320d5dc98ee02daf22a2" + }, + "vllm/distributed/weight_transfer/sharded_rdt_engine.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_engine.py", + "sha256": "2f791970b4815511a7578ef6c957e7da97b071d26a39087a09a17475909791ee" + }, + "vllm/distributed/weight_transfer/sharded_rdt_fake.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_fake.py", + "sha256": "ee11164e17b5f2793252ce77741b8b94e0583046abf896a590131b2008d1fbb9" + }, + "vllm/distributed/weight_transfer/sharded_rdt_trainer.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_trainer.py", + "sha256": "dd413ff461d41826ccd3eb87d3df22f6cd7f24e09aac7644e3e5b40d7beec484" + }, + "vllm/distributed/weight_transfer/sparse_nccl_engine.py": { + "path": "/vllm/distributed/weight_transfer/sparse_nccl_engine.py", + "sha256": "e11b409454dda2b05ea34e8115ac19027c5e65cb2a5e9682c494f16a50e978f4" + }, + "vllm/model_executor/determinism/__init__.py": { + "path": "/vllm/model_executor/determinism/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/determinism/batch_invariant.py": { + "path": "/vllm/model_executor/determinism/batch_invariant.py", + "sha256": "af8f8d256a48fc214edf426fbe891fb15bd8b1d7ae98b811c736ff1eb0fae798" + }, + "vllm/model_executor/determinism/batch_invariant_configs.py": { + "path": "/vllm/model_executor/determinism/batch_invariant_configs.py", + "sha256": "72ea0d4df0ab5ae288abb7df5c203d2ad5f1709c7295d87ec72da775fddc1b7a" + }, + "vllm/model_executor/layers/fused_moe/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/__init__.py", + "sha256": "64a32665be6d5afcfbaf7a0915717267278b66b880b908b0263ea58f08e51b5e" + }, + "vllm/model_executor/layers/fused_moe/activation.py": { + "path": "/vllm/model_executor/layers/fused_moe/activation.py", + "sha256": "78dec0e85e0c040304515f64ccf8f2c6a7a2e5b9f1124a2138a97d9a02585541" + }, + "vllm/model_executor/layers/fused_moe/all2all_utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/all2all_utils.py", + "sha256": "dc4750a446f7de31d09a46034da5fdf479bc169af90f47aa9af8ae15e67b0828" + }, + "vllm/model_executor/layers/fused_moe/b12x.py": { + "path": "/vllm/model_executor/layers/fused_moe/b12x.py", + "sha256": "ee76cc6aa801e24be8ec78a9e8502061ad48667d5ff8711e43f68fba912425bd" + }, + "vllm/model_executor/layers/fused_moe/config.py": { + "path": "/vllm/model_executor/layers/fused_moe/config.py", + "sha256": "a3a87cebcc7ac85d73f471dcfafc2d899c6fc08f264777b74a0e919adac9e03f" + }, + "vllm/model_executor/layers/fused_moe/deep_gemm_utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/deep_gemm_utils.py", + "sha256": "8fdcd857eb333f9c68902105f157568d52067c94ba1e2df6dbfe0474ef1f4c02" + }, + "vllm/model_executor/layers/fused_moe/eep_reconfigure.py": { + "path": "/vllm/model_executor/layers/fused_moe/eep_reconfigure.py", + "sha256": "9d7580265e8563e1140c2bb4c3a81a35ddd54903f5ec0a2720ffc064681f02f9" + }, + "vllm/model_executor/layers/fused_moe/expert_map_manager.py": { + "path": "/vllm/model_executor/layers/fused_moe/expert_map_manager.py", + "sha256": "308c00f63fcb6f44518ec3a56d8f902c7bba75928c2e3aea30fbe1f3f473973b" + }, + "vllm/model_executor/layers/fused_moe/experts/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a16_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a16_moe.py", + "sha256": "53deea255175171971422d14082ad139b5ec7b62e21429a4c7cc0ebbefd29cdc" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a8_moe.py", + "sha256": "f3fc51b95ed89862381908a0134e326228827f44854248db9585a9c4899c34f4" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp8_moe.py", + "sha256": "af6db1760961a5a71234f8b1cdf42e9e30a236e13601b0826a75110b79724948" + }, + "vllm/model_executor/layers/fused_moe/experts/batched_deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/batched_deep_gemm_moe.py", + "sha256": "b0cd4ea706583518dc608fb56f832fc3595f24bd863b03ef1e8c22b36b873508" + }, + "vllm/model_executor/layers/fused_moe/experts/cpu_int4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cpu_int4_moe.py", + "sha256": "67170af3ba9dc4c4f71d78a72efc3fa4e366eac614936a79911dae5c75ac1864" + }, + "vllm/model_executor/layers/fused_moe/experts/cpu_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cpu_moe.py", + "sha256": "0754cd4ff1b28e6d3932a67609d335acefd28f95a841f0492923813356a6d81e" + }, + "vllm/model_executor/layers/fused_moe/experts/cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cutlass_moe.py", + "sha256": "db901bdbcd3fdac23a1d74e39c51e67f14a82be787b2fd704ed1e787372ae868" + }, + "vllm/model_executor/layers/fused_moe/experts/deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/deep_gemm_moe.py", + "sha256": "16911a64a72eafc26a1bcb544a91f90144d85dc41e3ee57cf20e89925227bbb7" + }, + "vllm/model_executor/layers/fused_moe/experts/fallback.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fallback.py", + "sha256": "1bdd0a4f2ebaa40ec96a5aacc07aee61511af59e6324ce456aa65003b6e2991a" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_b12x_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_b12x_moe.py", + "sha256": "e613afe5da2742e42c717c1a0a56bd9e1c7e3e0452a828db0013d81063518954" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_batched_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_batched_moe.py", + "sha256": "295254dfeeec8df3eb8110e6f659a946cb9cded3de1565ecad4d741b3c3f3e00" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_moe.py", + "sha256": "08578bcd0cf72d6a470e40950175e73639efaa6d8d23c6da0869345312b229c9" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutlass_moe.py", + "sha256": "52887cec5fe628e0a4e7793deb546b40f6c29f7362b3b436c10ca36934ab9826" + }, + "vllm/model_executor/layers/fused_moe/experts/fused_batched_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fused_batched_moe.py", + "sha256": "2435587fc7f8fe8ea341ea0eb8f14c11f3f5b31fbbb9b29ce569ad3bace6e6a0" + }, + "vllm/model_executor/layers/fused_moe/experts/fused_humming_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fused_humming_moe.py", + "sha256": "a6830a76ff7f4cd3479b9c8372a30d03e8301604555cbdbcd9ac89a813b7431a" + }, + "vllm/model_executor/layers/fused_moe/experts/gpt_oss_triton_kernels_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/gpt_oss_triton_kernels_moe.py", + "sha256": "1613a7a6b256e8faee6fdcfae84f293492db6229d28ceb3e8a8d6093af480e36" + }, + "vllm/model_executor/layers/fused_moe/experts/int4_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/int4_emulation_moe.py", + "sha256": "f12857caf0671a341687ad3c5f48616b816ed51e1bcbdefa0a7edbecdb81a79d" + }, + "vllm/model_executor/layers/fused_moe/experts/lora_context.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/lora_context.py", + "sha256": "9b41eefaaa57c5dd0dc54217ef95978821b0c52e90ea4db8b0752e08452bd3e5" + }, + "vllm/model_executor/layers/fused_moe/experts/lora_experts_mixin.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/lora_experts_mixin.py", + "sha256": "b2bc55ed6be98b526c6a5698e2d98300650e78555f56b1820e58c04888e2a373" + }, + "vllm/model_executor/layers/fused_moe/experts/marlin_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/marlin_moe.py", + "sha256": "93916b721548e6194dc70cf6cec224b4b1456a0cc0980235e97beba7bf36541d" + }, + "vllm/model_executor/layers/fused_moe/experts/mxfp8_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/mxfp8_emulation_moe.py", + "sha256": "d09c62ad1398c51ff6f515f2a61014ee9e9a9798d0fe9762c47f446efc5edbef" + }, + "vllm/model_executor/layers/fused_moe/experts/mxfp8_native_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/mxfp8_native_moe.py", + "sha256": "01a42cebf18189e566034111b2145573c655319e8af1a56db60d53a319c40613" + }, + "vllm/model_executor/layers/fused_moe/experts/nvfp4_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/nvfp4_emulation_moe.py", + "sha256": "f24467762b60702f0df122ed64786be839a838a9b6cafaecbd04d35fbfedb189" + }, + "vllm/model_executor/layers/fused_moe/experts/ocp_mx_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/ocp_mx_emulation_moe.py", + "sha256": "dcaa60a9ebdb0bd8223b37af41f018ce7f95716ec7cd8526850f4433a579213b" + }, + "vllm/model_executor/layers/fused_moe/experts/rdna3_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/rdna3_moe.py", + "sha256": "e4abd802dc2f0ad9b338ebde397633c761d881c37813e2dc229902c526b597d8" + }, + "vllm/model_executor/layers/fused_moe/experts/rocm_aiter_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/rocm_aiter_moe.py", + "sha256": "bf09a7b783f5752d61cab76221b32b598d8846d801ee39dc9209d636c9659c6f" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_cutlass_moe.py", + "sha256": "ffce5ad627c540940d122d8df7981644b2eb35d07d480995c0f4f30517815fac" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_deep_gemm_moe.py", + "sha256": "c7209fa5e1ccb184a68b37a0706fc571a76696c2ae79802ddc7f889b1c29684d" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_moe.py", + "sha256": "806fbccfe30f5fbd578acf773add99bdf022b12d617958bd6281aef6de369701" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_bf16_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_bf16_moe.py", + "sha256": "76256de96fefece9c41ffb1108487919e24da364cf4412c6c3474498aba59137" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_fp8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_fp8_moe.py", + "sha256": "b54c7ceb45e5d07aa905f42ea44caccf85ca35ba9fb825d4c01947764510f68b" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_lora_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_lora_moe.py", + "sha256": "dd35a9e4242c0dc8d691168813e14bd5543e591f02ee529d0691e07651942c5a" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_mxfp4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_mxfp4_moe.py", + "sha256": "fe780f125a3dc3ba919659e9b85340bd32afcbfe47733a002bfdfb92eadf400c" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_mxint4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_mxint4_moe.py", + "sha256": "2106d67c2951aa690c4656ca58240d09c366cffe8cb4d9fd575df016c377cc30" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_nvfp4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_nvfp4_moe.py", + "sha256": "e938ac9f058f7c90b41c9610513239bec54a95304bfb5ff5f6897ebd54733d7e" + }, + "vllm/model_executor/layers/fused_moe/experts/xpu_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/xpu_moe.py", + "sha256": "2a11bac0cf9274d963315efd6eebdc62978b0b7aa02e8849ff2a562742f0b86d" + }, + "vllm/model_executor/layers/fused_moe/fused_flydsl_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_flydsl_moe.py", + "sha256": "0e74879ee5c72f616ae4064b9dff3b3a0b583b7fc70b8f92f1e8b730ecd5d39b" + }, + "vllm/model_executor/layers/fused_moe/fused_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe.py", + "sha256": "7072eb06237be9d33dcb0ef7101410f886a6363c98cbee70a014c68b70f639cb" + }, + "vllm/model_executor/layers/fused_moe/fused_moe_method_base.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe_method_base.py", + "sha256": "18dcfc469d3252749801bbf943857f58da85de1f2db8fdff5a9f4986a925dc68" + }, + "vllm/model_executor/layers/fused_moe/fused_moe_modular_method.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe_modular_method.py", + "sha256": "321c744eac1fcaffd6b1b2971204c8baa57dfec53e91e5d24140014d72d64f83" + }, + "vllm/model_executor/layers/fused_moe/hpc_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/hpc_moe.py", + "sha256": "2ca9c5d71b6fd91651027905e2b83103a8823845e053e7153e148cb8e0ee666d" + }, + "vllm/model_executor/layers/fused_moe/layer.py": { + "path": "/vllm/model_executor/layers/fused_moe/layer.py", + "sha256": "def0b4e13bcc1e4e21ee10644e647e2eda1acbf0cc01e76d6128abb59ea08224" + }, + "vllm/model_executor/layers/fused_moe/modular_kernel.py": { + "path": "/vllm/model_executor/layers/fused_moe/modular_kernel.py", + "sha256": "8dc4e0dbbf35b3aac8add63ca6f2a7bbfdadaabbd60826e24598b22c7d8e5c22" + }, + "vllm/model_executor/layers/fused_moe/moe_align_block_size.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_align_block_size.py", + "sha256": "c3f7fc2087836f0160a32ab99ceb1d8f6e87c793679da34dd672e225cb7fa31b" + }, + "vllm/model_executor/layers/fused_moe/moe_fused_mul_sum.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_fused_mul_sum.py", + "sha256": "112e72578002c3bff538418dac64b3b56d995994a2fc5e32b18d2cf3b8392a13" + }, + "vllm/model_executor/layers/fused_moe/moe_output.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_output.py", + "sha256": "6ea4cbd78f9efc7f842c5df246f553f08b991c3479b8b04b89902ed08aaf8e8f" + }, + "vllm/model_executor/layers/fused_moe/moe_permute_unpermute.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_permute_unpermute.py", + "sha256": "1adc592c6254d0c877d66be5406afbc822459c18a838f4bbd094a992e7609d06" + }, + "vllm/model_executor/layers/fused_moe/oracle/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/__init__.py", + "sha256": "4dcf941d50d48bb812de0f39e9194bf17a76b8035fe324889c6038f710fdc453" + }, + "vllm/model_executor/layers/fused_moe/oracle/base.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/base.py", + "sha256": "555bbcd18a3744e64eee4e953daabef3bd268a1bd4faf967d4cfd14d6074f685" + }, + "vllm/model_executor/layers/fused_moe/oracle/fp8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/fp8.py", + "sha256": "245bd36c285df1e6f7c51e52dcda31ad247894577a9f8d765613c2c2feae9aee" + }, + "vllm/model_executor/layers/fused_moe/oracle/int8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/int8.py", + "sha256": "c1b67886511bd966b162db5bca8930f04895fb37a969818a4a10f0726c59547f" + }, + "vllm/model_executor/layers/fused_moe/oracle/int_wna16.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/int_wna16.py", + "sha256": "cfffe8b8b290330be9d18ffa07aeecf296484395ff04df3147d99393e48b55c1" + }, + "vllm/model_executor/layers/fused_moe/oracle/mxfp4.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/mxfp4.py", + "sha256": "b7915e6779b5c88e7dcd2d227f003a8e45071d6d86877013067142d4feb64a8c" + }, + "vllm/model_executor/layers/fused_moe/oracle/mxfp8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/mxfp8.py", + "sha256": "9cfdc8102a04bb844dcd7ed88043bba96ec751794bc093da76c69aa8cf88cf48" + }, + "vllm/model_executor/layers/fused_moe/oracle/nvfp4.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/nvfp4.py", + "sha256": "735b4cdeb1258f11fb02320fc0c70cab5edaca468dd60b07b2d369389d2b0313" + }, + "vllm/model_executor/layers/fused_moe/oracle/unquantized.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/unquantized.py", + "sha256": "c8b8203bd0b73bb7f586f703607394d663f14c05711416ad42d45af564382223" + }, + "vllm/model_executor/layers/fused_moe/oracle/w4a8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/w4a8.py", + "sha256": "d7fa6e2982f20b34d5ce9c5ce28a61122762a3fcdd53d249479472a4f2316c6a" + }, + "vllm/model_executor/layers/fused_moe/oracle/w4a8_int8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/w4a8_int8.py", + "sha256": "6d6f9ca2e67b630002873de2f8d8a231d091c5c2f0f3354a9e8209449b481a4c" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/__init__.py", + "sha256": "2800113263a83c2632e522fb22790b29f63384da75d43de32f0ae2f95e8ae4c1" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/batched.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/batched.py", + "sha256": "d52425dd8c08e47cf8d9c3088daf3b1cc721c8667de4c738d04ba997f9a08ccb" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ht.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ht.py", + "sha256": "465cdf1d6cee91b2ee8c2e43abbea6e8408976e3048c10f44c089f34b415bc60" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ll.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ll.py", + "sha256": "f704922b1db680c4c212982a096e09d6b3eb97d89110313f86ed958a00df21b7" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_v2.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_v2.py", + "sha256": "8d690b016bbcfbc9eb599bcc36a6f798b2f1720c828f4347ea742e218c0cc60d" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_one_sided.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_one_sided.py", + "sha256": "acb57d8342af62bb5672036871cd4b27ecc7f37dfa7c894850bb860e6152a1f0" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_two_sided.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_two_sided.py", + "sha256": "cc5b00d6a157b6eca5afaaf7435165dbd1b4524d6d88bf75808cbe074a389f79" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/mori.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/mori.py", + "sha256": "8e9c3b5b1f0de13f467d95bf2f451cba0e4b0d9a1bdcf98da0988a3a9a79a045" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/naive_dp_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/naive_dp_ep.py", + "sha256": "db015e5b18750bbbf5b2bbaceca877dd6f3f3e74c2a94e8dc185f7413b387f91" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/nixl_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/nixl_ep.py", + "sha256": "1f71d70ac509bf5d3d67a8d95a8ee108a50af6bb5d4bde7181ca28e286f6ffce" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/no_dp_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/no_dp_ep.py", + "sha256": "adbbf529cd22059c95b5380952943a70cf11e05e321dcd707f296bebde61a6e7" + }, + "vllm/model_executor/layers/fused_moe/routed_experts.py": { + "path": "/vllm/model_executor/layers/fused_moe/routed_experts.py", + "sha256": "68c48e5df0ea4a7cc1f04436b7b9153eb53802ecd9bb55d38db8738508daac6d" + }, + "vllm/model_executor/layers/fused_moe/routed_experts_capturer.py": { + "path": "/vllm/model_executor/layers/fused_moe/routed_experts_capturer.py", + "sha256": "cd006bc1a1703418cca3b589fafb2abc4268a086fb3db044bbb64348aeac8b13" + }, + "vllm/model_executor/layers/fused_moe/router/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/layers/fused_moe/router/aiter_shared_routed_fused_moe_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/aiter_shared_routed_fused_moe_router.py", + "sha256": "f47046db1275601a2c67c9232afc7b866c9623a19639d5be867e4c7914a35069" + }, + "vllm/model_executor/layers/fused_moe/router/base_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/base_router.py", + "sha256": "47fa2324bcd9b6ebdc138d69ae6b6ecc0f2463d34bda8c5988bdb0a2a76d3fae" + }, + "vllm/model_executor/layers/fused_moe/router/bf16x3_router_gemm_cutedsl.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/bf16x3_router_gemm_cutedsl.py", + "sha256": "d0f1edd1ebc48d88e490bdb3c93db49bdc0a135ff83e7e0b57130e9f8255fc32" + }, + "vllm/model_executor/layers/fused_moe/router/cpu_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/cpu_router.py", + "sha256": "bff36b15818c87bfbb7ee3def7dc7f6396860abbe5893ff6148801fe941a4b92" + }, + "vllm/model_executor/layers/fused_moe/router/custom_routing_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/custom_routing_router.py", + "sha256": "1a40c7054e3c3a1b3ee2e98f6bc9efa9dfdc11f316a8edf7357dd91533487bfe" + }, + "vllm/model_executor/layers/fused_moe/router/dsv4_topk.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/dsv4_topk.py", + "sha256": "14f7c8487b9aef652dd61c91e0e3c3640b643bf9cd0d8a7184157d71f4beb63e" + }, + "vllm/model_executor/layers/fused_moe/router/fused_moe_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_moe_router.py", + "sha256": "0daa0dc05b931d66767feca444a4cd57ecf140f59b40ea0e8ad213eef6da2b36" + }, + "vllm/model_executor/layers/fused_moe/router/fused_topk_bias_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_topk_bias_router.py", + "sha256": "8fdc28cc248180ad4f11bb4bcda3df47926ec12665a0d84bb712fe83fc6b9376" + }, + "vllm/model_executor/layers/fused_moe/router/fused_topk_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_topk_router.py", + "sha256": "1c80f4af4d781fd66b12aa6a7a0fd30082bc521df40f1252987a8ac4c0bef51c" + }, + "vllm/model_executor/layers/fused_moe/router/gate_linear.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/gate_linear.py", + "sha256": "faa43362c2e7c568498a923c682ca18cae75e87f48d00882770821cb19c21198" + }, + "vllm/model_executor/layers/fused_moe/router/grouped_topk_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/grouped_topk_router.py", + "sha256": "048339e1799cdd42c9dae686a6cb891046577fb391b500f0d12eed73c8f61e52" + }, + "vllm/model_executor/layers/fused_moe/router/rocm_fp32_router_gemm.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/rocm_fp32_router_gemm.py", + "sha256": "9c331ef3d0bb2fb6954387d77ac62a99c5c76d2753c7438bfbb5115f68aae5ac" + }, + "vllm/model_executor/layers/fused_moe/router/router_factory.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/router_factory.py", + "sha256": "019bc8adaa7642abab82843efd53cd1a378f62c652521a1de2b781480eb88742" + }, + "vllm/model_executor/layers/fused_moe/router/routing_simulator_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/routing_simulator_router.py", + "sha256": "a7345df5add00cf3bd93024492d6fc1189fd3ecf2754a11cef1b03a295d791f7" + }, + "vllm/model_executor/layers/fused_moe/router/zero_expert_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/zero_expert_router.py", + "sha256": "dea306edd92e2b9c1b43f982ede8e1e10770d2c66220f5a106e0ed0165276e9c" + }, + "vllm/model_executor/layers/fused_moe/runner/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/layers/fused_moe/runner/moe_runner.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/moe_runner.py", + "sha256": "05893188402fe37229bf72d75088d66193c417d5d502daafd3a55e1bfedaa60c" + }, + "vllm/model_executor/layers/fused_moe/runner/moe_runner_interface.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/moe_runner_interface.py", + "sha256": "189cad01611124eb44594713cbf5918d16fc70196dc81a525ae0a7a97a5fcc51" + }, + "vllm/model_executor/layers/fused_moe/runner/shared_experts.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/shared_experts.py", + "sha256": "d89e4c79c46f6fe61262c51f3facf102e71ce1e4eb3db67f72b6bd8470937be9" + }, + "vllm/model_executor/layers/fused_moe/topk_weight_and_reduce.py": { + "path": "/vllm/model_executor/layers/fused_moe/topk_weight_and_reduce.py", + "sha256": "3dfede72d52bf99af40997994704e6c502ee3bab2bd39bfaa8a68d7dae440203" + }, + "vllm/model_executor/layers/fused_moe/unquantized_fused_moe_method.py": { + "path": "/vllm/model_executor/layers/fused_moe/unquantized_fused_moe_method.py", + "sha256": "182a5ec1874ece2091a24c5303f6ab9ea64a9a61adf325b863927f0cdd83e5d3" + }, + "vllm/model_executor/layers/fused_moe/utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/utils.py", + "sha256": "a93a0bded4008db19d8b38370526ae34fafb9c8278e5b4f60acb6acc8fdc1850" + }, + "vllm/model_executor/layers/mamba/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/abstract.py": { + "path": "/vllm/model_executor/layers/mamba/abstract.py", + "sha256": "dfdc8c836894f574e41d93d76ab989cacd3d7ecf59c97a929abfa48d9364e8ad" + }, + "vllm/model_executor/layers/mamba/gdn/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/gdn/base.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/base.py", + "sha256": "7fec748fc74131f5a45bcaf2644b3fa3a0598fd437d7347f8207ea3644a951c5" + }, + "vllm/model_executor/layers/mamba/gdn/kimi_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/kimi_gdn_linear_attn.py", + "sha256": "1cec4da5c9da73557e192bfb36cd540aae51d3e91283b554449c4a97f0f89bd9" + }, + "vllm/model_executor/layers/mamba/gdn/olmo_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/olmo_gdn_linear_attn.py", + "sha256": "60873ca3bb0c4d17c33bd259b62b658db4883cd23138f47dd4ead62cd2ff0605" + }, + "vllm/model_executor/layers/mamba/gdn/qwen_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/qwen_gdn_linear_attn.py", + "sha256": "b80f8e6f3fff442fb880aebb3209c52f814f66490009f4ac4003de603576d10a" + }, + "vllm/model_executor/layers/mamba/linear/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/linear/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py", + "sha256": "3c480ddd6eba0766ed012a1074bbec5f241d868a87b020b0f6312222c32f93eb" + }, + "vllm/model_executor/layers/mamba/linear/base.py": { + "path": "/vllm/model_executor/layers/mamba/linear/base.py", + "sha256": "26125cd427225954e1846ca361cdaf43f2b56f11b1e217cf26e91a80ef0edb6a" + }, + "vllm/model_executor/layers/mamba/linear/minimax_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/linear/minimax_linear_attn.py", + "sha256": "4adc00f54893b5bc6c31c613deda152a19af3b1bba04153ab5924c3bf2a3aaae" + }, + "vllm/model_executor/layers/mamba/mamba_mixer.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_mixer.py", + "sha256": "a485e937ad9db14d3ad03fde5a9fe795cfa863649563e52fc7e6c52ef631164e" + }, + "vllm/model_executor/layers/mamba/mamba_mixer2.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_mixer2.py", + "sha256": "d58d93e90d9eb90bc5133b79f07c7c62d0032b35d6cf916e3fe34367b81c5cd5" + }, + "vllm/model_executor/layers/mamba/mamba_utils.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_utils.py", + "sha256": "ce9845b4a4ef4bc46577a33038ed69d59ceccb52f30e9c5bdaa36e48be3b2ca4" + }, + "vllm/model_executor/layers/mamba/ops/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/ops/causal_conv1d.py": { + "path": "/vllm/model_executor/layers/mamba/ops/causal_conv1d.py", + "sha256": "044d005cfe59fd0818ed421274e04f3e8dd679b8cdb64fca9f4422f2643484b2" + }, + "vllm/model_executor/layers/mamba/ops/cpu/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/ops/cpu/causal_conv1d.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/causal_conv1d.py", + "sha256": "64104672890ac2ef240c20c7f8059beeade707178574809dbca8721dff5ea6fa" + }, + "vllm/model_executor/layers/mamba/ops/cpu/gdn_attention.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/gdn_attention.py", + "sha256": "a50288945bf5b102ad3025ae536638dcc32d84cf7c22aaf3a85326b0c1c56c1f" + }, + "vllm/model_executor/layers/mamba/ops/cpu/mamba_ssm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/mamba_ssm.py", + "sha256": "5839e576172a3246337f5e4fb1bc19eb583b3e2b2f7e35dd060dc3041eb8372d" + }, + "vllm/model_executor/layers/mamba/ops/gather_initial_states.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gather_initial_states.py", + "sha256": "5198bb6de6d91c583a5f65d926412a76ee04a06fa72aaba76eaf156b27cd0523" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/__init__.py", + "sha256": "b88b52e71fcb21bd3fa215ea171dcd2ad2ff17c97788cfe64caa7ba45c7ecf97" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_h.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_h.py", + "sha256": "f50bbe5c0b6382323ec5dfc24a5e0c7971113d59727515e60c9fe3689734e5ba" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_kkt_inv_uw.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_kkt_inv_uw.py", + "sha256": "b4a65dd194907db08865e0596fe254f915e670a9e6b27ffa2933c1026dde9b1e" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_o.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_o.py", + "sha256": "629f7843a7e611efb9390f2ebb7a4b924b2c328d48a317fddfaa96af4d9bc60a" + }, + "vllm/model_executor/layers/mamba/ops/layernorm_gated.py": { + "path": "/vllm/model_executor/layers/mamba/ops/layernorm_gated.py", + "sha256": "3433f2e3b87c2b2ccf8e9794ce40762c86a6da38a94ecee001f439ea0d0373dd" + }, + "vllm/model_executor/layers/mamba/ops/mamba_ssm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/mamba_ssm.py", + "sha256": "a4515ec7895b40ed878cf380445034b25faa61fbaa799d96c49217bbdfd7e400" + }, + "vllm/model_executor/layers/mamba/ops/replayssm_config.py": { + "path": "/vllm/model_executor/layers/mamba/ops/replayssm_config.py", + "sha256": "5fe9d5d7aa2de6a65875b3796a919b22bc435fd76055ba054bbff43aa005bc44" + }, + "vllm/model_executor/layers/mamba/ops/scatter_states.py": { + "path": "/vllm/model_executor/layers/mamba/ops/scatter_states.py", + "sha256": "f3bb004c73edaba56337747893eb07faf29b270dc8bb9c893ee9b1044e4ead9a" + }, + "vllm/model_executor/layers/mamba/ops/selective_state_update_replayssm_output_only.py": { + "path": "/vllm/model_executor/layers/mamba/ops/selective_state_update_replayssm_output_only.py", + "sha256": "cea7fd3063ca9dcc4e33f180d01ea379195ec515cedc9d0b03b11dc67670d695" + }, + "vllm/model_executor/layers/mamba/ops/ssd_bmm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_bmm.py", + "sha256": "26983d97a7f5c5f9197a16a6bee7b1294839b9ae31a14c14aaee38b43523e630" + }, + "vllm/model_executor/layers/mamba/ops/ssd_chunk_scan.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_chunk_scan.py", + "sha256": "d5ef32e8cb47e2ce71984579df78ab69754895f891766394daf327867cfa4f8f" + }, + "vllm/model_executor/layers/mamba/ops/ssd_chunk_state.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_chunk_state.py", + "sha256": "177e3aa7fe72647133bbd86135533e8688a5802678d4d1564aa549410362316f" + }, + "vllm/model_executor/layers/mamba/ops/ssd_combined.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_combined.py", + "sha256": "1317bbb668d3c60dfe0658850f9968614f03fa5eb61196f8ce6ac17dbb31b480" + }, + "vllm/model_executor/layers/mamba/ops/ssd_state_passing.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_state_passing.py", + "sha256": "36b8c8edba437916a5b789717c61fc22077de01e77892cb96dbff3b00a57410e" + }, + "vllm/model_executor/layers/mamba/ops/ssu_dispatch.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssu_dispatch.py", + "sha256": "bbe0f0e61da87f3ddfead19a79ca376516b63f1ea868be3485333c63fa20ef41" + }, + "vllm/model_executor/layers/mamba/ops/triton_helpers.py": { + "path": "/vllm/model_executor/layers/mamba/ops/triton_helpers.py", + "sha256": "a8795532f22c37a93e82c9d8e3fadcb5f4da98673d7b321fe8481305eaafad30" + }, + "vllm/model_executor/layers/mamba/short_conv.py": { + "path": "/vllm/model_executor/layers/mamba/short_conv.py", + "sha256": "228494efab185ee17374f762874f4c8b9a26aac9decfa8c906ce38446e0de51a" + }, + "vllm/model_executor/models/qwen3_next.py": { + "path": "/vllm/model_executor/models/qwen3_next.py", + "sha256": "4fa5112ac2bf7886d41d9e1f6c3da8793620d1ec49c961b31e9609459a6a7f7a" + }, + "vllm/third_party/flash_linear_attention/__init__.py": { + "path": "/vllm/third_party/flash_linear_attention/__init__.py", + "sha256": "5dbbfa3fc286edb2e970e175ef33cee4f6181c89b0784f5a8986201b2312f54e" + }, + "vllm/third_party/flash_linear_attention/ops/__init__.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/__init__.py", + "sha256": "dd738dc1d08045e76455cdbe16052a5b769e0eb11d6e87ff28353994f880cd6c" + }, + "vllm/third_party/flash_linear_attention/ops/chunk.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk.py", + "sha256": "c105ead259e86aedc248c53e7c4cef07034d0ff12da608d80265d1dd0990803f" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_delta_h.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_delta_h.py", + "sha256": "1b3ad391f939d9443c6b7adb19e57fe381bd5dccea064e8417a4f85b0e713b26" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_o.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_o.py", + "sha256": "3b63b836a8cc561723c23db5a528a0b474d9cd78508d610f0b348c585a889a19" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_scaled_dot_kkt.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_scaled_dot_kkt.py", + "sha256": "7ae41df3755acc7e925a134d848f78bb5fc00b90069039d86403c5853323ea42" + }, + "vllm/third_party/flash_linear_attention/ops/cumsum.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/cumsum.py", + "sha256": "d818215669b451868823202ac0bcea77e7a9d75957254c7c1060a73a55dc39b6" + }, + "vllm/third_party/flash_linear_attention/ops/fused_gdn_prefill_post_conv.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_gdn_prefill_post_conv.py", + "sha256": "590717b2107abc90d72548de06b5d315229eb2775c94614f3f545df11cc2b5df" + }, + "vllm/third_party/flash_linear_attention/ops/fused_norm_gate.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_norm_gate.py", + "sha256": "e6eb90467f29d8a0a04f2a364d20a2c3191b6ab857841bfb82076b33a6022d1a" + }, + "vllm/third_party/flash_linear_attention/ops/fused_recurrent.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_recurrent.py", + "sha256": "fe6f1311014809040497aa0a623e7fa97f4b3457cdc7ee1f1f8aed21f326f755" + }, + "vllm/third_party/flash_linear_attention/ops/fused_sigmoid_gating.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_sigmoid_gating.py", + "sha256": "000ab8996af9788fdb8843a6a3b91833e7a14c8acc0e1ea073a536330f64cb6f" + }, + "vllm/third_party/flash_linear_attention/ops/index.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/index.py", + "sha256": "a4f8b2c052635cb519a80099e8a85411d1d5d6880b38f466788259bbe66b154d" + }, + "vllm/third_party/flash_linear_attention/ops/kda.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/kda.py", + "sha256": "e1f31aaa89b91f8e5db6d070b229e2c81c7206e8caec67de41db97d06be0c476" + }, + "vllm/third_party/flash_linear_attention/ops/l2norm.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/l2norm.py", + "sha256": "520f4513ef4fc97e6b88dc07877cca8e29da0d34e44673fe989e3af002d86381" + }, + "vllm/third_party/flash_linear_attention/ops/layernorm_guard.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/layernorm_guard.py", + "sha256": "42af29be26e8fc94a4658e053c095fcdab9ffdc1bc2446a01e787deda2a298c0" + }, + "vllm/third_party/flash_linear_attention/ops/op.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/op.py", + "sha256": "456da84fd12411cf53c96a90dd4f78f49afb454c3d51d2c524ea8e7106fe8ae5" + }, + "vllm/third_party/flash_linear_attention/ops/solve_tril.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/solve_tril.py", + "sha256": "d1a4ff27623a938825052500afa7e2aa24fadd2fa4c9be6376c9128824f86f82" + }, + "vllm/third_party/flash_linear_attention/ops/utils.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/utils.py", + "sha256": "d6c90d36505e02086954c23ca4dd2fea82a69416d68ff1d0501e16b3148b5b0c" + }, + "vllm/third_party/flash_linear_attention/ops/wy_fast.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/wy_fast.py", + "sha256": "c9fc8259db0a8746dc04f1d799cb73333457118cf89a0bdce8dde8a80a28cd96" + }, + "vllm/v1/attention/__init__.py": { + "path": "/vllm/v1/attention/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backend.py": { + "path": "/vllm/v1/attention/backend.py", + "sha256": "01ac364372afa75fdb22486aa3a9c7cf9aebb742e3471dfb9e0f9d9d36b734bc" + }, + "vllm/v1/attention/backends/__init__.py": { + "path": "/vllm/v1/attention/backends/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backends/b12x.py": { + "path": "/vllm/v1/attention/backends/b12x.py", + "sha256": "443f0a98738fdfefe5b9ab151d278bfd43a8ac807eb2b0b9b2a13d51922afbf9" + }, + "vllm/v1/attention/backends/composite.py": { + "path": "/vllm/v1/attention/backends/composite.py", + "sha256": "4cf3d66dca891562709eed4f50aa14b0ae6c8240d9ea86504a3304b2f356cce0" + }, + "vllm/v1/attention/backends/cpu_attn.py": { + "path": "/vllm/v1/attention/backends/cpu_attn.py", + "sha256": "76fb02a6bd725125565d84bf04f627cf16da5f7ff8f31f87c01ed6a1439398c7" + }, + "vllm/v1/attention/backends/fa_utils.py": { + "path": "/vllm/v1/attention/backends/fa_utils.py", + "sha256": "08fa6e231d3af3a71a6e59162dd12328aa8beb28548165ae58f130a92adb5a83" + }, + "vllm/v1/attention/backends/flash_attn.py": { + "path": "/vllm/v1/attention/backends/flash_attn.py", + "sha256": "b170a4789e18104c1bee35bea70df51abe6766693d8f4726a59f2e6f5c4282aa" + }, + "vllm/v1/attention/backends/flash_attn_diffkv.py": { + "path": "/vllm/v1/attention/backends/flash_attn_diffkv.py", + "sha256": "e4627c88c3ba8caee260540e994cc8137fd2ff7cd7813356b36387c6c88ce30a" + }, + "vllm/v1/attention/backends/flashinfer.py": { + "path": "/vllm/v1/attention/backends/flashinfer.py", + "sha256": "8ee541fde43ed92a417b3f01ea1e6fc64af8ab2eb54cbfc28308a49aaca4ed7f" + }, + "vllm/v1/attention/backends/flex_attention.py": { + "path": "/vllm/v1/attention/backends/flex_attention.py", + "sha256": "ad07f0ad73aeeadc3534b3a05c14f88a62cb3638874239ae9823c49b36276dc3" + }, + "vllm/v1/attention/backends/gdn_attn.py": { + "path": "/vllm/v1/attention/backends/gdn_attn.py", + "sha256": "3831019404a92200a38b43571c040cffeb6638bbdc71e4cb5e680dbc6c93d054" + }, + "vllm/v1/attention/backends/hpc_attn.py": { + "path": "/vllm/v1/attention/backends/hpc_attn.py", + "sha256": "af9e2aec1b498f0ee48a2dce3cf5646edf1976466980b2fd927c0e82b875427c" + }, + "vllm/v1/attention/backends/linear_attn.py": { + "path": "/vllm/v1/attention/backends/linear_attn.py", + "sha256": "bc42144fcd027434c6a10dc9f4c5f991db8899d387af5f6485402ce097eb0513" + }, + "vllm/v1/attention/backends/mamba1_attn.py": { + "path": "/vllm/v1/attention/backends/mamba1_attn.py", + "sha256": "32159dae11cab3c8c576b9514ad97d5108c8d1b4cac9fcfe345ec6a76223aee7" + }, + "vllm/v1/attention/backends/mamba2_attn.py": { + "path": "/vllm/v1/attention/backends/mamba2_attn.py", + "sha256": "a5bcdecb7b9547137023e1c77a386003358fa940eaf5f319ed142211dcdba139" + }, + "vllm/v1/attention/backends/mamba_attn.py": { + "path": "/vllm/v1/attention/backends/mamba_attn.py", + "sha256": "5e7b2c4058fc5e6096d001bff6c789b78368b025bbe4600f191aaca2ff59b59f" + }, + "vllm/v1/attention/backends/mla/__init__.py": { + "path": "/vllm/v1/attention/backends/mla/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backends/mla/aiter_triton_mla.py": { + "path": "/vllm/v1/attention/backends/mla/aiter_triton_mla.py", + "sha256": "ed0e285cdae06a019150c41cc958b3c0b5ceb0e4f299d5318d1c90e2c2395390" + }, + "vllm/v1/attention/backends/mla/amx_mla.py": { + "path": "/vllm/v1/attention/backends/mla/amx_mla.py", + "sha256": "7f5cddec30b2dfe22ccdbd3b9da673c879719bf6da4074317bd60add55f5d15f" + }, + "vllm/v1/attention/backends/mla/compressor_utils.py": { + "path": "/vllm/v1/attention/backends/mla/compressor_utils.py", + "sha256": "3589e94105368ea285c40b82db1a0332682ff5d071fe363627cf4c0d10f3facf" + }, + "vllm/v1/attention/backends/mla/cpu_mla.py": { + "path": "/vllm/v1/attention/backends/mla/cpu_mla.py", + "sha256": "ff2110b9f78e92adf6bab294465cbc294ae1ff71cb1780fed158179e134a4ca6" + }, + "vllm/v1/attention/backends/mla/cutlass_mla.py": { + "path": "/vllm/v1/attention/backends/mla/cutlass_mla.py", + "sha256": "211d298680f9bd793cc468281b316d6633c5f4eb6dcec71d3329b034a23ab9b5" + }, + "vllm/v1/attention/backends/mla/flashattn_mla.py": { + "path": "/vllm/v1/attention/backends/mla/flashattn_mla.py", + "sha256": "ac89e0ad75a37e92566d264bafe324735a80f9ab4709241a4454d17b3d38bb63" + }, + "vllm/v1/attention/backends/mla/flashattn_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashattn_mla_sparse.py", + "sha256": "67dd3ead2e8b9d8cda0825ecc93779cb7d670628bc741c759a7d3cd5d474030f" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla.py", + "sha256": "0c24ff016fb6b0bb41d9e7484b6f1af42f37bcc384ed613473fc3e01ad25f664" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse.py", + "sha256": "2116d965b2067134d8afa5878d4d16c0149b061258f50c4106d993aa13b073cc" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm120.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm120.py", + "sha256": "102ca08793d567f95598eefeb34c3f6ec50b3b9d704f162d1402b97b12b5777b" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm90.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm90.py", + "sha256": "df9fe4970aa3f53cf24784b8534b89e0101a2ca20a35a2ebbc9a12a4463d5993" + }, + "vllm/v1/attention/backends/mla/flashmla.py": { + "path": "/vllm/v1/attention/backends/mla/flashmla.py", + "sha256": "c9d8046a853ecbdeff9ebfc738f5bb34c4f272b278231a09a0fbf73708c7c188" + }, + "vllm/v1/attention/backends/mla/flashmla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashmla_sparse.py", + "sha256": "7a379c717adb9667ce94cbc16c0e3a1fb22a169713db6d7941c141fa84077b3f" + }, + "vllm/v1/attention/backends/mla/index_group.py": { + "path": "/vllm/v1/attention/backends/mla/index_group.py", + "sha256": "c24e028c3c160a9bb92e043da5b5b34c805e84745b7c4b8da6fb8702a0ddd641" + }, + "vllm/v1/attention/backends/mla/indexer.py": { + "path": "/vllm/v1/attention/backends/mla/indexer.py", + "sha256": "2acbc1c4fa57c3424ad95e6ecbe76eb7141747773c3e867ce704f4adccba892a" + }, + "vllm/v1/attention/backends/mla/prefill/__init__.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/__init__.py", + "sha256": "903630eb705dd175bf4ae4558a4bcaa07c110056b6a11eb830fdd2fb21b3c48a" + }, + "vllm/v1/attention/backends/mla/prefill/aiter_flash_attn.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/aiter_flash_attn.py", + "sha256": "571b8a9910c4ea3fefda60659026f3bf0d7b542c34553c8c9a4d43bb82077e61" + }, + "vllm/v1/attention/backends/mla/prefill/base.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/base.py", + "sha256": "138bf3ddaf5a94c3cdbc4e08ac676edcae84b32fc76625e546f3b47f7d8b82ec" + }, + "vllm/v1/attention/backends/mla/prefill/cpu_sdpa.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/cpu_sdpa.py", + "sha256": "1bb686395274a8ec0d9fd7327410a527655fe060cbbc263eab138fea988d96de" + }, + "vllm/v1/attention/backends/mla/prefill/flash_attn.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/flash_attn.py", + "sha256": "5e648c82c82e5f81fe11458eb82b9f90b50fc06df2ade3bf111ee6b7a2ee8481" + }, + "vllm/v1/attention/backends/mla/prefill/flashinfer.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/flashinfer.py", + "sha256": "63861219c35b8abc0ebe01e1f51543c5ed40bd46119ca261d927da7c6826b49b" + }, + "vllm/v1/attention/backends/mla/prefill/registry.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/registry.py", + "sha256": "c8c30b92213d594beaa3cab4d5003da26a85870dbb11d1ab73191962d0645b53" + }, + "vllm/v1/attention/backends/mla/prefill/selector.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/selector.py", + "sha256": "101d9fca7924b0c5d7891a17fe8942611bd6759e32b03a571dc87b14c1430f2f" + }, + "vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py", + "sha256": "047cf07bfcc83db3b11a6a54ffe189f6146e6ec9ad33ce2fa7d18860bf4210f0" + }, + "vllm/v1/attention/backends/mla/prefill/trtllm_ragged.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/trtllm_ragged.py", + "sha256": "9e13ea6f6a25accedd918c0de64bbb812ccb20ffb95350ab018a6e76d493789b" + }, + "vllm/v1/attention/backends/mla/rocm_aiter_mla.py": { + "path": "/vllm/v1/attention/backends/mla/rocm_aiter_mla.py", + "sha256": "b489f5830c655bfb6299801a70d69b9821513c69568ecab3689db5a7be867be5" + }, + "vllm/v1/attention/backends/mla/rocm_aiter_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/rocm_aiter_mla_sparse.py", + "sha256": "91b1d9b3d860a9720bc01b8ebe9bbe8649a7d6bca20d4b63939bc100309bca19" + }, + "vllm/v1/attention/backends/mla/sparse_swa.py": { + "path": "/vllm/v1/attention/backends/mla/sparse_swa.py", + "sha256": "a47853ad8a3fe40f24704592581ea323a18041b84610df010a5534da634e311e" + }, + "vllm/v1/attention/backends/mla/sparse_utils.py": { + "path": "/vllm/v1/attention/backends/mla/sparse_utils.py", + "sha256": "c3cdf060288c05542243a9fe8b5ad3a963ad75e9ce399009b5e45c1235a88ce4" + }, + "vllm/v1/attention/backends/mla/tokenspeed_mla.py": { + "path": "/vllm/v1/attention/backends/mla/tokenspeed_mla.py", + "sha256": "b9ba523c606430cecb99a88b28c53d98a99dcf5e76105a80664338110a20f1ad" + }, + "vllm/v1/attention/backends/mla/triton_mla.py": { + "path": "/vllm/v1/attention/backends/mla/triton_mla.py", + "sha256": "21b16b3b34470edcc33d0423e560837c1d37d4bab31c7b3b9cfd7faa47864b51" + }, + "vllm/v1/attention/backends/mla/xpu_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/xpu_mla_sparse.py", + "sha256": "559c6240fe466521a6b2df4c94aea02ddf3f5efa5ba6954fa180c5a51c0f12d2" + }, + "vllm/v1/attention/backends/recoverssm_metadata.py": { + "path": "/vllm/v1/attention/backends/recoverssm_metadata.py", + "sha256": "02896a667db0f0308371ceb50048b18e5866c0235d163c0357e9a05dcedb3394" + }, + "vllm/v1/attention/backends/registry.py": { + "path": "/vllm/v1/attention/backends/registry.py", + "sha256": "378e8ee78734bd8c8adbe287d4c0a4058dcbb553195a09fbcce00a3cc30adc29" + }, + "vllm/v1/attention/backends/rocm_aiter_fa.py": { + "path": "/vllm/v1/attention/backends/rocm_aiter_fa.py", + "sha256": "d1418af03bf58209c850f466b712d3ea22a14ebb758c42dd43e65738281841fd" + }, + "vllm/v1/attention/backends/rocm_aiter_unified_attn.py": { + "path": "/vllm/v1/attention/backends/rocm_aiter_unified_attn.py", + "sha256": "59d2645eb4c91dc0567754a7163d066f4f2faf48f1957b254fcdd5604e9d8c8c" + }, + "vllm/v1/attention/backends/rocm_attn.py": { + "path": "/vllm/v1/attention/backends/rocm_attn.py", + "sha256": "4a8f57067073fbceb784af6c3467487c450d00fa3957928fadb99a79f6036292" + }, + "vllm/v1/attention/backends/short_conv_attn.py": { + "path": "/vllm/v1/attention/backends/short_conv_attn.py", + "sha256": "84fc460ef2fbd09743b069bec0c14b39542af6c2254a403e37a048427e151121" + }, + "vllm/v1/attention/backends/triton_attn.py": { + "path": "/vllm/v1/attention/backends/triton_attn.py", + "sha256": "1057663d110e1d5229495a799027b27277c1eca325d5b6780fa2259afbf58a1a" + }, + "vllm/v1/attention/backends/triton_attn_diffkv.py": { + "path": "/vllm/v1/attention/backends/triton_attn_diffkv.py", + "sha256": "de0357eae005246642140f1ab8842ba5ed8bff5c84b18a6d3a7bbf409c578301" + }, + "vllm/v1/attention/backends/triton_flash_attn.py": { + "path": "/vllm/v1/attention/backends/triton_flash_attn.py", + "sha256": "176e45329aeb28a2008362bb607d1b8c89816eb665859ab908b0385a11acf1c2" + }, + "vllm/v1/attention/backends/triton_flashinfer.py": { + "path": "/vllm/v1/attention/backends/triton_flashinfer.py", + "sha256": "48d5f967e388d4e8d6bbec8d827b44d855346bc2fada28adf65768bf6623527b" + }, + "vllm/v1/attention/backends/turboquant_attn.py": { + "path": "/vllm/v1/attention/backends/turboquant_attn.py", + "sha256": "616d16d608d9d1fbf6c29548037e7e9cf330f4d36a01aa3ffabf42a731eb6e2b" + }, + "vllm/v1/attention/backends/utils.py": { + "path": "/vllm/v1/attention/backends/utils.py", + "sha256": "fbc221360d2d54cb21ef3f625dc8711500de345a355801548b4337bb9b8abee0" + }, + "vllm/v1/attention/ops/__init__.py": { + "path": "/vllm/v1/attention/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/ops/chunked_prefill_paged_decode.py": { + "path": "/vllm/v1/attention/ops/chunked_prefill_paged_decode.py", + "sha256": "973db848a790b2e8d99e728b2fc4f44b501bbe58c62747244ddff04cfcf11a85" + }, + "vllm/v1/attention/ops/common.py": { + "path": "/vllm/v1/attention/ops/common.py", + "sha256": "b4b67e7fc0cce471e337d742c097fba06da7563816e8799e27719714e31e1d5b" + }, + "vllm/v1/attention/ops/cp_common.py": { + "path": "/vllm/v1/attention/ops/cp_common.py", + "sha256": "2369181862e96db64b14ef20c5c2e249ed2ea5f3dea2467a2aa388372bb86d9d" + }, + "vllm/v1/attention/ops/dcp.py": { + "path": "/vllm/v1/attention/ops/dcp.py", + "sha256": "a478bdc781460f0582cfaf74d6431f1a826c201f02f39d882d12a96139bc3f28" + }, + "vllm/v1/attention/ops/flashmla.py": { + "path": "/vllm/v1/attention/ops/flashmla.py", + "sha256": "8a40d6e120e3ab25a95fcfeb32b0b5b4c1ea02b984633866628536dcd26ed2e8" + }, + "vllm/v1/attention/ops/flydsl_kernels/__init__.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/attention/ops/flydsl_kernels/tq_decode.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/tq_decode.py", + "sha256": "cc4b7f82897596e0974b3d3a710a1a8bc58c3d22b72cc7f461dd1c4acd2e451b" + }, + "vllm/v1/attention/ops/flydsl_kernels/tq_decode_gqa6.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/tq_decode_gqa6.py", + "sha256": "a983f6d375c325900955e11696dab1e2665770e83f84d51f93d3ed5e1d8880e0" + }, + "vllm/v1/attention/ops/flydsl_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/flydsl_turboquant_decode.py", + "sha256": "7b1dd0ef7c7fb28a6a8831759e00b939ab844d067657155cc11cf75532a22c63" + }, + "vllm/v1/attention/ops/int4_per_token_head.py": { + "path": "/vllm/v1/attention/ops/int4_per_token_head.py", + "sha256": "d91968f280cd8eaed7570ab255f0276b40e833e18a25066d371d9ca8149425f2" + }, + "vllm/v1/attention/ops/merge_attn_states.py": { + "path": "/vllm/v1/attention/ops/merge_attn_states.py", + "sha256": "ad08403d2843fc892f0b0b4b9f5fabb81884556f89f7170dca46ccef498a3539" + }, + "vllm/v1/attention/ops/metadata.py": { + "path": "/vllm/v1/attention/ops/metadata.py", + "sha256": "ca882b84c5aaefb1f77e4d8ea09a00103fbc53defa8671bba036c961c17fc760" + }, + "vllm/v1/attention/ops/paged_attn.py": { + "path": "/vllm/v1/attention/ops/paged_attn.py", + "sha256": "016a95f892ec751c86b37be1e12171bad9f0b4076bbf2219ff336f4e9c503653" + }, + "vllm/v1/attention/ops/pcp.py": { + "path": "/vllm/v1/attention/ops/pcp.py", + "sha256": "dadeff95fe2df2be8028baabeef01b0d2d628cd67de2176915e737ce096de3dd" + }, + "vllm/v1/attention/ops/prefix_prefill.py": { + "path": "/vllm/v1/attention/ops/prefix_prefill.py", + "sha256": "b08ad92db715fc03c11699de3de463d55e411f42f77548e06b41049a61de692f" + }, + "vllm/v1/attention/ops/rocm_aiter_mla_merge.py": { + "path": "/vllm/v1/attention/ops/rocm_aiter_mla_merge.py", + "sha256": "564c66e4877732e48a6f7d52405c43dc952eec0f0ae4353d34886bca056132b9" + }, + "vllm/v1/attention/ops/rocm_aiter_mla_sparse.py": { + "path": "/vllm/v1/attention/ops/rocm_aiter_mla_sparse.py", + "sha256": "feec664be5045fd1ba13b8f6ef83b52c96910ddc78baca0431bcf610c9e8f5cc" + }, + "vllm/v1/attention/ops/triton_attention_helpers.py": { + "path": "/vllm/v1/attention/ops/triton_attention_helpers.py", + "sha256": "35aa993d01345f535d2641cf9dcabb8b64c51b20a19707bc5987e616aaa87ddd" + }, + "vllm/v1/attention/ops/triton_decode_attention.py": { + "path": "/vllm/v1/attention/ops/triton_decode_attention.py", + "sha256": "b9823c65eba22d76abf64dad7d7d16a950f67471c86d6cb5b3e983aaf14381ac" + }, + "vllm/v1/attention/ops/triton_merge_attn_states.py": { + "path": "/vllm/v1/attention/ops/triton_merge_attn_states.py", + "sha256": "f63229162181ab93198550b73a115f1cc1034cfd60e6f58bc8ab3e22a6e8ce60" + }, + "vllm/v1/attention/ops/triton_prefill_attention.py": { + "path": "/vllm/v1/attention/ops/triton_prefill_attention.py", + "sha256": "352c1a4ac86146580040579fb217c2e288268830d6602b735713e154f36d74fe" + }, + "vllm/v1/attention/ops/triton_reshape_and_cache_flash.py": { + "path": "/vllm/v1/attention/ops/triton_reshape_and_cache_flash.py", + "sha256": "6cac51475b8c656992a21b2d150acd3a16a95a7ab7d49aab151a3ef13c24b80d" + }, + "vllm/v1/attention/ops/triton_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/triton_turboquant_decode.py", + "sha256": "8e52678136449e4bbca2195fbcbb87426c955a2b1b8422e7ab9511e45ee5f5c6" + }, + "vllm/v1/attention/ops/triton_turboquant_store.py": { + "path": "/vllm/v1/attention/ops/triton_turboquant_store.py", + "sha256": "6e6e2fe74a307d40f0be786ccbaea76d989e3c7b5985f3144a5218c61bf6d902" + }, + "vllm/v1/attention/ops/triton_unified_attention.py": { + "path": "/vllm/v1/attention/ops/triton_unified_attention.py", + "sha256": "65d0fbcf33d00789df8ca688c0a1c908e710cfaef53471178747ecae11f05829" + }, + "vllm/v1/attention/ops/triton_unified_attention_diffkv.py": { + "path": "/vllm/v1/attention/ops/triton_unified_attention_diffkv.py", + "sha256": "7fa36d7b7441f1c396e0348eac61d691d2e459e5c4c393c4aa262dfb670e68f7" + }, + "vllm/v1/attention/ops/turboquant_soa/__init__.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/__init__.py", + "sha256": "6b43b6fcb2a71c44ceff4ed1edd417a839f4901251ba15831b09ad979baa4984" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode.py", + "sha256": "bf00634191bba14cbf4a23c1d67dc3dcb244c2b8989f08362757b54435830986" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode_v2.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode_v2.py", + "sha256": "28e7ecc15c450d3591983a50c46a03aa6ca6fa99304c17c333940617d9916485" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_store.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_store.py", + "sha256": "dccf93b9fdd34f9b9eacd468e9de35b9d93378594487c335cf50642aaec681f2" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_unified_attention.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_unified_attention.py", + "sha256": "b4b2b5f3985b3a6126fd052e6ec1ed91c610da8a525a9ae7470ac829405bd85c" + }, + "vllm/v1/attention/ops/vit_attn_wrappers.py": { + "path": "/vllm/v1/attention/ops/vit_attn_wrappers.py", + "sha256": "a99d57b58269c7521fa5d7d47af06551f3bab2b5c7358ef78165a7f6e20a92a6" + }, + "vllm/v1/attention/ops/xpu_mla_sparse.py": { + "path": "/vllm/v1/attention/ops/xpu_mla_sparse.py", + "sha256": "d98d17110577c2b7b4d05e07bfdae15faf83321b6342a5daaaecce45b9503f38" + }, + "vllm/v1/attention/selector.py": { + "path": "/vllm/v1/attention/selector.py", + "sha256": "87f653ded7974875183c920e3e4589c28116bcbc99714d1da7cb51ae77c0b182" + }, + "vllm/v1/core/sched/__init__.py": { + "path": "/vllm/v1/core/sched/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/core/sched/async_scheduler.py": { + "path": "/vllm/v1/core/sched/async_scheduler.py", + "sha256": "e586a0ef3c6778be56a93e7f9bb712d4de9de6e7d7fe7e3e1d51dae83ecfc508" + }, + "vllm/v1/core/sched/interface.py": { + "path": "/vllm/v1/core/sched/interface.py", + "sha256": "be6c008664096c5660a8879de72b315bbe479bf1d688be9b25891063ec53a367" + }, + "vllm/v1/core/sched/output.py": { + "path": "/vllm/v1/core/sched/output.py", + "sha256": "3a66c8efaefe10c572f6f33cf1f8aa4610758c945130cad62eb9f7331005677c" + }, + "vllm/v1/core/sched/request_queue.py": { + "path": "/vllm/v1/core/sched/request_queue.py", + "sha256": "4b8d938e5fb8152fe61030b8aa991f983fcac9a405c37ed8908045e05e82ae5e" + }, + "vllm/v1/core/sched/scheduler.py": { + "path": "/vllm/v1/core/sched/scheduler.py", + "sha256": "c1db45f3bbad3a875dd8638331b8870c4380ac1ab4734265ba5c863833a82884" + }, + "vllm/v1/core/sched/utils.py": { + "path": "/vllm/v1/core/sched/utils.py", + "sha256": "1ed988044eb8028c77ede875bd1a5fd05ff6998b455d61e3997d6a3d7fc1c3a7" + }, + "vllm/v1/sample/__init__.py": { + "path": "/vllm/v1/sample/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/sample/logits_processor/__init__.py": { + "path": "/vllm/v1/sample/logits_processor/__init__.py", + "sha256": "1f9b02dae8cf6d44484638037123d3a2dec6b7b9a2bcc9afceef1a9bf3eaedec" + }, + "vllm/v1/sample/logits_processor/builtin.py": { + "path": "/vllm/v1/sample/logits_processor/builtin.py", + "sha256": "6105816ece77e5b1dbee0d07abc90ce039d650bac2ddb85c93280c48b00f2ebe" + }, + "vllm/v1/sample/logits_processor/interface.py": { + "path": "/vllm/v1/sample/logits_processor/interface.py", + "sha256": "171dfc6ef9b5b53128e8eaecc4bdf1de413a706d64bf5be686048f583c66eee1" + }, + "vllm/v1/sample/logits_processor/state.py": { + "path": "/vllm/v1/sample/logits_processor/state.py", + "sha256": "a96411f14362c45f839e181dcb3ac01d5b880812bccb3552fc17863b219f44ac" + }, + "vllm/v1/sample/metadata.py": { + "path": "/vllm/v1/sample/metadata.py", + "sha256": "6582cfe1a240c7ddb975f0ef6dd7dcd28dcf0fc7670394390250013977aa7ffd" + }, + "vllm/v1/sample/ops/__init__.py": { + "path": "/vllm/v1/sample/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/sample/ops/bad_words.py": { + "path": "/vllm/v1/sample/ops/bad_words.py", + "sha256": "0b1d0a9b13b92ddcae2c83393c07a34c0f107813725700dee794caa7fe7f3b12" + }, + "vllm/v1/sample/ops/logprobs.py": { + "path": "/vllm/v1/sample/ops/logprobs.py", + "sha256": "b286f69012a6758bfe9250038b0697294dbffe0d32c6906f284c39f75ee48be3" + }, + "vllm/v1/sample/ops/penalties.py": { + "path": "/vllm/v1/sample/ops/penalties.py", + "sha256": "4debfcf247b3887478d2b9ec98f108756bbed2805462777ef6b56f3bdf4ce682" + }, + "vllm/v1/sample/ops/topk_topp_sampler.py": { + "path": "/vllm/v1/sample/ops/topk_topp_sampler.py", + "sha256": "13ea4359832bc914492330958ec4f5ac140f408b8f410cc05c6eaf7ddcd70be4" + }, + "vllm/v1/sample/ops/topk_topp_triton.py": { + "path": "/vllm/v1/sample/ops/topk_topp_triton.py", + "sha256": "0b5fc337058e22bc28a8530ccec904d6ccd89b9548b02955c657ac429b1669d2" + }, + "vllm/v1/sample/rejection_sampler.py": { + "path": "/vllm/v1/sample/rejection_sampler.py", + "sha256": "0bb9d224887ccb1355e16199005cc23a4afc6fa75156eca419851b7247d99750" + }, + "vllm/v1/sample/sampler.py": { + "path": "/vllm/v1/sample/sampler.py", + "sha256": "f95805b2c6d06218c724826aa5f881a606e8d0a534a566aee7c85948520dd216" + }, + "vllm/v1/sample/thinking_budget_state.py": { + "path": "/vllm/v1/sample/thinking_budget_state.py", + "sha256": "962f8f55210eb0a431cb9c78b013e35f7a7dd58d06d6fb2e7fcff1b457356f8e" + }, + "vllm/v1/worker/__init__.py": { + "path": "/vllm/v1/worker/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/block_table.py": { + "path": "/vllm/v1/worker/block_table.py", + "sha256": "a09b8819e1417b7a186cf3472224e2138fc5d41a291c6692bb7df711b0c44259" + }, + "vllm/v1/worker/cp_utils.py": { + "path": "/vllm/v1/worker/cp_utils.py", + "sha256": "e32625d83a641b8dd8df82e92d1b6fb20af0cdf2e8fbd2fb131aa3c215415448" + }, + "vllm/v1/worker/cpu/__init__.py": { + "path": "/vllm/v1/worker/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/cpu/buffer_utils.py": { + "path": "/vllm/v1/worker/cpu/buffer_utils.py", + "sha256": "e7313fd8c2c76ebfb98d2fa53008bc9691d0f83a7d7c05e87602b5a29fb79e04" + }, + "vllm/v1/worker/cpu/model_runner.py": { + "path": "/vllm/v1/worker/cpu/model_runner.py", + "sha256": "24a1c916550051327dd5893243a6d4200f3824b91b3af8aa6f6c793fd7c68c3e" + }, + "vllm/v1/worker/cpu/shm.py": { + "path": "/vllm/v1/worker/cpu/shm.py", + "sha256": "08491af8ad341399d1375f2d21ad00414d4c89b0a5c03f55de8704914bbfcbd9" + }, + "vllm/v1/worker/cpu_model_runner.py": { + "path": "/vllm/v1/worker/cpu_model_runner.py", + "sha256": "92111aba92f00571f1a3c4c6e43cf1da6ccb4d2afac2f4d5abc018a4a6e7e8bd" + }, + "vllm/v1/worker/cpu_worker.py": { + "path": "/vllm/v1/worker/cpu_worker.py", + "sha256": "a8051b9e510ef0af9cc34004f2cbe5c0f902bd0cebc32c9464e744344dfdf849" + }, + "vllm/v1/worker/dp_utils.py": { + "path": "/vllm/v1/worker/dp_utils.py", + "sha256": "8cd19f1bfbc5c4f6ec60df89aea7c8a19b400ebc264f372b103014152e92158c" + }, + "vllm/v1/worker/ec_connector_model_runner_mixin.py": { + "path": "/vllm/v1/worker/ec_connector_model_runner_mixin.py", + "sha256": "fe9b11cebb8562f1bfe98b98a5647b2b081a6e424cb60d4ffe2412c91a99215e" + }, + "vllm/v1/worker/encoder_cudagraph.py": { + "path": "/vllm/v1/worker/encoder_cudagraph.py", + "sha256": "6a08d3779bca1b47dbf9daf6eafe2d3c70dbcb8aeb7d63ba7efacc68241ee3bc" + }, + "vllm/v1/worker/encoder_cudagraph_defs.py": { + "path": "/vllm/v1/worker/encoder_cudagraph_defs.py", + "sha256": "bb7be050fcaa8868e7816c84caec875da57050d65fe7eaf00f3d41473df25e3a" + }, + "vllm/v1/worker/gpu/__init__.py": { + "path": "/vllm/v1/worker/gpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/async_utils.py": { + "path": "/vllm/v1/worker/gpu/async_utils.py", + "sha256": "77e17a4570ead2be30ae9b00888cf077a3b873018c12ca0549b853bfda02c1ba" + }, + "vllm/v1/worker/gpu/attn_utils.py": { + "path": "/vllm/v1/worker/gpu/attn_utils.py", + "sha256": "b9b81e59dda2720b1f9c434471381f879228832443e52756e469b4ad4905888f" + }, + "vllm/v1/worker/gpu/block_table.py": { + "path": "/vllm/v1/worker/gpu/block_table.py", + "sha256": "61c004315d5af7e7eae4e2a9e6be92ea82c520327690a7f55a73bb9ce95f520a" + }, + "vllm/v1/worker/gpu/buffer_utils.py": { + "path": "/vllm/v1/worker/gpu/buffer_utils.py", + "sha256": "6597f701a30261bf250e9ad5a29737264624a1caa20527aeea0dad630325b093" + }, + "vllm/v1/worker/gpu/cp_utils.py": { + "path": "/vllm/v1/worker/gpu/cp_utils.py", + "sha256": "456c1bb7e262d99ff555522a4f134e5a9b42aee23290be25455eaef36ee8eaaf" + }, + "vllm/v1/worker/gpu/cudagraph_utils.py": { + "path": "/vllm/v1/worker/gpu/cudagraph_utils.py", + "sha256": "6e9c042890603535e300a40df8ee159dbed1058a64a83ae50ff0329e332e05ff" + }, + "vllm/v1/worker/gpu/dp_utils.py": { + "path": "/vllm/v1/worker/gpu/dp_utils.py", + "sha256": "e26867bc89e6bfc933cabc5ed13e5dc7b8d2d3030118ca1ca64c8785dabc0fc1" + }, + "vllm/v1/worker/gpu/ec_connector.py": { + "path": "/vllm/v1/worker/gpu/ec_connector.py", + "sha256": "2afe6e641f4ae3eb3b8da336c74eaa7479bf617b27cfb39a1fcbe487686f0a08" + }, + "vllm/v1/worker/gpu/eplb_utils.py": { + "path": "/vllm/v1/worker/gpu/eplb_utils.py", + "sha256": "1829fac11464aed4649179b302df198de51b95d0589f4e56bea305a876a63e26" + }, + "vllm/v1/worker/gpu/input_batch.py": { + "path": "/vllm/v1/worker/gpu/input_batch.py", + "sha256": "d5dd956eb319bd69dd9e762047833d81ad40b21fce619fcb2133759e73620694" + }, + "vllm/v1/worker/gpu/kv_connector.py": { + "path": "/vllm/v1/worker/gpu/kv_connector.py", + "sha256": "b89a4333f1e552d86e1815674b59e9f1335f0f49c0a7b46082439076f62c6a81" + }, + "vllm/v1/worker/gpu/lora_utils.py": { + "path": "/vllm/v1/worker/gpu/lora_utils.py", + "sha256": "1e90eddd9ddb4ca55e574bb28e87ae3a6f6750175a62d373102426543f4ccd66" + }, + "vllm/v1/worker/gpu/metrics/__init__.py": { + "path": "/vllm/v1/worker/gpu/metrics/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/metrics/logits.py": { + "path": "/vllm/v1/worker/gpu/metrics/logits.py", + "sha256": "ea058d7510a077a55f8ac7e4c3d596508346244e908cb372865d7159f62edc89" + }, + "vllm/v1/worker/gpu/mm/__init__.py": { + "path": "/vllm/v1/worker/gpu/mm/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/mm/encoder_cache.py": { + "path": "/vllm/v1/worker/gpu/mm/encoder_cache.py", + "sha256": "89c500338fddbeee7c4fca978a3a7c4c566a03e848e399d303fbee3c80631cd2" + }, + "vllm/v1/worker/gpu/mm/encoder_runner.py": { + "path": "/vllm/v1/worker/gpu/mm/encoder_runner.py", + "sha256": "0981e352d70301b7154a217a48665ffe35f215d053ec5740c2515a3e1e11b4e6" + }, + "vllm/v1/worker/gpu/mm/lora.py": { + "path": "/vllm/v1/worker/gpu/mm/lora.py", + "sha256": "a3eddfad6ad64de276964240c28dc080888df4a56dd5eac18f89428f2cbb7a01" + }, + "vllm/v1/worker/gpu/mm/rope.py": { + "path": "/vllm/v1/worker/gpu/mm/rope.py", + "sha256": "0924375bcb367267e783b57dd2ad9de1189d97025ce4313baaa54f2911eaaf1e" + }, + "vllm/v1/worker/gpu/model_runner.py": { + "path": "/vllm/v1/worker/gpu/model_runner.py", + "sha256": "174c93db921c23cf0396eee4764be25b2bd2d4b6a06e9fa41ce3598b884ce8ce" + }, + "vllm/v1/worker/gpu/model_states/__init__.py": { + "path": "/vllm/v1/worker/gpu/model_states/__init__.py", + "sha256": "07815d0b788fc88185772f581bbf892a675259f9288375571f29887622f8d93c" + }, + "vllm/v1/worker/gpu/model_states/default.py": { + "path": "/vllm/v1/worker/gpu/model_states/default.py", + "sha256": "bb614f814780f052e869f9acf31dfbfa68718ee7dc6252eefa901b5730ee8a2a" + }, + "vllm/v1/worker/gpu/model_states/encoder_decoder.py": { + "path": "/vllm/v1/worker/gpu/model_states/encoder_decoder.py", + "sha256": "a5868059d8af672548b41d0e623e884320e6ed61e6aaca2d2828ff5be0356f2f" + }, + "vllm/v1/worker/gpu/model_states/encoder_only.py": { + "path": "/vllm/v1/worker/gpu/model_states/encoder_only.py", + "sha256": "84e96b55a2639e2a73fa4a0308acc89c8d053dc715481180b237e0196dcef99f" + }, + "vllm/v1/worker/gpu/model_states/interface.py": { + "path": "/vllm/v1/worker/gpu/model_states/interface.py", + "sha256": "5675b6fedc7403a9ab410b1e5565974e78fac23c42ab4253ae1da52d6e09b594" + }, + "vllm/v1/worker/gpu/model_states/mamba_hybrid.py": { + "path": "/vllm/v1/worker/gpu/model_states/mamba_hybrid.py", + "sha256": "573e130ac5587d4822fabf97adad1ad0fda02ff83c5e70df879a5bb175ae845c" + }, + "vllm/v1/worker/gpu/model_states/mm_pruning.py": { + "path": "/vllm/v1/worker/gpu/model_states/mm_pruning.py", + "sha256": "b150940b12ae76048f050a8eeb54d532bbdc530a18ffbf320ddeeb0cfaa90f93" + }, + "vllm/v1/worker/gpu/model_states/prompt_embeds.py": { + "path": "/vllm/v1/worker/gpu/model_states/prompt_embeds.py", + "sha256": "11f9e270925c2df6a505557605ac2b859bb145cf3420b0111e7482a1c544f9b1" + }, + "vllm/v1/worker/gpu/model_states/recoverssm.py": { + "path": "/vllm/v1/worker/gpu/model_states/recoverssm.py", + "sha256": "b4b660e62eaf33f4fe8271f83ed1fb6de6bc08f800a8073b27803e42fb29a645" + }, + "vllm/v1/worker/gpu/pcp_manager.py": { + "path": "/vllm/v1/worker/gpu/pcp_manager.py", + "sha256": "2d80df0ed5b18a2069f9d0689cb59923ffe324ba200fcafe242da23da3a6ddaa" + }, + "vllm/v1/worker/gpu/pool/__init__.py": { + "path": "/vllm/v1/worker/gpu/pool/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/pool/pooling_runner.py": { + "path": "/vllm/v1/worker/gpu/pool/pooling_runner.py", + "sha256": "f8463f7648cce0f3f29418a4d9fee61634ead760957cf236d06d61cf8cd986e7" + }, + "vllm/v1/worker/gpu/pp_utils.py": { + "path": "/vllm/v1/worker/gpu/pp_utils.py", + "sha256": "dadeef0bebf61d0ad44a28d06372208ec4e6389224d6017f412683b026bdbb5c" + }, + "vllm/v1/worker/gpu/sample/__init__.py": { + "path": "/vllm/v1/worker/gpu/sample/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/sample/bad_words.py": { + "path": "/vllm/v1/worker/gpu/sample/bad_words.py", + "sha256": "8d3cbd5613398260314d94739d8ee0e1ac0c22abf2f960f541d3c0d4e39d360b" + }, + "vllm/v1/worker/gpu/sample/batch_shard.py": { + "path": "/vllm/v1/worker/gpu/sample/batch_shard.py", + "sha256": "c30274a3a04e6a03e89be9cd7c62de602b1aba4d412f64540ab6201036de3928" + }, + "vllm/v1/worker/gpu/sample/gumbel.py": { + "path": "/vllm/v1/worker/gpu/sample/gumbel.py", + "sha256": "3ec1df510bdad13e8b0a457b5b67c98affdf6e57369e56cb471246cc8f40dd34" + }, + "vllm/v1/worker/gpu/sample/logit_bias.py": { + "path": "/vllm/v1/worker/gpu/sample/logit_bias.py", + "sha256": "9e80a3fe6f3c7474723408cfff52183f4585fdeedd9c2312843ee98d0b12724c" + }, + "vllm/v1/worker/gpu/sample/logprob.py": { + "path": "/vllm/v1/worker/gpu/sample/logprob.py", + "sha256": "f47479a818192acb6b297c79fa67a3b2f9820e3492a394d5adda777e9b7c832e" + }, + "vllm/v1/worker/gpu/sample/min_p.py": { + "path": "/vllm/v1/worker/gpu/sample/min_p.py", + "sha256": "4cb5e2f45e1ced6f9685283a7a5c8cfd7204d9a249822e866cfff756c7f04f62" + }, + "vllm/v1/worker/gpu/sample/output.py": { + "path": "/vllm/v1/worker/gpu/sample/output.py", + "sha256": "d6e298c0f197d487a8faaf7200f500fa83df1d7a4bbf4339cadd6a18008f7f9c" + }, + "vllm/v1/worker/gpu/sample/penalties.py": { + "path": "/vllm/v1/worker/gpu/sample/penalties.py", + "sha256": "46c29434caf5f415129ef4a9bb2b8d4f62d2765596e3e07f73ad2b198c7def1b" + }, + "vllm/v1/worker/gpu/sample/prompt_logprob.py": { + "path": "/vllm/v1/worker/gpu/sample/prompt_logprob.py", + "sha256": "4cf22d390e7bf59e44c458cff7180268db63e95d06af2f1e14d720a2d77c9663" + }, + "vllm/v1/worker/gpu/sample/sampler.py": { + "path": "/vllm/v1/worker/gpu/sample/sampler.py", + "sha256": "832c9945d201a1e730ff9b4b52076aa83bd4a5064e1e4cfea952cf84d4a8d1f0" + }, + "vllm/v1/worker/gpu/sample/states.py": { + "path": "/vllm/v1/worker/gpu/sample/states.py", + "sha256": "4e3671f93695ba5a48fad7d2d13beb231ac8741034904ed5a15d9f7b9b86662e" + }, + "vllm/v1/worker/gpu/sample/thinking_budget.py": { + "path": "/vllm/v1/worker/gpu/sample/thinking_budget.py", + "sha256": "020513e1d3406f367de6ad995a95055008fd0c28f2873647e8283c9870e22404" + }, + "vllm/v1/worker/gpu/sample/trace_replay.py": { + "path": "/vllm/v1/worker/gpu/sample/trace_replay.py", + "sha256": "d2a7d3b3b55379efabe4740a4b7f14030126dc11be36f6ea974164ce42316a50" + }, + "vllm/v1/worker/gpu/sample/watermark.py": { + "path": "/vllm/v1/worker/gpu/sample/watermark.py", + "sha256": "a3581458169dab9153eb09fd67218e0ee5585406537a9de80ad528ae62b030c0" + }, + "vllm/v1/worker/gpu/shutdown.py": { + "path": "/vllm/v1/worker/gpu/shutdown.py", + "sha256": "bb470f14b17c7e52571ef8938b2a9527e7c2846852ae8a3a94b69cd1c30aa4b1" + }, + "vllm/v1/worker/gpu/spec_decode/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/__init__.py", + "sha256": "1f1f84bfe6f4f5af3a7e21a7a8716ecf7b9013da1d03327668a3ee36afc24c32" + }, + "vllm/v1/worker/gpu/spec_decode/acceptance_estimator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/acceptance_estimator.py", + "sha256": "505b843bdd75928b03793b395b47b8be914bd7fe2a3351c8ec04339baeebb1c2" + }, + "vllm/v1/worker/gpu/spec_decode/adaptive_verification.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/adaptive_verification.py", + "sha256": "276b2fec56758a94c71b717f6786b8a6f126db2e20cf964350202feee61a0a39" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/cudagraph_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/cudagraph_utils.py", + "sha256": "13392ef0a9ed59eb9c2b2bad43d7c61beb212a8805849e46b5130c230275d0a5" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/speculator.py", + "sha256": "5b97f54e20ddf65b98e939832d050745f67ef43cfa145786da300f1a8322e3c6" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/cudagraph.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/cudagraph.py", + "sha256": "beab567ae2df6a2ba2cd92fe7ee452c6b959b8a7037a4b5f493993a1824619bb" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/speculator.py", + "sha256": "f9c100f42f9326e48eb84e89281897e859ba761943f54d593523555ccd98dc63" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/utils.py", + "sha256": "53d2c3ad474d290d2c6df027446bbd80ac7447684e5242ab2c3c5337d2abd383" + }, + "vllm/v1/worker/gpu/spec_decode/dflash2/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash2/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/dflash2/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash2/speculator.py", + "sha256": "b70043550938a1df9aecc85d8c8224c38c929ca34f68834572f6e723854d2027" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/speculator.py", + "sha256": "dcf4abdedbd2bddd0d76be198ccf5b4e467c46f645038c35fcab821491a35b03" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/utils.py", + "sha256": "86af2bf30604a184312e8f076097b91ecfec704f409f9d68d634b03d6b318070" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/eagle3_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/eagle3_utils.py", + "sha256": "201ee875fcc3d076a8fc1f3876dcbf85736b221a368555243a8987ff26a1674e" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/speculator.py", + "sha256": "746e318a4f266d75522ff7f3731ea9b4527b7b4824f71364d1a62184ea1f7b3d" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/utils.py", + "sha256": "94de6f55a1761f24f4aa1388cbc3b3763d4ab3ee53260330056ad31ce0b78236" + }, + "vllm/v1/worker/gpu/spec_decode/extract_hidden_states.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/extract_hidden_states.py", + "sha256": "93c4233be7b2d2290b33902ea9b3bb5274c11701830851d03967a22144536e2d" + }, + "vllm/v1/worker/gpu/spec_decode/gemma4/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/gemma4/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/gemma4/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/gemma4/speculator.py", + "sha256": "9991210d7babd2caf2cd10797ca8688543dedeafbc3b86bc7c979c1a6ae9f949" + }, + "vllm/v1/worker/gpu/spec_decode/mtp/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/mtp/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/mtp/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/mtp/speculator.py", + "sha256": "926d6c9ffdb368c971647911a60493820d056ce236fcae9d94a42fa2e006255d" + }, + "vllm/v1/worker/gpu/spec_decode/multi_module_mtp/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/multi_module_mtp/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/multi_module_mtp/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/multi_module_mtp/speculator.py", + "sha256": "d9d4735b9b33829332b0e845b6d3073b2f0436045ed693b25c6434f351644127" + }, + "vllm/v1/worker/gpu/spec_decode/rejection_sampler.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/rejection_sampler.py", + "sha256": "030db5bfca162cc1f305112f299de5d6d61c59d3ed0807fee46575441ca4086d" + }, + "vllm/v1/worker/gpu/spec_decode/rejection_sampler_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/rejection_sampler_utils.py", + "sha256": "214b61fa0abe88573beb779872c035b3954e5651a85bd438d99ee5905d3a62ec" + }, + "vllm/v1/worker/gpu/spec_decode/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/speculator.py", + "sha256": "3a1ab15bf8b20918852eb835fe9755046e99dcbac6ba6ca3d414949fc8bc695a" + }, + "vllm/v1/worker/gpu/spec_decode/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/utils.py", + "sha256": "282f2929eddae9ca7312269f799be07472334b6df9fd91878b5e839ec05e418c" + }, + "vllm/v1/worker/gpu/states.py": { + "path": "/vllm/v1/worker/gpu/states.py", + "sha256": "99418f5df43ca612ded72609fee011620b065b2cab2f249ccb387096bf4ae71a" + }, + "vllm/v1/worker/gpu/structured_outputs.py": { + "path": "/vllm/v1/worker/gpu/structured_outputs.py", + "sha256": "18a10532db7e66b55e334acacd1fd989ad6361adf31dd0de9a9a65e23db25951" + }, + "vllm/v1/worker/gpu/ubatch_utils.py": { + "path": "/vllm/v1/worker/gpu/ubatch_utils.py", + "sha256": "5092e2e58af0561c8dc12e62847cfc6dda9ca20dfbd33e7f0cd77a83fe87f7c5" + }, + "vllm/v1/worker/gpu/warmup.py": { + "path": "/vllm/v1/worker/gpu/warmup.py", + "sha256": "423ac32d58fe008c228cfa223e4fcebfcf87e3463a9dbdf80a083c0578d73723" + }, + "vllm/v1/worker/gpu_input_batch.py": { + "path": "/vllm/v1/worker/gpu_input_batch.py", + "sha256": "18cf455c9d0eea61cc581c7932f2e6cd09786914e82dd35eef1c1430da359a0f" + }, + "vllm/v1/worker/gpu_model_runner.py": { + "path": "/vllm/v1/worker/gpu_model_runner.py", + "sha256": "87c29d08c0bbf66993d8b984811e7325e35e6436242a773feb55ec88f16b2c51" + }, + "vllm/v1/worker/gpu_ubatch_wrapper.py": { + "path": "/vllm/v1/worker/gpu_ubatch_wrapper.py", + "sha256": "4233cfbe8c9884b042c4363890108f616483b694ebe9a6e69578dcf89c6dac5c" + }, + "vllm/v1/worker/gpu_worker.py": { + "path": "/vllm/v1/worker/gpu_worker.py", + "sha256": "6994436e4547c0996ab555b3e814e8ccea26b650dfc1b378b97d640745309347" + }, + "vllm/v1/worker/kv_connector_model_runner_mixin.py": { + "path": "/vllm/v1/worker/kv_connector_model_runner_mixin.py", + "sha256": "e1cc76d065a7e60aacddb190ae795a480b65cd02ba71a1fc699a02a85c1a3de2" + }, + "vllm/v1/worker/lora_model_runner_mixin.py": { + "path": "/vllm/v1/worker/lora_model_runner_mixin.py", + "sha256": "fef6092a15d8d37f6fa22495e6106e2e5280180908d61ce43d9ff5bf4eef3f2f" + }, + "vllm/v1/worker/mamba_utils.py": { + "path": "/vllm/v1/worker/mamba_utils.py", + "sha256": "23fdaa4e8f63ee8f938eaa1a2b39f803cb04fa6ecd69789563254b1a0691413a" + }, + "vllm/v1/worker/mm_encoder_model_runner.py": { + "path": "/vllm/v1/worker/mm_encoder_model_runner.py", + "sha256": "780c41be84ad022205c21c1decb6bb8d5afb03bc7be120c1f7df03b710acc3d7" + }, + "vllm/v1/worker/sentinel/__init__.py": { + "path": "/vllm/v1/worker/sentinel/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/sentinel/gpu_worker_sentinel.py": { + "path": "/vllm/v1/worker/sentinel/gpu_worker_sentinel.py", + "sha256": "3959b8619d052c5dd247815074e03ec21ec9b43cc424ff2d296abc19b227b852" + }, + "vllm/v1/worker/startup_plan.py": { + "path": "/vllm/v1/worker/startup_plan.py", + "sha256": "84bcbb4f7a9fd7c8d10c9c895aadd9673d44c767b9132368d11eb5e017afe86b" + }, + "vllm/v1/worker/ubatch_utils.py": { + "path": "/vllm/v1/worker/ubatch_utils.py", + "sha256": "b34dce551b5195c414e6a3a997c75961cc7a17f24c7c980487fe3d3e2ba7a798" + }, + "vllm/v1/worker/ubatching.py": { + "path": "/vllm/v1/worker/ubatching.py", + "sha256": "40391241c564feb5f16c77898ae6ae152ed6e71a4682e2a406387785d8de02d7" + }, + "vllm/v1/worker/utils.py": { + "path": "/vllm/v1/worker/utils.py", + "sha256": "0ca3ec6bf4d20076145b7fe64e564962adebedc8f75a856b517ba0b2f2d77acf" + }, + "vllm/v1/worker/worker_base.py": { + "path": "/vllm/v1/worker/worker_base.py", + "sha256": "4a1a5266b912fe97991d8dc89d92b923990da9f6cb4b817d00d52e9c0d26dd7c" + }, + "vllm/v1/worker/workspace.py": { + "path": "/vllm/v1/worker/workspace.py", + "sha256": "d21c08167d1d0d1c0cddaa80453a53a0b4dec5d81b5a537c94a21324344976b3" + }, + "vllm/v1/worker/xpu_model_runner.py": { + "path": "/vllm/v1/worker/xpu_model_runner.py", + "sha256": "07fa0390d28f2b8c3c3c0019eb9c3b126e2397aea268ba47c889f06b423deb23" + }, + "vllm/v1/worker/xpu_worker.py": { + "path": "/vllm/v1/worker/xpu_worker.py", + "sha256": "711b56432506b58041cd86e71320c3960413f7bd61061990b66488421d81cfc3" + } + }, + "prefix": "", + "pth": { + "/__editable__.megatron_core-0.16.0rc0.pth": "d55c9b64480b34aae3d4d31e7706b93391c969dec6e0498e50963b03445a57b0", + "/__editable__.rl_kernel-0.1.0.pth": "1454c4987b35762a0d189d4e901c5d077fde62a1944fbaabecea230e57f3923a", + "/__editable__.vime-0.3.2.pth": "77eec5d06d628cb952e65edd813ca88d8db67ccc785083e1b7b29011b92bec4f", + "/distutils-precedence.pth": "2638ce9e2500e572a5e0de7faed6661eb569d1b696fcba07b0dd223da5f5d224", + "/qwen3_next_cuda_runtime.pth": "e0d3ab57dd3ff4f5d55fcf76e83c549cc00b3c813e6f717c540d5ded79fa2f49", + "/qwen3_next_megatron_source.pth": "8556ac057538e82856cb76cbbc954f58312a3f45373daec3eec826031cfd2709", + "/__editable__.rl_kernel-0.1.0.pth": "1454c4987b35762a0d189d4e901c5d077fde62a1944fbaabecea230e57f3923a", + "/distutils-precedence.pth": "2638ce9e2500e572a5e0de7faed6661eb569d1b696fcba07b0dd223da5f5d224", + "/nvidia_cutlass_dsl_packages.pth": "cc710b99ddb3d76361a70461461d274212a979d00c381d821fce5bb3ad9cf246" + }, + "pyvenv_cfg_sha256": "48579f2c6d35c3d535c2690d7d426587c4b8e92021463f0266b38d35dfbbb834", + "sources": { + "/Megatron-LM-training": { + "patch_sha256": "f66035f12501aa1d08e8884e0dea5a22d59825d717aeda73c3e83876e3efd79f", + "path": "/Megatron-LM-training", + "tree": "731fc44a368d6cac8c6171a29d5c687ff0d95bd1" + }, + "/vime": { + "patch_sha256": "66949839d4c18329444f4f9f6dcd702b53ce1b94e9aa15ed111f28743bfaa4b9", + "path": "/vime", + "tree": "f5174e67dbcdaef983eecd45f215fef2d8429dd0" + } + }, + "version": "3.12.14 | packaged by Anaconda, Inc. | (main, Aug 27 2026, 14:46:43) [GCC 14.3.0]" + }, + "sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca" + }, + "gpu_uuids": [ + "070ad148-15f4-87b0-4080-42a9dbee2cc5", + "b30571e8-c246-b368-75b0-463b50081063", + "cafee071-2025-fa04-3a2e-8528731a8dc8", + "a51af203-cc18-3838-08ac-127ddf03c97c" + ], + "execution_gpus": 4 +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/train/l2_matrix.json b/docs/usage/evidence/qwen3-next-chain-b200/train/l2_matrix.json new file mode 100644 index 000000000..879ebe919 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/train/l2_matrix.json @@ -0,0 +1,2236 @@ +{ + "schema_version": 1, + "status": "passed", + "scope": "qwen3_next_full_model_l2", + "identity": { + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "checkpoint": "/training-state/exports/reload-2-78a99b209f9b484d845c662b325edbd3", + "weight_version": "reload-2", + "checkpoint_identity": { + "schema_version": 1, + "kind": "qwen3_next_native_hf_export", + "status": "complete", + "weight_version": "reload-2", + "step": 2, + "export_id": "reload-2-78a99b209f9b484d845c662b325edbd3", + "base_checkpoint": "", + "base_checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "training_identity": { + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "checkpoint": "", + "weight_version": "baseline", + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32", + "run_id": "20261009T041838Z-train1-c67ec144-39e7db9f", + "execution_id": "39e7db9f488142f4b52872e05728c390", + "fixture_sha256": "7c98e4e17cc24bd0c5f65f6515d58a9dfc947afcdb6d4956bd3fa05f24bb28b6" + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "model_rank_sha256": [ + "3ddc69fe7e5d977eab4514fa425840b8d398dbec82995091af644724ed19955a", + "e5d5c59ad91481f00b6e76ed8df3e937ec4178a7abc3a40e0d48c1ae6635e388", + "85886f4d00ebf1bf986f6091273d3fa5d6476f7a82866a95c1263abe541f7293", + "f2b03aad2e898c1ee33d8b1e3a146f98a9bf13253a42efd36adc38ba30e35f19" + ], + "model_identity_method": "native_parameter_hashes_after", + "base_passthrough": { + "prefixes": [ + "mtp." + ], + "tensor_count": 1553, + "shards": { + "model-base-passthrough-00001-of-00001.safetensors": { + "source": "model-00041-of-00041.safetensors", + "tensor_count": 1553 + } + }, + "names_sha256": "622080f1d1b3060957aab28c98f5a728d0c1e9b44d624474a752d0dc9a90566d" + }, + "files": { + "STAGING.json": { + "size": 27893, + "sha256": "384ee1dc762332c837c62f93cdf270e888f722e85ce16ea64875b51d30d67354" + }, + "config.json": { + "size": 1154, + "sha256": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303" + }, + "generation_config.json": { + "size": 221, + "sha256": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217" + }, + "merges.txt": { + "size": 1671839, + "sha256": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3" + }, + "model-00001-of-00147.safetensors": { + "size": 4216, + "sha256": "f297513e1c5e05a652b167b82a9e2c48ab5eab9ccc489d9b0db6da892675adbe" + }, + "model-00002-of-00147.safetensors": { + "size": 1073804696, + "sha256": "56881cb4b2774e84ed201d596f5ee3d0e515976cc183ae2e4b0dab1f309bf980" + }, + "model-00003-of-00147.safetensors": { + "size": 2147609384, + "sha256": "3805458f753d090f874a9fb2f128e88b06eb9dc76f89720d340417d707baef4e" + }, + "model-00004-of-00147.safetensors": { + "size": 75839416, + "sha256": "535bc45077380c0bc5e64d3ee680579260f01800e632a159446fde56be2a24bb" + }, + "model-00005-of-00147.safetensors": { + "size": 1073804696, + "sha256": "7a0a70e0683b2b2ae9c9e1b1f6530d71d903f72c5d0e728fde0349a677d4388d" + }, + "model-00006-of-00147.safetensors": { + "size": 2147609384, + "sha256": "11627fc124219e2e2041820dd8c8fab475fb95e1a19095ec052d547395bc8459" + }, + "model-00007-of-00147.safetensors": { + "size": 75839416, + "sha256": "85d06e89815967e1c6081416e1da1523240d09f10b361274b94f8bee365e4a02" + }, + "model-00008-of-00147.safetensors": { + "size": 1073805208, + "sha256": "f7b904408310cfa22313136dafc90a1ecb17c01f1557e06085110df8e49b9a32" + }, + "model-00009-of-00147.safetensors": { + "size": 2147610408, + "sha256": "b22eac5700f7355e6729edc22a939c4eb3786967ec4ab2bd7fb89b5c4bdff01f" + }, + "model-00010-of-00147.safetensors": { + "size": 75839432, + "sha256": "d0db6c52125b5e88bd8aa7034376b27e07a2e591fa76d19229cfe9edaf526c84" + }, + "model-00011-of-00147.safetensors": { + "size": 1073805208, + "sha256": "a69e00b276ce389a78cc587f34a80256ef5712fc532884d034be582255172597" + }, + "model-00012-of-00147.safetensors": { + "size": 2147610408, + "sha256": "6643fdcf4755fef08cab5dfae1d01c108f11b8fc9b921c3014ccb3444f967105" + }, + "model-00013-of-00147.safetensors": { + "size": 62929376, + "sha256": "01827703e357b4ea1426be9f2f268eff5fa2384a94dc4c04126f675d35f1a3fe" + }, + "model-00014-of-00147.safetensors": { + "size": 1073805208, + "sha256": "98f07959e99fafbd601d1df580206a9c8e9672712952a4035e249fbc5a48633c" + }, + "model-00015-of-00147.safetensors": { + "size": 2147610408, + "sha256": "9f35e066490cf90c50d292c2ebaef51de2aba88624af697146150fe8b4b91c58" + }, + "model-00016-of-00147.safetensors": { + "size": 75839432, + "sha256": "99a93a96a4fb7652205192801d5216b5d53354277291ac3cf3044606d078b182" + }, + "model-00017-of-00147.safetensors": { + "size": 1073805208, + "sha256": "216473c456f94f0879da9a8efeff8171fa6a77811c6a494673432f9b37c012cf" + }, + "model-00018-of-00147.safetensors": { + "size": 2147610408, + "sha256": "088aa59119e7f515a4d6a07a262b1140a9635f72133653c0b856974702462515" + }, + "model-00019-of-00147.safetensors": { + "size": 75839432, + "sha256": "2d19a7adf6c05b9469fe1aa08187ec546a2a8e0eca975af7da2e11aabd7f649e" + }, + "model-00020-of-00147.safetensors": { + "size": 1073805208, + "sha256": "c644ae04c5bec2dcfcf09464070df79653c589ed48f8ee78f702cd1bf70474c7" + }, + "model-00021-of-00147.safetensors": { + "size": 2147610408, + "sha256": "db106e82b8c8a145ba3d9d6bae5e318ae860f6ea860e63dfd2027fb316364525" + }, + "model-00022-of-00147.safetensors": { + "size": 75839432, + "sha256": "c64486f83d99c17d6c6a331db6ddfa4331bc4813632ddef6b2ae59a4e680d85a" + }, + "model-00023-of-00147.safetensors": { + "size": 1073805208, + "sha256": "aad4a11beb3623a55b265333cae9a4395b14e0e656e7486e150f17fa8f5239a2" + }, + "model-00024-of-00147.safetensors": { + "size": 2147610408, + "sha256": "a04b9e322dd70e5d164817abc04965862f6b349ea462fece6824b0ea85712e5f" + }, + "model-00025-of-00147.safetensors": { + "size": 62929376, + "sha256": "f17df1ae7ecdcb115bcf455b194aa6aec5d2c2972c85df40602bec6def10d53b" + }, + "model-00026-of-00147.safetensors": { + "size": 1073805208, + "sha256": "9891b4cb4bd0bd1d7613a00c944b1bdfa6b0d5151f4c167de81c30a81fabc246" + }, + "model-00027-of-00147.safetensors": { + "size": 2147610408, + "sha256": "894627b6268e9f8e11e9c6e2c9ded846de49bc43647711d4a94973e0ed14592e" + }, + "model-00028-of-00147.safetensors": { + "size": 75839432, + "sha256": "8a10198a44c6ca8ae0c2da8fd8483fa330fd26f97f895a3ddf7c5bc067d1b8f2" + }, + "model-00029-of-00147.safetensors": { + "size": 1073805208, + "sha256": "8830d3312aeefd6185dea0d3b183da38752253e74da566f4a584aabe1c4cde8a" + }, + "model-00030-of-00147.safetensors": { + "size": 2147610408, + "sha256": "09de4461ab691e78fbcd12b0a26a3e0265453d7cc4d8cfcf9570d9384ffde628" + }, + "model-00031-of-00147.safetensors": { + "size": 75839432, + "sha256": "5e884110ce4902dde296ce50b8948df4eaf3b29d77867ad18e51ea0c78f12ff0" + }, + "model-00032-of-00147.safetensors": { + "size": 1073805208, + "sha256": "47687781ad775d52c445e37a652c48f49a713e07c83f4e55d55384c0a430f0bd" + }, + "model-00033-of-00147.safetensors": { + "size": 2147610408, + "sha256": "81c5d8f4a625703491a13bf41b74eec774e497ae6ee0ef6d5fa49da36a176b66" + }, + "model-00034-of-00147.safetensors": { + "size": 75839432, + "sha256": "1df86f533833ecc51fa637f972f646f91f98308a2b60f0b405a3ee9a228369f4" + }, + "model-00035-of-00147.safetensors": { + "size": 1073805208, + "sha256": "26004a40c3457943df9cbb956196f9157a0521eabe0f9aa196e09f4844ac5f58" + }, + "model-00036-of-00147.safetensors": { + "size": 2147610408, + "sha256": "50c843cc950c3e826d703b325d2a8ec52b3eb79f232e24a95512b3054dfe985d" + }, + "model-00037-of-00147.safetensors": { + "size": 62929376, + "sha256": "a1bd257fe63bad0b11031eb2dc2cf9b2070f2dcecfbaf92768b956aac49f0693" + }, + "model-00038-of-00147.safetensors": { + "size": 1073804696, + "sha256": "ff122722e465d4524182f07fa95588f037aa5bbfa8296ecabce06bffd1a87aa8" + }, + "model-00039-of-00147.safetensors": { + "size": 2147609384, + "sha256": "3f705b190a003935be1d474d7fb4a39464f70a4cc1f0f126d44230bd73f23074" + }, + "model-00040-of-00147.safetensors": { + "size": 75839416, + "sha256": "9483528c5e1f807a19a84b4a5feed4504e362490839dc42378220d86281c5342" + }, + "model-00041-of-00147.safetensors": { + "size": 1073805208, + "sha256": "d44259c0e7fed809da9cf5a02648a8d0130984883ad8ca3a399aaf886aba0a52" + }, + "model-00042-of-00147.safetensors": { + "size": 2147610408, + "sha256": "c25f45e246e5ff464ffbaa70cd4a19feaf7fd1242224d9654e8bc488d746a284" + }, + "model-00043-of-00147.safetensors": { + "size": 75839432, + "sha256": "8bb12d6b340c195e447bc5035c1f74383dd8b0058c579c3b3678037dc3825c88" + }, + "model-00044-of-00147.safetensors": { + "size": 1073805208, + "sha256": "b97d4ff50b85c7ef0510dd801647c93a31b24047c674ab301f525a548afbd5f3" + }, + "model-00045-of-00147.safetensors": { + "size": 2147610408, + "sha256": "89966461fda186e0a059165fa059fc5838ea7a039776edd0c8c2d0f8cf5e2d11" + }, + "model-00046-of-00147.safetensors": { + "size": 75839432, + "sha256": "03a2a3ebb73479c76aa6201db8e26824cf71cc8f2a061e99b11595f59f294e27" + }, + "model-00047-of-00147.safetensors": { + "size": 1073805208, + "sha256": "021ce840d030045a041f36bfb4ba5d77517de923798532726e30e765cc822386" + }, + "model-00048-of-00147.safetensors": { + "size": 2147610408, + "sha256": "50ed385d8799e9aeb8dc58fe8c77a0c70a6b466b6193be85bf953bd80e956ee4" + }, + "model-00049-of-00147.safetensors": { + "size": 75839432, + "sha256": "953d3bf23e3ce26cf8ee377c77b39a1e1e9dc96c383d50886e37b6eda32ca7d9" + }, + "model-00050-of-00147.safetensors": { + "size": 1073805208, + "sha256": "872868c1f4fe074bd7c42e482371c90f474fea0bdcc7a4b6dce9beaafc80c211" + }, + "model-00051-of-00147.safetensors": { + "size": 2147610408, + "sha256": "97f2f15656b20fe6b5f65b42fbf5a2fd18c02bbeec6be98ef9cd044a8e526b1a" + }, + "model-00052-of-00147.safetensors": { + "size": 62929376, + "sha256": "02ff26a993fc1b42d292bca75dfcb4aa453dba596be9752100908bb3509b5121" + }, + "model-00053-of-00147.safetensors": { + "size": 1073805208, + "sha256": "e63cc29a1e3f5f4a5d6177a7f5d955488eace98e55ffc7500de8dfac8147254c" + }, + "model-00054-of-00147.safetensors": { + "size": 2147610408, + "sha256": "8a3fd7b47f9c8e1fb068f58c2b17800e87cd739eb8ea5b47b46681ee823c0bb8" + }, + "model-00055-of-00147.safetensors": { + "size": 75839432, + "sha256": "df0f64fcf66c85d8c3c34b5e67852a32e75ff7b5e48b8a41291fa9fbc1fec397" + }, + "model-00056-of-00147.safetensors": { + "size": 1073805208, + "sha256": "cdefac69a06a5ffecc88fe1866dbb531780bc49fb9fade70e763f16e155ccafe" + }, + "model-00057-of-00147.safetensors": { + "size": 2147610408, + "sha256": "d4bf2b27d828387ec2c95ac8f4b104833b35f6c6e9b7d28a06988c3d9a2ba51e" + }, + "model-00058-of-00147.safetensors": { + "size": 75839432, + "sha256": "392fbe091c5f119ca697d90da73d482291a04685a62149873f49ff7cebfa8796" + }, + "model-00059-of-00147.safetensors": { + "size": 1073805208, + "sha256": "bc682c3d69a69a6259f9ad49e54f3f71e6e717ebbb0df52443ce2ced974af8be" + }, + "model-00060-of-00147.safetensors": { + "size": 2147610408, + "sha256": "4d84ffb6af885eedf2e9ff37c9d0a96537a29c801dcf42d4c1b40d5d77e99464" + }, + "model-00061-of-00147.safetensors": { + "size": 75839432, + "sha256": "23bc528d11c85388fb232c08e376960569798a500e4e81632708a60b9f0248a7" + }, + "model-00062-of-00147.safetensors": { + "size": 1073805208, + "sha256": "aa15b425d646da3f9cfa6c2876f0e1d3574b7f0ea284152d45a043f82a5f7d57" + }, + "model-00063-of-00147.safetensors": { + "size": 2147610408, + "sha256": "18effaab66190034674f71e31f1654ce2897bd22b8e45a12688524c05986c924" + }, + "model-00064-of-00147.safetensors": { + "size": 62929376, + "sha256": "9502c8f8f0accced237be3b397d9e23761080232f7a71d041da0f232179dd607" + }, + "model-00065-of-00147.safetensors": { + "size": 1073805208, + "sha256": "d723746600e84ae5ea8c064bdcbb3923cca64027f5f1d2ceb83ff3fafa3da4a6" + }, + "model-00066-of-00147.safetensors": { + "size": 2147610408, + "sha256": "b73771ae80dbb4265e0bdacfba7e9bce0c2554842b7334982c052b99e07a7aa6" + }, + "model-00067-of-00147.safetensors": { + "size": 75839432, + "sha256": "25e6f603127ba5786697e12628e6ab24db4fcf987e941a19e43be66d38c64d0b" + }, + "model-00068-of-00147.safetensors": { + "size": 1073805208, + "sha256": "785746042bec39462abc260e78968f167e13e4f6739fe6d86b0f995f5d9c76c4" + }, + "model-00069-of-00147.safetensors": { + "size": 2147610408, + "sha256": "f0fc1ba7762a54a62454e78023b167e4c4067ee89d0a6a528a7c814c08ebe6b3" + }, + "model-00070-of-00147.safetensors": { + "size": 75839432, + "sha256": "efc4e36db6185a142ee7b40e517580ae1b8f8e7bb035941a2fb3bff72284a5e6" + }, + "model-00071-of-00147.safetensors": { + "size": 1073804696, + "sha256": "33ce05c567cc4a0bce1fa06e826a39010fdbbc4a4b7b28996a713fe8d7e6defc" + }, + "model-00072-of-00147.safetensors": { + "size": 2147609384, + "sha256": "7a636dc20b5d69453fa4971a2dda321d7927d1de3c47dd0321a8629647bc6c68" + }, + "model-00073-of-00147.safetensors": { + "size": 62929360, + "sha256": "09813f9151c294d521c007dab5980d6bda78b5482f77b91befcdec5923681423" + }, + "model-00074-of-00147.safetensors": { + "size": 1073805208, + "sha256": "572a99f9012e204e21a9bbd46afcc6cd787e099edf65842434ef7e31d0dfdeee" + }, + "model-00075-of-00147.safetensors": { + "size": 2147610408, + "sha256": "ddce5418736fb559a9f498c33b1bc41f142ba34f748cbea7f8198c789f97bcb9" + }, + "model-00076-of-00147.safetensors": { + "size": 75839432, + "sha256": "eb1634ecee78247811b1f8a72eb3d81f8a0b228fb693ba034d9849d59824b452" + }, + "model-00077-of-00147.safetensors": { + "size": 1073805208, + "sha256": "17e147dadf2cc0da2d6ef90cce282304df91a2f1445b8583ddfc776120dd8a73" + }, + "model-00078-of-00147.safetensors": { + "size": 2147610408, + "sha256": "148611aa0fa6e194b13f3de18430ac19a6d2451f5ae8e34938d5d37b419889c3" + }, + "model-00079-of-00147.safetensors": { + "size": 62929376, + "sha256": "ab527b1965121f75e1fa1a5861ce012ce553014176b41ae027074e432cbe88bf" + }, + "model-00080-of-00147.safetensors": { + "size": 1073805208, + "sha256": "2482e15ffe51e77fef00be5f19c874a01b8b6285566ee242685e76f5aa348d97" + }, + "model-00081-of-00147.safetensors": { + "size": 2147610408, + "sha256": "e4efe93a896f3641e117893d145cb63f3cc399a45c25c0357cffadb66421765c" + }, + "model-00082-of-00147.safetensors": { + "size": 75839432, + "sha256": "0c61eb6411df279aff23928f22adccb6bfaa80aec01dbc018942480e059146b7" + }, + "model-00083-of-00147.safetensors": { + "size": 1073805208, + "sha256": "c28e48ff12af6c5b573ddcdc58f77075d2c0fd673e4b1f06582a277ce09cb983" + }, + "model-00084-of-00147.safetensors": { + "size": 2147610408, + "sha256": "718d34a56fc917b71e447f82c4341dae49ed30438f9cf47611b1969d6582bca6" + }, + "model-00085-of-00147.safetensors": { + "size": 75839432, + "sha256": "f36e2b0ca5fd4bc49b7750d23a1c8c5513cafca9e2033ce0ed17ff4e4e9a8a33" + }, + "model-00086-of-00147.safetensors": { + "size": 1073805208, + "sha256": "51057f373efef2130d78079a23c1de9bca838c8b0ae0e13ad0f2c00af908392a" + }, + "model-00087-of-00147.safetensors": { + "size": 2147610408, + "sha256": "dbf26ad3ee227eeab019d64a37d2663b958ef75a443a855ca73b06cb17232737" + }, + "model-00088-of-00147.safetensors": { + "size": 75839432, + "sha256": "e1da79a6406b6d424be747d5cc4361e3a6d7fefbd62d94c6782cbe1a10bc7df4" + }, + "model-00089-of-00147.safetensors": { + "size": 1073805208, + "sha256": "3abbc5d28bf28181f7deb0a0f79d465137b56cf7b40b09aed8fbebb1721f81f8" + }, + "model-00090-of-00147.safetensors": { + "size": 2147610408, + "sha256": "6416617a8cff14af8fa3e6791375883cd2e3c809ef8cfe478e2869e725e5a89a" + }, + "model-00091-of-00147.safetensors": { + "size": 62929376, + "sha256": "4b0e6a5d07831e7e37e73533e677ddb0de9a705778fe5020962d492815a319b6" + }, + "model-00092-of-00147.safetensors": { + "size": 1073805208, + "sha256": "4c5539f8d1194a4b3d957b7f61e6587666c02215765521db933163a367a18391" + }, + "model-00093-of-00147.safetensors": { + "size": 2147610408, + "sha256": "0551ef70a150027e6e123d6e333ba7b45686353c5a7a3be34a9398e01d3e9b5e" + }, + "model-00094-of-00147.safetensors": { + "size": 75839432, + "sha256": "11d96bb282a8015844aee7b3d3d554bc7f7460b22a1a7515215bf86e157047f6" + }, + "model-00095-of-00147.safetensors": { + "size": 1073805208, + "sha256": "ca97e1b71f188cc965ec3ed85d63731819673b22ba903084668791df15a6a1f5" + }, + "model-00096-of-00147.safetensors": { + "size": 2147610408, + "sha256": "d57bdf698cc01b981fa0abddd2a44810543ecfe06890122ee45206dae8467fa0" + }, + "model-00097-of-00147.safetensors": { + "size": 75839432, + "sha256": "8c8fb90ae052525e0a6a529c4fa5ed3b5966b154c4cb6cc2204c7ac460a37ff0" + }, + "model-00098-of-00147.safetensors": { + "size": 1073805208, + "sha256": "45dec9b8a286c801bb21a29e31f9cdd31e7228d6c88558930108b4fa556962e7" + }, + "model-00099-of-00147.safetensors": { + "size": 2147610408, + "sha256": "b7ab1cb4ff2ee1fed08c9d0ed649ae5a886ae46fef694ae86caff933ebdd29cc" + }, + "model-00100-of-00147.safetensors": { + "size": 75839432, + "sha256": "4bb412842e727a1af4aae5ae628f1ce84f013c0fcf43cc9f2d0990f251c33073" + }, + "model-00101-of-00147.safetensors": { + "size": 1073805208, + "sha256": "cda8d307f76761533db21535e863b8fed7989acd728b8f24fbcffc075215d443" + }, + "model-00102-of-00147.safetensors": { + "size": 2147610408, + "sha256": "9143dc00c62f94f4774d895dcd9cba4372acfdda985172ac26a987aaf2fa3c1b" + }, + "model-00103-of-00147.safetensors": { + "size": 62929376, + "sha256": "bb2d588029386f6ca471b45ae726f9e85115732205797b024d033b4560f5b6f6" + }, + "model-00104-of-00147.safetensors": { + "size": 1073804696, + "sha256": "f73356ee3f2c07d21d9bf15ed0e59a106fb223bd6b5d65cbf8ff59d3cb87543a" + }, + "model-00105-of-00147.safetensors": { + "size": 2147609384, + "sha256": "20248a45cc956fde36e4c2d48c391eb4b6d24b272e7ae517d30f1cc759d2b0b6" + }, + "model-00106-of-00147.safetensors": { + "size": 75839416, + "sha256": "908a1d845a7b100a41b9ca9d66fb3d6af7583b75533ae5404bc536ffc7588cea" + }, + "model-00107-of-00147.safetensors": { + "size": 1073805208, + "sha256": "abd0f481fc628a5f6b8749d98cae5a94917bb7113f77b44312a87b788a1ab870" + }, + "model-00108-of-00147.safetensors": { + "size": 2147610408, + "sha256": "abbb9012f71cca747aaf1e0ea6798a2217485ed7095d93d3c2b2fbace45f327b" + }, + "model-00109-of-00147.safetensors": { + "size": 75839432, + "sha256": "5a1dbfa37fdf522c34cb8dd3428d7e6099288be38b6e0d3cf722a5af230bca48" + }, + "model-00110-of-00147.safetensors": { + "size": 1073805208, + "sha256": "ac1334476058a5513aacae4e3a81a6cc752a62d33542bfb0869ca5d3ec06a4fb" + }, + "model-00111-of-00147.safetensors": { + "size": 2147610408, + "sha256": "5e96ed4391dd06b7a146b8e2c02cf9ca37f0ccbd874f8c6926546c8f09e8be8e" + }, + "model-00112-of-00147.safetensors": { + "size": 75839432, + "sha256": "415862be771ff036cb90e963bcb1158d8c0130259c0e32e42a0d5057ca084b18" + }, + "model-00113-of-00147.safetensors": { + "size": 1073805208, + "sha256": "5309f7425fd4d426d4a4c8391436ba135c14ef54f7d78bf4673591967773647c" + }, + "model-00114-of-00147.safetensors": { + "size": 2147610408, + "sha256": "64598a8fceb64b3c05d322691507a35d40284de3c3a79211f6701369fb00535a" + }, + "model-00115-of-00147.safetensors": { + "size": 75839432, + "sha256": "018fcfa76c565623d1ef0e70d83e95e2bfda7b562855403675276756c1c9f925" + }, + "model-00116-of-00147.safetensors": { + "size": 1073805208, + "sha256": "1e33b897d362a2176c1db65b180dc6896e272763aa3299988c1a2a98500b5c16" + }, + "model-00117-of-00147.safetensors": { + "size": 2147610408, + "sha256": "a5d5945eca3855b43e530eee2cf6520135cd4a81902d0e65b57b399c8b411892" + }, + "model-00118-of-00147.safetensors": { + "size": 62929376, + "sha256": "82d22ba211128a60b00e7d3ac8e50f6cb5a0c6bdd38464c76a63921deda4acf3" + }, + "model-00119-of-00147.safetensors": { + "size": 1073805208, + "sha256": "811677ccea68be57c43f443e479eeac1dc40403089104867d7cdca0910fabf17" + }, + "model-00120-of-00147.safetensors": { + "size": 2147610408, + "sha256": "ee2e3cf412bfaad9f3135b6bce6d2b62f8538a6a27ce6bbcf9e6ef9cc72fadb6" + }, + "model-00121-of-00147.safetensors": { + "size": 75839432, + "sha256": "3f609b8675962061c8e77f887e08ca1ee521603f13a6a4b48443f4f63b38b3d6" + }, + "model-00122-of-00147.safetensors": { + "size": 1073805208, + "sha256": "ff803e36f9e4091ad01e6f9349289237e03783071b79dcfa00d91bbe0a382f2a" + }, + "model-00123-of-00147.safetensors": { + "size": 2147610408, + "sha256": "823b463ed443427b61fbdb37cac12afb29360660d9824428f752439cacbac743" + }, + "model-00124-of-00147.safetensors": { + "size": 75839432, + "sha256": "725b2c23ca2d3bee691afa2da4fff278780b9fd92f6c455b1cc7f2e7a972d1bc" + }, + "model-00125-of-00147.safetensors": { + "size": 1073805208, + "sha256": "37d53a1c01af0909ef4b5f54936a3decce53c326bdf306e1d29bfe0bc7a14ea6" + }, + "model-00126-of-00147.safetensors": { + "size": 2147610408, + "sha256": "9daeab452813435db248f768a0dc46bea96bce2389f92ebb4eb493464182ae69" + }, + "model-00127-of-00147.safetensors": { + "size": 75839432, + "sha256": "c3c9d3a05923a5cbb31df6e600e7bb7a3c06e3d023581c8d2c75d440e1ee7701" + }, + "model-00128-of-00147.safetensors": { + "size": 1073805208, + "sha256": "056e682db0ab6ae584f48ab553a2f2568cf73c5a2accf41a6909ebb20ced765d" + }, + "model-00129-of-00147.safetensors": { + "size": 2147610408, + "sha256": "262a2fd8dcd88ebc84c548a77b807c41dc314ebbca71888e25576792033e767b" + }, + "model-00130-of-00147.safetensors": { + "size": 62929376, + "sha256": "e34e22a2b0130e060487ad6224efd7d25567d73412b2a02ee3f615a6b98fef68" + }, + "model-00131-of-00147.safetensors": { + "size": 1073804696, + "sha256": "ec834d03238c9fd9b610de95c4dfe082ed9199a5c7c2edb772c81f9b91d3f4f6" + }, + "model-00132-of-00147.safetensors": { + "size": 2147609384, + "sha256": "535b686df09b832b039cd37c57d177e24e06e8c3b98564cf94a434c0b197d6bc" + }, + "model-00133-of-00147.safetensors": { + "size": 75839416, + "sha256": "e63a4efbb4c25edadfe0223c65314f1ffb611d5dd596e4ae1a678ee4a43bfff3" + }, + "model-00134-of-00147.safetensors": { + "size": 1073804696, + "sha256": "cf651ad3cecdcf8808ef041aff5eb622ed480007b936c801570008467b29610d" + }, + "model-00135-of-00147.safetensors": { + "size": 2147609384, + "sha256": "dcbe086aa112a81494dea3e41e9074c87559739bda76ca08710be82d60620fc1" + }, + "model-00136-of-00147.safetensors": { + "size": 75839416, + "sha256": "89e8fa27220b6c155d9b2020891c60eab1188eb4a0d980ccbf24c48b05c36bdf" + }, + "model-00137-of-00147.safetensors": { + "size": 1073804696, + "sha256": "b1d8f68c8214a510e2d8453dbfb155468ea1eb9459b765556779d69017d7491f" + }, + "model-00138-of-00147.safetensors": { + "size": 2147609384, + "sha256": "e933c180865b8b17b730984169a2587e9ac415e322525f23b8142e1e9da08525" + }, + "model-00139-of-00147.safetensors": { + "size": 62929360, + "sha256": "e1aeeefbaa6bbc9761c9beb88365972a56c6e871e359dca6a89c6d0a04c9169d" + }, + "model-00140-of-00147.safetensors": { + "size": 1073804696, + "sha256": "158bc9a21d875b145ff7eae574e016aa55602a866ec33521ab0d66faf284c3a9" + }, + "model-00141-of-00147.safetensors": { + "size": 2147609384, + "sha256": "03e1383a9a707cb3192341815b320b1d404b3398da473a16b91545c53c3a09be" + }, + "model-00142-of-00147.safetensors": { + "size": 75839416, + "sha256": "0bf27292f331dde74acdac6c3cbbd793d613f981b7356b45431018b4c5f35a74" + }, + "model-00143-of-00147.safetensors": { + "size": 1073804696, + "sha256": "94ee318952036a9d05849c115b392a513f3f970d00e0801200081a2006661e12" + }, + "model-00144-of-00147.safetensors": { + "size": 2147609384, + "sha256": "07226c34b635325a941df32196cc623fdea90ab4d34d96b19f18dca973ab4526" + }, + "model-00145-of-00147.safetensors": { + "size": 75839416, + "sha256": "118d57769561149f012aa99bb24e0615643eb3067a7baea436896eaf51347ff4" + }, + "model-00146-of-00147.safetensors": { + "size": 622329992, + "sha256": "2e4b51e71f585ae837f03c4236d911241a24c665be7a86f8368f36b5ccfe3c39" + }, + "model-00147-of-00147.safetensors": { + "size": 622329984, + "sha256": "5beb2069dff6c8e4bb8963b8e956b8e6db4f822c4e186ffeaf898ba0d2681cd2" + }, + "model-base-passthrough-00001-of-00001.safetensors": { + "size": 3301131328, + "sha256": "65190abf2f9cc7597a3e72c464f1f184d5e11820582a40b7ebd6977ae5273d2f" + }, + "model.safetensors.index.json": { + "size": 6922711, + "sha256": "f7a1d9a95b13a01cd482df0d992abb643b1ca4e3218acf22bd4795dc5a9d8661" + }, + "tokenizer.json": { + "size": 11422654, + "sha256": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4" + }, + "tokenizer_config.json": { + "size": 9377, + "sha256": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3" + }, + "vocab.json": { + "size": 2776833, + "sha256": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + } + }, + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "f7a1d9a95b13a01cd482df0d992abb643b1ca4e3218acf22bd4795dc5a9d8661", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "weight_schema_sha256": "babe9f7e7cf398ad6a8607ee03bb6549139b26fcdd919bb65e9d22b059536361", + "tensor_count": 75944, + "weights_content_sha256": "fd988d83f4741a74b43f642fb6f2f21a984b998694b20bf05964422a260b68db" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32", + "base_checkpoint": "", + "base_checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + } + }, + "fixture": { + "path": "/inputs/frozen.pt", + "sha256": "a8fc79cea6c76e5989743429b76811b3a93b6b85e1eb7f03164c9850c50f1ca8", + "content_sha256": "b59298acf5ecbe64abb4639e7596e052f1993ee5e3c7289b63738f1b04463d01" + }, + "case_ids": [ + "p0008-b1-full", + "p0008-b1-chunked", + "p0008-b4-full", + "p0008-b4-chunked", + "p0064-b1-full", + "p0064-b1-chunked", + "p0064-b4-full", + "p0064-b4-chunked", + "p0256-b1-full", + "p0256-b1-chunked", + "p0256-b4-full", + "p0256-b4-chunked", + "p1024-b1-full", + "p1024-b1-chunked", + "p1024-b4-full", + "p1024-b4-chunked" + ], + "cases": { + "p0008-b1-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/rollout/p0008-b1-full.pt", + "sha256": "60312bd94bc50a7dc19384b9e34f774fdd870e79ad5f694315a44183180aeb36" + }, + "recompute": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/recompute/p0008-b1-full.pt", + "sha256": "1dd9569d9fc50c295f3d9c5dcb977a13130c5560e75e8e9de4d366179725f347" + } + } + }, + "p0008-b1-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/rollout/p0008-b1-chunked.pt", + "sha256": "1af6f1d16f7df076a603e3c0bc36d9c7d4204b80e9a59bb5f9562e1c8bdc1057" + }, + "recompute": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/recompute/p0008-b1-chunked.pt", + "sha256": "9d3b05b66a61e96f6e611a10892fe5650af74128e3db550c8d0340002e894245" + } + } + }, + "p0008-b4-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/rollout/p0008-b4-full.pt", + "sha256": "f77ff0f5fbcb9ee61a27445ae8c1cbee9708c8c3ae1477d44acc19af6e8f2547" + }, + "recompute": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/recompute/p0008-b4-full.pt", + "sha256": "88cd0993a547670bf152a3e157e0f05660ea6ec0b85504810a41a4eb024966ea" + } + } + }, + "p0008-b4-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/rollout/p0008-b4-chunked.pt", + "sha256": "ca07158712b22c75ae1f5a28e53f460fa588edcd319b8df9af5ee37529a11079" + }, + "recompute": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/recompute/p0008-b4-chunked.pt", + "sha256": "631000615012b9152687e0e2081f9065ba9951677cf34bb095e6f964a84dd3b8" + } + } + }, + "p0064-b1-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/rollout/p0064-b1-full.pt", + "sha256": "17eb457a24b6c18793e8638f4d1ab413a61f1bffd2b230ed9ca3efea44e4946e" + }, + "recompute": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/recompute/p0064-b1-full.pt", + "sha256": "0a1855ffbb676285ec28148412dd7e1109f9f3a90510ffc282807797035a0d77" + } + } + }, + "p0064-b1-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/rollout/p0064-b1-chunked.pt", + "sha256": "fa86df15c73037b1874708b4d3409d80c7c4b9acad273858d1c4e65887356dc3" + }, + "recompute": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/recompute/p0064-b1-chunked.pt", + "sha256": "6b2ada463357dfdc2110459b18f10bbc846780d980cf9b3f0a32939f4688bbab" + } + } + }, + "p0064-b4-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/rollout/p0064-b4-full.pt", + "sha256": "9ed6636d71b9b70aa9ff076c23fa544fb356e75391993745814a183844b68197" + }, + "recompute": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/recompute/p0064-b4-full.pt", + "sha256": "723a543d610521b8537866da2362ff232e88e7e81311551fe1e855c96298191a" + } + } + }, + "p0064-b4-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/rollout/p0064-b4-chunked.pt", + "sha256": "2cb6a0d2384af07b5200c81e60d9432e00d28e07f2c517bfea967fe9dfa25fe2" + }, + "recompute": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/recompute/p0064-b4-chunked.pt", + "sha256": "cd66899e0aad07ba379b03bbd3fbb83ec67c8300ebcfed463567d21eb0f7cbe5" + } + } + }, + "p0256-b1-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/rollout/p0256-b1-full.pt", + "sha256": "a69e96c2d941b3d09e60d3b8ba2d5c10953b2099653c46e4e5fc80a6bbef525d" + }, + "recompute": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/recompute/p0256-b1-full.pt", + "sha256": "5951ee4ce6760ee6f8c6686f0c0365ada21049fa712386381e732fef654a9944" + } + } + }, + "p0256-b1-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/rollout/p0256-b1-chunked.pt", + "sha256": "316405eee52a661eecf65d557d4af8abf66f2d85afc97e320a80e33a0373fe90" + }, + "recompute": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/recompute/p0256-b1-chunked.pt", + "sha256": "d39142d681d773f8ac300f72dfd6e470cb1edc6eeda8e1b52184f15a8496730f" + } + } + }, + "p0256-b4-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/rollout/p0256-b4-full.pt", + "sha256": "f716d89e9461687b7da3249c4913d6291764b85fa479aeb830fe36c6f3b9b625" + }, + "recompute": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/recompute/p0256-b4-full.pt", + "sha256": "a2e83c3ef3b92bb1e01e4e79bcb00c324764d3516cee38cd91776ee4cd0ea284" + } + } + }, + "p0256-b4-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/rollout/p0256-b4-chunked.pt", + "sha256": "5d1d4e0b2e83fd96f62341f71b49f04dd801773231028bbf5325b7526377ce72" + }, + "recompute": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/recompute/p0256-b4-chunked.pt", + "sha256": "a124e4560b84cd16427f3d817c71976773b1c2ea667d6cdc835c591612cd6bb8" + } + } + }, + "p1024-b1-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/rollout/p1024-b1-full.pt", + "sha256": "a0d73a287b43b834afb617f39a59f8abd0d1bd5978a0bdb300a152f0c76381bb" + }, + "recompute": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/recompute/p1024-b1-full.pt", + "sha256": "8a3ad53281e27fb377cd6da45a501ad0024a4e4ad78dfaba215914bff4b81d2d" + } + } + }, + "p1024-b1-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/rollout/p1024-b1-chunked.pt", + "sha256": "0ce643de41d46c652fad5494e4db7bf79056908832e0b0e79ab9b5a34cd7bdba" + }, + "recompute": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/recompute/p1024-b1-chunked.pt", + "sha256": "70d5a7ccec42b4898ed08979452474b59dcc1040ad9b9ab65b101ffeb017ba4c" + } + } + }, + "p1024-b4-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/rollout/p1024-b4-full.pt", + "sha256": "657a0666eb80f227179b34b636c16c5a00baeb5ee08c20e94b65f3f66b8b3a2c" + }, + "recompute": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/recompute/p1024-b4-full.pt", + "sha256": "a3a5f20a5ebff97ed5b0e8f5c9ae08b8683573d93cbe3c2740a3dc1549e3b6c3" + } + } + }, + "p1024-b4-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/rollout/p1024-b4-chunked.pt", + "sha256": "d684975102c6c3789bee6911c5c33c86ec94d2d6095d1b16f47258c0ed7db10a" + }, + "recompute": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/recompute/p1024-b4-chunked.pt", + "sha256": "d9f7ab15056d3d534fd85fca13c47b805b64d2dd9f3c57019f2f0e73a21218c8" + } + } + } + }, + "processes": { + "rollout": { + "pid": 1455011, + "exit_code": 0, + "log": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/rollout.log", + "gpu_release_verified": true + }, + "recompute": { + "pid": 1477736, + "exit_code": 0, + "log": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/recompute.log", + "gpu_release_verified": true + } + }, + "worker_results": { + "rollout": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/rollout/worker-result.json", + "sha256": "2d26fa53d71c22a501e0a1c26002be9aa540224ef2f089eb39d6fa57afcda90e" + }, + "recompute": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/recompute/worker-result.json", + "sha256": "dca8819a512f5415be59fab2ff6a75dfcfdb174ac4286377412ab87275b2e4b1" + } + }, + "raw_bit_comparison": true, + "logits_dtype": "bfloat16", + "logprobs_dtype": "float32", + "response_length": 16, + "vocab_size": 151936, + "provider_binary": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/provider-binary.json", + "sha256": "195661be4da36f46f3a07a7149242374ba302250b4ee9ce4aa678d705dfcfe2e" + } +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/train/operators.json b/docs/usage/evidence/qwen3-next-chain-b200/train/operators.json new file mode 100644 index 000000000..500251cce --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/train/operators.json @@ -0,0 +1,304 @@ +{ + "scope": "qwen3_next_operators_only", + "status": "passed", + "suite": "all", + "diagnostic_only": false, + "full_model_l2": "not_evaluated", + "git_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "git_dirty": false, + "versions": { + "torch": "2.13.0", + "vllm": "0.30.0", + "transformers": "5.17.0", + "triton": "3.7.1" + }, + "mandatory_case_ids": [ + "tests/check_qwen3_next_attention.py::test_d256_backward_with_cached_prefix_matches_float64_formula", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[1024]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[256]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[64]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[8]", + "tests/check_qwen3_next_attention.py::test_d256_input_device_guard_and_nondefault_stream", + "tests/check_qwen3_next_attention.py::test_native_backward_rejects_malformed_probability_and_gradient_buffers", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[0]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[2]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_target_inputs_do_not_depend_on_companions", + "tests/check_qwen3_next_batch_invariance.py::test_triton_chunked_prefill_is_batch_invariant", + "tests/check_qwen3_next_conv_bridge.py::test_chunked_and_reordered_sequences_match", + "tests/check_qwen3_next_conv_bridge.py::test_empty_sequence_preserves_cache_and_gradients", + "tests/check_qwen3_next_conv_bridge.py::test_response_gradient_reaches_prompt_and_convolution_weight", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths0]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths1]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths2]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-4]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[1]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[4]", + "tests/check_qwen3_next_core_matrix.py::test_variable_lengths_empty_and_mixed_step_match_independent_sequences", + "tests/check_qwen3_next_forward.py::test_combine_has_fixed_route_order_and_differentiable_weights", + "tests/check_qwen3_next_forward.py::test_full_vocabulary_logprob_entropy_modes_and_gradient", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_fail_closed_on_the_tensor_descriptor_path", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[128]", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[512]", + "tests/check_qwen3_next_forward.py::test_logprob_nan_rejected_before_comparison", + "tests/check_qwen3_next_forward.py::test_moe_vjp_matches_independent_double_formula", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[1024-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[128-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-16]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-256]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-3072]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-37984]", + "tests/check_qwen3_next_forward.py::test_qwen_moe_actual_tp4_shapes_and_independent_training_forward", + "tests/check_qwen3_next_forward.py::test_route_weights_are_batch_invariant", + "tests/check_qwen3_next_forward.py::test_shared_linear_vjp_and_empty_tokens", + "tests/check_qwen3_next_forward.py::test_stable_route_tie_boundary_and_router_gradient", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_backward_matches_recomputed_recurrence_vjp", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_forward_is_provider_exact_and_does_not_mutate_inputs", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_keeps_prompt_state_gradient_through_response", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[False]", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[True]", + "tests/check_qwen3_next_gdn_bridge.py::test_initial_state_vjp_matches_provider_directional_difference", + "tests/check_qwen3_next_gdn_sequence.py::test_1024_token_chunk_continuation_is_bitwise_exact", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad0]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad1]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad2]", + "tests/check_qwen3_next_gdn_sequence.py::test_chunk_boundary_retains_prompt_and_initial_state_gradients", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths0]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths1]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths2]", + "tests/check_qwen3_next_gdn_sequence.py::test_reserved_and_duplicate_slots_are_rejected", + "tests/check_qwen3_next_norm_providers.py::test_custom_op_has_distinct_native_and_cuda_paths", + "tests/check_qwen3_next_norm_providers.py::test_gdn_decode_provider_env_defaults_are_recorded", + "tests/check_qwen3_next_norm_providers.py::test_our_gated_op_is_batch_invariant", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_cuda]", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_native]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots0]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots2]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots3]", + "tests/check_qwen3_next_shared_core.py::test_independent_training_forward_matches_inference_and_retains_gradients", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[1024]", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[8]", + "tests/check_qwen3_next_shared_core.py::test_unimplemented_provider_profile_is_rejected", + "tests/test_qwen3_next_norm.py::test_bad_weight_shape_raises", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[16]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[1]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[2]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[32]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[48]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[64]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[8]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[128]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[2048]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_with_padding", + "tests/test_qwen3_next_norm.py::test_call_matches_forward", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[128]", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[2048]", + "tests/test_qwen3_next_norm.py::test_cuda_default_offset_preserves_plain_convention", + "tests/test_qwen3_next_norm.py::test_cuda_gated_backward_matches_autograd_golden", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_matches_golden_within_contract", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_bad_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_mismatched_gate", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_backward_uses_the_sigmoid_derivative", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_swish_is_an_alias_for_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_unit_weight_is_plain_norm_times_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_weight_offset_is_applied_in_fp32", + "tests/test_qwen3_next_norm.py::test_cuda_gated_wrapper_rejects_equal_numel_wrong_shape", + "tests/test_qwen3_next_norm.py::test_cuda_gated_zero_gate_zeroes_output", + "tests/test_qwen3_next_norm.py::test_cuda_offset_equals_explicit_fp32_weight", + "tests/test_qwen3_next_norm.py::test_cuda_offset_is_not_folded_through_bfloat16", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_backward_is_offset_aware", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_within_tolerance_of_golden", + "tests/test_qwen3_next_norm.py::test_deterministic_repeat", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype0]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype1]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype2]", + "tests/test_qwen3_next_norm.py::test_eps_inside_sqrt", + "tests/test_qwen3_next_norm.py::test_gated_batch_invariance_slice", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedHFOp]", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedOp]", + "tests/test_qwen3_next_norm.py::test_gated_conventions_diverge_in_low_precision", + "tests/test_qwen3_next_norm.py::test_gated_cuda_op_rejects_bad_activation_at_construction", + "tests/test_qwen3_next_norm.py::test_gated_extension_handles_empty_batch_and_nondefault_stream", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[dy_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[gate_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[rstd_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_shape]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_matches_hf_formula_fp32", + "tests/test_qwen3_next_norm.py::test_gated_shape_mismatch_raises", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_strict_matches_vllm_formula_fp32", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[128]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[2048]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_offset_applied_in_fp32_not_folded_into_bf16", + "tests/test_qwen3_next_norm.py::test_op_batch_invariance_on_device", + "tests/test_qwen3_next_norm.py::test_plain_reference_is_unchanged_by_the_offset_plumbing", + "tests/test_qwen3_next_norm.py::test_weight_offset_is_one", + "tests/test_qwen3_next_norm.py::test_zero_centred_cuda_constructor_rejects_missing_extension", + "tests/test_qwen3_next_norm.py::test_zero_centred_op_inherits_the_plain_reference", + "tests/test_qwen3_next_norm.py::test_zero_weight_is_identity_scaling" + ], + "case_ids_sha256": "694c931b65f9cfa5db963f2eca6d11bd309546c824a1df52f9da2ab128e83e0f", + "pytest_exit_code": 0, + "provider_tests": { + "tests": 233, + "failures": 0, + "errors": 0, + "skipped": 0 + }, + "norm_gates": { + "qwen3_next_rms_norm-forward.json": { + "passed": true, + "exit_code": 0, + "workload": { + "workload_id": "qwen3-next-80b-a3b-norm-c3-c4-v1", + "scope": "qwen3_next_norm_operators", + "fixture_identity_sha256": "3ac9490ffbb1486edac6ea509811fd4d5affbe880b208bd7d9b052b0ce418442", + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "full_model_evidence": false + } + }, + "qwen3_next_rms_norm-gradient.json": { + "passed": true, + "exit_code": 0, + "workload": { + "workload_id": "qwen3-next-80b-a3b-norm-c3-c4-v1", + "scope": "qwen3_next_norm_operators", + "fixture_identity_sha256": "3ac9490ffbb1486edac6ea509811fd4d5affbe880b208bd7d9b052b0ce418442", + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "full_model_evidence": false + } + }, + "rms_norm_gated-forward.json": { + "passed": true, + "exit_code": 0, + "workload": { + "workload_id": "qwen3-next-80b-a3b-norm-c3-c4-v1", + "scope": "qwen3_next_norm_operators", + "fixture_identity_sha256": "3ac9490ffbb1486edac6ea509811fd4d5affbe880b208bd7d9b052b0ce418442", + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "full_model_evidence": false + } + }, + "rms_norm_gated-gradient.json": { + "passed": true, + "exit_code": 0, + "workload": { + "workload_id": "qwen3-next-80b-a3b-norm-c3-c4-v1", + "scope": "qwen3_next_norm_operators", + "fixture_identity_sha256": "3ac9490ffbb1486edac6ea509811fd4d5affbe880b208bd7d9b052b0ce418442", + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "full_model_evidence": false + } + } + } +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/train/reload.json b/docs/usage/evidence/qwen3-next-chain-b200/train/reload.json new file mode 100644 index 000000000..a4863e79b --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/train/reload.json @@ -0,0 +1,2021 @@ +{ + "schema_version": 1, + "status": "passed", + "scope": "qwen3_next_training_and_reload", + "identity": { + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "checkpoint": "", + "weight_version": "baseline", + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32" + }, + "training_identity": { + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "checkpoint": "", + "weight_version": "baseline", + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32", + "run_id": "20261009T041838Z-train1-c67ec144-39e7db9f", + "execution_id": "39e7db9f488142f4b52872e05728c390", + "fixture_sha256": "7c98e4e17cc24bd0c5f65f6515d58a9dfc947afcdb6d4956bd3fa05f24bb28b6" + }, + "required_sections": [ + "baseline", + "update1", + "update2", + "reload", + "continuous_step3", + "resumed_step3", + "checkpoint", + "fault_injection" + ], + "l2_fixture_sha256": "b59298acf5ecbe64abb4639e7596e052f1993ee5e3c7289b63738f1b04463d01", + "l2_reports": { + "baseline": { + "path": "/attempts/0/l2-matrix.json", + "sha256": "bf9da6060e882fb3707df9093e63a4c6e6664e8a75f25e9809020c4f687bf953" + }, + "update1": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/l2-matrix.json", + "sha256": "ad78b78687d2ef725a24b42de908033b36383f69db41d2c754f87acb07cd9870" + }, + "update2": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/l2-matrix.json", + "sha256": "e8b9ee250133e40cf2f28134bb4b77f6ec18bb970c37a9702590284e2c570893" + }, + "reload": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/l2-matrix.json", + "sha256": "93f6e8ca16a9286945b73fd46888b72db923454be730edde5232a3ffb041b414" + } + }, + "workers": { + "update1": { + "path": "/attempts/0/update1-2c4f847affb0420d9622f1b699393898/worker.json", + "sha256": "b2c74ebcb2b5e538bbaf5e50439615722f26876df3cd34610ded097ee6102436" + }, + "update2": { + "path": "/attempts/0/update2-57420c4714024856bad2f2d1fa960e15/worker.json", + "sha256": "b30f31ad229c12f2c710a5267f9c8eea37ff9da08a2681158279633e2777cf47" + }, + "reload": { + "path": "/attempts/0/reload-562bd948210c4256a10db68a19bdd77e/worker.json", + "sha256": "447b8ac6d7cb5db7e5996f6a8ea7b1a496e51354fce80a38540297af524d6271" + }, + "continuous": { + "path": "/attempts/0/continuous-77caf14fe2b842108f863c8cd8d7f67c/worker.json", + "sha256": "d7a2a3feb4fda03e2f7c0badf8a352c6519eec63114e60373b33d71212f051b9" + }, + "resumed": { + "path": "/attempts/0/resumed-4b438816c03647029cdfeebe981bb0ed/worker.json", + "sha256": "8cb5be8b9ec2c49425af9e2725ca3bc972456f6f66454f9820d066e25f34e02a" + } + }, + "events": [ + "l2:baseline", + "worker:update1", + "l2:update1", + "worker:update2", + "l2:update2", + "worker:reload", + "l2:reload", + "worker:continuous", + "worker:resumed" + ], + "recovery": [ + { + "schema_version": 1, + "scope": "qwen3_next_retirement", + "identity": { + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "checkpoint": "", + "weight_version": "baseline", + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32", + "run_id": "20261009T041838Z-train1-c67ec144-39e7db9f", + "execution_id": "39e7db9f488142f4b52872e05728c390", + "fixture_sha256": "7c98e4e17cc24bd0c5f65f6515d58a9dfc947afcdb6d4956bd3fa05f24bb28b6" + }, + "target": "step-00000002-8e604f14d0b04929abfbfb8e584b39bf.partial", + "tombstone": ".step-00000002-8e604f14d0b04929abfbfb8e584b39bf.partial.deleting", + "status": "retired", + "proof": { + "schema_version": 1, + "scope": "qwen3_next_staging_intent", + "identity": { + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "checkpoint": "", + "weight_version": "baseline", + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32", + "run_id": "20261009T041838Z-train1-c67ec144-39e7db9f", + "execution_id": "39e7db9f488142f4b52872e05728c390", + "fixture_sha256": "7c98e4e17cc24bd0c5f65f6515d58a9dfc947afcdb6d4956bd3fa05f24bb28b6" + }, + "staging": "step-00000002-8e604f14d0b04929abfbfb8e584b39bf.partial", + "published": "step-00000002-8e604f14d0b04929abfbfb8e584b39bf", + "metadata": { + "schema_version": 1, + "scope": "native_vime_training_checkpoint", + "status": "staging", + "identity": { + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "checkpoint": "", + "weight_version": "baseline", + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32", + "run_id": "20261009T041838Z-train1-c67ec144-39e7db9f", + "execution_id": "39e7db9f488142f4b52872e05728c390", + "fixture_sha256": "7c98e4e17cc24bd0c5f65f6515d58a9dfc947afcdb6d4956bd3fa05f24bb28b6" + }, + "step": 2, + "sample_position": 8 + } + } + }, + { + "reason": "repeat_final_reload_and_controls_in_fresh_train_run", + "from_attempt": "0", + "to_attempt": "retired-for-fresh-train-run", + "events": [ + "worker:reload", + "l2:reload", + "worker:continuous", + "worker:resumed" + ], + "workers": { + "reload": { + "path": "/20261009T215349Z-train-c67ec144-779ba23f/attempts/0/reload-359caafa0c484faba4a052c355c59259/worker.json", + "sha256": "1d3707e09137bc856206dd4630575be64ed5c891928195682f189803bc550a39" + }, + "continuous": { + "path": "/20261009T215349Z-train-c67ec144-779ba23f/attempts/0/continuous-b9d0eedd6f804e8da5d51bc6a6763497/worker.json", + "sha256": "f00a92b1d4fde215aef304f5d22d6dad40c86d3ec2a34102a7c65d0b3b8616b1" + }, + "resumed": { + "path": "/20261010T112219Z-train-c67ec144-40996158/attempts/0/resumed-4c0c9f145a3b4a3c882d778bc4817e0b/worker.json", + "sha256": "3b137d58e33af3056265c08abcb9964bdf0f6313dff439f6fce367fea14cb767" + } + }, + "l2_report": { + "path": "/20261009T215349Z-train-c67ec144-779ba23f/attempts/0/reload-l2-877b875589944f6691279aa5d21d6076/l2-matrix.json", + "sha256": "e2857dc09998840674af4f12ced018439b5fffc42f74530860d6bf22cbc8e4b1" + } + }, + { + "reason": "repeat_final_reload_and_controls_in_fresh_train_run", + "from_attempt": "0", + "to_attempt": "retired-for-fresh-train-run", + "events": [ + "worker:reload", + "l2:reload" + ], + "workers": { + "reload": { + "path": "/20261010T131621Z-train-c67ec144-219cc1ac/attempts/0/reload-ef19c6c64157400a84f8a0ed0e579996/worker.json", + "sha256": "85cd41ecb5f52ed55febf74a62150c399299f63800117775f7047f381cd606c3" + } + }, + "l2_report": { + "path": "/20261010T131621Z-train-c67ec144-219cc1ac/attempts/0/reload-l2-fc6185ab0eb740d58ff153cb0c40c44a/l2-matrix.json", + "sha256": "1076eb467b5fb0b97982b8a31ff3b03aec5858cb43ea5f50eee5e5120ae34356" + } + } + ], + "reload_matches_update2": { + "status": "passed", + "raw_bit_comparison": true, + "case_ids": [ + "p0008-b1-full", + "p0008-b1-chunked", + "p0008-b4-full", + "p0008-b4-chunked", + "p0064-b1-full", + "p0064-b1-chunked", + "p0064-b4-full", + "p0064-b4-chunked", + "p0256-b1-full", + "p0256-b1-chunked", + "p0256-b4-full", + "p0256-b4-chunked", + "p1024-b1-full", + "p1024-b1-chunked", + "p1024-b4-full", + "p1024-b4-chunked" + ], + "cases": { + "p0008-b1-full": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p0008-b1-chunked": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p0008-b4-full": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p0008-b4-chunked": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p0064-b1-full": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p0064-b1-chunked": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p0064-b4-full": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p0064-b4-chunked": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p0256-b1-full": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p0256-b1-chunked": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p0256-b4-full": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p0256-b4-chunked": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p1024-b1-full": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p1024-b1-chunked": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p1024-b4-full": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p1024-b4-chunked": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + } + } + }, + "checkpoint": { + "path": "/training-state/checkpoints/step-00000002-3bce5b5d91b045a1bbdb4f8ef235d1b6", + "sha256": "8906eaf4e2bee9d1aec783a6086e1a09b89b7da1a37525c6464aa922fec0e691" + }, + "fault_injection": { + "path": "/attempts/0/checkpoint-faults/faults.json", + "sha256": "7db734f99dc3d6d9b23569aced1062b09cd22ae9ac4531a8eee03939a8bfcd52" + }, + "attempt": "0" +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/train/result.json b/docs/usage/evidence/qwen3-next-chain-b200/train/result.json new file mode 100644 index 000000000..5eada5e19 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/train/result.json @@ -0,0 +1,776 @@ +{ + "contract_version": 4, + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "cuda_identity": { + "home": "", + "nvcc_sha256": "b8e2347d9d7fcadf8812a27324d515de99d033d3e48611811ece7e66d7895f8a" + }, + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "operator_requirements": { + "suite": "all", + "case_ids": [ + "tests/check_qwen3_next_attention.py::test_d256_backward_with_cached_prefix_matches_float64_formula", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[1024]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[256]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[64]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[8]", + "tests/check_qwen3_next_attention.py::test_d256_input_device_guard_and_nondefault_stream", + "tests/check_qwen3_next_attention.py::test_native_backward_rejects_malformed_probability_and_gradient_buffers", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[0]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[2]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_target_inputs_do_not_depend_on_companions", + "tests/check_qwen3_next_batch_invariance.py::test_triton_chunked_prefill_is_batch_invariant", + "tests/check_qwen3_next_conv_bridge.py::test_chunked_and_reordered_sequences_match", + "tests/check_qwen3_next_conv_bridge.py::test_empty_sequence_preserves_cache_and_gradients", + "tests/check_qwen3_next_conv_bridge.py::test_response_gradient_reaches_prompt_and_convolution_weight", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths0]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths1]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths2]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-4]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[1]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[4]", + "tests/check_qwen3_next_core_matrix.py::test_variable_lengths_empty_and_mixed_step_match_independent_sequences", + "tests/check_qwen3_next_forward.py::test_combine_has_fixed_route_order_and_differentiable_weights", + "tests/check_qwen3_next_forward.py::test_full_vocabulary_logprob_entropy_modes_and_gradient", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_fail_closed_on_the_tensor_descriptor_path", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[128]", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[512]", + "tests/check_qwen3_next_forward.py::test_logprob_nan_rejected_before_comparison", + "tests/check_qwen3_next_forward.py::test_moe_vjp_matches_independent_double_formula", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[1024-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[128-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-16]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-256]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-3072]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-37984]", + "tests/check_qwen3_next_forward.py::test_qwen_moe_actual_tp4_shapes_and_independent_training_forward", + "tests/check_qwen3_next_forward.py::test_route_weights_are_batch_invariant", + "tests/check_qwen3_next_forward.py::test_shared_linear_vjp_and_empty_tokens", + "tests/check_qwen3_next_forward.py::test_stable_route_tie_boundary_and_router_gradient", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_backward_matches_recomputed_recurrence_vjp", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_forward_is_provider_exact_and_does_not_mutate_inputs", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_keeps_prompt_state_gradient_through_response", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[False]", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[True]", + "tests/check_qwen3_next_gdn_bridge.py::test_initial_state_vjp_matches_provider_directional_difference", + "tests/check_qwen3_next_gdn_sequence.py::test_1024_token_chunk_continuation_is_bitwise_exact", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad0]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad1]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad2]", + "tests/check_qwen3_next_gdn_sequence.py::test_chunk_boundary_retains_prompt_and_initial_state_gradients", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths0]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths1]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths2]", + "tests/check_qwen3_next_gdn_sequence.py::test_reserved_and_duplicate_slots_are_rejected", + "tests/check_qwen3_next_norm_providers.py::test_custom_op_has_distinct_native_and_cuda_paths", + "tests/check_qwen3_next_norm_providers.py::test_gdn_decode_provider_env_defaults_are_recorded", + "tests/check_qwen3_next_norm_providers.py::test_our_gated_op_is_batch_invariant", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_cuda]", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_native]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots0]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots2]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots3]", + "tests/check_qwen3_next_shared_core.py::test_independent_training_forward_matches_inference_and_retains_gradients", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[1024]", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[8]", + "tests/check_qwen3_next_shared_core.py::test_unimplemented_provider_profile_is_rejected", + "tests/test_qwen3_next_norm.py::test_bad_weight_shape_raises", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[16]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[1]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[2]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[32]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[48]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[64]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[8]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[128]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[2048]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_with_padding", + "tests/test_qwen3_next_norm.py::test_call_matches_forward", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[128]", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[2048]", + "tests/test_qwen3_next_norm.py::test_cuda_default_offset_preserves_plain_convention", + "tests/test_qwen3_next_norm.py::test_cuda_gated_backward_matches_autograd_golden", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_matches_golden_within_contract", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_bad_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_mismatched_gate", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_backward_uses_the_sigmoid_derivative", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_swish_is_an_alias_for_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_unit_weight_is_plain_norm_times_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_weight_offset_is_applied_in_fp32", + "tests/test_qwen3_next_norm.py::test_cuda_gated_wrapper_rejects_equal_numel_wrong_shape", + "tests/test_qwen3_next_norm.py::test_cuda_gated_zero_gate_zeroes_output", + "tests/test_qwen3_next_norm.py::test_cuda_offset_equals_explicit_fp32_weight", + "tests/test_qwen3_next_norm.py::test_cuda_offset_is_not_folded_through_bfloat16", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_backward_is_offset_aware", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_within_tolerance_of_golden", + "tests/test_qwen3_next_norm.py::test_deterministic_repeat", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype0]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype1]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype2]", + "tests/test_qwen3_next_norm.py::test_eps_inside_sqrt", + "tests/test_qwen3_next_norm.py::test_gated_batch_invariance_slice", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedHFOp]", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedOp]", + "tests/test_qwen3_next_norm.py::test_gated_conventions_diverge_in_low_precision", + "tests/test_qwen3_next_norm.py::test_gated_cuda_op_rejects_bad_activation_at_construction", + "tests/test_qwen3_next_norm.py::test_gated_extension_handles_empty_batch_and_nondefault_stream", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[dy_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[gate_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[rstd_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_shape]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_matches_hf_formula_fp32", + "tests/test_qwen3_next_norm.py::test_gated_shape_mismatch_raises", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_strict_matches_vllm_formula_fp32", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[128]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[2048]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_offset_applied_in_fp32_not_folded_into_bf16", + "tests/test_qwen3_next_norm.py::test_op_batch_invariance_on_device", + "tests/test_qwen3_next_norm.py::test_plain_reference_is_unchanged_by_the_offset_plumbing", + "tests/test_qwen3_next_norm.py::test_weight_offset_is_one", + "tests/test_qwen3_next_norm.py::test_zero_centred_cuda_constructor_rejects_missing_extension", + "tests/test_qwen3_next_norm.py::test_zero_centred_op_inherits_the_plain_reference", + "tests/test_qwen3_next_norm.py::test_zero_weight_is_identity_scaling" + ], + "case_ids_sha256": "694c931b65f9cfa5db963f2eca6d11bd309546c824a1df52f9da2ab128e83e0f", + "norm_gates": [ + "qwen3_next_rms_norm-forward.json", + "qwen3_next_rms_norm-gradient.json", + "rms_norm_gated-forward.json", + "rms_norm_gated-gradient.json" + ] + }, + "layer_requirements": { + "schema_version": 1, + "gates": { + "gdn": { + "script": "scripts/qwen3_next_tp_gdn_check.py", + "output_option": "--output", + "scope": "tp4_gdn_layer0", + "groups": { + "cases": [ + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "prompt-gradient", + "replicated-norm-gradient", + "hf-load-export" + ] + }, + "script_sha256": "cc4338893f90af004c51c20fc67d1a9a3f4bf8d26775277f72671c02983e4df5" + }, + "attention": { + "script": "scripts/qwen3_next_tp_attention_check.py", + "output_option": "--output", + "scope": "tp4_full_attention_layer3", + "groups": { + "attention.cases": [ + "hf-load-export", + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "batch4-varlen-reorder", + "sixteen-token-decode", + "prompt-gradient", + "kv-pair-gradient", + "qk-norm-gradient" + ] + }, + "script_sha256": "d27d43efb05415a8ef5892c3c2238a2b9744a4821f5466faf46c6510e6e01bec" + }, + "moe": { + "script": "scripts/qwen3_next_tp_moe_check.py", + "output_option": "--output", + "scope": "tp4_moe_block_layer0", + "groups": { + "moe.cases": [ + "hf-load-export-all512experts", + "routes-replicated-8", + "full-chunk-reorder-8", + "routes-replicated-64", + "full-chunk-reorder-64", + "routes-replicated-256", + "full-chunk-reorder-256", + "routes-replicated-1024", + "full-chunk-reorder-1024", + "training-forward", + "all-parameter-gradient", + "replicated-router-gradient" + ] + }, + "script_sha256": "d5c1bbbb82e408b65871b0cb1638d7a6cf8cfe07f0a3315a657b7dc232d544be" + }, + "adapters": { + "script": "scripts/qwen3_next_adapter_check.py", + "output_option": "--out", + "scope": "gdn_engine_adapter_component", + "groups": { + "cases": [ + "batch1-length8", + "batch1-length64", + "batch1-length256", + "batch1-length1024", + "batch4-length8", + "batch4-length64", + "batch4-length256", + "batch4-length1024", + "mixed-prefill-decode16-reorder" + ] + }, + "fields": { + "prompt_gradient": "passed", + "hf_conv_roundtrip": "passed", + "batch_invariance_capability_registered": false + }, + "script_sha256": "3ce45bb317237c1a06533116d65fb77c2a23b6f503ae46406ede543036eb0f20" + }, + "heads": { + "script": "scripts/qwen3_next_tp_head_check.py", + "output_option": "--output", + "scope": "tp4_embedding_lm_head_only", + "groups": { + "cases": [ + "hf-embedding-roundtrip", + "hf-lm-head-roundtrip", + "replicated-norm-gradient", + "nonzero-finite-embedding-head-gradient", + "embedding-repeat-100", + "batch-invariant-prompt8", + "batch-invariant-prompt64", + "batch-invariant-prompt256", + "batch-invariant-prompt1024", + "logprob-original-and-promoted-logits", + "entropy-interface" + ] + }, + "script_sha256": "0504185d21a75405c8e994bc57b016cf4ec357d8b16e7430772c11934f2af876" + } + }, + "scheduler_case_ids": [ + "p0008-b1-full", + "p0008-b1-chunked", + "p0008-b4-full", + "p0008-b4-chunked", + "p0064-b1-full", + "p0064-b1-chunked", + "p0064-b4-full", + "p0064-b4-chunked", + "p0256-b1-full", + "p0256-b1-chunked", + "p0256-b4-full", + "p0256-b4-chunked", + "p1024-b1-full", + "p1024-b1-chunked", + "p1024-b4-full", + "p1024-b4-chunked" + ], + "registry_sha256": "e3949a750cb27c1897a000f3b023f912629906612ae8949c1575d0acc36df5ec", + "case_ids_per_rank": [ + "adapters/cases/batch1-length1024", + "adapters/cases/batch1-length256", + "adapters/cases/batch1-length64", + "adapters/cases/batch1-length8", + "adapters/cases/batch4-length1024", + "adapters/cases/batch4-length256", + "adapters/cases/batch4-length64", + "adapters/cases/batch4-length8", + "adapters/cases/mixed-prefill-decode16-reorder", + "attention/attention.cases/batch4-varlen-reorder", + "attention/attention.cases/full-chunk-1024", + "attention/attention.cases/full-chunk-256", + "attention/attention.cases/full-chunk-64", + "attention/attention.cases/full-chunk-8", + "attention/attention.cases/hf-load-export", + "attention/attention.cases/kv-pair-gradient", + "attention/attention.cases/prompt-gradient", + "attention/attention.cases/qk-norm-gradient", + "attention/attention.cases/sixteen-token-decode", + "gdn/cases/full-chunk-1024", + "gdn/cases/full-chunk-256", + "gdn/cases/full-chunk-64", + "gdn/cases/full-chunk-8", + "gdn/cases/hf-load-export", + "gdn/cases/prompt-gradient", + "gdn/cases/replicated-norm-gradient", + "heads/cases/batch-invariant-prompt1024", + "heads/cases/batch-invariant-prompt256", + "heads/cases/batch-invariant-prompt64", + "heads/cases/batch-invariant-prompt8", + "heads/cases/embedding-repeat-100", + "heads/cases/entropy-interface", + "heads/cases/hf-embedding-roundtrip", + "heads/cases/hf-lm-head-roundtrip", + "heads/cases/logprob-original-and-promoted-logits", + "heads/cases/nonzero-finite-embedding-head-gradient", + "heads/cases/replicated-norm-gradient", + "moe/moe.cases/all-parameter-gradient", + "moe/moe.cases/full-chunk-reorder-1024", + "moe/moe.cases/full-chunk-reorder-256", + "moe/moe.cases/full-chunk-reorder-64", + "moe/moe.cases/full-chunk-reorder-8", + "moe/moe.cases/hf-load-export-all512experts", + "moe/moe.cases/replicated-router-gradient", + "moe/moe.cases/routes-replicated-1024", + "moe/moe.cases/routes-replicated-256", + "moe/moe.cases/routes-replicated-64", + "moe/moe.cases/routes-replicated-8", + "moe/moe.cases/training-forward" + ], + "case_ids_sha256": "be74417dfbd6031ba27978d06d04bb15daaab2aeb57d132c7e0d41176b28b46e" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "run_id": "20261010T214117Z-train-c67ec144-7e890f95", + "stage": "train", + "suite": "all", + "execution_id": "7e890f95d1a44db88c4d6cdc87d35b7c", + "attempt": "0", + "status": "passed", + "phase": "complete", + "scope": "qwen3_next_training_and_reload", + "full_model_l2": "passed", + "evidence": { + "updates": { + "path": "attempts/0/training-report.json", + "sha256": "421060251897952c49847746b5368ceb0d604a39acbe27464debe071e48c8d85" + }, + "reload": { + "path": "attempts/0/reload.json", + "sha256": "421060251897952c49847746b5368ceb0d604a39acbe27464debe071e48c8d85" + }, + "l2_matrix": { + "path": "attempts/0/l2-matrix.json", + "sha256": "93f6e8ca16a9286945b73fd46888b72db923454be730edde5232a3ffb041b414" + }, + "operators": { + "path": "attempts/0/operators.json", + "sha256": "dedb24b6ac2a01d37eb795a001376ca0b200a03e417f8131688aac67c19c2ebd" + }, + "environment": { + "path": "attempts/0/environment.json", + "sha256": "8995c18e760260c0e715fe899574c7812b05fa302aee449837b42f0302a9efe6" + } + }, + "training_and_reload": "passed" +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/train/run.json b/docs/usage/evidence/qwen3-next-chain-b200/train/run.json new file mode 100644 index 000000000..7c5e5250e --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/train/run.json @@ -0,0 +1,5252 @@ +{ + "run_id": "20261010T214117Z-train-c67ec144-7e890f95", + "execution_id": "7e890f95d1a44db88c4d6cdc87d35b7c", + "contract_version": 4, + "suite": "all", + "execution_gpus": 4, + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "stage": "train", + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source": "/source", + "python": "", + "cuda_home": "", + "checkpoint": "", + "memory": "1280G", + "previous": "", + "status": "prepared", + "full_model_l2": "not_evaluated", + "environment": { + "identity": { + "base_prefix": "/miniconda3/envs/rlkernel", + "binary": "/python3.12", + "binary_sha256": "6a1eb3ffc29f3a6b0ece607b016b4cfa5ca3ac57b34f17ed3266b404f78d2729", + "build_tools": { + "ninja": { + "path": "/miniconda3/envs/rlkernel/bin/ninja", + "sha256": "08639e194fffa7f08b259fc4abfa4803aff66b64de52549cee42ec527d55cea6" + } + }, + "distributions": [ + { + "direct_url": null, + "metadata_sha256": "6f1038270be40f9b8c0bcf391c627e7d7f41ccdd19aa192d6eac1dbfc3b19abc", + "name": "GitPython", + "version": "3.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "3f71971502087521f123c9daa26bc12d31d3466738b567390b8602acad3be22a", + "name": "Jinja2", + "version": "3.1.6" + }, + { + "direct_url": null, + "metadata_sha256": "818fb343b7b6b99a32771bf4813521ae6440b4c7579b3ae46e32dd02da0afeee", + "name": "Markdown", + "version": "3.11" + }, + { + "direct_url": null, + "metadata_sha256": "dc1ee42cf8ecfeee0ab60b15b21d291833e0732548efcb7bb5b3564dca3e5bf7", + "name": "MarkupSafe", + "version": "3.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "de7389b142450a0014234286b0876f328439b823c355c73d0aed41fd67ec208c", + "name": "PyJWT", + "version": "2.15.1" + }, + { + "direct_url": null, + "metadata_sha256": "ffcad4415cafb22b8b536a61595e9ee13438b51d31b0763c1b273ce3bc58e840", + "name": "PyYAML", + "version": "6.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "8562d701cc52d9cafbb418942b0e072fc087ed8ddcf35cd10224c1b2ed8bdd91", + "name": "Pygments", + "version": "2.21.0" + }, + { + "direct_url": null, + "metadata_sha256": "b6c25fcfdcc495edf248a10ca4ad28327ef2ed6047a6ec5c6346e121414c7f21", + "name": "Werkzeug", + "version": "3.1.9" + }, + { + "direct_url": null, + "metadata_sha256": "55c400d24c71b581d9c0992f71df6047cf6c878bebe61a7d45d6e02dc0e4c510", + "name": "absl-py", + "version": "2.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "13db521f90a6a882027b2388eaa2ebf252945f9c2adb7e7e371da18239da4df0", + "name": "accelerate", + "version": "1.15.0" + }, + { + "direct_url": null, + "metadata_sha256": "86fe44e38e67872dd895c729044942ba2c2f934ae439a899fb83a186206b7fd4", + "name": "agent-detector", + "version": "2.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "afe11fe9f5aa54e734cdd51659bed8c89dc6bcd5aef0ad96f2d20149c8de5456", + "name": "aiohappyeyeballs", + "version": "2.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "570b307bc0b53fbbd3ed2ce0b7eca6bbf2fa73bf75e24a480f1034d8c0b832bf", + "name": "aiohttp", + "version": "3.14.3" + }, + { + "direct_url": null, + "metadata_sha256": "44b7f8e14c4770793e747fad50c9e0a6ee7357651d878554f192d94768dc14a8", + "name": "aiohttp-cors", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "648813a44a9ae0ab2f20ee86d2404dcc38e3f9e80c63316cf6e536735df14e54", + "name": "aiosignal", + "version": "1.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "f6a3f6668bacef7f73a2c19ccb2be910b2363d1731c4725cb04364d99e24935a", + "name": "annotated-doc", + "version": "0.0.5" + }, + { + "direct_url": null, + "metadata_sha256": "fc6d752cde6a6a4bff03474386de750e130b75da3c7815ee909f45b51fea98c8", + "name": "annotated-types", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "4e89d670a4b20029da30e5a9e8ebcbc844deff9c44209552bafd5537249c8b9e", + "name": "anthropic", + "version": "1.9.0" + }, + { + "direct_url": null, + "metadata_sha256": "b5a6f00800956387fcddab1fe1b5aa8502c249b86cfb16d58ed700f282f60142", + "name": "antlr4-python3-runtime", + "version": "4.9.3" + }, + { + "direct_url": null, + "metadata_sha256": "a6008defa9492cd08250217b134782cad1db4580e1d7ddf69cc2a2a48cea24e0", + "name": "anyio", + "version": "4.15.1" + }, + { + "direct_url": null, + "metadata_sha256": "7877c64ce8957237363f2df313819bb07f50752df016d14c5a5a99bec10f5deb", + "name": "apache-tvm-ffi", + "version": "0.1.11" + }, + { + "direct_url": null, + "metadata_sha256": "3543ca8f0e072c00ab111b20eba99ce86dbf93ada28988775bc2677284b3c07a", + "name": "astor", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "d4b328c09c024fe1e4d788a9c7715ad726095131b815cd35fd933268226f6269", + "name": "attrs", + "version": "26.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "4850c4d696a5e2a2ecbb3dd792b060acc1de79e09800669b0b9fc3a22c055e6d", + "name": "av", + "version": "19.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "863ff92208d0a02dabfa008bfe91846a5c401ded301e5687dca7dc63c911865f", + "name": "babel", + "version": "2.18.0" + }, + { + "direct_url": null, + "metadata_sha256": "f32e6df3197f05202e586624d95c5e217003d80cee655c165d533102f628df21", + "name": "backrefs", + "version": "8.0" + }, + { + "direct_url": null, + "metadata_sha256": "905c362f655fbc6d37a24686efc2b3bfbd3123b8ee5a443a43f6750d87455e90", + "name": "blake3", + "version": "1.0.10" + }, + { + "direct_url": null, + "metadata_sha256": "07c85682b6aefd5c9b48890d306c1604311902295704892ede48e5a83219a8d3", + "name": "blobfile", + "version": "3.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "2d582941a7081625a35f35a0c4a2e80f7737312e29c38e5fdb6fc08f9c113077", + "name": "bracex", + "version": "3.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "3b60c55bae0d0340c3a3fd918635bbfa3087579da66e0fd7f6be7a3782c0da3d", + "name": "cachetools", + "version": "7.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "5d11a6878d5bc3f22290281a19ef7b36daa95c910780950608b95cd788c7e12e", + "name": "cbor2", + "version": "6.1.4" + }, + { + "direct_url": null, + "metadata_sha256": "362c9942c48051f168ed2b9f2146266b7792d3c05e164cd6afc3f3b65884fdc9", + "name": "certifi", + "version": "2026.7.22" + }, + { + "direct_url": null, + "metadata_sha256": "b4abf1bcf1c1d8e0272d8007fc974499ea59e5f2a5b98af3c78a5e67515a9d87", + "name": "cffi", + "version": "2.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "766120f13c177446f51929a4d201104bc935b6d5a2a176cd6716edce757d3d95", + "name": "cfgv", + "version": "3.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "610e9a9d03ce837ffe6e42be5e02e70087f73863f7350bf7bb7f0511edcc5ec0", + "name": "charset-normalizer", + "version": "3.5.2" + }, + { + "direct_url": null, + "metadata_sha256": "7ad836b3147c9702546d9c28b4fa5be23b24445439db5d0d2a58d17281c84daa", + "name": "click", + "version": "8.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "4c5f00599ebcbf11d337e48a72784d256ca3d704fa9e9f5daadd60065e6776b7", + "name": "cloudpickle", + "version": "3.1.2" + }, + { + "direct_url": null, + "metadata_sha256": "a0970189e3ab7a596d6902d5f61f93b414f138f03d3cf19029145657bfceb382", + "name": "cmake", + "version": "4.1.2" + }, + { + "direct_url": null, + "metadata_sha256": "94a6ebf9718e55f254a43ce0d2f04e0d6d44e7141b6f3144a84feb6519a77bfd", + "name": "colorama", + "version": "0.4.6" + }, + { + "direct_url": null, + "metadata_sha256": "ca8ec227f406d970a645ec482b20619128dd34b9cf71159cc24e27db461a2711", + "name": "colorful", + "version": "0.5.8" + }, + { + "direct_url": null, + "metadata_sha256": "bbaa51b7e4d8f142bd075d01257c0572c0c844796d51426e35c8096a13e8da76", + "name": "compressed-tensors", + "version": "0.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "6063d8ff7ebc458d63a4332853d7ababf4ee2b86336362c8d2b12be6e998eb6b", + "name": "connectrpc", + "version": "0.11.1" + }, + { + "direct_url": null, + "metadata_sha256": "ac5f4b5a5f68080bd9c3fe77399fe8a1bff2ee5923c49db1df544dd054cbf15b", + "name": "cryptography", + "version": "50.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "f41d2f6b4616accca2f5e1dd47aa9e8937c28076cde698226d93e727751f3099", + "name": "cuda-bindings", + "version": "13.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "e5ca6ed34c687c6f4a4d157ad0a2cf06ec0316fe8c4c0ddeb666ad76dd6f30f4", + "name": "cuda-core", + "version": "1.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "89baadd9da23dce9990481519544115615ba3cbd2d1a41e09feea7756fffb378", + "name": "cuda-pathfinder", + "version": "1.8.2" + }, + { + "direct_url": null, + "metadata_sha256": "1ab914b9a57ca601df2e3cfe9608427b15d8afb78029076ace5d1caf9fd45f08", + "name": "cuda-python", + "version": "13.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "73d97a5eb578223b4895ef4f234574d14219cef9999ff7d0e92a3d0dd057bd3f", + "name": "cuda-tile", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "ae6f957fe66ed63081d1d83ee6e8838f3a0af2c6fce1223629d0dd6264565ead", + "name": "cuda-toolkit", + "version": "13.0.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "1f8e0ae51ad5feea63f58ed2e24f3da6f23ed548043235a14f7623d961dd9b64", + "name": "datasets", + "version": "5.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "153f4a4d6ff03dbe5c8ad7fe54bc2e7b989a4947b70f7aa77fbf652b394f2a2e", + "name": "depyf", + "version": "0.20.0" + }, + { + "direct_url": null, + "metadata_sha256": "ee09fc752d7271aac93079cfd63409957dc6b536c1ffd9355a01bf7297e72aa6", + "name": "detect-installer", + "version": "0.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "a7feab2c4f69fd5f85e5a3cb495a7f1870a6bf8199dcee5339e8118f7acbdc09", + "name": "dill", + "version": "0.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "fef3fde661fe30ba7bd1d78841a797136b2b3461705bb4eb92dc54f8308bbaae", + "name": "distlib", + "version": "0.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "fef3fde661fe30ba7bd1d78841a797136b2b3461705bb4eb92dc54f8308bbaae", + "name": "distlib", + "version": "0.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "a3ca2e39abe76c4a33d5fe4a2a84375ec9f25cdfdb7e1d8ea406bd6f1603205c", + "name": "dnspython", + "version": "2.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "92a07daad5e6ff461199de14e845d9b376e309ef916ce5379f3c9cd4e3b1623f", + "name": "dockerfile-parse", + "version": "2.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "5b566b25f0cbe4955d0b16844a7cc6d2002caa3bde2dfda7f301fd8870cbaa56", + "name": "docstring_parser", + "version": "0.18.0" + }, + { + "direct_url": null, + "metadata_sha256": "5a1080b5768c6c591e1c4f9c9812cafa808781b9eeb198043bf185e22d4a1613", + "name": "e2b", + "version": "2.51.0" + }, + { + "direct_url": null, + "metadata_sha256": "0a63979e0b946e16238e4339e60d9c1eb5a7ce3ea93dae78b5da9c65a6190540", + "name": "einops", + "version": "0.8.2" + }, + { + "direct_url": null, + "metadata_sha256": "16cbe67a57558f1d4bfdbc22a454434ba301750c57a62b1d3f5361c9e5cddc00", + "name": "email-validator", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "0617ddb55b90b42ddc9398dc7e91d61fe928a2504939f76526dc15b22d238caa", + "name": "fastapi", + "version": "0.136.3" + }, + { + "direct_url": null, + "metadata_sha256": "ddd82b9666c21988e234d623e2575e1b89fd4133260eeab43fc9a7c074f7024a", + "name": "fastapi-cli", + "version": "0.0.32" + }, + { + "direct_url": null, + "metadata_sha256": "611602e834d42e10433155ff5f5581358d732fa6b6f6f7820a8f79e74b1ce1f9", + "name": "fastapi-cloud-cli", + "version": "0.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "794524e4a9659bda6043721d848d028ea49996085a33326094fbaaa3f6e6b895", + "name": "fastar", + "version": "0.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "711401d36e60e10e35beb4d0f1bb42bf0c4d86339ae52f32b9aa4a4d790530dd", + "name": "fastsafetensors", + "version": "0.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "efaea9742e348c4c4bdcc6f616a33cc5aa3ae926494a72a46690b7da2f08ed5c", + "name": "filelock", + "version": "4.0.7" + }, + { + "direct_url": null, + "metadata_sha256": "99bd6c3f10781d3d2d350f2c3c9fc4765b55f25de8a6d6dd1f71501802d1255e", + "name": "fla-core", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "0a6ef979b75295cee2b5293ad4942b0cf2682e9e38680203064e0b70249c1a96", + "name": "flash-linear-attention", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "76b70a11ca82ea4606b529e7a8658cb3fe71412afa46f2ed57101dd91ba27558", + "name": "flashinfer-python", + "version": "0.6.18.post1" + }, + { + "direct_url": null, + "metadata_sha256": "ba8ff415192b5cbb90efce046e2271a00c8184afc362d8b47fbbc84d5e558b05", + "name": "frozenlist", + "version": "1.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "e7712831c80eb13b08fb7f7cc33988a8f24654af9eba7c6f5f943b2636e4306a", + "name": "fsspec", + "version": "2026.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "025de85c794878d0caa737869307447595f514ebf9599eacb5b1a501bae479b6", + "name": "fsspec", + "version": "2026.9.0" + }, + { + "direct_url": null, + "metadata_sha256": "ca94883bdeaa3740b45b6994443b445fd67c6e4a8064ac3bf9d92d2a5221eee8", + "name": "ghp-import", + "version": "2.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "a7e90983562a035cf767baa63d8c32bc37e1de7cad71ac7b6b2bc70a95bba4eb", + "name": "gitdb", + "version": "4.0.12" + }, + { + "direct_url": null, + "metadata_sha256": "dd96143ec79178bef685c1f5c0a58a87a66d003b421e605de65697308321d518", + "name": "google-api-core", + "version": "2.40.0" + }, + { + "direct_url": null, + "metadata_sha256": "0735d57088a83df2355e16843107fb0112abe2178fc5bb8132947a7ad962aa41", + "name": "google-auth", + "version": "2.59.1" + }, + { + "direct_url": null, + "metadata_sha256": "2f3aa9d9500d329560440e6a5a152e420aad5f5bbb23701f45b740be721784a1", + "name": "googleapis-common-protos", + "version": "1.75.5" + }, + { + "direct_url": null, + "metadata_sha256": "06d74ab04fdc03fad368868907f0d10e7d9f397aab58d58965c0b78ffaec34cc", + "name": "griffelib", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "7ee1c179e2c68a62968308b2f96f4f3469176ee3ac8bdb494ac80188d4d41271", + "name": "grpcio", + "version": "1.84.0" + }, + { + "direct_url": null, + "metadata_sha256": "04cf3a4a91575850f386f4fcfdedd8e7fbfba08feff038fbc1296d1e854db2dd", + "name": "h11", + "version": "0.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "b954a6ba4739c0cc878bb8ea27ea7c7154a48bb4b7c06dba9e9cf880cf0ec930", + "name": "h2", + "version": "4.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "6f0d7bf86e75d0bda1ceccc82367c0145ad0ec522c4d4f51bb454f467faadcc9", + "name": "hf-xet", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "f991b847550cf8225f69562902b5ccb591b2ce9a08fe07ef6e6d701bdb4694a7", + "name": "hpack", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "314d194165c4700034c1c67cee847d549a6d7091374c71f2cef0186ec56a3eb9", + "name": "httpcore", + "version": "1.0.9" + }, + { + "direct_url": null, + "metadata_sha256": "aed9767360bed1bcbda71e3b1a3c996603f86558bc77a1693ee3d09973d20cad", + "name": "httpcore2", + "version": "2.13.1" + }, + { + "direct_url": null, + "metadata_sha256": "8fa3bf3510c35e2eea9f523a1cace7120079cf51d76c4acea97de95806aaa14a", + "name": "httptools", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "3bf4804c215d111b6a4702cf9000021ab39807d1ed3207dd011b14b2843b2d14", + "name": "httpx", + "version": "0.28.1" + }, + { + "direct_url": null, + "metadata_sha256": "d11dd50813b8914bd9455e8b2b591171cd2b1618883943153afadc8bb9224678", + "name": "httpx2", + "version": "2.13.1" + }, + { + "direct_url": null, + "metadata_sha256": "43b119c34ad2b2aacc032a1a6a8feb142fdb5ca407a3519325d74dd53d8904df", + "name": "huggingface_hub", + "version": "1.33.0" + }, + { + "direct_url": null, + "metadata_sha256": "9ce850d5a6b775e5ef4a335f907e579a878e058213121b6eec567781ea68c585", + "name": "humming-kernels", + "version": "0.1.12" + }, + { + "direct_url": null, + "metadata_sha256": "67aa4f6717d82446a51ce350e7c4769eba0c4a22d2f428255cddd9d24b11a914", + "name": "hyperframe", + "version": "6.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd9511ede42f63b995c3f71944f908cb8f014048b63ecc1c8d420525a3354b59", + "name": "identify", + "version": "2.6.20" + }, + { + "direct_url": null, + "metadata_sha256": "af3c3a62bb5d82d6a43454684e0b1dedde27a21ea90eacfb1bed9814619f06d0", + "name": "idna", + "version": "3.20" + }, + { + "direct_url": null, + "metadata_sha256": "cf71393f3d079ce2e859384573e65aaacd1709bef700701f629df32398b598f0", + "name": "ijson", + "version": "3.5.1" + }, + { + "direct_url": null, + "metadata_sha256": "9305763e93d03df0e36516b1125fa046a6ebe37d44589e200e0593cf4bdfd980", + "name": "importlib_metadata", + "version": "9.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "32860c3c19b2e91f6cb5bd83400b5870cda051bc74a5a08822c8c666af0990db", + "name": "iniconfig", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "560faabb3d45d779e445a74e7e806a786f95f2200fa06d979603b7f0ee1cfb39", + "name": "instanttensor", + "version": "0.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "f6fc1f0d389e4245fc2a1a0fdfee09422e56200cb6f94659668456997ff4f7a9", + "name": "interegular", + "version": "0.3.3" + }, + { + "direct_url": null, + "metadata_sha256": "d10f300731197a4829b77f0c883bb3cf8a37ae8c76a302e095fa95d6427706d0", + "name": "jiter", + "version": "0.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "5b0c8d4b4c535a2432fb206223d774509b6e20af374c6a4b6f98bf72a7de6702", + "name": "jmespath", + "version": "1.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "6c4032c2e74273452cd77399af2ee85198f49c22da897983f26d2ed6f787c4e8", + "name": "jsonschema", + "version": "4.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "aaa6cd66f423729e8da397c9d533b7d731f6b25f3d6371b9338c36bdb9be74a0", + "name": "jsonschema-specifications", + "version": "2025.9.1" + }, + { + "direct_url": null, + "metadata_sha256": "f7c0687c032593106a2e5a3c241cf8043e7e2c222bddb0022b4cb2bf5de67115", + "name": "lark", + "version": "1.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "4511c6b04efc57a5f5333edc1f5f48b9f5412c3923d4bc19b715bdf47977511c", + "name": "linkify-it-py", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "be929870f6ecae18a819c56118f1101f3076e25ac6a4843ca6f4707ebd1e87c6", + "name": "llguidance", + "version": "1.7.6" + }, + { + "direct_url": null, + "metadata_sha256": "cf2b87669bead3e76ec54207f3354c13f73b50c32fcd13c8d627084b3379139e", + "name": "llvmlite", + "version": "0.47.0" + }, + { + "direct_url": null, + "metadata_sha256": "0a416d79c5543d94d2b18807626293d4f47655d1d22724c7ae296e413078aaba", + "name": "lm-format-enforcer", + "version": "0.11.3" + }, + { + "direct_url": null, + "metadata_sha256": "16bc1f59e34fd2a6633bd395276052eacd2c777b2cf72781e76b203f013a8fac", + "name": "loguru", + "version": "0.7.3" + }, + { + "direct_url": null, + "metadata_sha256": "5216d5acfd039a7b581a826186309594b228d37d2c8d56864124ea666689fe4e", + "name": "lxml", + "version": "6.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "f59d772b35315a928672bfcccfb89d82c0aac672c5275c048f7a93b79015bcea", + "name": "markdown-it-py", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "b137367ef0056711cbf5e53015df9168cab80373104e7899b1c0263a21d9c99c", + "name": "mcp", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "38e0b9edaae09e58cd1461fc961ced22672038a697930bedef153a74befb3de1", + "name": "mcp-types", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "799f49685865fd9cc8915fdb92a33e102eeeffad562b03b4aeffb6f422b771c1", + "name": "mdit-py-plugins", + "version": "0.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "481f9cbe08596c6eaba6343e0efa1b13b2362c30dce0610f7c08523f1d98388d", + "name": "mdurl", + "version": "0.1.2" + }, + { + "direct_url": "{\"dir_info\": {\"editable\": true}, \"url\": \"file:///Megatron-LM-training\"}", + "metadata_sha256": "2876c0c760bbfc93bd7d737bf0db2866a937308a7c1707c3a2bb59d4795986ff", + "name": "megatron-core", + "version": "0.16.0rc0" + }, + { + "direct_url": null, + "metadata_sha256": "a6e34d488c879f57ce042bec38f8864ba3ea7d6ecf0ab757fc88fe8dc0a22f26", + "name": "memray", + "version": "1.20.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd26d80dc9676b1fb8c894355bd525fbe7f49a6a86a555c72e9ec6d927247c33", + "name": "mergedeep", + "version": "1.3.4" + }, + { + "direct_url": null, + "metadata_sha256": "dd1b3b89e88d1c65a26e6e72dd075eabbc220bfb138769ec8b64578ee911795c", + "name": "mistral_common", + "version": "1.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "4859847a9f6321daf8849cf7fd1542ff430db6563a2abf9ac0d62a5b21bd951d", + "name": "mkdocs", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "1729fc31479f2582486cdc85397417659dd3b2fb3f920553de66cfe59d5f0b3e", + "name": "mkdocs-awesome-nav", + "version": "3.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "88b4b7b7c0aba5547befdedaf515c8df4867361daf55ff60b72578464d72dcbe", + "name": "mkdocs-get-deps", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "ad33bb33fb16b1f69689c4682550e97232154e367e2c8c8aee9dad0f10d269ce", + "name": "mkdocs-git-revision-date-localized-plugin", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "ed69fbfb9ac00c10c5a383a12ff9d2b9919ae184e408554434199211643d6040", + "name": "mkdocs-material", + "version": "9.7.7" + }, + { + "direct_url": null, + "metadata_sha256": "d1c549b61701148b97f8246bc924b2840e504b37b0ce7a27e78ddf81261e5363", + "name": "mkdocs-material-extensions", + "version": "1.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "4ad6171f3bf6812e4de90670ff0089d445093d4fe1d05d55f17b96a4a192a816", + "name": "ml_dtypes", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "4ad6171f3bf6812e4de90670ff0089d445093d4fe1d05d55f17b96a4a192a816", + "name": "ml_dtypes", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "b0dbdfa30ab6b1ce637a794899c9e43019182b6d1ab2d07b90f647f7331eba6b", + "name": "model-hosting-container-standards", + "version": "0.1.16" + }, + { + "direct_url": null, + "metadata_sha256": "95424470e481cfa8d18b30963b6de3aafe16614b1ea0414e184a008571dde84f", + "name": "mpmath", + "version": "1.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "eb184d83489401903615ce8a78d98d5b933dec0f7246811d396a529915fe797c", + "name": "msgpack", + "version": "1.2.3" + }, + { + "direct_url": null, + "metadata_sha256": "520006303d6a0e859970b83f7d452196e2e8f6dab08f6dcf1ba5823c1230025f", + "name": "msgspec", + "version": "0.22.0" + }, + { + "direct_url": null, + "metadata_sha256": "010d2fe039006070a711a476b171b7b7da5c29ccad3c4eecd77ef3711b07c2d0", + "name": "multidict", + "version": "6.9.1" + }, + { + "direct_url": null, + "metadata_sha256": "235634cc7ebda45f8a84dfdb1b9b35ac1a77a1888b34650c3a616d23e4a7e93f", + "name": "multiprocess", + "version": "0.70.19" + }, + { + "direct_url": null, + "metadata_sha256": "7c545b4b3e5e83d3fde41352272c10cb9deeaba5b7138fbf24383e952af8822e", + "name": "natsort", + "version": "8.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "311ee8cdaeaf9f11acf51cda9c3b5b191f76ce9d98bc3418164c3189bbc37a08", + "name": "nccl4py", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "66360539217852c3b44b37f409eade7e1559baf018bb363bacb2aa3a9759b203", + "name": "networkx", + "version": "3.7" + }, + { + "direct_url": null, + "metadata_sha256": "e8b0b1746808b87816c47e4531780ded7f246bed9575a89e8b40200aa81e9a13", + "name": "ninja", + "version": "1.13.2" + }, + { + "direct_url": null, + "metadata_sha256": "77c1117f0dbc41560ddc6e6b37b542fb4e88afcd4ef82ec06593e5bbd5f37121", + "name": "nodeenv", + "version": "1.11.0" + }, + { + "direct_url": null, + "metadata_sha256": "9af629898406c9eaa69897fe09220dc483270cdba89f6b20bf0165cdf0e1668e", + "name": "numba", + "version": "0.65.0" + }, + { + "direct_url": null, + "metadata_sha256": "0c7281a81cf76e40b27c1385ffd8a215d7227adc219f177ce807ead9e91994a5", + "name": "numpy", + "version": "2.3.5" + }, + { + "direct_url": null, + "metadata_sha256": "0c7281a81cf76e40b27c1385ffd8a215d7227adc219f177ce807ead9e91994a5", + "name": "numpy", + "version": "2.3.5" + }, + { + "direct_url": null, + "metadata_sha256": "bab990ced4537ce74ef5961ca933c4c6fd604fd09a5827a4a428c55bcb0be35b", + "name": "nvdlfw_inspect", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "10f6595146332d35f7f15a000e08b5c81432528c5d026470c1d03f0c1399fb70", + "name": "nvidia-cublas", + "version": "13.1.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "58e933b4ac8e49f098b16ab7480d03bd792afc3d1db10d0aacbdcc2c62e48fa3", + "name": "nvidia-cuda-cccl", + "version": "13.3.4.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "baac937970681d41aa0c3708b3d55d73f8d29e70aceaac0e71fe6d1548e94a09", + "name": "nvidia-cuda-crt", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "8d51e5c76ef5707b0b80d5ec9a791c0f11a480ab721820cf100a3cc566017eef", + "name": "nvidia-cuda-cupti", + "version": "13.0.85" + }, + { + "direct_url": null, + "metadata_sha256": "724bf56e61ddef5d4c2482ff64103a973b911b110b668acaea5373f6c83c1c5c", + "name": "nvidia-cuda-nvcc", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "c54801dbd815d534519a761f1f328325aa0f1d1f1659aa969fa74e7a2c76eee9", + "name": "nvidia-cuda-nvdisasm", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "af51f248363020b9fdfd2743704e901bf3d19a1a1ce1fe44fb98ba148bfc0157", + "name": "nvidia-cuda-nvrtc", + "version": "13.0.88" + }, + { + "direct_url": null, + "metadata_sha256": "055f7fc69a5a2159de82cd0718da02c8852e81c8a71ebb117b8e799badd7167e", + "name": "nvidia-cuda-runtime", + "version": "13.0.96" + }, + { + "direct_url": null, + "metadata_sha256": "df18686dbdb3074ca375a1d6c623a04102fd348950c67a721397349c6d4f0477", + "name": "nvidia-cudnn-cu13", + "version": "9.20.0.48" + }, + { + "direct_url": null, + "metadata_sha256": "abd0ca3f67af19a4d383ff2a012ae0090d4731c6492fd47236615308a50b3981", + "name": "nvidia-cudnn-frontend", + "version": "1.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "4a78545d424d0c5038353f7046a8ae40ceaf312045d71399eac9511f5fc15434", + "name": "nvidia-cufft", + "version": "12.0.0.61" + }, + { + "direct_url": null, + "metadata_sha256": "e49b909195c03ddbe203729d9b31dd88e3f207368333d1909c67c6b130a0c696", + "name": "nvidia-cufile", + "version": "1.15.1.6" + }, + { + "direct_url": null, + "metadata_sha256": "bb15a754c6be32c23aaac13c1cfa7a8ce53d92bc26652ec3b609f7a5cce3e7d1", + "name": "nvidia-curand", + "version": "10.4.0.35" + }, + { + "direct_url": null, + "metadata_sha256": "0dd58f677811eac04901a793740932e5a2a8fff2f5453aa6351614eb18391bb6", + "name": "nvidia-cusolver", + "version": "12.0.4.66" + }, + { + "direct_url": null, + "metadata_sha256": "8aeb284782ef6883095a5d1c110e221cad023a99afcfd5cdb4969a25e146d562", + "name": "nvidia-cusparse", + "version": "12.6.3.3" + }, + { + "direct_url": null, + "metadata_sha256": "09555246122896eaca3b8313eecfca4b339fefd3b597874cb9fe3bf29dab38c9", + "name": "nvidia-cusparselt-cu13", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "ac77bac79fbfb0c52ac6e2e5abc936b1e127be2192f0cbc27b00be3125fa86ae", + "name": "nvidia-cutlass-dsl", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "1ec968ec7c4083f7fe4e1fb8384c7e9b853a81491fef9f4cb1cf755961aaedf6", + "name": "nvidia-cutlass-dsl-libs-base", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "cc6f3846cd820013eaa6e2665c493d70c607be6ce7349b939eb4742888470585", + "name": "nvidia-cutlass-dsl-libs-core", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "2357d0df2d0d17c0b16663b8a89df53f751b19721f66821fd88fa78112c08e55", + "name": "nvidia-cutlass-dsl-libs-cu12", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "244590c25662dcf777b1daae97a858afe1a1aec62e5e6678b217007a459ab552", + "name": "nvidia-cutlass-dsl-libs-cu13", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "c3a25ada01f57418c1b897406c3abab18834e6adc573ab7b060620c453afb6db", + "name": "nvidia-ml-py", + "version": "13.615.71" + }, + { + "direct_url": null, + "metadata_sha256": "56baad4e7f699902b03b17580933f7bd50b6ea97b7df9d7e807750973da7529c", + "name": "nvidia-nccl-cu13", + "version": "2.29.7" + }, + { + "direct_url": null, + "metadata_sha256": "98810ef0ab8badc369e6a46a038f8ee9f412c0c753fb5ad580544f23a0aa7962", + "name": "nvidia-nvjitlink", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "b0f54ee21909d19640a58e05da755c91763eb5725f544fd0d4b84b2f5f94deba", + "name": "nvidia-nvshmem-cu13", + "version": "3.4.5" + }, + { + "direct_url": null, + "metadata_sha256": "06dc1a593c7e8b8c3f29184228c83f8f7ef57787ad91f3e5bcae1d238dd3092a", + "name": "nvidia-nvtx", + "version": "13.0.85" + }, + { + "direct_url": null, + "metadata_sha256": "32ee63450a437b6a6ed227ff6549144aa596197a322993521ec7af826ebd413e", + "name": "nvidia-nvvm", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "32c2efdcd2c673b3b7f35ca9c2cccefaad36f1f0a920648a13cad85f6a5767b2", + "name": "nvtx", + "version": "0.2.15" + }, + { + "direct_url": null, + "metadata_sha256": "3419d80e114a2c19fa9bd3582939a3942f19673055707ba6ca2ca489d58b41e0", + "name": "omegaconf", + "version": "2.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "28971076ce9c279d4b889496b046d55a1e05b02fb9851ceb717e9a10df799572", + "name": "onnx", + "version": "1.23.1" + }, + { + "direct_url": null, + "metadata_sha256": "1246f5a4d8295907a42e809ed9173ede2510ec9d260d2168989d126564897fa5", + "name": "onnx-ir", + "version": "1.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "e14643636835759700dff286f949c5ec34e7eac7ac47f44096414f0e0f1c3101", + "name": "onnxscript", + "version": "0.7.2" + }, + { + "direct_url": null, + "metadata_sha256": "00f847e99939207bd70dfd806428f6b20a3d01074b59325e4c76149a2e19be26", + "name": "openai", + "version": "3.22.1" + }, + { + "direct_url": null, + "metadata_sha256": "598d3ad5a22a14a7c4f1d218b43e345f32b0ba094b753467bae8a3f708fd48cb", + "name": "openai-agents", + "version": "0.22.3" + }, + { + "direct_url": null, + "metadata_sha256": "5a0afcb1ce845e05da12beb1767f5d2749bbc9e9050718c6b9fa3c225713c9eb", + "name": "openai-harmony", + "version": "0.0.8" + }, + { + "direct_url": null, + "metadata_sha256": "e86a6b6fcbbe152805f782c57df321002892e163019574877e9829272e25eb4e", + "name": "opencensus", + "version": "0.11.4" + }, + { + "direct_url": null, + "metadata_sha256": "53d669c8bd3d32d3275153b454e515ca5cc6dec92fae3a98309b5a2b19fe6d2d", + "name": "opencensus-context", + "version": "0.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "19778b6d66b0e45bf73e11fa37a208949d5b393aef914627394d5601455546a6", + "name": "opencv-python-headless", + "version": "5.0.0.93" + }, + { + "direct_url": null, + "metadata_sha256": "19778b6d66b0e45bf73e11fa37a208949d5b393aef914627394d5601455546a6", + "name": "opencv-python-headless", + "version": "5.0.0.93" + }, + { + "direct_url": null, + "metadata_sha256": "a3f5434fa7c80f7f7abc82173da639c8e9c59d30b4027182645562bd3d2f4f97", + "name": "opentelemetry-api", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "8611977ea596e4827874582e86250618444e1c718229dddfc16e5ea437ce5fcb", + "name": "opentelemetry-exporter-http-transport", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "2cfd41e5ca33292d987ba71fa6186d11e16ed66888f3a26f8a3a99060c4b5e90", + "name": "opentelemetry-exporter-otlp", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "3bb4494220732d4bf10e1dba231ea7638cedaa5362e1f23a50d34a14f520fea8", + "name": "opentelemetry-exporter-otlp-common", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "27fb1c8aa5c2cd07776f9f3281fc618cd3feb96017757c33d2b3586fb7fec88b", + "name": "opentelemetry-exporter-otlp-proto-common", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "5cba6098cdd0bfb06853a6c704a2451c4f82c9dea376a30b59ecd279296648ad", + "name": "opentelemetry-exporter-otlp-proto-grpc", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "6f53ef1c172ebf87af69b9ef390aa908506d0cd14bc7811985fdd937a4058808", + "name": "opentelemetry-exporter-otlp-proto-http", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "1910f4e7ebd497e98b6d231e10275288fda2cd1885117575706c62f45e065889", + "name": "opentelemetry-exporter-prometheus", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "fab18b721e30be41448be252e1dca43b48e7f15d971e0bb552492c0ef4b07bee", + "name": "opentelemetry-proto", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "3644a79f55762a646799ff52b9d837e01c8192b7b28f735a383f55c90edb9bc2", + "name": "opentelemetry-sdk", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "add3db481f7f401f65cfbddb058fde3bb4c9dd7b61064a84f8598ad7efe0b11c", + "name": "opentelemetry-semantic-conventions", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "0dfff30e912520a226bcf7a547393484cfcd8c738439c7b48418f61c95109480", + "name": "opentelemetry-semantic-conventions-ai", + "version": "0.5.1" + }, + { + "direct_url": null, + "metadata_sha256": "210ce26bad0a245a72831b4fa029708c245d4d670a88c8d5a69b1446c24a95e4", + "name": "orjson", + "version": "3.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "35ff73511848f5f934ccc39d538014716ec4579e76d54e0e407ff51794a7939c", + "name": "outlines_core", + "version": "0.2.14" + }, + { + "direct_url": null, + "metadata_sha256": "8ee2f7138ade46b6e348a6d099612f5bd6caff13511f3b4144327f37ce50eacf", + "name": "packaging", + "version": "26.3" + }, + { + "direct_url": null, + "metadata_sha256": "a4ab87bf8083001f25ccdc46095f05b678b3569dd58edc2cf941e3e7f64d7c88", + "name": "paginate", + "version": "0.5.7" + }, + { + "direct_url": null, + "metadata_sha256": "1de96a6c28c2e5613c9c87cd4ad9484791001cf58df43cf2ba74d5c4f85f0ad2", + "name": "pandas", + "version": "3.0.6" + }, + { + "direct_url": null, + "metadata_sha256": "d05b8d05da9f78176b2eefaacdfaa5e96708ec4f488daea8bbc52e3ed1bc3954", + "name": "partial-json-parser", + "version": "0.2.1.1.post7" + }, + { + "direct_url": null, + "metadata_sha256": "c1d126edceac2685e29403a8ae3a27c47143dce1f0252fa3931771562f1e2b4f", + "name": "pathspec", + "version": "1.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "30325dc8ce17bc64f9dbc0a449232fd35841a019df22a6f481007c9c5a28c1cb", + "name": "pillow", + "version": "12.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "cbc0b7b6e63b50dcb7c17cf3526a9304f285d9a31353adf3b22acc2059ab23f5", + "name": "pip", + "version": "25.0.1" + }, + { + "direct_url": "{\"dir_info\": {}, \"url\": \"file:///work\"}", + "metadata_sha256": "6ba03b5bc457a2a3d92468729501b5892a0d38ebcc36766c58859449498c5743", + "name": "pip", + "version": "26.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "0421937c4410b61c5325233d5b7671ae933bae8de174f87586ac55aa804851ea", + "name": "platformdirs", + "version": "4.12.2" + }, + { + "direct_url": null, + "metadata_sha256": "2bcffab42626e1fb50d6329765619312d30fe7f4880e98dcee99c92ebd283bb4", + "name": "pluggy", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "7e7562ba7c032f8edd02641ae71b1ac2d8f388103a68d777a7e907d19e75bc17", + "name": "pre_commit", + "version": "4.6.2" + }, + { + "direct_url": null, + "metadata_sha256": "bbe0a7662602ddd23f929fe0ee98e9d04406e138aeee18ce4861af186ea6060d", + "name": "prometheus-fastapi-instrumentator", + "version": "8.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "ece4a61f3ffb92a083fd5e47e180e3e070342e60a3bd93876a879e79a643e821", + "name": "prometheus_client", + "version": "0.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "5feba21a58eaa126e7e7739e57e2572e5bb251fcbf56e439e508acc47d769314", + "name": "propcache", + "version": "0.5.4" + }, + { + "direct_url": null, + "metadata_sha256": "3f136dbf7239c987a7685acd33440cc5efd6c4107b4b11c425201b4de70ae36f", + "name": "proto-plus", + "version": "1.29.0" + }, + { + "direct_url": null, + "metadata_sha256": "118b5ad013120a7a6e24714595ad776bf264d7b0060389133310d18ea1480902", + "name": "protobuf", + "version": "7.36.2" + }, + { + "direct_url": null, + "metadata_sha256": "0849f5a519bf9bc23ef204443fdd8d6d10678863acac7ca9340fc11bfba5a856", + "name": "protobuf-py", + "version": "0.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "eab5f2f4fd98f67a710a8fb1975b64ffa880a4f977566f022c567e08e324ccd6", + "name": "protobuf-py-ext", + "version": "0.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "39009938840de3a8b2a37eb4668d2601aae8c74e4b74743f73e59996b5b7e6e1", + "name": "psutil", + "version": "7.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "df44b58e8a4cfe57f65773ec47f7bdf2a14c8f5f73a7abf331a6b6237d6d691a", + "name": "py-cpuinfo", + "version": "9.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "2fd4a9efc5e5c74ae4c2fcf1970193c524c62ab22af8d5e66ebf7df9e6e46e83", + "name": "py-spy", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "d2ccdeb15cddedc81637a83e40baa6397fe269023b738d0fc3cb2d90722e290b", + "name": "pyarrow", + "version": "25.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "47b9f28e971a56f5adf949e0bcf105b0bf6587946566ecf197a2819d8848cc01", + "name": "pyasn1", + "version": "0.6.4" + }, + { + "direct_url": null, + "metadata_sha256": "82ce4c01c6d36841b9801fcdabab9bfe61d0b5e4e440c275941d8a2d4a790730", + "name": "pyasn1_modules", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "45cb345e4c12f63bc843b8c88902cc44c4d624a55aaef8cd5ffbc0ad16356fbe", + "name": "pybase64", + "version": "1.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "d311ae661edeac8ff029ab2960d065a7e792ebf8f79af682daa53109fe81318b", + "name": "pybind11", + "version": "3.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "cce9c0d440d065d4cdfb0d00004b8ddd65cf363a740efc5b0920b29201a59cd9", + "name": "pycountry", + "version": "26.2.16" + }, + { + "direct_url": null, + "metadata_sha256": "a1e33542883c249bf6c263b0023b9ea8a6131a77d9cb2cbc88316968e5eada83", + "name": "pycparser", + "version": "3.0" + }, + { + "direct_url": null, + "metadata_sha256": "faffcc4d7d359cb1047a9f67f7c65096b838c6db6c62852ef20fb27d55649a95", + "name": "pycryptodomex", + "version": "3.23.0" + }, + { + "direct_url": null, + "metadata_sha256": "98929f4cb80451dc3c6c8cd541a3081dccf0dee94afe7d9fa5c214a18ff236ce", + "name": "pydantic", + "version": "2.13.5" + }, + { + "direct_url": null, + "metadata_sha256": "8eccadbe707db97c397fb79073fe791b7998ef3a85f04f817f8991f7697b190b", + "name": "pydantic-extra-types", + "version": "2.11.1" + }, + { + "direct_url": null, + "metadata_sha256": "8f00c91deb34399316a5386eb2e76fe09f14a08dc3045f2e7dce9bf8573796bd", + "name": "pydantic-settings", + "version": "2.15.0" + }, + { + "direct_url": null, + "metadata_sha256": "66c729edddc20bf2764bb18bd87d907b08690e50355f39b97acc737b26d1d164", + "name": "pydantic_core", + "version": "2.46.5" + }, + { + "direct_url": null, + "metadata_sha256": "394500d78a0c1a433ae8ca3693152c08f6a901121d4b069cf1540a19759e2950", + "name": "pylatexenc", + "version": "2.11" + }, + { + "direct_url": null, + "metadata_sha256": "df2e9e9847a2aea0ae6e20fd325aeb16cf3ce7f8913462db6c2398363cd0c0bf", + "name": "pymdown-extensions", + "version": "12.1" + }, + { + "direct_url": null, + "metadata_sha256": "82fcfe724db9f0b51348da89f4f5cdc0b08d08882b1bbc0ca4913d3a0a93bcb9", + "name": "pynvvideocodec", + "version": "2.0.4" + }, + { + "direct_url": null, + "metadata_sha256": "3722422cc1478b175879143dfb78f98b7a5f53f4f684d71b7054fe2e8acd3b89", + "name": "pyqwest", + "version": "0.10.0" + }, + { + "direct_url": null, + "metadata_sha256": "7d1d1c276b7c372d55d17ac7d30f0a4b80a746e147347b8510d1355eea7f80c8", + "name": "pytest", + "version": "9.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "89e7c1c932e52b74bdcaf504389d2d1a2d7ca559b02bf5a09fc80ebd58ad10f7", + "name": "python-dateutil", + "version": "2.9.0.post0" + }, + { + "direct_url": null, + "metadata_sha256": "54f30f811841b6d772f31715712c85bfe0041839cb071f78daf41c700a98642b", + "name": "python-discovery", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "54f30f811841b6d772f31715712c85bfe0041839cb071f78daf41c700a98642b", + "name": "python-discovery", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "0cc19efd76cfbf3bcb2cb0d3ab82191036855859455aa3812c5e9e591e3f34e8", + "name": "python-dotenv", + "version": "1.2.3" + }, + { + "direct_url": null, + "metadata_sha256": "1d866c6124631b9ce1797ad412fff298ab53fc2d95210281d7c8f20e920753fa", + "name": "python-json-logger", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "2d18a1e7286d92a656ead5ec6f83d5ae6dc858634624f6b264703ae88d24d718", + "name": "python-multipart", + "version": "0.0.32" + }, + { + "direct_url": null, + "metadata_sha256": "beaa0efe9ba4b34843f5a0fc7379a73f10e95adb8cc0c31f359ab6f3a42b4def", + "name": "pyyaml_env_tag", + "version": "1.1" + }, + { + "direct_url": null, + "metadata_sha256": "238dc769e22d4f5626750cdff36e920e4a8d69c10d88de6d79b40a59cc13d873", + "name": "pyzmq", + "version": "27.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "de0a5e855bb5bb78b7acdcd2ca60619c6a0c109814881589caf158ec07155662", + "name": "quack-kernels", + "version": "0.6.5" + }, + { + "direct_url": null, + "metadata_sha256": "961ffef199b876fb4d7b10903d78e79f359d703b1638834c61d70b9879932918", + "name": "qwen-vl-utils", + "version": "0.0.14" + }, + { + "direct_url": null, + "metadata_sha256": "faf6ab9027d12de992827a2d8a224996fe6747a8c5f7d31ae495983dc73eefe9", + "name": "ray", + "version": "2.54.0" + }, + { + "direct_url": null, + "metadata_sha256": "c50d8b3ff4d113925b60dc47d1d28e87248a3338024241b0a3a66c8794fbce0c", + "name": "referencing", + "version": "0.37.0" + }, + { + "direct_url": null, + "metadata_sha256": "02acdc52d6f21d5f4b172254daaa94edfaa44c9ebe14d1c00cc4c8fe99b0e1df", + "name": "regex", + "version": "2026.9.29" + }, + { + "direct_url": null, + "metadata_sha256": "ac08207697217d1ffde8a161b424d77d6e2af6b62630fa26d75d08f11076cdca", + "name": "requests", + "version": "2.34.2" + }, + { + "direct_url": null, + "metadata_sha256": "f1abd635c3dff607a4fd654c62a88d9d4c21843cfc9176116c156f4269ca21b5", + "name": "rich", + "version": "15.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "932ff7743a756d0efcc45528d64c275ac3cb40a8dd1787ea10cb303907f0ae4f", + "name": "rich-toolkit", + "version": "0.20.5" + }, + { + "direct_url": null, + "metadata_sha256": "294a1405c0fa34b5f735bcb46459050436849a1e584c643544de99c07c529fb7", + "name": "rignore", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "5e54dd00b4ad336c5161d47de2a5c2212090c44629c28b6538b156256e49282d", + "name": "rpds-py", + "version": "2026.6.3" + }, + { + "direct_url": null, + "metadata_sha256": "0d5895abd80bfc0027c02943abaea4547061b9004bd134950d640d619a697835", + "name": "safetensors", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "91d5de3f641f33a8fbb4b6e91772da68d50b68686971d7b66af2068f2e77b694", + "name": "scipy", + "version": "1.17.1" + }, + { + "direct_url": null, + "metadata_sha256": "297fb30f701a800489c12893a951da3e5bd1f80061a1f43f0d3e9f1d4c6bc6fd", + "name": "sentencepiece", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "4245e0388ddf2048a38ae2a24a3d2c583408b2454aadc680d3c3beede639db3f", + "name": "sentry-sdk", + "version": "2.71.0" + }, + { + "direct_url": null, + "metadata_sha256": "ae8a9e6feec1a76e954d65ea48ac57842c9a7bfb5ac6e5ea82400a5ba9f71a98", + "name": "setproctitle", + "version": "1.3.7" + }, + { + "direct_url": null, + "metadata_sha256": "341d00772017437d0f6e3c943ae353f243c39fedfba403aea47cced927a76516", + "name": "setuptools", + "version": "79.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "ff4bcfb192bd542ed8f1794fb32ffc9eabd932d6e03cb00a4ad5e35a2469af88", + "name": "setuptools", + "version": "80.10.2" + }, + { + "direct_url": null, + "metadata_sha256": "f1e5a532fb8cda0bbc370e3db6cb9cea72a065d12ddd6a14976ba3cf66264221", + "name": "shellingham", + "version": "1.5.4" + }, + { + "direct_url": null, + "metadata_sha256": "2aba2cfd9c2ad7625a5d374d141af317d8f92d3534997bf98d127e52848dfc81", + "name": "six", + "version": "1.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "69ae2dfe547624be97fae348e1cfa3793f8854eed32cc1603badedc7d48fb36e", + "name": "smart_open", + "version": "8.0.2" + }, + { + "direct_url": null, + "metadata_sha256": "d415e6c6de7dee117d254a342668c489931bc88eac7ec8678b452078e366da6e", + "name": "smmap", + "version": "5.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "093bc4f0740a6fc28692e616aa8fe68d7e1d76426cc5a5faf9ea722a8ee7aaae", + "name": "sniffio", + "version": "1.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "b3cef071eb1dbeaa76a1273fe2ca2cc8ef36e835165253952d93780962529ac1", + "name": "sse-starlette", + "version": "3.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "3c01ca830e213f0311fe37bc3b46b8ab230a5e7acb894bf0fc8785cb7ccfed48", + "name": "starlette", + "version": "1.7.0" + }, + { + "direct_url": null, + "metadata_sha256": "6017ca508a293cf47a88a78cb330e9cbd131d74ec3c7fbf89bd4300ed3129d30", + "name": "supervisor", + "version": "4.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "fd5eb4925b04f9bffbc6c4f92bf8aea7243b918b43cd359493fce48a7dd3b336", + "name": "sympy", + "version": "1.14.0" + }, + { + "direct_url": null, + "metadata_sha256": "f09f0e24282c5a86346bcd5b10ae5ff81869fa8ef69c3ba524bd0a817a87dda9", + "name": "tabulate", + "version": "0.10.0" + }, + { + "direct_url": null, + "metadata_sha256": "519fa19c146fd58a0a75ecf1461e4bd98f9c06d01800c37d4a80f5fef095f4e1", + "name": "tensorboard", + "version": "2.21.0" + }, + { + "direct_url": null, + "metadata_sha256": "1af7ad76e4073b01ab147eb3c1d8e38b95d38062c6c9bc63890150738642e8eb", + "name": "tensorboard-data-server", + "version": "0.7.2" + }, + { + "direct_url": null, + "metadata_sha256": "9e597f62fc07e3b931d5c8fb0e90706fb6d45465cfb5d01dbd27ba7fc135c02c", + "name": "tensorstore", + "version": "0.1.80" + }, + { + "direct_url": null, + "metadata_sha256": "0da993d16ef6326f471796fcb065622f309c5c1aae6c6295b488ea64bb5c880c", + "name": "textual", + "version": "8.2.8" + }, + { + "direct_url": null, + "metadata_sha256": "52ca6148d4fd1497254855fa610cfdde99191cd42bce7a452fd3a68855504ac0", + "name": "tiktoken", + "version": "0.14.0" + }, + { + "direct_url": null, + "metadata_sha256": "0df9eb495cfb477dcbdfbdcd8c04d952d3eb00d77831630760571e13545398e5", + "name": "tilelang", + "version": "0.1.12" + }, + { + "direct_url": null, + "metadata_sha256": "802b576e011dc61bd2681593e8d802714b6c4ce636a9cf87035026db32ce6262", + "name": "tokenizers", + "version": "0.23.2" + }, + { + "direct_url": null, + "metadata_sha256": "4e1631b2164a49ff9a848d86ce504fdcc15e3540dbb262df8f33a2681a8de513", + "name": "tokenspeed-mla", + "version": "0.1.8" + }, + { + "direct_url": null, + "metadata_sha256": "05086095a775c5dca70998dcf442a848c13f9c68b54a54c510c3542c5abb6563", + "name": "tokenspeed-triton", + "version": "3.8.10.post20260920" + }, + { + "direct_url": null, + "metadata_sha256": "71daba472d0c5ffc25c0231dc29688ab0cb13d5bc7e7d93f6c4cce4169c50048", + "name": "torch", + "version": "2.13.0" + }, + { + "direct_url": null, + "metadata_sha256": "cccd2f1c0e5866e63732f58798c8d642ee6d10cd560d6f691e7981b908c246c9", + "name": "torch_c_dlpack_ext", + "version": "0.1.5" + }, + { + "direct_url": "{\"dir_info\": {}, \"url\": \"file:///torch_memory_saver\"}", + "metadata_sha256": "6276cef17dedbb5ee0d6157bbf63b832e916026281328d995ad3d488c2539618", + "name": "torch_memory_saver", + "version": "0.0.9.post1+slime" + }, + { + "direct_url": null, + "metadata_sha256": "29809ca2c86dda5079654f1f70564a64435e9d08f1964a2412b6f514e1b5ff64", + "name": "torchaudio", + "version": "2.11.0" + }, + { + "direct_url": null, + "metadata_sha256": "7e9be0f3a290e3fd9370d8fe010c7ffd006d5d3d05ab8bdf7df8f92f0fca9c39", + "name": "torchcodec", + "version": "0.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "181fa5e6b399c378711eddcdacd756d3c51317916f8eb160ee36cae7fae9589f", + "name": "torchvision", + "version": "0.28.0" + }, + { + "direct_url": null, + "metadata_sha256": "43d1261aff90cf3d5b1b40cf1f94234d61409b14e59f3766f457c1eec7f7ac15", + "name": "tqdm", + "version": "4.70.1" + }, + { + "direct_url": "{\"archive_info\": {\"hash\": \"sha256=3e1d9f534781c8e608240da0b495b8246317a36382f7609017cbaa7fb1d53f7b\", \"hashes\": {\"sha256\": \"3e1d9f534781c8e608240da0b495b8246317a36382f7609017cbaa7fb1d53f7b\"}}, \"url\": \"file:///wheels/transformer_engine-2.16.1%2Bc9877beb-cp312-cp312-linux_x86_64.whl\"}", + "metadata_sha256": "d882f743161d9d9f35dee4e1a8cc9136fa495f7c660caace01ab8f5602d76aa7", + "name": "transformer_engine", + "version": "2.16.1+c9877beb" + }, + { + "direct_url": null, + "metadata_sha256": "465797a59706d83b45c93fde750b228c3b6e1addc44115de2c4c02ad66d9c5ea", + "name": "transformers", + "version": "5.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "a91982ca086667c592a951973434f7c5a9f27a8300bc97af78dfb496afe53e71", + "name": "triton", + "version": "3.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "d26fbb244532c4051e715f9047cd943e2cc4abb0ac6f2a517fa2986eb1ea726a", + "name": "truststore", + "version": "0.10.4" + }, + { + "direct_url": null, + "metadata_sha256": "c84af1a069084b1b440b3594068dec29200d52d4c1a9b652030448717f270158", + "name": "typer", + "version": "0.27.2" + }, + { + "direct_url": null, + "metadata_sha256": "0ad6653b7439f4bb6a596cb7b01ed1b716458467525c4dc40b75d62bdb943c98", + "name": "typing-inspection", + "version": "0.4.4" + }, + { + "direct_url": null, + "metadata_sha256": "d005280aa13b334ac942d20219102865e559f69ffd06c35c248b2f0d0da3b933", + "name": "typing_extensions", + "version": "4.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "fba2930e9030a18965d243f8d330748db2e67572a81b3b68710462fb5110332a", + "name": "urllib3", + "version": "2.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "bc5717bd6524a33838f285261868bcc8e311e8c29fdb19e41d56c38b04890e84", + "name": "uvicorn", + "version": "0.54.0" + }, + { + "direct_url": null, + "metadata_sha256": "741c006d8441f562aa853a5430df236fbb4af923445491f396bf09943bd30258", + "name": "uvloop", + "version": "0.22.1" + }, + { + "direct_url": "{\"dir_info\": {\"editable\": true}, \"url\": \"file:///vime\"}", + "metadata_sha256": "f85aa01dfdc868756a6583434bbff040f29eb511d47d5b25ada063a84353aac6", + "name": "vime", + "version": "0.3.2" + }, + { + "direct_url": null, + "metadata_sha256": "c25431aaf1950971fe96292f395a41a55b403127bfca0d0b8f7dc9cff5dab75d", + "name": "virtualenv", + "version": "21.14.1" + }, + { + "direct_url": null, + "metadata_sha256": "4e3ee0a31d85e56268640aae853bcee4794dfe8c0483c5c6370517e480c81ae0", + "name": "virtualenv", + "version": "21.14.5" + }, + { + "direct_url": null, + "metadata_sha256": "d4ed5c7551cddb8c1aeff2f9f27b3491f6ad2c9afda8e7bb9779c33fa12a536c", + "name": "vllm", + "version": "0.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "84b482e09bac949e992594757214a1920c667a5d898ee320e309250697f6d26e", + "name": "vllm-router", + "version": "0.1.15" + }, + { + "direct_url": null, + "metadata_sha256": "9b16c871eb1060a5218e9b9a9ad33288d94844cfaf43f08dbb6c32423bde8fe3", + "name": "wandb", + "version": "0.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "8e4f2be437dfe4eb3c6c959e517ac20b75d06525563f1ebcbf06f9ec648bd7c1", + "name": "watchdog", + "version": "6.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "15218afb42938907c2ca74c54e3d8e3a5406493c4761e29e38e82bfec0f84296", + "name": "watchfiles", + "version": "1.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "8863af96e88b7db9990da99aa6c46816eacc3d2f9ae1297b53381b033cd70119", + "name": "wcmatch", + "version": "11.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "f46e6bd6cfafb2b684c29587b017b7096fd9155b74eda25a22eca784b9803ab7", + "name": "websockets", + "version": "16.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "ce82db5ccfefa4bfbe4e25a36e1f91e8e7d51fcaeb31586c4d48e1c69f99168b", + "name": "websockets", + "version": "17.1" + }, + { + "direct_url": null, + "metadata_sha256": "0f142a2c09eac643c7d0bfe77f3f121184c0b17914afbd32af669ed19b2b02ef", + "name": "wheel", + "version": "0.47.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd58938e51a3c5cb363f6f22eaa2a8a7accc1ce373388de167a82f77d3e5783f", + "name": "wrapt", + "version": "2.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "b0b72c1941f04499ca7e1a3a6e479aee8df902c3d49979624b59dba8c3228d37", + "name": "xgrammar", + "version": "0.2.8" + }, + { + "direct_url": null, + "metadata_sha256": "ef8861f39e5c36255966a36032651f937d890d55f31f1c26304b488f1ba34332", + "name": "xxhash", + "version": "4.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "740c08057b6eb69c58402c87d652af0a471e46325d811f2c605632a18817152f", + "name": "yarl", + "version": "1.25.1" + }, + { + "direct_url": null, + "metadata_sha256": "7b060e4d24394b5431875e2f74fec8e6bffa79d2e6b4cb8c7e2a5187dd2d8d69", + "name": "z3-solver", + "version": "4.15.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "3d76d4fbc95f0851191147db12300938c67a6f8fb1df884886d9601272ccc4e8", + "name": "zipp", + "version": "4.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "d3de2651e4e908dbb7c9d80508e5179590217dfac4993dc8b04381c5b9718c4c", + "name": "zstandard", + "version": "0.25.0" + } + ], + "executable": "", + "installed_provider_sources": { + "vllm/compilation/__init__.py": { + "path": "/vllm/compilation/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/backends.py": { + "path": "/vllm/compilation/backends.py", + "sha256": "fa4bff8920b363efbbde9456f135fa9d2c004a5bde1898877f177418b2d8b008" + }, + "vllm/compilation/base_static_graph.py": { + "path": "/vllm/compilation/base_static_graph.py", + "sha256": "5cfe8e06db84aa42cd41cdd93ebe93af00b3a242c8011042057530e2922b523a" + }, + "vllm/compilation/breakable_cudagraph.py": { + "path": "/vllm/compilation/breakable_cudagraph.py", + "sha256": "3cc427612a08e2b9b3fee47548026400c1d0776e2d4747535e59ef5512bdf1e8" + }, + "vllm/compilation/caching.py": { + "path": "/vllm/compilation/caching.py", + "sha256": "71d212452dde742fbf28b8a01ed29d3c08a7457ff7f8da2a20ce9d17e902c2cf" + }, + "vllm/compilation/codegen.py": { + "path": "/vllm/compilation/codegen.py", + "sha256": "e04833bec88cf9d1a13aa7341e30e3233d1138bfe23424e0fd34d664b3fedb9f" + }, + "vllm/compilation/compiler_interface.py": { + "path": "/vllm/compilation/compiler_interface.py", + "sha256": "8d84e2864bf83f754bae9e9f77119e0287cca9f97f5fa5ec2535e07b5ad88944" + }, + "vllm/compilation/counter.py": { + "path": "/vllm/compilation/counter.py", + "sha256": "d8158c54dd36a357bf24f6f84dc22f572d3a27f4875f3d5779b12bc5d454ff76" + }, + "vllm/compilation/cuda_graph.py": { + "path": "/vllm/compilation/cuda_graph.py", + "sha256": "05c86392d7fae967ac73076dba7e01990a0e3ae619e4866450a0c1be56bd1192" + }, + "vllm/compilation/decorators.py": { + "path": "/vllm/compilation/decorators.py", + "sha256": "cab6962e8a1fead59c75f5ed8cb4732f9e5441ff972030c2f4b1c4ba0c58de3c" + }, + "vllm/compilation/monitor.py": { + "path": "/vllm/compilation/monitor.py", + "sha256": "43b24c5cb1bc4d32dc979f3222596905c7b3acc58415328a234402e6edc76abf" + }, + "vllm/compilation/partition_rules.py": { + "path": "/vllm/compilation/partition_rules.py", + "sha256": "857d2fb06dc871ea1d3717cd01fbd4e5205984100d98b7b72a2933d6ff1cfa4d" + }, + "vllm/compilation/passes/__init__.py": { + "path": "/vllm/compilation/passes/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/fusion/__init__.py": { + "path": "/vllm/compilation/passes/fusion/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/fusion/act_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/act_quant_fusion.py", + "sha256": "1fa9c3ca4fb424685b7053c3dda89dda16c98dc5645d85f0f28dca58429792b3" + }, + "vllm/compilation/passes/fusion/add_rms_fusion.py": { + "path": "/vllm/compilation/passes/fusion/add_rms_fusion.py", + "sha256": "e46998552628aa5cd5962fc39ea39ae824fd97e6aeba1d176e9cc7cade39837b" + }, + "vllm/compilation/passes/fusion/allreduce_rms_fusion.py": { + "path": "/vllm/compilation/passes/fusion/allreduce_rms_fusion.py", + "sha256": "0af193505880cec0f6ffa224c688bce3c9ddc318dccdf04a696b4e4b4506a963" + }, + "vllm/compilation/passes/fusion/attn_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/attn_quant_fusion.py", + "sha256": "ecc64e82be4481954c9cac6c23d7794846ab19486b570f2dda07ab5ad67c5a49" + }, + "vllm/compilation/passes/fusion/collective_fusion.py": { + "path": "/vllm/compilation/passes/fusion/collective_fusion.py", + "sha256": "1e2c8539d6960b45907fb3bf0482441ea7250e97c56ffdea1500514efa0b164d" + }, + "vllm/compilation/passes/fusion/matcher_utils.py": { + "path": "/vllm/compilation/passes/fusion/matcher_utils.py", + "sha256": "50ac5714ce1bb113520de769ea6234316acc470a8cdf2537a996ce9a9d54337d" + }, + "vllm/compilation/passes/fusion/mla_attn_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/mla_attn_quant_fusion.py", + "sha256": "a966fe7f58bf9228379f793f5fd851735a97f9639722766b2a20cb79a9e4baec" + }, + "vllm/compilation/passes/fusion/mla_rope_kvcache_cat_fusion.py": { + "path": "/vllm/compilation/passes/fusion/mla_rope_kvcache_cat_fusion.py", + "sha256": "1602cc28055ffa8d1123ddb1d256bf0bd12006fd06ea7e16a986c55746dbe0dc" + }, + "vllm/compilation/passes/fusion/qk_norm_rope_fusion.py": { + "path": "/vllm/compilation/passes/fusion/qk_norm_rope_fusion.py", + "sha256": "aebc7d1a5189b65ac665afcc169e7baebd53efe719c48e35e7c5babe85af0d39" + }, + "vllm/compilation/passes/fusion/qk_norm_rope_kvcache_fusion.py": { + "path": "/vllm/compilation/passes/fusion/qk_norm_rope_kvcache_fusion.py", + "sha256": "f0cfd0d83ec4acb09f9bf91d199b114e9d4995e3059c13eb23a6978ce7c07eb2" + }, + "vllm/compilation/passes/fusion/rms_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rms_quant_fusion.py", + "sha256": "4852aa44e0e2087043fdac271bda9b8d9bfe3201bb84ce3919b8ed454d8083c4" + }, + "vllm/compilation/passes/fusion/rocm_aiter_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rocm_aiter_fusion.py", + "sha256": "372e76c68c75209a085deec6dd22b3816be633613ca82f6f2925c1b3773d61a0" + }, + "vllm/compilation/passes/fusion/rope_kvcache_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rope_kvcache_fusion.py", + "sha256": "3a756e9049593537143b5a56ab9185a6bc83f57ed81d84226d7791a46a984b53" + }, + "vllm/compilation/passes/fusion/sequence_parallelism.py": { + "path": "/vllm/compilation/passes/fusion/sequence_parallelism.py", + "sha256": "3af7e420dcb35fff0bae0f8f599d0f1bda34445ebe194059892a434b2976d654" + }, + "vllm/compilation/passes/fx_utils.py": { + "path": "/vllm/compilation/passes/fx_utils.py", + "sha256": "730708213acf9d1b5f3176b433dfc197a5f3c81b5ce443f0923c526924833003" + }, + "vllm/compilation/passes/inductor_pass.py": { + "path": "/vllm/compilation/passes/inductor_pass.py", + "sha256": "1f380aacf7adabb8bf8b7d41c0a93473947f0716f7445bd910fd448f6c08e672" + }, + "vllm/compilation/passes/ir/__init__.py": { + "path": "/vllm/compilation/passes/ir/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/ir/clone_elimination.py": { + "path": "/vllm/compilation/passes/ir/clone_elimination.py", + "sha256": "5297078f5cddce081faba5215814275381d2083b32318fcfeb2bf9d69fedb7c7" + }, + "vllm/compilation/passes/ir/inplace_functionalization.py": { + "path": "/vllm/compilation/passes/ir/inplace_functionalization.py", + "sha256": "2dc4f22c6f05224828c2941479185b1452d4490f488b7f0bfd124334e7809fed" + }, + "vllm/compilation/passes/ir/lowering_pass.py": { + "path": "/vllm/compilation/passes/ir/lowering_pass.py", + "sha256": "d9c3d90f63138420f0e5489447b5996573fcfbbab939da2efccd00848492b172" + }, + "vllm/compilation/passes/ir/utils.py": { + "path": "/vllm/compilation/passes/ir/utils.py", + "sha256": "f59d33a6c7d0616cbeec1e9fb1d6c948881bf81fe124caeb906eac2e2197ea21" + }, + "vllm/compilation/passes/pass_manager.py": { + "path": "/vllm/compilation/passes/pass_manager.py", + "sha256": "486979a058aa2e20ebedcbb6e039f7a59f38d2efd2cda11219fae4067be0968d" + }, + "vllm/compilation/passes/utility/__init__.py": { + "path": "/vllm/compilation/passes/utility/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/utility/fix_functionalization.py": { + "path": "/vllm/compilation/passes/utility/fix_functionalization.py", + "sha256": "ad5b504a05ccee023869b0c8df70ec2fff9a4a80d25fd903e2b532f470e7203f" + }, + "vllm/compilation/passes/utility/noop_elimination.py": { + "path": "/vllm/compilation/passes/utility/noop_elimination.py", + "sha256": "8abf85d28c13f95059f2acbc0275b9b9ed2ad4990f7c5763bbe3067a4aa629ce" + }, + "vllm/compilation/passes/utility/post_cleanup.py": { + "path": "/vllm/compilation/passes/utility/post_cleanup.py", + "sha256": "1c38b14fc209165cbcf8ca763a17ac4e528b97f59b573e5d52df2cce7d758de3" + }, + "vllm/compilation/passes/utility/scatter_split_replace.py": { + "path": "/vllm/compilation/passes/utility/scatter_split_replace.py", + "sha256": "138402cc3097768a32e9e5b8d1a054b6176e494bddc8684e23ca2dc5fdc3fdda" + }, + "vllm/compilation/passes/utility/split_coalescing.py": { + "path": "/vllm/compilation/passes/utility/split_coalescing.py", + "sha256": "0b02acd9e1ad43d7b3e128b914e969b9580773f2818078846dfbf163a8bd0871" + }, + "vllm/compilation/passes/vllm_inductor_pass.py": { + "path": "/vllm/compilation/passes/vllm_inductor_pass.py", + "sha256": "4f83ffb67f834a214221d810c7843a8e41eb4e5930eb40adbd8cf054ff6fb9c6" + }, + "vllm/compilation/piecewise_backend.py": { + "path": "/vllm/compilation/piecewise_backend.py", + "sha256": "6525318ff3ca2e4978e24dd9232a7ae0a02e920e19604b83db6f6043d1f8a54d" + }, + "vllm/compilation/wrapper.py": { + "path": "/vllm/compilation/wrapper.py", + "sha256": "c1b1fca679ea16aa07a696831a810c0d531da2bb0ea32dd6f1a95cdaef36de07" + }, + "vllm/config/__init__.py": { + "path": "/vllm/config/__init__.py", + "sha256": "56fb0cb1598d297e4f95a97e5d86dc624145d1532f5faa432b7d2834d7155bd5" + }, + "vllm/config/attention.py": { + "path": "/vllm/config/attention.py", + "sha256": "c41f345b512d9b7df882328257eb3a6381f41088c11ae83b5ecd8a9e8265d1bc" + }, + "vllm/config/cache.py": { + "path": "/vllm/config/cache.py", + "sha256": "f1c226ba679c884930dbfcaf41a57248b137a9a20d3ed8e3d3b31752bb484c07" + }, + "vllm/config/compilation.py": { + "path": "/vllm/config/compilation.py", + "sha256": "c9cec5c7200e8e559810ec8c30113ad61dab6780f9f7fb3c116bd0d9b5a43065" + }, + "vllm/config/device.py": { + "path": "/vllm/config/device.py", + "sha256": "7b82eee02ceb5842337451a27a3d5729920c47e25e8f6bf3997f5146f9330a9c" + }, + "vllm/config/diffusion.py": { + "path": "/vllm/config/diffusion.py", + "sha256": "1fa9fd2478a866098a28a3586b55af2f9738656b7813a55d76539c10dd99fe8d" + }, + "vllm/config/ec_manager_config.py": { + "path": "/vllm/config/ec_manager_config.py", + "sha256": "418b387dbe7bdf67deddce331c205768a2d42aea37141f59fb02a8a1528e3552" + }, + "vllm/config/ec_transfer.py": { + "path": "/vllm/config/ec_transfer.py", + "sha256": "0eabb2c25194676d23c6acf59562672a1dd24415043ac5737d621ce0d681ec70" + }, + "vllm/config/engram.py": { + "path": "/vllm/config/engram.py", + "sha256": "34043a22385a041d4e9be8857f64174c990c2ca8308b97b6a952b5ab96c20ee5" + }, + "vllm/config/fault_tolerance.py": { + "path": "/vllm/config/fault_tolerance.py", + "sha256": "b166b24373d599fb15ddc575e3061cf0dcb42174d0369d8468008e7ffbb2a4e2" + }, + "vllm/config/kernel.py": { + "path": "/vllm/config/kernel.py", + "sha256": "27e23c584cf862f4091858db6dc85bbc2a01f4baf9dca3f232ae6f3bac02390e" + }, + "vllm/config/kv_events.py": { + "path": "/vllm/config/kv_events.py", + "sha256": "b1dbaee3e6830e381e9157fe3bab0d65c357da88ff7cdf8b1e4b3a4e75c82a87" + }, + "vllm/config/kv_transfer.py": { + "path": "/vllm/config/kv_transfer.py", + "sha256": "506fae7a9d7f32cb3646156cf9249a856f6317dff6c4c85db70efd34418c429b" + }, + "vllm/config/load.py": { + "path": "/vllm/config/load.py", + "sha256": "bd6431c22e078362d749a56a2c84145432ebf2605d8bcfa2ac679182d18ed630" + }, + "vllm/config/lora.py": { + "path": "/vllm/config/lora.py", + "sha256": "ed6cf6575f5950f079a62f904caeae93d1a4745dd8c21788b74367883bcd4b08" + }, + "vllm/config/mamba.py": { + "path": "/vllm/config/mamba.py", + "sha256": "2090f791201ca45dd4f1d72b8651268890eb07574b6084721194eb8fdf612c48" + }, + "vllm/config/model.py": { + "path": "/vllm/config/model.py", + "sha256": "f4168b67cc93ce72ff2a6d4c66974223e32fd0f1fab4c05e44bd68a275e18d69" + }, + "vllm/config/model_arch.py": { + "path": "/vllm/config/model_arch.py", + "sha256": "2babe28329d7b60b4e205f6d72c687f0f66e6535aa2f20411469e5ec362f6b5f" + }, + "vllm/config/multimodal.py": { + "path": "/vllm/config/multimodal.py", + "sha256": "271911aee151f17f092228cecee82af0713e9a47340ffdf66834ca7638a50d22" + }, + "vllm/config/observability.py": { + "path": "/vllm/config/observability.py", + "sha256": "d57c59ec776477ab0a20e9f2b945bc954d8ea3737c869259480e9aa10dfb9f6d" + }, + "vllm/config/offload.py": { + "path": "/vllm/config/offload.py", + "sha256": "6f2db3d9a2730588473d5155811690c6241b167a21dcb62fbbd9ebb6386de42c" + }, + "vllm/config/parallel.py": { + "path": "/vllm/config/parallel.py", + "sha256": "f012ace89e3fb730a467f729f602679bc145c49f0d10721811c9d818570e7b2b" + }, + "vllm/config/pooler.py": { + "path": "/vllm/config/pooler.py", + "sha256": "9f01913dcb7bccbf9b672b16643f18471ae202455992e8afaf0725a17f2b3d08" + }, + "vllm/config/profiler.py": { + "path": "/vllm/config/profiler.py", + "sha256": "04d24fa1dc7cfedca6b5c7d9115f7f7021722fc46a5b15234a1e3b3a506c93e5" + }, + "vllm/config/quantization.py": { + "path": "/vllm/config/quantization.py", + "sha256": "acffc52f525b39a88efd656f1ed705ce3a1b758298bb0684fac7694776bc10b4" + }, + "vllm/config/reasoning.py": { + "path": "/vllm/config/reasoning.py", + "sha256": "2c4f7bdee48a9fb3d93787c4c32361c2411417cce452cfde86808d8759977861" + }, + "vllm/config/scheduler.py": { + "path": "/vllm/config/scheduler.py", + "sha256": "822179da62be4bca0619c8590082ae09123f5c4415f9cc2037be673748239edb" + }, + "vllm/config/speculative.py": { + "path": "/vllm/config/speculative.py", + "sha256": "9c642a87264339c0dbc1d0b57330572149df0f9d5e16c6893b9895e50a619e19" + }, + "vllm/config/speech_to_text.py": { + "path": "/vllm/config/speech_to_text.py", + "sha256": "bf4a566fbde6a1cec1e209070b739650c3302c12696739c88049cb8f723a4c3f" + }, + "vllm/config/structured_outputs.py": { + "path": "/vllm/config/structured_outputs.py", + "sha256": "55649776594349b8b4aa3e08fc4c88068366732a486d6fb235079188044aa829" + }, + "vllm/config/utils.py": { + "path": "/vllm/config/utils.py", + "sha256": "d035e9e488ba92b6c47a96cf05d9b2a850d53eda8a05115b22ff9af8dbc2fc64" + }, + "vllm/config/vllm.py": { + "path": "/vllm/config/vllm.py", + "sha256": "956b812e5a719bcbfa3a3958801361b38b9c928c96b8c073311bbb96376dfb7a" + }, + "vllm/config/watermarking.py": { + "path": "/vllm/config/watermarking.py", + "sha256": "30e6620a3cd7529f0736ad55e38bc326a6a78dee4552f0722208400041c94a1f" + }, + "vllm/config/weight_transfer.py": { + "path": "/vllm/config/weight_transfer.py", + "sha256": "92edd9e5ea90c97a8f3c5f20abf1734a105ee1f3f89e306e7ba87e758f1f767e" + }, + "vllm/distributed/__init__.py": { + "path": "/vllm/distributed/__init__.py", + "sha256": "97f28c30b32662af8cab163939e4ee423037f11630752e13b55cbc25a7d0ab71" + }, + "vllm/distributed/communication_op.py": { + "path": "/vllm/distributed/communication_op.py", + "sha256": "3c3f8ac60db38ece891d39dc1e2f6f1947ad438685893d2e5777d072320bd1b8" + }, + "vllm/distributed/device_communicators/__init__.py": { + "path": "/vllm/distributed/device_communicators/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/device_communicators/aiter_custom_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/aiter_custom_all_reduce.py", + "sha256": "f8eb027ce7a85d94af6260960ceb7f36fc6f1406c9af9c9b6285fddb3f178009" + }, + "vllm/distributed/device_communicators/all2all.py": { + "path": "/vllm/distributed/device_communicators/all2all.py", + "sha256": "1f1b69236acd3cd7bd94520fd6d591bfd31b57c4bc7c9f9f4161ea8bbd0c5f26" + }, + "vllm/distributed/device_communicators/all_reduce_utils.py": { + "path": "/vllm/distributed/device_communicators/all_reduce_utils.py", + "sha256": "ed0ab4dd05b2519a6313892e68824c97b540034664d7f8c3d031b322e33e1bfc" + }, + "vllm/distributed/device_communicators/base_device_communicator.py": { + "path": "/vllm/distributed/device_communicators/base_device_communicator.py", + "sha256": "4a7670f12ed7c7621b25d476e2687c24ca01f3be183fff4a6a25337596fe506b" + }, + "vllm/distributed/device_communicators/cpu_communicator.py": { + "path": "/vllm/distributed/device_communicators/cpu_communicator.py", + "sha256": "e1856c8e91cfbbb4d9ce990c1236e258ba4021e226afcbab645653380b38d64b" + }, + "vllm/distributed/device_communicators/cuda_communicator.py": { + "path": "/vllm/distributed/device_communicators/cuda_communicator.py", + "sha256": "102d95c67ec798cf352b817ba92e8abc9da37f30d1bbdf3aab45d3927b627b93" + }, + "vllm/distributed/device_communicators/cuda_wrapper.py": { + "path": "/vllm/distributed/device_communicators/cuda_wrapper.py", + "sha256": "333b6d9ed173e7a18c7f2b6627a3c9c9ed88892ce52015f05e29d6d245e48ee3" + }, + "vllm/distributed/device_communicators/custom_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/custom_all_reduce.py", + "sha256": "a048c1327c23580805600c0c951831bec333b1ffc4eb26a0e3d34119c4f0c445" + }, + "vllm/distributed/device_communicators/flashinfer_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/flashinfer_all_reduce.py", + "sha256": "b4359760e9b55963676109a5c3a015fb82e190d4df1d021de9ee01e7814cbdda" + }, + "vllm/distributed/device_communicators/flashinfer_pcie_ipc_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/flashinfer_pcie_ipc_all_reduce.py", + "sha256": "8b67b0fc356a565095f56b475cc89c513e3a5eff051ab1c52e5beb0c1a79e9f2" + }, + "vllm/distributed/device_communicators/mnnvl_compat.py": { + "path": "/vllm/distributed/device_communicators/mnnvl_compat.py", + "sha256": "72ee1e6f9571b4c8ecbd9f60cd469d1b565cb79cab519a688a93f290906a2615" + }, + "vllm/distributed/device_communicators/pynccl.py": { + "path": "/vllm/distributed/device_communicators/pynccl.py", + "sha256": "882fb83c5a3c565a3f8fd664b79f5ceae566dca180019ecafd74bc8c11d9f8cf" + }, + "vllm/distributed/device_communicators/pynccl_allocator.py": { + "path": "/vllm/distributed/device_communicators/pynccl_allocator.py", + "sha256": "390e2576cbf4ae06341ca4dab24fc7e4d4f7c24dd444329ed05d828a9ce91460" + }, + "vllm/distributed/device_communicators/pynccl_wrapper.py": { + "path": "/vllm/distributed/device_communicators/pynccl_wrapper.py", + "sha256": "ce63c8da57bb88d4cf89956bd70bb63f0f44bfad468ddb37b765611551f6d99f" + }, + "vllm/distributed/device_communicators/quick_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/quick_all_reduce.py", + "sha256": "8aacb23e7c297b0ae2f80d99c5affd2e7517115d7874be51069d14a44db7b5f2" + }, + "vllm/distributed/device_communicators/ray_communicator.py": { + "path": "/vllm/distributed/device_communicators/ray_communicator.py", + "sha256": "332c37f65495b60564d61db59bc2d30ca0236adc33442d01464790bde9aec897" + }, + "vllm/distributed/device_communicators/shm_broadcast.py": { + "path": "/vllm/distributed/device_communicators/shm_broadcast.py", + "sha256": "f3e7a3f3ff713fccbd535e0d41650ee05bdf8677e83d4b90519910645022c30b" + }, + "vllm/distributed/device_communicators/shm_object_storage.py": { + "path": "/vllm/distributed/device_communicators/shm_object_storage.py", + "sha256": "e097bf7ac0141fe8db4131e8fd553ca2ad5b0600b22a56f3924af6b795e7207c" + }, + "vllm/distributed/device_communicators/symm_mem.py": { + "path": "/vllm/distributed/device_communicators/symm_mem.py", + "sha256": "b06e3ddb9ae880a30ec4a103ce32eb9794223bb0293832e89572af28adaaa544" + }, + "vllm/distributed/device_communicators/xpu_communicator.py": { + "path": "/vllm/distributed/device_communicators/xpu_communicator.py", + "sha256": "527cbfb250760abc62096ee7cd612307b821f21b72dee1687ad866620ec89b6d" + }, + "vllm/distributed/ec_transfer/__init__.py": { + "path": "/vllm/distributed/ec_transfer/__init__.py", + "sha256": "061405bb51df7409c9938b62e25caa8bd6ebf85da6d1700dbd4affe2a0825135" + }, + "vllm/distributed/ec_transfer/ec_connector/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/base.py", + "sha256": "22d4913375bb622473fbe1a77f9376b804949cd8a7e31e9518208f9561d161e2" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/common.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/common.py", + "sha256": "e2267abd8d00a6d2605e1a82ea5c73396a71b427452eab469fcca0134c334e7c" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/connector.py", + "sha256": "72cd35d9fd754a2992dd090a8af13c91e0789b4038ac29276750d823120235db" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/base.py", + "sha256": "19e8df88b0fa831997896355ecdd49e0d86cb074cd7ae28aed0b328b0bb3ab2e" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/zmq.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/zmq.py", + "sha256": "435641c0e37551ab4937855abd067be26905b91215e759cbd9d28a419a34ff9a" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/base.py", + "sha256": "3be698aeb67d32ee3741e76b2fb71806941c587578583acf8fbc42fbf22b46a5" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/nixl.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/nixl.py", + "sha256": "03af8f6549a6027b7262a482907af591e45f28b9b1c5a3408bbc6600e38797e5" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/ec_shared_region.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/ec_shared_region.py", + "sha256": "e40607952c9920024455eca2f419e8c3ef1de9a4d8b27c147a33bb941b8c08b1" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/protocol.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/protocol.py", + "sha256": "05878336884396bfbef77b96b0fa6359f6fa0aba912961f14a84f5a436f27038" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/__init__.py", + "sha256": "01c42385bf3a55cff09cc05ba956f6dd4b8b6b986bf4d6eca4e566cb045b48e0" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/embedding_cache.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/embedding_cache.py", + "sha256": "7359fb980af1fc30b3253681310ef636e2b4a19134e04a93270c9c45de2572d8" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/session.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/session.py", + "sha256": "5973548a919e13c866222b91d502686a6757a31e5a5664b879bf2887ed9fb212" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/utils.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/utils.py", + "sha256": "160ac665f20f2c75b343c1e784084f2b0b4d1cf8fdb28ee15deee4dc8ed0ce45" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/worker/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/worker/__init__.py", + "sha256": "f08d296d3560c42173ae8af961af4a768033ccf1e36e9c17c0cdd53013d0c52e" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/worker/descriptor_buffers.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/worker/descriptor_buffers.py", + "sha256": "be7c81be214e995da8499105ba485854d9c19d6f8e905f8f1b87b83694ca0864" + }, + "vllm/distributed/ec_transfer/ec_connector/example_connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/example_connector.py", + "sha256": "09022ce07a89114bb65d9befd2e60873453aed11bbac8c0a75c1e6084e785a5f" + }, + "vllm/distributed/ec_transfer/ec_connector/factory.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/factory.py", + "sha256": "d6cedca0a99c3dd2b03cd1c15d17472b983e3f7d8f5baf4a12eecaf6abedb817" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/__init__.py", + "sha256": "1cbfc2f95f8f4d48a9253056eb1fd4b562062884e3fd5cb6571583c352fc16f3" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/config.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/config.py", + "sha256": "98c60696f79d1de67d2364cd9e8a42a393b5c8e17ed9af2f971368e47891d7b3" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/control.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/control.py", + "sha256": "58e0d1a423fbe958bfa586ac26a17107e08d0b31d044b4c74ab4dde880e7ca9b" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/memory.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/memory.py", + "sha256": "d5e90b1348de670a70f110d58eedcbdbd053db72c21dd007c3f5275c53951149" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/metadata.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/metadata.py", + "sha256": "497a7e6dfffb7fce80a41d5989f96119b970c143df77bb9d0f9c91d7a46e8c42" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/producer.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/producer.py", + "sha256": "97fa4d0b19475574778eab02f55fad73db9642beb9156da890314fd53fa1a7ab" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/reservation.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/reservation.py", + "sha256": "4790bc65cde4db5f17733ca2c2910980ba594a8a9b79ee27c5b957dffd4c1113" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/scheduler.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/scheduler.py", + "sha256": "53004b62529a31fdd80dfb2e6026610b95041a77e91f731ae526fefd84e7968d" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/state.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/state.py", + "sha256": "92f375d6c5cc9c83dbe95a7977ad8eb0f1b5629ccee92968bcacdc94eee15d65" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/transfer.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/transfer.py", + "sha256": "ada2113a5402054f1149d3edc2537f4e5e1bd696c9b17291c9f2b4cbf6b59753" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/worker.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/worker.py", + "sha256": "89eb91bb64845b3b121d502972a6b04d448714253becd2ea662e5691cd5acdd7" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake_ec_connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake_ec_connector.py", + "sha256": "aaebab4711bc00dd0c622dfbfd8639fc41e7ed5d1658d7d68fe33e4d5fbef3ba" + }, + "vllm/distributed/ec_transfer/ec_connector/utils.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/utils.py", + "sha256": "11b9014b9c0697f8846deff1a55a22fa86a15dc2ac3e139442fb6d513ac03059" + }, + "vllm/distributed/ec_transfer/ec_transfer_state.py": { + "path": "/vllm/distributed/ec_transfer/ec_transfer_state.py", + "sha256": "9487a41f23fa1a4fa6dfca8b42b8e97a0ee19d8406ffd1dcf4bef66315180827" + }, + "vllm/distributed/elastic_ep/__init__.py": { + "path": "/vllm/distributed/elastic_ep/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/elastic_ep/elastic_execute.py": { + "path": "/vllm/distributed/elastic_ep/elastic_execute.py", + "sha256": "b8f60a4183c79ff6051095b5f95bb385bc7fea0cffe8cd9ebc9087ab0e9f01b5" + }, + "vllm/distributed/elastic_ep/elastic_state.py": { + "path": "/vllm/distributed/elastic_ep/elastic_state.py", + "sha256": "fbf049199841a086fdf2fc1ab8498ef017ad3bf319db65c3ae61acbb536d2e10" + }, + "vllm/distributed/elastic_ep/standby_state.py": { + "path": "/vllm/distributed/elastic_ep/standby_state.py", + "sha256": "15282597550ebd0e07b8492ff192aea1ec0dcec8f0ad34009123e1002cc140c1" + }, + "vllm/distributed/eplb/__init__.py": { + "path": "/vllm/distributed/eplb/__init__.py", + "sha256": "1b9c2ee22abb5888c354c5aa01f0944f253e5e24e135d019778398bbe495a628" + }, + "vllm/distributed/eplb/async_worker.py": { + "path": "/vllm/distributed/eplb/async_worker.py", + "sha256": "424328600ad1003286fc5dfffa1f9482007314c060947818b2f94a8b97811f5e" + }, + "vllm/distributed/eplb/eplb_communicator.py": { + "path": "/vllm/distributed/eplb/eplb_communicator.py", + "sha256": "ba30d9d40e7b81d3f42aa9041d2f328edca4073cfe2de920285eb68375501ed8" + }, + "vllm/distributed/eplb/eplb_state.py": { + "path": "/vllm/distributed/eplb/eplb_state.py", + "sha256": "2f06bc8c63f3fdf55edb5032ae55c0ffcac3e67720ce74ea312e3d141b12acf4" + }, + "vllm/distributed/eplb/eplb_utils.py": { + "path": "/vllm/distributed/eplb/eplb_utils.py", + "sha256": "058af6104faa6d4085c1dca80bbe60d92bf0a7ec9cd92c775a180546c9d8c9c3" + }, + "vllm/distributed/eplb/policy/__init__.py": { + "path": "/vllm/distributed/eplb/policy/__init__.py", + "sha256": "daeb266c88442832b1ab8c8c4cc064891b38b9e9ba00aea324f926c87dc6d37e" + }, + "vllm/distributed/eplb/policy/abstract.py": { + "path": "/vllm/distributed/eplb/policy/abstract.py", + "sha256": "b9fd34c28bbfdded03360d7f3f6f8fb978e82689190d7ae4501dfe520e958c62" + }, + "vllm/distributed/eplb/policy/default.py": { + "path": "/vllm/distributed/eplb/policy/default.py", + "sha256": "3b54229e6240d050480390f6b29d4744fd38437d23719f78a6decf7002296a29" + }, + "vllm/distributed/eplb/rebalance_execute.py": { + "path": "/vllm/distributed/eplb/rebalance_execute.py", + "sha256": "b387e228791149018536eee96cf955b33ba79d801cdc36849d1b47a580ec2597" + }, + "vllm/distributed/kv_events.py": { + "path": "/vllm/distributed/kv_events.py", + "sha256": "de08f01e8736881560256c350a3b6418999dd4aa30f9c6ec9159527f7ed6899a" + }, + "vllm/distributed/kv_transfer/__init__.py": { + "path": "/vllm/distributed/kv_transfer/__init__.py", + "sha256": "c1be4e58ec6923bae607a355ad22891c740f056a69ff7358b1e10ea3fd2680ea" + }, + "vllm/distributed/kv_transfer/kv_connector/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/base.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/base.py", + "sha256": "2ae2a2c48f5731f3533166a75440fe91e764332305b5d713df840edba970789d" + }, + "vllm/distributed/kv_transfer/kv_connector/factory.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/factory.py", + "sha256": "add99c93c587b0098b90b1f8fd6940bdd1f15c236c5c6f1a258411863cb902d3" + }, + "vllm/distributed/kv_transfer/kv_connector/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/utils.py", + "sha256": "317ed40dc837671ca6e666165222e641a0f9b3992aea63bbf54de7e13d40b3a4" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/__init__.py", + "sha256": "5beb6ccad12fdcfe1581982da6f18321caca50e73a6b3259ebf3c8dc8b3ffcca" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/base.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/base.py", + "sha256": "97af64220475c6c9e8273438d7b5138b105ebe6944beb783facb36a3bb76f31b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/decode_bench_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/decode_bench_connector.py", + "sha256": "b4151c88cdec28f1ff9259047abc17baf23b892f4b68769a93bf26e0442b9017" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/example_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/example_connector.py", + "sha256": "6226876ef52d10d0d284d29c337ab44698e8bac6abdb2e0ece53b5756c55d068" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/example_hidden_states_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/example_hidden_states_connector.py", + "sha256": "58c22534dcad0fb73599a2d70a2fb104d5b612a4723be5e777f56a56fe07892c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/flexkv_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/flexkv_connector.py", + "sha256": "de4f68c3bd565ed898e47e0b2980049b966ff31888f1957050d30995d4953762" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_client.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_client.py", + "sha256": "bea6ecff2be281c7e96c1551c7bf463cbb01f2964696067c0ebdb683844f9aab" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_connector.py", + "sha256": "e67ed58015090e5eea9d499883f2a9422673d07f8bdbe0ccff7db15d2460de13" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_metadata_server.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_metadata_server.py", + "sha256": "6800e5cf37809f8a8e28c469c14a434db288bc3bf83a8b62ee06910a20c2da19" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/common.py", + "sha256": "8f2c02c08227a9093e6aeb183961aba36b7812cfc29b8c047a2b2c9d82f79c15" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/gather_scatter_helper.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/gather_scatter_helper.py", + "sha256": "08c1b43de34fbeca77357d7576ac1d17cba974b59d695562f68bb713061e7b54" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/hf3fs_mock_client.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/hf3fs_mock_client.py", + "sha256": "bec61a9b0c4b9124b2292d7646d76411da44396389349b53cdcbc46353c8780e" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/connector.py", + "sha256": "8c61094ce0a3a702908f9576f69482e6bf314738a2cbe33a7d3b47258fa0ab43" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/stats.py", + "sha256": "d9383a6ad6ab6b8f812d29d90495407b770eeddb79b86e9d0e3216c0bd16e0ed" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/worker.py", + "sha256": "251c0d8e57e4739c03ce3e1c899a95ff5b1752eb27676c28ab88c4ebd62c4776" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py", + "sha256": "5991f9ff8832df32bd421eb67e48237270ea0a408180e523810bb43606acf8f3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/__init__.py", + "sha256": "c53be9796e76cde637514bfc40a525d8c09bb2784b406cb516790d8285dfe433" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/multi_process_adapter.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/multi_process_adapter.py", + "sha256": "6480d67b31ed603027a83edf327880a38aee45eaeee2da9a4efa93e95527c166" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/utils.py", + "sha256": "e204fa6a853ac9c122d7a4e9d146902230f81c48d4321ed5edfdbf979dd49ba2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/vllm_v1_adapter.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/vllm_v1_adapter.py", + "sha256": "e6fe55049c6b007248516d69640e2f3a4809f9d286091a1014ae0949987fa8f1" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_mp_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_mp_connector.py", + "sha256": "c712c386a7c57bf0355a1441ba574232c3aa5498fcb70713a2b3f5d18b64f9c1" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/metrics.py", + "sha256": "de1b1797d0448f74370919dbb0278767f390e8f59e00a0c0528abefb302babc2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_connector.py", + "sha256": "516be01320e64b0110e102eeb69a6ba766dd5ac8cb3036db6b97b7d54413323d" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_utils.py", + "sha256": "26877610463fa8e9d6b092772f2551bcc0c3ac794cbe63996df0414666a8ebba" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/rdma_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/rdma_utils.py", + "sha256": "716e5042edecaba36c7ca763474988f32fa09c2668b8260260149df610af8f83" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/stats.py", + "sha256": "f39b2f0b1db2e4f922e27e684a3f7bbf5bb279b82a0a8c3bb0c7ae69b6d14d24" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/connector.py", + "sha256": "17a350bdb89e17e415d6c52a48684dc15c35a804378daf03e1f3bee1b1b123a3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/coordinator.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/coordinator.py", + "sha256": "a8eb6c2157a96e8d25233b82347ac8409a41d6390b4f2c64242119c05911010c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/data.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/data.py", + "sha256": "d3cfefdb4165a24995749cba452641b318065baa95bb1bae62f922a2f8886e7b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/metrics.py", + "sha256": "f2b9ef8927632d142aad11a374d0725c6e619ea0bb7fea9eda3f3895eb7d277a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/protocol.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/protocol.py", + "sha256": "ccb1cf6a84a932a375215627d2aaac482c351a05df015d636d05373a6845b7c8" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/scheduler.py", + "sha256": "283849ff581ec206444cdf5621622377f1c925e8d7e05cb9294af2f3a5094e79" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py", + "sha256": "55f1682dfd1ed7af689166421337126a0e1d08afa4774a242e098d79e0c1e95b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_common.py", + "sha256": "549bb4fe22dca5095515b9c0712c31cc81a9d4923881e9f112317640fd8c04ab" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_connector.py", + "sha256": "c0f474bc34b579d889fae92eaf43eaca241be51a4697a187a942f0df4e6b6a98" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_engine.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_engine.py", + "sha256": "d842f3772fc6588d5a329a67572324cb74709aa3df4033e64c791a1e706c8e88" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_layout.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_layout.py", + "sha256": "2b4ec046a78897236b0626939bb828b6ec095355097d10bca39e5f3e1c992553" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py", + "sha256": "12d8387239f3194f2cb63ccbd64824648047210323572d66671e6a1eed349fc3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/__init__.py", + "sha256": "cc3145fe3b6d219a267bf40a0f7c0cc9430e4289f94acab2df761b99b671e7ba" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_scheduler.py", + "sha256": "7a1db8c54e4cd846bdac747344f2aea2c2fcf507817928796063225223b7e169" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_worker.py", + "sha256": "49a2e4faf99bef146b5a1d4d18d48f240b1e561c438252274494b359db96ef52" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/connector.py", + "sha256": "b6a0dc916d052f344be72ecfcb111509c13580102c11a860fa726cf0888949a9" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py", + "sha256": "2b23a07c1ec5ac5490c3b818737c7192e344ea9f52cd5623f75939f741ab4e21" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_scheduler.py", + "sha256": "ac3daf8e2246581fec84ab28f2133569421b62c32a120be4923e2f4d0f2f9de9" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_worker.py", + "sha256": "e5060c9b6cf022de35ca3d1da7a369cd6a6a2dea26219af9f7633aaf78af8a76" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_scheduler.py", + "sha256": "2d9008e33937a4d6c5cf9cc2f96160f2bdbc8e987fe37f0798a7fd7eb84c9572" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_worker.py", + "sha256": "87de3ea383dd3aa95fb2c287ea26ded8a330859cc1295f9faa69047e80865c2c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/scheduler.py", + "sha256": "09f1bfe7075b926b26a94529480e33b62c3ac273ff826f6c502084f08b1b2a08" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/stats.py", + "sha256": "3e710654e0b68d1a8592f0c4735c81b22f4bf698fb1a2dfea126d35bf2dd1ef2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/tp_mapping.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/tp_mapping.py", + "sha256": "2d43607f98701b2fad6cc0ac2767619a80b7fc2b3a3c2eb6ed0da4fb05dcd8f6" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/utils.py", + "sha256": "93de863fc8307a61d40b62f1b176b57ae93c363d34b9e9ddc8e666265b6d45dc" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/worker.py", + "sha256": "5134a36ac100ce7a64f5311029a37ac12c38d91093f63100f51f7fe53ea7c3ee" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/canonical_mapping.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/canonical_mapping.py", + "sha256": "e0b3c6f9806a650e0370c43c5068fc31c0fec94615089e15fdf270d7d96f2b64" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/common.py", + "sha256": "9b3f042c6fa1581d10e8f688d2d9bc927bb41b780a9ea01f514d57228e20c978" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/config.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/config.py", + "sha256": "aea82e60889e78dcad8564ec8285b65a6a372824a1545a98ea8e78b6f4fd418a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/events.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/events.py", + "sha256": "d7039b67be95fd444966628184040a94880873c0611c0e6e7525a22650ffdefb" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/metrics.py", + "sha256": "13d76df014e86691f58dc89a879f9808b124690c9267dd5fa3b2d4004d4c5fdf" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/scheduler.py", + "sha256": "2c5282f4a3165cd787fb355e215e3869f1bdd3f2c795b2155fc537c9d135191a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/worker.py", + "sha256": "acc2df53262441dfc6421a3af7f0cbd68cbfaedbd42bbc384d8e1da2d965d194" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py", + "sha256": "cdc16ca7339a10e1993bd6220e6273f86a4e99779f58f25098a24ad31bb0dbd8" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py", + "sha256": "96238ca82ccf07a1eeb59b8f66de17b09034e3eb993ad9a0a836511d3f69706b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/ssm_conv_transfer_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/ssm_conv_transfer_utils.py", + "sha256": "59a949709482e65a007fbe5352fe9b4bb54c2dcc10ad2c1c41f754b6e13299f4" + }, + "vllm/distributed/kv_transfer/kv_transfer_state.py": { + "path": "/vllm/distributed/kv_transfer/kv_transfer_state.py", + "sha256": "2e5fe09438d6e2ee642f8a26cf7dcf632e870d955d30baf002b76a8bfe836d05" + }, + "vllm/distributed/nixl_utils.py": { + "path": "/vllm/distributed/nixl_utils.py", + "sha256": "0bffa3c052c9f67472b1c0bc3816114891b010c968bf4b8a292e7da4d687db53" + }, + "vllm/distributed/parallel_state.py": { + "path": "/vllm/distributed/parallel_state.py", + "sha256": "d9b10ad56833ebc08a753e1a050ef0989c30d4134021b7b7b00150b7bd01adc6" + }, + "vllm/distributed/stateless_coordinator.py": { + "path": "/vllm/distributed/stateless_coordinator.py", + "sha256": "f52848fbe985ed47b1f3e3ca555314736ca06436e8d738ab4390101f0672dcb0" + }, + "vllm/distributed/utils.py": { + "path": "/vllm/distributed/utils.py", + "sha256": "792146b357139e705064a68d3b66858de8a0baaca4dc7db1232fa217d45db231" + }, + "vllm/distributed/weight_transfer/__init__.py": { + "path": "/vllm/distributed/weight_transfer/__init__.py", + "sha256": "3fb9d4712b7c131d522f5e76e73cd8c333f3cc7af86e2d5ecf9b61b57b3b7f5a" + }, + "vllm/distributed/weight_transfer/base.py": { + "path": "/vllm/distributed/weight_transfer/base.py", + "sha256": "8ab06feb04f1379d0558fbdb77fde46bc84f179e0a26742cabab937e88caa38d" + }, + "vllm/distributed/weight_transfer/clients.py": { + "path": "/vllm/distributed/weight_transfer/clients.py", + "sha256": "ff85c79c350241e6d2749ca23c9d295a3289b4b62bfdf0257d32eb94a0151d36" + }, + "vllm/distributed/weight_transfer/factory.py": { + "path": "/vllm/distributed/weight_transfer/factory.py", + "sha256": "4e979eeac8c5bcdbffb10eb4765cfb30120fa7595c6c2561d3fa1a966ced61c8" + }, + "vllm/distributed/weight_transfer/ipc_engine.py": { + "path": "/vllm/distributed/weight_transfer/ipc_engine.py", + "sha256": "1af578293f387a19073c322b24143c3ae4716ce0c5d2bac2a4ef26fe20119330" + }, + "vllm/distributed/weight_transfer/nccl_common.py": { + "path": "/vllm/distributed/weight_transfer/nccl_common.py", + "sha256": "7b2ef7dc7481c3f478f17c49aa36c7bed54142ec5c93d36ed8426c8fdf09e500" + }, + "vllm/distributed/weight_transfer/nccl_engine.py": { + "path": "/vllm/distributed/weight_transfer/nccl_engine.py", + "sha256": "7fd020c919dc7b4723fb78e64da977b180d0fef0cd21df955a037b848dbaa008" + }, + "vllm/distributed/weight_transfer/packed_tensor.py": { + "path": "/vllm/distributed/weight_transfer/packed_tensor.py", + "sha256": "d0a27fb0be1dc029bd5a1d44fdb57a5e54aa4cd74308bedc339e86ac02c7494c" + }, + "vllm/distributed/weight_transfer/sharded_rdt_common.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_common.py", + "sha256": "be0b13801f24e7b62999b19d733c030510353603a2d5320d5dc98ee02daf22a2" + }, + "vllm/distributed/weight_transfer/sharded_rdt_engine.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_engine.py", + "sha256": "2f791970b4815511a7578ef6c957e7da97b071d26a39087a09a17475909791ee" + }, + "vllm/distributed/weight_transfer/sharded_rdt_fake.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_fake.py", + "sha256": "ee11164e17b5f2793252ce77741b8b94e0583046abf896a590131b2008d1fbb9" + }, + "vllm/distributed/weight_transfer/sharded_rdt_trainer.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_trainer.py", + "sha256": "dd413ff461d41826ccd3eb87d3df22f6cd7f24e09aac7644e3e5b40d7beec484" + }, + "vllm/distributed/weight_transfer/sparse_nccl_engine.py": { + "path": "/vllm/distributed/weight_transfer/sparse_nccl_engine.py", + "sha256": "e11b409454dda2b05ea34e8115ac19027c5e65cb2a5e9682c494f16a50e978f4" + }, + "vllm/model_executor/determinism/__init__.py": { + "path": "/vllm/model_executor/determinism/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/determinism/batch_invariant.py": { + "path": "/vllm/model_executor/determinism/batch_invariant.py", + "sha256": "af8f8d256a48fc214edf426fbe891fb15bd8b1d7ae98b811c736ff1eb0fae798" + }, + "vllm/model_executor/determinism/batch_invariant_configs.py": { + "path": "/vllm/model_executor/determinism/batch_invariant_configs.py", + "sha256": "72ea0d4df0ab5ae288abb7df5c203d2ad5f1709c7295d87ec72da775fddc1b7a" + }, + "vllm/model_executor/layers/fused_moe/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/__init__.py", + "sha256": "64a32665be6d5afcfbaf7a0915717267278b66b880b908b0263ea58f08e51b5e" + }, + "vllm/model_executor/layers/fused_moe/activation.py": { + "path": "/vllm/model_executor/layers/fused_moe/activation.py", + "sha256": "78dec0e85e0c040304515f64ccf8f2c6a7a2e5b9f1124a2138a97d9a02585541" + }, + "vllm/model_executor/layers/fused_moe/all2all_utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/all2all_utils.py", + "sha256": "dc4750a446f7de31d09a46034da5fdf479bc169af90f47aa9af8ae15e67b0828" + }, + "vllm/model_executor/layers/fused_moe/b12x.py": { + "path": "/vllm/model_executor/layers/fused_moe/b12x.py", + "sha256": "ee76cc6aa801e24be8ec78a9e8502061ad48667d5ff8711e43f68fba912425bd" + }, + "vllm/model_executor/layers/fused_moe/config.py": { + "path": "/vllm/model_executor/layers/fused_moe/config.py", + "sha256": "a3a87cebcc7ac85d73f471dcfafc2d899c6fc08f264777b74a0e919adac9e03f" + }, + "vllm/model_executor/layers/fused_moe/deep_gemm_utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/deep_gemm_utils.py", + "sha256": "8fdcd857eb333f9c68902105f157568d52067c94ba1e2df6dbfe0474ef1f4c02" + }, + "vllm/model_executor/layers/fused_moe/eep_reconfigure.py": { + "path": "/vllm/model_executor/layers/fused_moe/eep_reconfigure.py", + "sha256": "9d7580265e8563e1140c2bb4c3a81a35ddd54903f5ec0a2720ffc064681f02f9" + }, + "vllm/model_executor/layers/fused_moe/expert_map_manager.py": { + "path": "/vllm/model_executor/layers/fused_moe/expert_map_manager.py", + "sha256": "308c00f63fcb6f44518ec3a56d8f902c7bba75928c2e3aea30fbe1f3f473973b" + }, + "vllm/model_executor/layers/fused_moe/experts/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a16_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a16_moe.py", + "sha256": "53deea255175171971422d14082ad139b5ec7b62e21429a4c7cc0ebbefd29cdc" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a8_moe.py", + "sha256": "f3fc51b95ed89862381908a0134e326228827f44854248db9585a9c4899c34f4" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp8_moe.py", + "sha256": "af6db1760961a5a71234f8b1cdf42e9e30a236e13601b0826a75110b79724948" + }, + "vllm/model_executor/layers/fused_moe/experts/batched_deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/batched_deep_gemm_moe.py", + "sha256": "b0cd4ea706583518dc608fb56f832fc3595f24bd863b03ef1e8c22b36b873508" + }, + "vllm/model_executor/layers/fused_moe/experts/cpu_int4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cpu_int4_moe.py", + "sha256": "67170af3ba9dc4c4f71d78a72efc3fa4e366eac614936a79911dae5c75ac1864" + }, + "vllm/model_executor/layers/fused_moe/experts/cpu_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cpu_moe.py", + "sha256": "0754cd4ff1b28e6d3932a67609d335acefd28f95a841f0492923813356a6d81e" + }, + "vllm/model_executor/layers/fused_moe/experts/cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cutlass_moe.py", + "sha256": "db901bdbcd3fdac23a1d74e39c51e67f14a82be787b2fd704ed1e787372ae868" + }, + "vllm/model_executor/layers/fused_moe/experts/deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/deep_gemm_moe.py", + "sha256": "16911a64a72eafc26a1bcb544a91f90144d85dc41e3ee57cf20e89925227bbb7" + }, + "vllm/model_executor/layers/fused_moe/experts/fallback.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fallback.py", + "sha256": "1bdd0a4f2ebaa40ec96a5aacc07aee61511af59e6324ce456aa65003b6e2991a" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_b12x_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_b12x_moe.py", + "sha256": "e613afe5da2742e42c717c1a0a56bd9e1c7e3e0452a828db0013d81063518954" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_batched_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_batched_moe.py", + "sha256": "295254dfeeec8df3eb8110e6f659a946cb9cded3de1565ecad4d741b3c3f3e00" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_moe.py", + "sha256": "08578bcd0cf72d6a470e40950175e73639efaa6d8d23c6da0869345312b229c9" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutlass_moe.py", + "sha256": "52887cec5fe628e0a4e7793deb546b40f6c29f7362b3b436c10ca36934ab9826" + }, + "vllm/model_executor/layers/fused_moe/experts/fused_batched_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fused_batched_moe.py", + "sha256": "2435587fc7f8fe8ea341ea0eb8f14c11f3f5b31fbbb9b29ce569ad3bace6e6a0" + }, + "vllm/model_executor/layers/fused_moe/experts/fused_humming_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fused_humming_moe.py", + "sha256": "a6830a76ff7f4cd3479b9c8372a30d03e8301604555cbdbcd9ac89a813b7431a" + }, + "vllm/model_executor/layers/fused_moe/experts/gpt_oss_triton_kernels_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/gpt_oss_triton_kernels_moe.py", + "sha256": "1613a7a6b256e8faee6fdcfae84f293492db6229d28ceb3e8a8d6093af480e36" + }, + "vllm/model_executor/layers/fused_moe/experts/int4_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/int4_emulation_moe.py", + "sha256": "f12857caf0671a341687ad3c5f48616b816ed51e1bcbdefa0a7edbecdb81a79d" + }, + "vllm/model_executor/layers/fused_moe/experts/lora_context.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/lora_context.py", + "sha256": "9b41eefaaa57c5dd0dc54217ef95978821b0c52e90ea4db8b0752e08452bd3e5" + }, + "vllm/model_executor/layers/fused_moe/experts/lora_experts_mixin.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/lora_experts_mixin.py", + "sha256": "b2bc55ed6be98b526c6a5698e2d98300650e78555f56b1820e58c04888e2a373" + }, + "vllm/model_executor/layers/fused_moe/experts/marlin_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/marlin_moe.py", + "sha256": "93916b721548e6194dc70cf6cec224b4b1456a0cc0980235e97beba7bf36541d" + }, + "vllm/model_executor/layers/fused_moe/experts/mxfp8_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/mxfp8_emulation_moe.py", + "sha256": "d09c62ad1398c51ff6f515f2a61014ee9e9a9798d0fe9762c47f446efc5edbef" + }, + "vllm/model_executor/layers/fused_moe/experts/mxfp8_native_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/mxfp8_native_moe.py", + "sha256": "01a42cebf18189e566034111b2145573c655319e8af1a56db60d53a319c40613" + }, + "vllm/model_executor/layers/fused_moe/experts/nvfp4_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/nvfp4_emulation_moe.py", + "sha256": "f24467762b60702f0df122ed64786be839a838a9b6cafaecbd04d35fbfedb189" + }, + "vllm/model_executor/layers/fused_moe/experts/ocp_mx_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/ocp_mx_emulation_moe.py", + "sha256": "dcaa60a9ebdb0bd8223b37af41f018ce7f95716ec7cd8526850f4433a579213b" + }, + "vllm/model_executor/layers/fused_moe/experts/rdna3_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/rdna3_moe.py", + "sha256": "e4abd802dc2f0ad9b338ebde397633c761d881c37813e2dc229902c526b597d8" + }, + "vllm/model_executor/layers/fused_moe/experts/rocm_aiter_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/rocm_aiter_moe.py", + "sha256": "bf09a7b783f5752d61cab76221b32b598d8846d801ee39dc9209d636c9659c6f" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_cutlass_moe.py", + "sha256": "ffce5ad627c540940d122d8df7981644b2eb35d07d480995c0f4f30517815fac" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_deep_gemm_moe.py", + "sha256": "c7209fa5e1ccb184a68b37a0706fc571a76696c2ae79802ddc7f889b1c29684d" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_moe.py", + "sha256": "806fbccfe30f5fbd578acf773add99bdf022b12d617958bd6281aef6de369701" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_bf16_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_bf16_moe.py", + "sha256": "76256de96fefece9c41ffb1108487919e24da364cf4412c6c3474498aba59137" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_fp8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_fp8_moe.py", + "sha256": "b54c7ceb45e5d07aa905f42ea44caccf85ca35ba9fb825d4c01947764510f68b" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_lora_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_lora_moe.py", + "sha256": "dd35a9e4242c0dc8d691168813e14bd5543e591f02ee529d0691e07651942c5a" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_mxfp4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_mxfp4_moe.py", + "sha256": "fe780f125a3dc3ba919659e9b85340bd32afcbfe47733a002bfdfb92eadf400c" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_mxint4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_mxint4_moe.py", + "sha256": "2106d67c2951aa690c4656ca58240d09c366cffe8cb4d9fd575df016c377cc30" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_nvfp4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_nvfp4_moe.py", + "sha256": "e938ac9f058f7c90b41c9610513239bec54a95304bfb5ff5f6897ebd54733d7e" + }, + "vllm/model_executor/layers/fused_moe/experts/xpu_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/xpu_moe.py", + "sha256": "2a11bac0cf9274d963315efd6eebdc62978b0b7aa02e8849ff2a562742f0b86d" + }, + "vllm/model_executor/layers/fused_moe/fused_flydsl_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_flydsl_moe.py", + "sha256": "0e74879ee5c72f616ae4064b9dff3b3a0b583b7fc70b8f92f1e8b730ecd5d39b" + }, + "vllm/model_executor/layers/fused_moe/fused_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe.py", + "sha256": "7072eb06237be9d33dcb0ef7101410f886a6363c98cbee70a014c68b70f639cb" + }, + "vllm/model_executor/layers/fused_moe/fused_moe_method_base.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe_method_base.py", + "sha256": "18dcfc469d3252749801bbf943857f58da85de1f2db8fdff5a9f4986a925dc68" + }, + "vllm/model_executor/layers/fused_moe/fused_moe_modular_method.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe_modular_method.py", + "sha256": "321c744eac1fcaffd6b1b2971204c8baa57dfec53e91e5d24140014d72d64f83" + }, + "vllm/model_executor/layers/fused_moe/hpc_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/hpc_moe.py", + "sha256": "2ca9c5d71b6fd91651027905e2b83103a8823845e053e7153e148cb8e0ee666d" + }, + "vllm/model_executor/layers/fused_moe/layer.py": { + "path": "/vllm/model_executor/layers/fused_moe/layer.py", + "sha256": "def0b4e13bcc1e4e21ee10644e647e2eda1acbf0cc01e76d6128abb59ea08224" + }, + "vllm/model_executor/layers/fused_moe/modular_kernel.py": { + "path": "/vllm/model_executor/layers/fused_moe/modular_kernel.py", + "sha256": "8dc4e0dbbf35b3aac8add63ca6f2a7bbfdadaabbd60826e24598b22c7d8e5c22" + }, + "vllm/model_executor/layers/fused_moe/moe_align_block_size.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_align_block_size.py", + "sha256": "c3f7fc2087836f0160a32ab99ceb1d8f6e87c793679da34dd672e225cb7fa31b" + }, + "vllm/model_executor/layers/fused_moe/moe_fused_mul_sum.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_fused_mul_sum.py", + "sha256": "112e72578002c3bff538418dac64b3b56d995994a2fc5e32b18d2cf3b8392a13" + }, + "vllm/model_executor/layers/fused_moe/moe_output.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_output.py", + "sha256": "6ea4cbd78f9efc7f842c5df246f553f08b991c3479b8b04b89902ed08aaf8e8f" + }, + "vllm/model_executor/layers/fused_moe/moe_permute_unpermute.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_permute_unpermute.py", + "sha256": "1adc592c6254d0c877d66be5406afbc822459c18a838f4bbd094a992e7609d06" + }, + "vllm/model_executor/layers/fused_moe/oracle/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/__init__.py", + "sha256": "4dcf941d50d48bb812de0f39e9194bf17a76b8035fe324889c6038f710fdc453" + }, + "vllm/model_executor/layers/fused_moe/oracle/base.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/base.py", + "sha256": "555bbcd18a3744e64eee4e953daabef3bd268a1bd4faf967d4cfd14d6074f685" + }, + "vllm/model_executor/layers/fused_moe/oracle/fp8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/fp8.py", + "sha256": "245bd36c285df1e6f7c51e52dcda31ad247894577a9f8d765613c2c2feae9aee" + }, + "vllm/model_executor/layers/fused_moe/oracle/int8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/int8.py", + "sha256": "c1b67886511bd966b162db5bca8930f04895fb37a969818a4a10f0726c59547f" + }, + "vllm/model_executor/layers/fused_moe/oracle/int_wna16.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/int_wna16.py", + "sha256": "cfffe8b8b290330be9d18ffa07aeecf296484395ff04df3147d99393e48b55c1" + }, + "vllm/model_executor/layers/fused_moe/oracle/mxfp4.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/mxfp4.py", + "sha256": "b7915e6779b5c88e7dcd2d227f003a8e45071d6d86877013067142d4feb64a8c" + }, + "vllm/model_executor/layers/fused_moe/oracle/mxfp8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/mxfp8.py", + "sha256": "9cfdc8102a04bb844dcd7ed88043bba96ec751794bc093da76c69aa8cf88cf48" + }, + "vllm/model_executor/layers/fused_moe/oracle/nvfp4.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/nvfp4.py", + "sha256": "735b4cdeb1258f11fb02320fc0c70cab5edaca468dd60b07b2d369389d2b0313" + }, + "vllm/model_executor/layers/fused_moe/oracle/unquantized.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/unquantized.py", + "sha256": "c8b8203bd0b73bb7f586f703607394d663f14c05711416ad42d45af564382223" + }, + "vllm/model_executor/layers/fused_moe/oracle/w4a8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/w4a8.py", + "sha256": "d7fa6e2982f20b34d5ce9c5ce28a61122762a3fcdd53d249479472a4f2316c6a" + }, + "vllm/model_executor/layers/fused_moe/oracle/w4a8_int8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/w4a8_int8.py", + "sha256": "6d6f9ca2e67b630002873de2f8d8a231d091c5c2f0f3354a9e8209449b481a4c" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/__init__.py", + "sha256": "2800113263a83c2632e522fb22790b29f63384da75d43de32f0ae2f95e8ae4c1" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/batched.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/batched.py", + "sha256": "d52425dd8c08e47cf8d9c3088daf3b1cc721c8667de4c738d04ba997f9a08ccb" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ht.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ht.py", + "sha256": "465cdf1d6cee91b2ee8c2e43abbea6e8408976e3048c10f44c089f34b415bc60" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ll.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ll.py", + "sha256": "f704922b1db680c4c212982a096e09d6b3eb97d89110313f86ed958a00df21b7" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_v2.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_v2.py", + "sha256": "8d690b016bbcfbc9eb599bcc36a6f798b2f1720c828f4347ea742e218c0cc60d" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_one_sided.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_one_sided.py", + "sha256": "acb57d8342af62bb5672036871cd4b27ecc7f37dfa7c894850bb860e6152a1f0" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_two_sided.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_two_sided.py", + "sha256": "cc5b00d6a157b6eca5afaaf7435165dbd1b4524d6d88bf75808cbe074a389f79" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/mori.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/mori.py", + "sha256": "8e9c3b5b1f0de13f467d95bf2f451cba0e4b0d9a1bdcf98da0988a3a9a79a045" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/naive_dp_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/naive_dp_ep.py", + "sha256": "db015e5b18750bbbf5b2bbaceca877dd6f3f3e74c2a94e8dc185f7413b387f91" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/nixl_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/nixl_ep.py", + "sha256": "1f71d70ac509bf5d3d67a8d95a8ee108a50af6bb5d4bde7181ca28e286f6ffce" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/no_dp_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/no_dp_ep.py", + "sha256": "adbbf529cd22059c95b5380952943a70cf11e05e321dcd707f296bebde61a6e7" + }, + "vllm/model_executor/layers/fused_moe/routed_experts.py": { + "path": "/vllm/model_executor/layers/fused_moe/routed_experts.py", + "sha256": "68c48e5df0ea4a7cc1f04436b7b9153eb53802ecd9bb55d38db8738508daac6d" + }, + "vllm/model_executor/layers/fused_moe/routed_experts_capturer.py": { + "path": "/vllm/model_executor/layers/fused_moe/routed_experts_capturer.py", + "sha256": "cd006bc1a1703418cca3b589fafb2abc4268a086fb3db044bbb64348aeac8b13" + }, + "vllm/model_executor/layers/fused_moe/router/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/layers/fused_moe/router/aiter_shared_routed_fused_moe_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/aiter_shared_routed_fused_moe_router.py", + "sha256": "f47046db1275601a2c67c9232afc7b866c9623a19639d5be867e4c7914a35069" + }, + "vllm/model_executor/layers/fused_moe/router/base_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/base_router.py", + "sha256": "47fa2324bcd9b6ebdc138d69ae6b6ecc0f2463d34bda8c5988bdb0a2a76d3fae" + }, + "vllm/model_executor/layers/fused_moe/router/bf16x3_router_gemm_cutedsl.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/bf16x3_router_gemm_cutedsl.py", + "sha256": "d0f1edd1ebc48d88e490bdb3c93db49bdc0a135ff83e7e0b57130e9f8255fc32" + }, + "vllm/model_executor/layers/fused_moe/router/cpu_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/cpu_router.py", + "sha256": "bff36b15818c87bfbb7ee3def7dc7f6396860abbe5893ff6148801fe941a4b92" + }, + "vllm/model_executor/layers/fused_moe/router/custom_routing_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/custom_routing_router.py", + "sha256": "1a40c7054e3c3a1b3ee2e98f6bc9efa9dfdc11f316a8edf7357dd91533487bfe" + }, + "vllm/model_executor/layers/fused_moe/router/dsv4_topk.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/dsv4_topk.py", + "sha256": "14f7c8487b9aef652dd61c91e0e3c3640b643bf9cd0d8a7184157d71f4beb63e" + }, + "vllm/model_executor/layers/fused_moe/router/fused_moe_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_moe_router.py", + "sha256": "0daa0dc05b931d66767feca444a4cd57ecf140f59b40ea0e8ad213eef6da2b36" + }, + "vllm/model_executor/layers/fused_moe/router/fused_topk_bias_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_topk_bias_router.py", + "sha256": "8fdc28cc248180ad4f11bb4bcda3df47926ec12665a0d84bb712fe83fc6b9376" + }, + "vllm/model_executor/layers/fused_moe/router/fused_topk_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_topk_router.py", + "sha256": "1c80f4af4d781fd66b12aa6a7a0fd30082bc521df40f1252987a8ac4c0bef51c" + }, + "vllm/model_executor/layers/fused_moe/router/gate_linear.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/gate_linear.py", + "sha256": "faa43362c2e7c568498a923c682ca18cae75e87f48d00882770821cb19c21198" + }, + "vllm/model_executor/layers/fused_moe/router/grouped_topk_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/grouped_topk_router.py", + "sha256": "048339e1799cdd42c9dae686a6cb891046577fb391b500f0d12eed73c8f61e52" + }, + "vllm/model_executor/layers/fused_moe/router/rocm_fp32_router_gemm.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/rocm_fp32_router_gemm.py", + "sha256": "9c331ef3d0bb2fb6954387d77ac62a99c5c76d2753c7438bfbb5115f68aae5ac" + }, + "vllm/model_executor/layers/fused_moe/router/router_factory.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/router_factory.py", + "sha256": "019bc8adaa7642abab82843efd53cd1a378f62c652521a1de2b781480eb88742" + }, + "vllm/model_executor/layers/fused_moe/router/routing_simulator_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/routing_simulator_router.py", + "sha256": "a7345df5add00cf3bd93024492d6fc1189fd3ecf2754a11cef1b03a295d791f7" + }, + "vllm/model_executor/layers/fused_moe/router/zero_expert_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/zero_expert_router.py", + "sha256": "dea306edd92e2b9c1b43f982ede8e1e10770d2c66220f5a106e0ed0165276e9c" + }, + "vllm/model_executor/layers/fused_moe/runner/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/layers/fused_moe/runner/moe_runner.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/moe_runner.py", + "sha256": "05893188402fe37229bf72d75088d66193c417d5d502daafd3a55e1bfedaa60c" + }, + "vllm/model_executor/layers/fused_moe/runner/moe_runner_interface.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/moe_runner_interface.py", + "sha256": "189cad01611124eb44594713cbf5918d16fc70196dc81a525ae0a7a97a5fcc51" + }, + "vllm/model_executor/layers/fused_moe/runner/shared_experts.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/shared_experts.py", + "sha256": "d89e4c79c46f6fe61262c51f3facf102e71ce1e4eb3db67f72b6bd8470937be9" + }, + "vllm/model_executor/layers/fused_moe/topk_weight_and_reduce.py": { + "path": "/vllm/model_executor/layers/fused_moe/topk_weight_and_reduce.py", + "sha256": "3dfede72d52bf99af40997994704e6c502ee3bab2bd39bfaa8a68d7dae440203" + }, + "vllm/model_executor/layers/fused_moe/unquantized_fused_moe_method.py": { + "path": "/vllm/model_executor/layers/fused_moe/unquantized_fused_moe_method.py", + "sha256": "182a5ec1874ece2091a24c5303f6ab9ea64a9a61adf325b863927f0cdd83e5d3" + }, + "vllm/model_executor/layers/fused_moe/utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/utils.py", + "sha256": "a93a0bded4008db19d8b38370526ae34fafb9c8278e5b4f60acb6acc8fdc1850" + }, + "vllm/model_executor/layers/mamba/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/abstract.py": { + "path": "/vllm/model_executor/layers/mamba/abstract.py", + "sha256": "dfdc8c836894f574e41d93d76ab989cacd3d7ecf59c97a929abfa48d9364e8ad" + }, + "vllm/model_executor/layers/mamba/gdn/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/gdn/base.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/base.py", + "sha256": "7fec748fc74131f5a45bcaf2644b3fa3a0598fd437d7347f8207ea3644a951c5" + }, + "vllm/model_executor/layers/mamba/gdn/kimi_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/kimi_gdn_linear_attn.py", + "sha256": "1cec4da5c9da73557e192bfb36cd540aae51d3e91283b554449c4a97f0f89bd9" + }, + "vllm/model_executor/layers/mamba/gdn/olmo_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/olmo_gdn_linear_attn.py", + "sha256": "60873ca3bb0c4d17c33bd259b62b658db4883cd23138f47dd4ead62cd2ff0605" + }, + "vllm/model_executor/layers/mamba/gdn/qwen_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/qwen_gdn_linear_attn.py", + "sha256": "b80f8e6f3fff442fb880aebb3209c52f814f66490009f4ac4003de603576d10a" + }, + "vllm/model_executor/layers/mamba/linear/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/linear/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py", + "sha256": "3c480ddd6eba0766ed012a1074bbec5f241d868a87b020b0f6312222c32f93eb" + }, + "vllm/model_executor/layers/mamba/linear/base.py": { + "path": "/vllm/model_executor/layers/mamba/linear/base.py", + "sha256": "26125cd427225954e1846ca361cdaf43f2b56f11b1e217cf26e91a80ef0edb6a" + }, + "vllm/model_executor/layers/mamba/linear/minimax_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/linear/minimax_linear_attn.py", + "sha256": "4adc00f54893b5bc6c31c613deda152a19af3b1bba04153ab5924c3bf2a3aaae" + }, + "vllm/model_executor/layers/mamba/mamba_mixer.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_mixer.py", + "sha256": "a485e937ad9db14d3ad03fde5a9fe795cfa863649563e52fc7e6c52ef631164e" + }, + "vllm/model_executor/layers/mamba/mamba_mixer2.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_mixer2.py", + "sha256": "d58d93e90d9eb90bc5133b79f07c7c62d0032b35d6cf916e3fe34367b81c5cd5" + }, + "vllm/model_executor/layers/mamba/mamba_utils.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_utils.py", + "sha256": "ce9845b4a4ef4bc46577a33038ed69d59ceccb52f30e9c5bdaa36e48be3b2ca4" + }, + "vllm/model_executor/layers/mamba/ops/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/ops/causal_conv1d.py": { + "path": "/vllm/model_executor/layers/mamba/ops/causal_conv1d.py", + "sha256": "044d005cfe59fd0818ed421274e04f3e8dd679b8cdb64fca9f4422f2643484b2" + }, + "vllm/model_executor/layers/mamba/ops/cpu/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/ops/cpu/causal_conv1d.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/causal_conv1d.py", + "sha256": "64104672890ac2ef240c20c7f8059beeade707178574809dbca8721dff5ea6fa" + }, + "vllm/model_executor/layers/mamba/ops/cpu/gdn_attention.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/gdn_attention.py", + "sha256": "a50288945bf5b102ad3025ae536638dcc32d84cf7c22aaf3a85326b0c1c56c1f" + }, + "vllm/model_executor/layers/mamba/ops/cpu/mamba_ssm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/mamba_ssm.py", + "sha256": "5839e576172a3246337f5e4fb1bc19eb583b3e2b2f7e35dd060dc3041eb8372d" + }, + "vllm/model_executor/layers/mamba/ops/gather_initial_states.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gather_initial_states.py", + "sha256": "5198bb6de6d91c583a5f65d926412a76ee04a06fa72aaba76eaf156b27cd0523" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/__init__.py", + "sha256": "b88b52e71fcb21bd3fa215ea171dcd2ad2ff17c97788cfe64caa7ba45c7ecf97" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_h.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_h.py", + "sha256": "f50bbe5c0b6382323ec5dfc24a5e0c7971113d59727515e60c9fe3689734e5ba" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_kkt_inv_uw.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_kkt_inv_uw.py", + "sha256": "b4a65dd194907db08865e0596fe254f915e670a9e6b27ffa2933c1026dde9b1e" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_o.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_o.py", + "sha256": "629f7843a7e611efb9390f2ebb7a4b924b2c328d48a317fddfaa96af4d9bc60a" + }, + "vllm/model_executor/layers/mamba/ops/layernorm_gated.py": { + "path": "/vllm/model_executor/layers/mamba/ops/layernorm_gated.py", + "sha256": "3433f2e3b87c2b2ccf8e9794ce40762c86a6da38a94ecee001f439ea0d0373dd" + }, + "vllm/model_executor/layers/mamba/ops/mamba_ssm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/mamba_ssm.py", + "sha256": "a4515ec7895b40ed878cf380445034b25faa61fbaa799d96c49217bbdfd7e400" + }, + "vllm/model_executor/layers/mamba/ops/replayssm_config.py": { + "path": "/vllm/model_executor/layers/mamba/ops/replayssm_config.py", + "sha256": "5fe9d5d7aa2de6a65875b3796a919b22bc435fd76055ba054bbff43aa005bc44" + }, + "vllm/model_executor/layers/mamba/ops/scatter_states.py": { + "path": "/vllm/model_executor/layers/mamba/ops/scatter_states.py", + "sha256": "f3bb004c73edaba56337747893eb07faf29b270dc8bb9c893ee9b1044e4ead9a" + }, + "vllm/model_executor/layers/mamba/ops/selective_state_update_replayssm_output_only.py": { + "path": "/vllm/model_executor/layers/mamba/ops/selective_state_update_replayssm_output_only.py", + "sha256": "cea7fd3063ca9dcc4e33f180d01ea379195ec515cedc9d0b03b11dc67670d695" + }, + "vllm/model_executor/layers/mamba/ops/ssd_bmm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_bmm.py", + "sha256": "26983d97a7f5c5f9197a16a6bee7b1294839b9ae31a14c14aaee38b43523e630" + }, + "vllm/model_executor/layers/mamba/ops/ssd_chunk_scan.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_chunk_scan.py", + "sha256": "d5ef32e8cb47e2ce71984579df78ab69754895f891766394daf327867cfa4f8f" + }, + "vllm/model_executor/layers/mamba/ops/ssd_chunk_state.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_chunk_state.py", + "sha256": "177e3aa7fe72647133bbd86135533e8688a5802678d4d1564aa549410362316f" + }, + "vllm/model_executor/layers/mamba/ops/ssd_combined.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_combined.py", + "sha256": "1317bbb668d3c60dfe0658850f9968614f03fa5eb61196f8ce6ac17dbb31b480" + }, + "vllm/model_executor/layers/mamba/ops/ssd_state_passing.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_state_passing.py", + "sha256": "36b8c8edba437916a5b789717c61fc22077de01e77892cb96dbff3b00a57410e" + }, + "vllm/model_executor/layers/mamba/ops/ssu_dispatch.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssu_dispatch.py", + "sha256": "bbe0f0e61da87f3ddfead19a79ca376516b63f1ea868be3485333c63fa20ef41" + }, + "vllm/model_executor/layers/mamba/ops/triton_helpers.py": { + "path": "/vllm/model_executor/layers/mamba/ops/triton_helpers.py", + "sha256": "a8795532f22c37a93e82c9d8e3fadcb5f4da98673d7b321fe8481305eaafad30" + }, + "vllm/model_executor/layers/mamba/short_conv.py": { + "path": "/vllm/model_executor/layers/mamba/short_conv.py", + "sha256": "228494efab185ee17374f762874f4c8b9a26aac9decfa8c906ce38446e0de51a" + }, + "vllm/model_executor/models/qwen3_next.py": { + "path": "/vllm/model_executor/models/qwen3_next.py", + "sha256": "4fa5112ac2bf7886d41d9e1f6c3da8793620d1ec49c961b31e9609459a6a7f7a" + }, + "vllm/third_party/flash_linear_attention/__init__.py": { + "path": "/vllm/third_party/flash_linear_attention/__init__.py", + "sha256": "5dbbfa3fc286edb2e970e175ef33cee4f6181c89b0784f5a8986201b2312f54e" + }, + "vllm/third_party/flash_linear_attention/ops/__init__.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/__init__.py", + "sha256": "dd738dc1d08045e76455cdbe16052a5b769e0eb11d6e87ff28353994f880cd6c" + }, + "vllm/third_party/flash_linear_attention/ops/chunk.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk.py", + "sha256": "c105ead259e86aedc248c53e7c4cef07034d0ff12da608d80265d1dd0990803f" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_delta_h.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_delta_h.py", + "sha256": "1b3ad391f939d9443c6b7adb19e57fe381bd5dccea064e8417a4f85b0e713b26" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_o.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_o.py", + "sha256": "3b63b836a8cc561723c23db5a528a0b474d9cd78508d610f0b348c585a889a19" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_scaled_dot_kkt.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_scaled_dot_kkt.py", + "sha256": "7ae41df3755acc7e925a134d848f78bb5fc00b90069039d86403c5853323ea42" + }, + "vllm/third_party/flash_linear_attention/ops/cumsum.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/cumsum.py", + "sha256": "d818215669b451868823202ac0bcea77e7a9d75957254c7c1060a73a55dc39b6" + }, + "vllm/third_party/flash_linear_attention/ops/fused_gdn_prefill_post_conv.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_gdn_prefill_post_conv.py", + "sha256": "590717b2107abc90d72548de06b5d315229eb2775c94614f3f545df11cc2b5df" + }, + "vllm/third_party/flash_linear_attention/ops/fused_norm_gate.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_norm_gate.py", + "sha256": "e6eb90467f29d8a0a04f2a364d20a2c3191b6ab857841bfb82076b33a6022d1a" + }, + "vllm/third_party/flash_linear_attention/ops/fused_recurrent.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_recurrent.py", + "sha256": "fe6f1311014809040497aa0a623e7fa97f4b3457cdc7ee1f1f8aed21f326f755" + }, + "vllm/third_party/flash_linear_attention/ops/fused_sigmoid_gating.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_sigmoid_gating.py", + "sha256": "000ab8996af9788fdb8843a6a3b91833e7a14c8acc0e1ea073a536330f64cb6f" + }, + "vllm/third_party/flash_linear_attention/ops/index.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/index.py", + "sha256": "a4f8b2c052635cb519a80099e8a85411d1d5d6880b38f466788259bbe66b154d" + }, + "vllm/third_party/flash_linear_attention/ops/kda.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/kda.py", + "sha256": "e1f31aaa89b91f8e5db6d070b229e2c81c7206e8caec67de41db97d06be0c476" + }, + "vllm/third_party/flash_linear_attention/ops/l2norm.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/l2norm.py", + "sha256": "520f4513ef4fc97e6b88dc07877cca8e29da0d34e44673fe989e3af002d86381" + }, + "vllm/third_party/flash_linear_attention/ops/layernorm_guard.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/layernorm_guard.py", + "sha256": "42af29be26e8fc94a4658e053c095fcdab9ffdc1bc2446a01e787deda2a298c0" + }, + "vllm/third_party/flash_linear_attention/ops/op.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/op.py", + "sha256": "456da84fd12411cf53c96a90dd4f78f49afb454c3d51d2c524ea8e7106fe8ae5" + }, + "vllm/third_party/flash_linear_attention/ops/solve_tril.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/solve_tril.py", + "sha256": "d1a4ff27623a938825052500afa7e2aa24fadd2fa4c9be6376c9128824f86f82" + }, + "vllm/third_party/flash_linear_attention/ops/utils.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/utils.py", + "sha256": "d6c90d36505e02086954c23ca4dd2fea82a69416d68ff1d0501e16b3148b5b0c" + }, + "vllm/third_party/flash_linear_attention/ops/wy_fast.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/wy_fast.py", + "sha256": "c9fc8259db0a8746dc04f1d799cb73333457118cf89a0bdce8dde8a80a28cd96" + }, + "vllm/v1/attention/__init__.py": { + "path": "/vllm/v1/attention/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backend.py": { + "path": "/vllm/v1/attention/backend.py", + "sha256": "01ac364372afa75fdb22486aa3a9c7cf9aebb742e3471dfb9e0f9d9d36b734bc" + }, + "vllm/v1/attention/backends/__init__.py": { + "path": "/vllm/v1/attention/backends/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backends/b12x.py": { + "path": "/vllm/v1/attention/backends/b12x.py", + "sha256": "443f0a98738fdfefe5b9ab151d278bfd43a8ac807eb2b0b9b2a13d51922afbf9" + }, + "vllm/v1/attention/backends/composite.py": { + "path": "/vllm/v1/attention/backends/composite.py", + "sha256": "4cf3d66dca891562709eed4f50aa14b0ae6c8240d9ea86504a3304b2f356cce0" + }, + "vllm/v1/attention/backends/cpu_attn.py": { + "path": "/vllm/v1/attention/backends/cpu_attn.py", + "sha256": "76fb02a6bd725125565d84bf04f627cf16da5f7ff8f31f87c01ed6a1439398c7" + }, + "vllm/v1/attention/backends/fa_utils.py": { + "path": "/vllm/v1/attention/backends/fa_utils.py", + "sha256": "08fa6e231d3af3a71a6e59162dd12328aa8beb28548165ae58f130a92adb5a83" + }, + "vllm/v1/attention/backends/flash_attn.py": { + "path": "/vllm/v1/attention/backends/flash_attn.py", + "sha256": "b170a4789e18104c1bee35bea70df51abe6766693d8f4726a59f2e6f5c4282aa" + }, + "vllm/v1/attention/backends/flash_attn_diffkv.py": { + "path": "/vllm/v1/attention/backends/flash_attn_diffkv.py", + "sha256": "e4627c88c3ba8caee260540e994cc8137fd2ff7cd7813356b36387c6c88ce30a" + }, + "vllm/v1/attention/backends/flashinfer.py": { + "path": "/vllm/v1/attention/backends/flashinfer.py", + "sha256": "8ee541fde43ed92a417b3f01ea1e6fc64af8ab2eb54cbfc28308a49aaca4ed7f" + }, + "vllm/v1/attention/backends/flex_attention.py": { + "path": "/vllm/v1/attention/backends/flex_attention.py", + "sha256": "ad07f0ad73aeeadc3534b3a05c14f88a62cb3638874239ae9823c49b36276dc3" + }, + "vllm/v1/attention/backends/gdn_attn.py": { + "path": "/vllm/v1/attention/backends/gdn_attn.py", + "sha256": "3831019404a92200a38b43571c040cffeb6638bbdc71e4cb5e680dbc6c93d054" + }, + "vllm/v1/attention/backends/hpc_attn.py": { + "path": "/vllm/v1/attention/backends/hpc_attn.py", + "sha256": "af9e2aec1b498f0ee48a2dce3cf5646edf1976466980b2fd927c0e82b875427c" + }, + "vllm/v1/attention/backends/linear_attn.py": { + "path": "/vllm/v1/attention/backends/linear_attn.py", + "sha256": "bc42144fcd027434c6a10dc9f4c5f991db8899d387af5f6485402ce097eb0513" + }, + "vllm/v1/attention/backends/mamba1_attn.py": { + "path": "/vllm/v1/attention/backends/mamba1_attn.py", + "sha256": "32159dae11cab3c8c576b9514ad97d5108c8d1b4cac9fcfe345ec6a76223aee7" + }, + "vllm/v1/attention/backends/mamba2_attn.py": { + "path": "/vllm/v1/attention/backends/mamba2_attn.py", + "sha256": "a5bcdecb7b9547137023e1c77a386003358fa940eaf5f319ed142211dcdba139" + }, + "vllm/v1/attention/backends/mamba_attn.py": { + "path": "/vllm/v1/attention/backends/mamba_attn.py", + "sha256": "5e7b2c4058fc5e6096d001bff6c789b78368b025bbe4600f191aaca2ff59b59f" + }, + "vllm/v1/attention/backends/mla/__init__.py": { + "path": "/vllm/v1/attention/backends/mla/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backends/mla/aiter_triton_mla.py": { + "path": "/vllm/v1/attention/backends/mla/aiter_triton_mla.py", + "sha256": "ed0e285cdae06a019150c41cc958b3c0b5ceb0e4f299d5318d1c90e2c2395390" + }, + "vllm/v1/attention/backends/mla/amx_mla.py": { + "path": "/vllm/v1/attention/backends/mla/amx_mla.py", + "sha256": "7f5cddec30b2dfe22ccdbd3b9da673c879719bf6da4074317bd60add55f5d15f" + }, + "vllm/v1/attention/backends/mla/compressor_utils.py": { + "path": "/vllm/v1/attention/backends/mla/compressor_utils.py", + "sha256": "3589e94105368ea285c40b82db1a0332682ff5d071fe363627cf4c0d10f3facf" + }, + "vllm/v1/attention/backends/mla/cpu_mla.py": { + "path": "/vllm/v1/attention/backends/mla/cpu_mla.py", + "sha256": "ff2110b9f78e92adf6bab294465cbc294ae1ff71cb1780fed158179e134a4ca6" + }, + "vllm/v1/attention/backends/mla/cutlass_mla.py": { + "path": "/vllm/v1/attention/backends/mla/cutlass_mla.py", + "sha256": "211d298680f9bd793cc468281b316d6633c5f4eb6dcec71d3329b034a23ab9b5" + }, + "vllm/v1/attention/backends/mla/flashattn_mla.py": { + "path": "/vllm/v1/attention/backends/mla/flashattn_mla.py", + "sha256": "ac89e0ad75a37e92566d264bafe324735a80f9ab4709241a4454d17b3d38bb63" + }, + "vllm/v1/attention/backends/mla/flashattn_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashattn_mla_sparse.py", + "sha256": "67dd3ead2e8b9d8cda0825ecc93779cb7d670628bc741c759a7d3cd5d474030f" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla.py", + "sha256": "0c24ff016fb6b0bb41d9e7484b6f1af42f37bcc384ed613473fc3e01ad25f664" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse.py", + "sha256": "2116d965b2067134d8afa5878d4d16c0149b061258f50c4106d993aa13b073cc" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm120.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm120.py", + "sha256": "102ca08793d567f95598eefeb34c3f6ec50b3b9d704f162d1402b97b12b5777b" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm90.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm90.py", + "sha256": "df9fe4970aa3f53cf24784b8534b89e0101a2ca20a35a2ebbc9a12a4463d5993" + }, + "vllm/v1/attention/backends/mla/flashmla.py": { + "path": "/vllm/v1/attention/backends/mla/flashmla.py", + "sha256": "c9d8046a853ecbdeff9ebfc738f5bb34c4f272b278231a09a0fbf73708c7c188" + }, + "vllm/v1/attention/backends/mla/flashmla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashmla_sparse.py", + "sha256": "7a379c717adb9667ce94cbc16c0e3a1fb22a169713db6d7941c141fa84077b3f" + }, + "vllm/v1/attention/backends/mla/index_group.py": { + "path": "/vllm/v1/attention/backends/mla/index_group.py", + "sha256": "c24e028c3c160a9bb92e043da5b5b34c805e84745b7c4b8da6fb8702a0ddd641" + }, + "vllm/v1/attention/backends/mla/indexer.py": { + "path": "/vllm/v1/attention/backends/mla/indexer.py", + "sha256": "2acbc1c4fa57c3424ad95e6ecbe76eb7141747773c3e867ce704f4adccba892a" + }, + "vllm/v1/attention/backends/mla/prefill/__init__.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/__init__.py", + "sha256": "903630eb705dd175bf4ae4558a4bcaa07c110056b6a11eb830fdd2fb21b3c48a" + }, + "vllm/v1/attention/backends/mla/prefill/aiter_flash_attn.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/aiter_flash_attn.py", + "sha256": "571b8a9910c4ea3fefda60659026f3bf0d7b542c34553c8c9a4d43bb82077e61" + }, + "vllm/v1/attention/backends/mla/prefill/base.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/base.py", + "sha256": "138bf3ddaf5a94c3cdbc4e08ac676edcae84b32fc76625e546f3b47f7d8b82ec" + }, + "vllm/v1/attention/backends/mla/prefill/cpu_sdpa.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/cpu_sdpa.py", + "sha256": "1bb686395274a8ec0d9fd7327410a527655fe060cbbc263eab138fea988d96de" + }, + "vllm/v1/attention/backends/mla/prefill/flash_attn.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/flash_attn.py", + "sha256": "5e648c82c82e5f81fe11458eb82b9f90b50fc06df2ade3bf111ee6b7a2ee8481" + }, + "vllm/v1/attention/backends/mla/prefill/flashinfer.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/flashinfer.py", + "sha256": "63861219c35b8abc0ebe01e1f51543c5ed40bd46119ca261d927da7c6826b49b" + }, + "vllm/v1/attention/backends/mla/prefill/registry.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/registry.py", + "sha256": "c8c30b92213d594beaa3cab4d5003da26a85870dbb11d1ab73191962d0645b53" + }, + "vllm/v1/attention/backends/mla/prefill/selector.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/selector.py", + "sha256": "101d9fca7924b0c5d7891a17fe8942611bd6759e32b03a571dc87b14c1430f2f" + }, + "vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py", + "sha256": "047cf07bfcc83db3b11a6a54ffe189f6146e6ec9ad33ce2fa7d18860bf4210f0" + }, + "vllm/v1/attention/backends/mla/prefill/trtllm_ragged.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/trtllm_ragged.py", + "sha256": "9e13ea6f6a25accedd918c0de64bbb812ccb20ffb95350ab018a6e76d493789b" + }, + "vllm/v1/attention/backends/mla/rocm_aiter_mla.py": { + "path": "/vllm/v1/attention/backends/mla/rocm_aiter_mla.py", + "sha256": "b489f5830c655bfb6299801a70d69b9821513c69568ecab3689db5a7be867be5" + }, + "vllm/v1/attention/backends/mla/rocm_aiter_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/rocm_aiter_mla_sparse.py", + "sha256": "91b1d9b3d860a9720bc01b8ebe9bbe8649a7d6bca20d4b63939bc100309bca19" + }, + "vllm/v1/attention/backends/mla/sparse_swa.py": { + "path": "/vllm/v1/attention/backends/mla/sparse_swa.py", + "sha256": "a47853ad8a3fe40f24704592581ea323a18041b84610df010a5534da634e311e" + }, + "vllm/v1/attention/backends/mla/sparse_utils.py": { + "path": "/vllm/v1/attention/backends/mla/sparse_utils.py", + "sha256": "c3cdf060288c05542243a9fe8b5ad3a963ad75e9ce399009b5e45c1235a88ce4" + }, + "vllm/v1/attention/backends/mla/tokenspeed_mla.py": { + "path": "/vllm/v1/attention/backends/mla/tokenspeed_mla.py", + "sha256": "b9ba523c606430cecb99a88b28c53d98a99dcf5e76105a80664338110a20f1ad" + }, + "vllm/v1/attention/backends/mla/triton_mla.py": { + "path": "/vllm/v1/attention/backends/mla/triton_mla.py", + "sha256": "21b16b3b34470edcc33d0423e560837c1d37d4bab31c7b3b9cfd7faa47864b51" + }, + "vllm/v1/attention/backends/mla/xpu_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/xpu_mla_sparse.py", + "sha256": "559c6240fe466521a6b2df4c94aea02ddf3f5efa5ba6954fa180c5a51c0f12d2" + }, + "vllm/v1/attention/backends/recoverssm_metadata.py": { + "path": "/vllm/v1/attention/backends/recoverssm_metadata.py", + "sha256": "02896a667db0f0308371ceb50048b18e5866c0235d163c0357e9a05dcedb3394" + }, + "vllm/v1/attention/backends/registry.py": { + "path": "/vllm/v1/attention/backends/registry.py", + "sha256": "378e8ee78734bd8c8adbe287d4c0a4058dcbb553195a09fbcce00a3cc30adc29" + }, + "vllm/v1/attention/backends/rocm_aiter_fa.py": { + "path": "/vllm/v1/attention/backends/rocm_aiter_fa.py", + "sha256": "d1418af03bf58209c850f466b712d3ea22a14ebb758c42dd43e65738281841fd" + }, + "vllm/v1/attention/backends/rocm_aiter_unified_attn.py": { + "path": "/vllm/v1/attention/backends/rocm_aiter_unified_attn.py", + "sha256": "59d2645eb4c91dc0567754a7163d066f4f2faf48f1957b254fcdd5604e9d8c8c" + }, + "vllm/v1/attention/backends/rocm_attn.py": { + "path": "/vllm/v1/attention/backends/rocm_attn.py", + "sha256": "4a8f57067073fbceb784af6c3467487c450d00fa3957928fadb99a79f6036292" + }, + "vllm/v1/attention/backends/short_conv_attn.py": { + "path": "/vllm/v1/attention/backends/short_conv_attn.py", + "sha256": "84fc460ef2fbd09743b069bec0c14b39542af6c2254a403e37a048427e151121" + }, + "vllm/v1/attention/backends/triton_attn.py": { + "path": "/vllm/v1/attention/backends/triton_attn.py", + "sha256": "1057663d110e1d5229495a799027b27277c1eca325d5b6780fa2259afbf58a1a" + }, + "vllm/v1/attention/backends/triton_attn_diffkv.py": { + "path": "/vllm/v1/attention/backends/triton_attn_diffkv.py", + "sha256": "de0357eae005246642140f1ab8842ba5ed8bff5c84b18a6d3a7bbf409c578301" + }, + "vllm/v1/attention/backends/triton_flash_attn.py": { + "path": "/vllm/v1/attention/backends/triton_flash_attn.py", + "sha256": "176e45329aeb28a2008362bb607d1b8c89816eb665859ab908b0385a11acf1c2" + }, + "vllm/v1/attention/backends/triton_flashinfer.py": { + "path": "/vllm/v1/attention/backends/triton_flashinfer.py", + "sha256": "48d5f967e388d4e8d6bbec8d827b44d855346bc2fada28adf65768bf6623527b" + }, + "vllm/v1/attention/backends/turboquant_attn.py": { + "path": "/vllm/v1/attention/backends/turboquant_attn.py", + "sha256": "616d16d608d9d1fbf6c29548037e7e9cf330f4d36a01aa3ffabf42a731eb6e2b" + }, + "vllm/v1/attention/backends/utils.py": { + "path": "/vllm/v1/attention/backends/utils.py", + "sha256": "fbc221360d2d54cb21ef3f625dc8711500de345a355801548b4337bb9b8abee0" + }, + "vllm/v1/attention/ops/__init__.py": { + "path": "/vllm/v1/attention/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/ops/chunked_prefill_paged_decode.py": { + "path": "/vllm/v1/attention/ops/chunked_prefill_paged_decode.py", + "sha256": "973db848a790b2e8d99e728b2fc4f44b501bbe58c62747244ddff04cfcf11a85" + }, + "vllm/v1/attention/ops/common.py": { + "path": "/vllm/v1/attention/ops/common.py", + "sha256": "b4b67e7fc0cce471e337d742c097fba06da7563816e8799e27719714e31e1d5b" + }, + "vllm/v1/attention/ops/cp_common.py": { + "path": "/vllm/v1/attention/ops/cp_common.py", + "sha256": "2369181862e96db64b14ef20c5c2e249ed2ea5f3dea2467a2aa388372bb86d9d" + }, + "vllm/v1/attention/ops/dcp.py": { + "path": "/vllm/v1/attention/ops/dcp.py", + "sha256": "a478bdc781460f0582cfaf74d6431f1a826c201f02f39d882d12a96139bc3f28" + }, + "vllm/v1/attention/ops/flashmla.py": { + "path": "/vllm/v1/attention/ops/flashmla.py", + "sha256": "8a40d6e120e3ab25a95fcfeb32b0b5b4c1ea02b984633866628536dcd26ed2e8" + }, + "vllm/v1/attention/ops/flydsl_kernels/__init__.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/attention/ops/flydsl_kernels/tq_decode.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/tq_decode.py", + "sha256": "cc4b7f82897596e0974b3d3a710a1a8bc58c3d22b72cc7f461dd1c4acd2e451b" + }, + "vllm/v1/attention/ops/flydsl_kernels/tq_decode_gqa6.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/tq_decode_gqa6.py", + "sha256": "a983f6d375c325900955e11696dab1e2665770e83f84d51f93d3ed5e1d8880e0" + }, + "vllm/v1/attention/ops/flydsl_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/flydsl_turboquant_decode.py", + "sha256": "7b1dd0ef7c7fb28a6a8831759e00b939ab844d067657155cc11cf75532a22c63" + }, + "vllm/v1/attention/ops/int4_per_token_head.py": { + "path": "/vllm/v1/attention/ops/int4_per_token_head.py", + "sha256": "d91968f280cd8eaed7570ab255f0276b40e833e18a25066d371d9ca8149425f2" + }, + "vllm/v1/attention/ops/merge_attn_states.py": { + "path": "/vllm/v1/attention/ops/merge_attn_states.py", + "sha256": "ad08403d2843fc892f0b0b4b9f5fabb81884556f89f7170dca46ccef498a3539" + }, + "vllm/v1/attention/ops/metadata.py": { + "path": "/vllm/v1/attention/ops/metadata.py", + "sha256": "ca882b84c5aaefb1f77e4d8ea09a00103fbc53defa8671bba036c961c17fc760" + }, + "vllm/v1/attention/ops/paged_attn.py": { + "path": "/vllm/v1/attention/ops/paged_attn.py", + "sha256": "016a95f892ec751c86b37be1e12171bad9f0b4076bbf2219ff336f4e9c503653" + }, + "vllm/v1/attention/ops/pcp.py": { + "path": "/vllm/v1/attention/ops/pcp.py", + "sha256": "dadeff95fe2df2be8028baabeef01b0d2d628cd67de2176915e737ce096de3dd" + }, + "vllm/v1/attention/ops/prefix_prefill.py": { + "path": "/vllm/v1/attention/ops/prefix_prefill.py", + "sha256": "b08ad92db715fc03c11699de3de463d55e411f42f77548e06b41049a61de692f" + }, + "vllm/v1/attention/ops/rocm_aiter_mla_merge.py": { + "path": "/vllm/v1/attention/ops/rocm_aiter_mla_merge.py", + "sha256": "564c66e4877732e48a6f7d52405c43dc952eec0f0ae4353d34886bca056132b9" + }, + "vllm/v1/attention/ops/rocm_aiter_mla_sparse.py": { + "path": "/vllm/v1/attention/ops/rocm_aiter_mla_sparse.py", + "sha256": "feec664be5045fd1ba13b8f6ef83b52c96910ddc78baca0431bcf610c9e8f5cc" + }, + "vllm/v1/attention/ops/triton_attention_helpers.py": { + "path": "/vllm/v1/attention/ops/triton_attention_helpers.py", + "sha256": "35aa993d01345f535d2641cf9dcabb8b64c51b20a19707bc5987e616aaa87ddd" + }, + "vllm/v1/attention/ops/triton_decode_attention.py": { + "path": "/vllm/v1/attention/ops/triton_decode_attention.py", + "sha256": "b9823c65eba22d76abf64dad7d7d16a950f67471c86d6cb5b3e983aaf14381ac" + }, + "vllm/v1/attention/ops/triton_merge_attn_states.py": { + "path": "/vllm/v1/attention/ops/triton_merge_attn_states.py", + "sha256": "f63229162181ab93198550b73a115f1cc1034cfd60e6f58bc8ab3e22a6e8ce60" + }, + "vllm/v1/attention/ops/triton_prefill_attention.py": { + "path": "/vllm/v1/attention/ops/triton_prefill_attention.py", + "sha256": "352c1a4ac86146580040579fb217c2e288268830d6602b735713e154f36d74fe" + }, + "vllm/v1/attention/ops/triton_reshape_and_cache_flash.py": { + "path": "/vllm/v1/attention/ops/triton_reshape_and_cache_flash.py", + "sha256": "6cac51475b8c656992a21b2d150acd3a16a95a7ab7d49aab151a3ef13c24b80d" + }, + "vllm/v1/attention/ops/triton_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/triton_turboquant_decode.py", + "sha256": "8e52678136449e4bbca2195fbcbb87426c955a2b1b8422e7ab9511e45ee5f5c6" + }, + "vllm/v1/attention/ops/triton_turboquant_store.py": { + "path": "/vllm/v1/attention/ops/triton_turboquant_store.py", + "sha256": "6e6e2fe74a307d40f0be786ccbaea76d989e3c7b5985f3144a5218c61bf6d902" + }, + "vllm/v1/attention/ops/triton_unified_attention.py": { + "path": "/vllm/v1/attention/ops/triton_unified_attention.py", + "sha256": "65d0fbcf33d00789df8ca688c0a1c908e710cfaef53471178747ecae11f05829" + }, + "vllm/v1/attention/ops/triton_unified_attention_diffkv.py": { + "path": "/vllm/v1/attention/ops/triton_unified_attention_diffkv.py", + "sha256": "7fa36d7b7441f1c396e0348eac61d691d2e459e5c4c393c4aa262dfb670e68f7" + }, + "vllm/v1/attention/ops/turboquant_soa/__init__.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/__init__.py", + "sha256": "6b43b6fcb2a71c44ceff4ed1edd417a839f4901251ba15831b09ad979baa4984" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode.py", + "sha256": "bf00634191bba14cbf4a23c1d67dc3dcb244c2b8989f08362757b54435830986" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode_v2.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode_v2.py", + "sha256": "28e7ecc15c450d3591983a50c46a03aa6ca6fa99304c17c333940617d9916485" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_store.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_store.py", + "sha256": "dccf93b9fdd34f9b9eacd468e9de35b9d93378594487c335cf50642aaec681f2" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_unified_attention.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_unified_attention.py", + "sha256": "b4b2b5f3985b3a6126fd052e6ec1ed91c610da8a525a9ae7470ac829405bd85c" + }, + "vllm/v1/attention/ops/vit_attn_wrappers.py": { + "path": "/vllm/v1/attention/ops/vit_attn_wrappers.py", + "sha256": "a99d57b58269c7521fa5d7d47af06551f3bab2b5c7358ef78165a7f6e20a92a6" + }, + "vllm/v1/attention/ops/xpu_mla_sparse.py": { + "path": "/vllm/v1/attention/ops/xpu_mla_sparse.py", + "sha256": "d98d17110577c2b7b4d05e07bfdae15faf83321b6342a5daaaecce45b9503f38" + }, + "vllm/v1/attention/selector.py": { + "path": "/vllm/v1/attention/selector.py", + "sha256": "87f653ded7974875183c920e3e4589c28116bcbc99714d1da7cb51ae77c0b182" + }, + "vllm/v1/core/sched/__init__.py": { + "path": "/vllm/v1/core/sched/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/core/sched/async_scheduler.py": { + "path": "/vllm/v1/core/sched/async_scheduler.py", + "sha256": "e586a0ef3c6778be56a93e7f9bb712d4de9de6e7d7fe7e3e1d51dae83ecfc508" + }, + "vllm/v1/core/sched/interface.py": { + "path": "/vllm/v1/core/sched/interface.py", + "sha256": "be6c008664096c5660a8879de72b315bbe479bf1d688be9b25891063ec53a367" + }, + "vllm/v1/core/sched/output.py": { + "path": "/vllm/v1/core/sched/output.py", + "sha256": "3a66c8efaefe10c572f6f33cf1f8aa4610758c945130cad62eb9f7331005677c" + }, + "vllm/v1/core/sched/request_queue.py": { + "path": "/vllm/v1/core/sched/request_queue.py", + "sha256": "4b8d938e5fb8152fe61030b8aa991f983fcac9a405c37ed8908045e05e82ae5e" + }, + "vllm/v1/core/sched/scheduler.py": { + "path": "/vllm/v1/core/sched/scheduler.py", + "sha256": "c1db45f3bbad3a875dd8638331b8870c4380ac1ab4734265ba5c863833a82884" + }, + "vllm/v1/core/sched/utils.py": { + "path": "/vllm/v1/core/sched/utils.py", + "sha256": "1ed988044eb8028c77ede875bd1a5fd05ff6998b455d61e3997d6a3d7fc1c3a7" + }, + "vllm/v1/sample/__init__.py": { + "path": "/vllm/v1/sample/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/sample/logits_processor/__init__.py": { + "path": "/vllm/v1/sample/logits_processor/__init__.py", + "sha256": "1f9b02dae8cf6d44484638037123d3a2dec6b7b9a2bcc9afceef1a9bf3eaedec" + }, + "vllm/v1/sample/logits_processor/builtin.py": { + "path": "/vllm/v1/sample/logits_processor/builtin.py", + "sha256": "6105816ece77e5b1dbee0d07abc90ce039d650bac2ddb85c93280c48b00f2ebe" + }, + "vllm/v1/sample/logits_processor/interface.py": { + "path": "/vllm/v1/sample/logits_processor/interface.py", + "sha256": "171dfc6ef9b5b53128e8eaecc4bdf1de413a706d64bf5be686048f583c66eee1" + }, + "vllm/v1/sample/logits_processor/state.py": { + "path": "/vllm/v1/sample/logits_processor/state.py", + "sha256": "a96411f14362c45f839e181dcb3ac01d5b880812bccb3552fc17863b219f44ac" + }, + "vllm/v1/sample/metadata.py": { + "path": "/vllm/v1/sample/metadata.py", + "sha256": "6582cfe1a240c7ddb975f0ef6dd7dcd28dcf0fc7670394390250013977aa7ffd" + }, + "vllm/v1/sample/ops/__init__.py": { + "path": "/vllm/v1/sample/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/sample/ops/bad_words.py": { + "path": "/vllm/v1/sample/ops/bad_words.py", + "sha256": "0b1d0a9b13b92ddcae2c83393c07a34c0f107813725700dee794caa7fe7f3b12" + }, + "vllm/v1/sample/ops/logprobs.py": { + "path": "/vllm/v1/sample/ops/logprobs.py", + "sha256": "b286f69012a6758bfe9250038b0697294dbffe0d32c6906f284c39f75ee48be3" + }, + "vllm/v1/sample/ops/penalties.py": { + "path": "/vllm/v1/sample/ops/penalties.py", + "sha256": "4debfcf247b3887478d2b9ec98f108756bbed2805462777ef6b56f3bdf4ce682" + }, + "vllm/v1/sample/ops/topk_topp_sampler.py": { + "path": "/vllm/v1/sample/ops/topk_topp_sampler.py", + "sha256": "13ea4359832bc914492330958ec4f5ac140f408b8f410cc05c6eaf7ddcd70be4" + }, + "vllm/v1/sample/ops/topk_topp_triton.py": { + "path": "/vllm/v1/sample/ops/topk_topp_triton.py", + "sha256": "0b5fc337058e22bc28a8530ccec904d6ccd89b9548b02955c657ac429b1669d2" + }, + "vllm/v1/sample/rejection_sampler.py": { + "path": "/vllm/v1/sample/rejection_sampler.py", + "sha256": "0bb9d224887ccb1355e16199005cc23a4afc6fa75156eca419851b7247d99750" + }, + "vllm/v1/sample/sampler.py": { + "path": "/vllm/v1/sample/sampler.py", + "sha256": "f95805b2c6d06218c724826aa5f881a606e8d0a534a566aee7c85948520dd216" + }, + "vllm/v1/sample/thinking_budget_state.py": { + "path": "/vllm/v1/sample/thinking_budget_state.py", + "sha256": "962f8f55210eb0a431cb9c78b013e35f7a7dd58d06d6fb2e7fcff1b457356f8e" + }, + "vllm/v1/worker/__init__.py": { + "path": "/vllm/v1/worker/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/block_table.py": { + "path": "/vllm/v1/worker/block_table.py", + "sha256": "a09b8819e1417b7a186cf3472224e2138fc5d41a291c6692bb7df711b0c44259" + }, + "vllm/v1/worker/cp_utils.py": { + "path": "/vllm/v1/worker/cp_utils.py", + "sha256": "e32625d83a641b8dd8df82e92d1b6fb20af0cdf2e8fbd2fb131aa3c215415448" + }, + "vllm/v1/worker/cpu/__init__.py": { + "path": "/vllm/v1/worker/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/cpu/buffer_utils.py": { + "path": "/vllm/v1/worker/cpu/buffer_utils.py", + "sha256": "e7313fd8c2c76ebfb98d2fa53008bc9691d0f83a7d7c05e87602b5a29fb79e04" + }, + "vllm/v1/worker/cpu/model_runner.py": { + "path": "/vllm/v1/worker/cpu/model_runner.py", + "sha256": "24a1c916550051327dd5893243a6d4200f3824b91b3af8aa6f6c793fd7c68c3e" + }, + "vllm/v1/worker/cpu/shm.py": { + "path": "/vllm/v1/worker/cpu/shm.py", + "sha256": "08491af8ad341399d1375f2d21ad00414d4c89b0a5c03f55de8704914bbfcbd9" + }, + "vllm/v1/worker/cpu_model_runner.py": { + "path": "/vllm/v1/worker/cpu_model_runner.py", + "sha256": "92111aba92f00571f1a3c4c6e43cf1da6ccb4d2afac2f4d5abc018a4a6e7e8bd" + }, + "vllm/v1/worker/cpu_worker.py": { + "path": "/vllm/v1/worker/cpu_worker.py", + "sha256": "a8051b9e510ef0af9cc34004f2cbe5c0f902bd0cebc32c9464e744344dfdf849" + }, + "vllm/v1/worker/dp_utils.py": { + "path": "/vllm/v1/worker/dp_utils.py", + "sha256": "8cd19f1bfbc5c4f6ec60df89aea7c8a19b400ebc264f372b103014152e92158c" + }, + "vllm/v1/worker/ec_connector_model_runner_mixin.py": { + "path": "/vllm/v1/worker/ec_connector_model_runner_mixin.py", + "sha256": "fe9b11cebb8562f1bfe98b98a5647b2b081a6e424cb60d4ffe2412c91a99215e" + }, + "vllm/v1/worker/encoder_cudagraph.py": { + "path": "/vllm/v1/worker/encoder_cudagraph.py", + "sha256": "6a08d3779bca1b47dbf9daf6eafe2d3c70dbcb8aeb7d63ba7efacc68241ee3bc" + }, + "vllm/v1/worker/encoder_cudagraph_defs.py": { + "path": "/vllm/v1/worker/encoder_cudagraph_defs.py", + "sha256": "bb7be050fcaa8868e7816c84caec875da57050d65fe7eaf00f3d41473df25e3a" + }, + "vllm/v1/worker/gpu/__init__.py": { + "path": "/vllm/v1/worker/gpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/async_utils.py": { + "path": "/vllm/v1/worker/gpu/async_utils.py", + "sha256": "77e17a4570ead2be30ae9b00888cf077a3b873018c12ca0549b853bfda02c1ba" + }, + "vllm/v1/worker/gpu/attn_utils.py": { + "path": "/vllm/v1/worker/gpu/attn_utils.py", + "sha256": "b9b81e59dda2720b1f9c434471381f879228832443e52756e469b4ad4905888f" + }, + "vllm/v1/worker/gpu/block_table.py": { + "path": "/vllm/v1/worker/gpu/block_table.py", + "sha256": "61c004315d5af7e7eae4e2a9e6be92ea82c520327690a7f55a73bb9ce95f520a" + }, + "vllm/v1/worker/gpu/buffer_utils.py": { + "path": "/vllm/v1/worker/gpu/buffer_utils.py", + "sha256": "6597f701a30261bf250e9ad5a29737264624a1caa20527aeea0dad630325b093" + }, + "vllm/v1/worker/gpu/cp_utils.py": { + "path": "/vllm/v1/worker/gpu/cp_utils.py", + "sha256": "456c1bb7e262d99ff555522a4f134e5a9b42aee23290be25455eaef36ee8eaaf" + }, + "vllm/v1/worker/gpu/cudagraph_utils.py": { + "path": "/vllm/v1/worker/gpu/cudagraph_utils.py", + "sha256": "6e9c042890603535e300a40df8ee159dbed1058a64a83ae50ff0329e332e05ff" + }, + "vllm/v1/worker/gpu/dp_utils.py": { + "path": "/vllm/v1/worker/gpu/dp_utils.py", + "sha256": "e26867bc89e6bfc933cabc5ed13e5dc7b8d2d3030118ca1ca64c8785dabc0fc1" + }, + "vllm/v1/worker/gpu/ec_connector.py": { + "path": "/vllm/v1/worker/gpu/ec_connector.py", + "sha256": "2afe6e641f4ae3eb3b8da336c74eaa7479bf617b27cfb39a1fcbe487686f0a08" + }, + "vllm/v1/worker/gpu/eplb_utils.py": { + "path": "/vllm/v1/worker/gpu/eplb_utils.py", + "sha256": "1829fac11464aed4649179b302df198de51b95d0589f4e56bea305a876a63e26" + }, + "vllm/v1/worker/gpu/input_batch.py": { + "path": "/vllm/v1/worker/gpu/input_batch.py", + "sha256": "d5dd956eb319bd69dd9e762047833d81ad40b21fce619fcb2133759e73620694" + }, + "vllm/v1/worker/gpu/kv_connector.py": { + "path": "/vllm/v1/worker/gpu/kv_connector.py", + "sha256": "b89a4333f1e552d86e1815674b59e9f1335f0f49c0a7b46082439076f62c6a81" + }, + "vllm/v1/worker/gpu/lora_utils.py": { + "path": "/vllm/v1/worker/gpu/lora_utils.py", + "sha256": "1e90eddd9ddb4ca55e574bb28e87ae3a6f6750175a62d373102426543f4ccd66" + }, + "vllm/v1/worker/gpu/metrics/__init__.py": { + "path": "/vllm/v1/worker/gpu/metrics/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/metrics/logits.py": { + "path": "/vllm/v1/worker/gpu/metrics/logits.py", + "sha256": "ea058d7510a077a55f8ac7e4c3d596508346244e908cb372865d7159f62edc89" + }, + "vllm/v1/worker/gpu/mm/__init__.py": { + "path": "/vllm/v1/worker/gpu/mm/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/mm/encoder_cache.py": { + "path": "/vllm/v1/worker/gpu/mm/encoder_cache.py", + "sha256": "89c500338fddbeee7c4fca978a3a7c4c566a03e848e399d303fbee3c80631cd2" + }, + "vllm/v1/worker/gpu/mm/encoder_runner.py": { + "path": "/vllm/v1/worker/gpu/mm/encoder_runner.py", + "sha256": "0981e352d70301b7154a217a48665ffe35f215d053ec5740c2515a3e1e11b4e6" + }, + "vllm/v1/worker/gpu/mm/lora.py": { + "path": "/vllm/v1/worker/gpu/mm/lora.py", + "sha256": "a3eddfad6ad64de276964240c28dc080888df4a56dd5eac18f89428f2cbb7a01" + }, + "vllm/v1/worker/gpu/mm/rope.py": { + "path": "/vllm/v1/worker/gpu/mm/rope.py", + "sha256": "0924375bcb367267e783b57dd2ad9de1189d97025ce4313baaa54f2911eaaf1e" + }, + "vllm/v1/worker/gpu/model_runner.py": { + "path": "/vllm/v1/worker/gpu/model_runner.py", + "sha256": "174c93db921c23cf0396eee4764be25b2bd2d4b6a06e9fa41ce3598b884ce8ce" + }, + "vllm/v1/worker/gpu/model_states/__init__.py": { + "path": "/vllm/v1/worker/gpu/model_states/__init__.py", + "sha256": "07815d0b788fc88185772f581bbf892a675259f9288375571f29887622f8d93c" + }, + "vllm/v1/worker/gpu/model_states/default.py": { + "path": "/vllm/v1/worker/gpu/model_states/default.py", + "sha256": "bb614f814780f052e869f9acf31dfbfa68718ee7dc6252eefa901b5730ee8a2a" + }, + "vllm/v1/worker/gpu/model_states/encoder_decoder.py": { + "path": "/vllm/v1/worker/gpu/model_states/encoder_decoder.py", + "sha256": "a5868059d8af672548b41d0e623e884320e6ed61e6aaca2d2828ff5be0356f2f" + }, + "vllm/v1/worker/gpu/model_states/encoder_only.py": { + "path": "/vllm/v1/worker/gpu/model_states/encoder_only.py", + "sha256": "84e96b55a2639e2a73fa4a0308acc89c8d053dc715481180b237e0196dcef99f" + }, + "vllm/v1/worker/gpu/model_states/interface.py": { + "path": "/vllm/v1/worker/gpu/model_states/interface.py", + "sha256": "5675b6fedc7403a9ab410b1e5565974e78fac23c42ab4253ae1da52d6e09b594" + }, + "vllm/v1/worker/gpu/model_states/mamba_hybrid.py": { + "path": "/vllm/v1/worker/gpu/model_states/mamba_hybrid.py", + "sha256": "573e130ac5587d4822fabf97adad1ad0fda02ff83c5e70df879a5bb175ae845c" + }, + "vllm/v1/worker/gpu/model_states/mm_pruning.py": { + "path": "/vllm/v1/worker/gpu/model_states/mm_pruning.py", + "sha256": "b150940b12ae76048f050a8eeb54d532bbdc530a18ffbf320ddeeb0cfaa90f93" + }, + "vllm/v1/worker/gpu/model_states/prompt_embeds.py": { + "path": "/vllm/v1/worker/gpu/model_states/prompt_embeds.py", + "sha256": "11f9e270925c2df6a505557605ac2b859bb145cf3420b0111e7482a1c544f9b1" + }, + "vllm/v1/worker/gpu/model_states/recoverssm.py": { + "path": "/vllm/v1/worker/gpu/model_states/recoverssm.py", + "sha256": "b4b660e62eaf33f4fe8271f83ed1fb6de6bc08f800a8073b27803e42fb29a645" + }, + "vllm/v1/worker/gpu/pcp_manager.py": { + "path": "/vllm/v1/worker/gpu/pcp_manager.py", + "sha256": "2d80df0ed5b18a2069f9d0689cb59923ffe324ba200fcafe242da23da3a6ddaa" + }, + "vllm/v1/worker/gpu/pool/__init__.py": { + "path": "/vllm/v1/worker/gpu/pool/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/pool/pooling_runner.py": { + "path": "/vllm/v1/worker/gpu/pool/pooling_runner.py", + "sha256": "f8463f7648cce0f3f29418a4d9fee61634ead760957cf236d06d61cf8cd986e7" + }, + "vllm/v1/worker/gpu/pp_utils.py": { + "path": "/vllm/v1/worker/gpu/pp_utils.py", + "sha256": "dadeef0bebf61d0ad44a28d06372208ec4e6389224d6017f412683b026bdbb5c" + }, + "vllm/v1/worker/gpu/sample/__init__.py": { + "path": "/vllm/v1/worker/gpu/sample/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/sample/bad_words.py": { + "path": "/vllm/v1/worker/gpu/sample/bad_words.py", + "sha256": "8d3cbd5613398260314d94739d8ee0e1ac0c22abf2f960f541d3c0d4e39d360b" + }, + "vllm/v1/worker/gpu/sample/batch_shard.py": { + "path": "/vllm/v1/worker/gpu/sample/batch_shard.py", + "sha256": "c30274a3a04e6a03e89be9cd7c62de602b1aba4d412f64540ab6201036de3928" + }, + "vllm/v1/worker/gpu/sample/gumbel.py": { + "path": "/vllm/v1/worker/gpu/sample/gumbel.py", + "sha256": "3ec1df510bdad13e8b0a457b5b67c98affdf6e57369e56cb471246cc8f40dd34" + }, + "vllm/v1/worker/gpu/sample/logit_bias.py": { + "path": "/vllm/v1/worker/gpu/sample/logit_bias.py", + "sha256": "9e80a3fe6f3c7474723408cfff52183f4585fdeedd9c2312843ee98d0b12724c" + }, + "vllm/v1/worker/gpu/sample/logprob.py": { + "path": "/vllm/v1/worker/gpu/sample/logprob.py", + "sha256": "f47479a818192acb6b297c79fa67a3b2f9820e3492a394d5adda777e9b7c832e" + }, + "vllm/v1/worker/gpu/sample/min_p.py": { + "path": "/vllm/v1/worker/gpu/sample/min_p.py", + "sha256": "4cb5e2f45e1ced6f9685283a7a5c8cfd7204d9a249822e866cfff756c7f04f62" + }, + "vllm/v1/worker/gpu/sample/output.py": { + "path": "/vllm/v1/worker/gpu/sample/output.py", + "sha256": "d6e298c0f197d487a8faaf7200f500fa83df1d7a4bbf4339cadd6a18008f7f9c" + }, + "vllm/v1/worker/gpu/sample/penalties.py": { + "path": "/vllm/v1/worker/gpu/sample/penalties.py", + "sha256": "46c29434caf5f415129ef4a9bb2b8d4f62d2765596e3e07f73ad2b198c7def1b" + }, + "vllm/v1/worker/gpu/sample/prompt_logprob.py": { + "path": "/vllm/v1/worker/gpu/sample/prompt_logprob.py", + "sha256": "4cf22d390e7bf59e44c458cff7180268db63e95d06af2f1e14d720a2d77c9663" + }, + "vllm/v1/worker/gpu/sample/sampler.py": { + "path": "/vllm/v1/worker/gpu/sample/sampler.py", + "sha256": "832c9945d201a1e730ff9b4b52076aa83bd4a5064e1e4cfea952cf84d4a8d1f0" + }, + "vllm/v1/worker/gpu/sample/states.py": { + "path": "/vllm/v1/worker/gpu/sample/states.py", + "sha256": "4e3671f93695ba5a48fad7d2d13beb231ac8741034904ed5a15d9f7b9b86662e" + }, + "vllm/v1/worker/gpu/sample/thinking_budget.py": { + "path": "/vllm/v1/worker/gpu/sample/thinking_budget.py", + "sha256": "020513e1d3406f367de6ad995a95055008fd0c28f2873647e8283c9870e22404" + }, + "vllm/v1/worker/gpu/sample/trace_replay.py": { + "path": "/vllm/v1/worker/gpu/sample/trace_replay.py", + "sha256": "d2a7d3b3b55379efabe4740a4b7f14030126dc11be36f6ea974164ce42316a50" + }, + "vllm/v1/worker/gpu/sample/watermark.py": { + "path": "/vllm/v1/worker/gpu/sample/watermark.py", + "sha256": "a3581458169dab9153eb09fd67218e0ee5585406537a9de80ad528ae62b030c0" + }, + "vllm/v1/worker/gpu/shutdown.py": { + "path": "/vllm/v1/worker/gpu/shutdown.py", + "sha256": "bb470f14b17c7e52571ef8938b2a9527e7c2846852ae8a3a94b69cd1c30aa4b1" + }, + "vllm/v1/worker/gpu/spec_decode/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/__init__.py", + "sha256": "1f1f84bfe6f4f5af3a7e21a7a8716ecf7b9013da1d03327668a3ee36afc24c32" + }, + "vllm/v1/worker/gpu/spec_decode/acceptance_estimator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/acceptance_estimator.py", + "sha256": "505b843bdd75928b03793b395b47b8be914bd7fe2a3351c8ec04339baeebb1c2" + }, + "vllm/v1/worker/gpu/spec_decode/adaptive_verification.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/adaptive_verification.py", + "sha256": "276b2fec56758a94c71b717f6786b8a6f126db2e20cf964350202feee61a0a39" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/cudagraph_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/cudagraph_utils.py", + "sha256": "13392ef0a9ed59eb9c2b2bad43d7c61beb212a8805849e46b5130c230275d0a5" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/speculator.py", + "sha256": "5b97f54e20ddf65b98e939832d050745f67ef43cfa145786da300f1a8322e3c6" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/cudagraph.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/cudagraph.py", + "sha256": "beab567ae2df6a2ba2cd92fe7ee452c6b959b8a7037a4b5f493993a1824619bb" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/speculator.py", + "sha256": "f9c100f42f9326e48eb84e89281897e859ba761943f54d593523555ccd98dc63" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/utils.py", + "sha256": "53d2c3ad474d290d2c6df027446bbd80ac7447684e5242ab2c3c5337d2abd383" + }, + "vllm/v1/worker/gpu/spec_decode/dflash2/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash2/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/dflash2/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash2/speculator.py", + "sha256": "b70043550938a1df9aecc85d8c8224c38c929ca34f68834572f6e723854d2027" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/speculator.py", + "sha256": "dcf4abdedbd2bddd0d76be198ccf5b4e467c46f645038c35fcab821491a35b03" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/utils.py", + "sha256": "86af2bf30604a184312e8f076097b91ecfec704f409f9d68d634b03d6b318070" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/eagle3_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/eagle3_utils.py", + "sha256": "201ee875fcc3d076a8fc1f3876dcbf85736b221a368555243a8987ff26a1674e" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/speculator.py", + "sha256": "746e318a4f266d75522ff7f3731ea9b4527b7b4824f71364d1a62184ea1f7b3d" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/utils.py", + "sha256": "94de6f55a1761f24f4aa1388cbc3b3763d4ab3ee53260330056ad31ce0b78236" + }, + "vllm/v1/worker/gpu/spec_decode/extract_hidden_states.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/extract_hidden_states.py", + "sha256": "93c4233be7b2d2290b33902ea9b3bb5274c11701830851d03967a22144536e2d" + }, + "vllm/v1/worker/gpu/spec_decode/gemma4/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/gemma4/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/gemma4/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/gemma4/speculator.py", + "sha256": "9991210d7babd2caf2cd10797ca8688543dedeafbc3b86bc7c979c1a6ae9f949" + }, + "vllm/v1/worker/gpu/spec_decode/mtp/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/mtp/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/mtp/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/mtp/speculator.py", + "sha256": "926d6c9ffdb368c971647911a60493820d056ce236fcae9d94a42fa2e006255d" + }, + "vllm/v1/worker/gpu/spec_decode/multi_module_mtp/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/multi_module_mtp/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/multi_module_mtp/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/multi_module_mtp/speculator.py", + "sha256": "d9d4735b9b33829332b0e845b6d3073b2f0436045ed693b25c6434f351644127" + }, + "vllm/v1/worker/gpu/spec_decode/rejection_sampler.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/rejection_sampler.py", + "sha256": "030db5bfca162cc1f305112f299de5d6d61c59d3ed0807fee46575441ca4086d" + }, + "vllm/v1/worker/gpu/spec_decode/rejection_sampler_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/rejection_sampler_utils.py", + "sha256": "214b61fa0abe88573beb779872c035b3954e5651a85bd438d99ee5905d3a62ec" + }, + "vllm/v1/worker/gpu/spec_decode/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/speculator.py", + "sha256": "3a1ab15bf8b20918852eb835fe9755046e99dcbac6ba6ca3d414949fc8bc695a" + }, + "vllm/v1/worker/gpu/spec_decode/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/utils.py", + "sha256": "282f2929eddae9ca7312269f799be07472334b6df9fd91878b5e839ec05e418c" + }, + "vllm/v1/worker/gpu/states.py": { + "path": "/vllm/v1/worker/gpu/states.py", + "sha256": "99418f5df43ca612ded72609fee011620b065b2cab2f249ccb387096bf4ae71a" + }, + "vllm/v1/worker/gpu/structured_outputs.py": { + "path": "/vllm/v1/worker/gpu/structured_outputs.py", + "sha256": "18a10532db7e66b55e334acacd1fd989ad6361adf31dd0de9a9a65e23db25951" + }, + "vllm/v1/worker/gpu/ubatch_utils.py": { + "path": "/vllm/v1/worker/gpu/ubatch_utils.py", + "sha256": "5092e2e58af0561c8dc12e62847cfc6dda9ca20dfbd33e7f0cd77a83fe87f7c5" + }, + "vllm/v1/worker/gpu/warmup.py": { + "path": "/vllm/v1/worker/gpu/warmup.py", + "sha256": "423ac32d58fe008c228cfa223e4fcebfcf87e3463a9dbdf80a083c0578d73723" + }, + "vllm/v1/worker/gpu_input_batch.py": { + "path": "/vllm/v1/worker/gpu_input_batch.py", + "sha256": "18cf455c9d0eea61cc581c7932f2e6cd09786914e82dd35eef1c1430da359a0f" + }, + "vllm/v1/worker/gpu_model_runner.py": { + "path": "/vllm/v1/worker/gpu_model_runner.py", + "sha256": "87c29d08c0bbf66993d8b984811e7325e35e6436242a773feb55ec88f16b2c51" + }, + "vllm/v1/worker/gpu_ubatch_wrapper.py": { + "path": "/vllm/v1/worker/gpu_ubatch_wrapper.py", + "sha256": "4233cfbe8c9884b042c4363890108f616483b694ebe9a6e69578dcf89c6dac5c" + }, + "vllm/v1/worker/gpu_worker.py": { + "path": "/vllm/v1/worker/gpu_worker.py", + "sha256": "6994436e4547c0996ab555b3e814e8ccea26b650dfc1b378b97d640745309347" + }, + "vllm/v1/worker/kv_connector_model_runner_mixin.py": { + "path": "/vllm/v1/worker/kv_connector_model_runner_mixin.py", + "sha256": "e1cc76d065a7e60aacddb190ae795a480b65cd02ba71a1fc699a02a85c1a3de2" + }, + "vllm/v1/worker/lora_model_runner_mixin.py": { + "path": "/vllm/v1/worker/lora_model_runner_mixin.py", + "sha256": "fef6092a15d8d37f6fa22495e6106e2e5280180908d61ce43d9ff5bf4eef3f2f" + }, + "vllm/v1/worker/mamba_utils.py": { + "path": "/vllm/v1/worker/mamba_utils.py", + "sha256": "23fdaa4e8f63ee8f938eaa1a2b39f803cb04fa6ecd69789563254b1a0691413a" + }, + "vllm/v1/worker/mm_encoder_model_runner.py": { + "path": "/vllm/v1/worker/mm_encoder_model_runner.py", + "sha256": "780c41be84ad022205c21c1decb6bb8d5afb03bc7be120c1f7df03b710acc3d7" + }, + "vllm/v1/worker/sentinel/__init__.py": { + "path": "/vllm/v1/worker/sentinel/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/sentinel/gpu_worker_sentinel.py": { + "path": "/vllm/v1/worker/sentinel/gpu_worker_sentinel.py", + "sha256": "3959b8619d052c5dd247815074e03ec21ec9b43cc424ff2d296abc19b227b852" + }, + "vllm/v1/worker/startup_plan.py": { + "path": "/vllm/v1/worker/startup_plan.py", + "sha256": "84bcbb4f7a9fd7c8d10c9c895aadd9673d44c767b9132368d11eb5e017afe86b" + }, + "vllm/v1/worker/ubatch_utils.py": { + "path": "/vllm/v1/worker/ubatch_utils.py", + "sha256": "b34dce551b5195c414e6a3a997c75961cc7a17f24c7c980487fe3d3e2ba7a798" + }, + "vllm/v1/worker/ubatching.py": { + "path": "/vllm/v1/worker/ubatching.py", + "sha256": "40391241c564feb5f16c77898ae6ae152ed6e71a4682e2a406387785d8de02d7" + }, + "vllm/v1/worker/utils.py": { + "path": "/vllm/v1/worker/utils.py", + "sha256": "0ca3ec6bf4d20076145b7fe64e564962adebedc8f75a856b517ba0b2f2d77acf" + }, + "vllm/v1/worker/worker_base.py": { + "path": "/vllm/v1/worker/worker_base.py", + "sha256": "4a1a5266b912fe97991d8dc89d92b923990da9f6cb4b817d00d52e9c0d26dd7c" + }, + "vllm/v1/worker/workspace.py": { + "path": "/vllm/v1/worker/workspace.py", + "sha256": "d21c08167d1d0d1c0cddaa80453a53a0b4dec5d81b5a537c94a21324344976b3" + }, + "vllm/v1/worker/xpu_model_runner.py": { + "path": "/vllm/v1/worker/xpu_model_runner.py", + "sha256": "07fa0390d28f2b8c3c3c0019eb9c3b126e2397aea268ba47c889f06b423deb23" + }, + "vllm/v1/worker/xpu_worker.py": { + "path": "/vllm/v1/worker/xpu_worker.py", + "sha256": "711b56432506b58041cd86e71320c3960413f7bd61061990b66488421d81cfc3" + } + }, + "prefix": "", + "pth": { + "/__editable__.megatron_core-0.16.0rc0.pth": "d55c9b64480b34aae3d4d31e7706b93391c969dec6e0498e50963b03445a57b0", + "/__editable__.rl_kernel-0.1.0.pth": "1454c4987b35762a0d189d4e901c5d077fde62a1944fbaabecea230e57f3923a", + "/__editable__.vime-0.3.2.pth": "77eec5d06d628cb952e65edd813ca88d8db67ccc785083e1b7b29011b92bec4f", + "/distutils-precedence.pth": "2638ce9e2500e572a5e0de7faed6661eb569d1b696fcba07b0dd223da5f5d224", + "/qwen3_next_cuda_runtime.pth": "e0d3ab57dd3ff4f5d55fcf76e83c549cc00b3c813e6f717c540d5ded79fa2f49", + "/qwen3_next_megatron_source.pth": "8556ac057538e82856cb76cbbc954f58312a3f45373daec3eec826031cfd2709", + "/__editable__.rl_kernel-0.1.0.pth": "1454c4987b35762a0d189d4e901c5d077fde62a1944fbaabecea230e57f3923a", + "/distutils-precedence.pth": "2638ce9e2500e572a5e0de7faed6661eb569d1b696fcba07b0dd223da5f5d224", + "/nvidia_cutlass_dsl_packages.pth": "cc710b99ddb3d76361a70461461d274212a979d00c381d821fce5bb3ad9cf246" + }, + "pyvenv_cfg_sha256": "48579f2c6d35c3d535c2690d7d426587c4b8e92021463f0266b38d35dfbbb834", + "sources": { + "/Megatron-LM-training": { + "patch_sha256": "f66035f12501aa1d08e8884e0dea5a22d59825d717aeda73c3e83876e3efd79f", + "path": "/Megatron-LM-training", + "tree": "731fc44a368d6cac8c6171a29d5c687ff0d95bd1" + }, + "/vime": { + "patch_sha256": "66949839d4c18329444f4f9f6dcd702b53ce1b94e9aa15ed111f28743bfaa4b9", + "path": "/vime", + "tree": "f5174e67dbcdaef983eecd45f215fef2d8429dd0" + } + }, + "version": "3.12.14 | packaged by Anaconda, Inc. | (main, Aug 27 2026, 14:46:43) [GCC 14.3.0]" + }, + "sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca" + }, + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "cuda_identity": { + "home": "", + "nvcc_sha256": "b8e2347d9d7fcadf8812a27324d515de99d033d3e48611811ece7e66d7895f8a" + }, + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "operator_requirements": { + "suite": "all", + "case_ids": [ + "tests/check_qwen3_next_attention.py::test_d256_backward_with_cached_prefix_matches_float64_formula", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[1024]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[256]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[64]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[8]", + "tests/check_qwen3_next_attention.py::test_d256_input_device_guard_and_nondefault_stream", + "tests/check_qwen3_next_attention.py::test_native_backward_rejects_malformed_probability_and_gradient_buffers", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[0]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[2]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_target_inputs_do_not_depend_on_companions", + "tests/check_qwen3_next_batch_invariance.py::test_triton_chunked_prefill_is_batch_invariant", + "tests/check_qwen3_next_conv_bridge.py::test_chunked_and_reordered_sequences_match", + "tests/check_qwen3_next_conv_bridge.py::test_empty_sequence_preserves_cache_and_gradients", + "tests/check_qwen3_next_conv_bridge.py::test_response_gradient_reaches_prompt_and_convolution_weight", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths0]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths1]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths2]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-4]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[1]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[4]", + "tests/check_qwen3_next_core_matrix.py::test_variable_lengths_empty_and_mixed_step_match_independent_sequences", + "tests/check_qwen3_next_forward.py::test_combine_has_fixed_route_order_and_differentiable_weights", + "tests/check_qwen3_next_forward.py::test_full_vocabulary_logprob_entropy_modes_and_gradient", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_fail_closed_on_the_tensor_descriptor_path", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[128]", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[512]", + "tests/check_qwen3_next_forward.py::test_logprob_nan_rejected_before_comparison", + "tests/check_qwen3_next_forward.py::test_moe_vjp_matches_independent_double_formula", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[1024-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[128-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-16]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-256]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-3072]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-37984]", + "tests/check_qwen3_next_forward.py::test_qwen_moe_actual_tp4_shapes_and_independent_training_forward", + "tests/check_qwen3_next_forward.py::test_route_weights_are_batch_invariant", + "tests/check_qwen3_next_forward.py::test_shared_linear_vjp_and_empty_tokens", + "tests/check_qwen3_next_forward.py::test_stable_route_tie_boundary_and_router_gradient", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_backward_matches_recomputed_recurrence_vjp", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_forward_is_provider_exact_and_does_not_mutate_inputs", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_keeps_prompt_state_gradient_through_response", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[False]", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[True]", + "tests/check_qwen3_next_gdn_bridge.py::test_initial_state_vjp_matches_provider_directional_difference", + "tests/check_qwen3_next_gdn_sequence.py::test_1024_token_chunk_continuation_is_bitwise_exact", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad0]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad1]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad2]", + "tests/check_qwen3_next_gdn_sequence.py::test_chunk_boundary_retains_prompt_and_initial_state_gradients", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths0]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths1]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths2]", + "tests/check_qwen3_next_gdn_sequence.py::test_reserved_and_duplicate_slots_are_rejected", + "tests/check_qwen3_next_norm_providers.py::test_custom_op_has_distinct_native_and_cuda_paths", + "tests/check_qwen3_next_norm_providers.py::test_gdn_decode_provider_env_defaults_are_recorded", + "tests/check_qwen3_next_norm_providers.py::test_our_gated_op_is_batch_invariant", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_cuda]", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_native]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots0]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots2]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots3]", + "tests/check_qwen3_next_shared_core.py::test_independent_training_forward_matches_inference_and_retains_gradients", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[1024]", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[8]", + "tests/check_qwen3_next_shared_core.py::test_unimplemented_provider_profile_is_rejected", + "tests/test_qwen3_next_norm.py::test_bad_weight_shape_raises", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[16]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[1]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[2]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[32]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[48]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[64]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[8]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[128]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[2048]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_with_padding", + "tests/test_qwen3_next_norm.py::test_call_matches_forward", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[128]", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[2048]", + "tests/test_qwen3_next_norm.py::test_cuda_default_offset_preserves_plain_convention", + "tests/test_qwen3_next_norm.py::test_cuda_gated_backward_matches_autograd_golden", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_matches_golden_within_contract", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_bad_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_mismatched_gate", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_backward_uses_the_sigmoid_derivative", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_swish_is_an_alias_for_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_unit_weight_is_plain_norm_times_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_weight_offset_is_applied_in_fp32", + "tests/test_qwen3_next_norm.py::test_cuda_gated_wrapper_rejects_equal_numel_wrong_shape", + "tests/test_qwen3_next_norm.py::test_cuda_gated_zero_gate_zeroes_output", + "tests/test_qwen3_next_norm.py::test_cuda_offset_equals_explicit_fp32_weight", + "tests/test_qwen3_next_norm.py::test_cuda_offset_is_not_folded_through_bfloat16", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_backward_is_offset_aware", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_within_tolerance_of_golden", + "tests/test_qwen3_next_norm.py::test_deterministic_repeat", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype0]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype1]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype2]", + "tests/test_qwen3_next_norm.py::test_eps_inside_sqrt", + "tests/test_qwen3_next_norm.py::test_gated_batch_invariance_slice", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedHFOp]", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedOp]", + "tests/test_qwen3_next_norm.py::test_gated_conventions_diverge_in_low_precision", + "tests/test_qwen3_next_norm.py::test_gated_cuda_op_rejects_bad_activation_at_construction", + "tests/test_qwen3_next_norm.py::test_gated_extension_handles_empty_batch_and_nondefault_stream", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[dy_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[gate_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[rstd_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_shape]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_matches_hf_formula_fp32", + "tests/test_qwen3_next_norm.py::test_gated_shape_mismatch_raises", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_strict_matches_vllm_formula_fp32", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[128]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[2048]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_offset_applied_in_fp32_not_folded_into_bf16", + "tests/test_qwen3_next_norm.py::test_op_batch_invariance_on_device", + "tests/test_qwen3_next_norm.py::test_plain_reference_is_unchanged_by_the_offset_plumbing", + "tests/test_qwen3_next_norm.py::test_weight_offset_is_one", + "tests/test_qwen3_next_norm.py::test_zero_centred_cuda_constructor_rejects_missing_extension", + "tests/test_qwen3_next_norm.py::test_zero_centred_op_inherits_the_plain_reference", + "tests/test_qwen3_next_norm.py::test_zero_weight_is_identity_scaling" + ], + "case_ids_sha256": "694c931b65f9cfa5db963f2eca6d11bd309546c824a1df52f9da2ab128e83e0f", + "norm_gates": [ + "qwen3_next_rms_norm-forward.json", + "qwen3_next_rms_norm-gradient.json", + "rms_norm_gated-forward.json", + "rms_norm_gated-gradient.json" + ] + }, + "layer_requirements": { + "schema_version": 1, + "gates": { + "gdn": { + "script": "scripts/qwen3_next_tp_gdn_check.py", + "output_option": "--output", + "scope": "tp4_gdn_layer0", + "groups": { + "cases": [ + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "prompt-gradient", + "replicated-norm-gradient", + "hf-load-export" + ] + }, + "script_sha256": "cc4338893f90af004c51c20fc67d1a9a3f4bf8d26775277f72671c02983e4df5" + }, + "attention": { + "script": "scripts/qwen3_next_tp_attention_check.py", + "output_option": "--output", + "scope": "tp4_full_attention_layer3", + "groups": { + "attention.cases": [ + "hf-load-export", + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "batch4-varlen-reorder", + "sixteen-token-decode", + "prompt-gradient", + "kv-pair-gradient", + "qk-norm-gradient" + ] + }, + "script_sha256": "d27d43efb05415a8ef5892c3c2238a2b9744a4821f5466faf46c6510e6e01bec" + }, + "moe": { + "script": "scripts/qwen3_next_tp_moe_check.py", + "output_option": "--output", + "scope": "tp4_moe_block_layer0", + "groups": { + "moe.cases": [ + "hf-load-export-all512experts", + "routes-replicated-8", + "full-chunk-reorder-8", + "routes-replicated-64", + "full-chunk-reorder-64", + "routes-replicated-256", + "full-chunk-reorder-256", + "routes-replicated-1024", + "full-chunk-reorder-1024", + "training-forward", + "all-parameter-gradient", + "replicated-router-gradient" + ] + }, + "script_sha256": "d5c1bbbb82e408b65871b0cb1638d7a6cf8cfe07f0a3315a657b7dc232d544be" + }, + "adapters": { + "script": "scripts/qwen3_next_adapter_check.py", + "output_option": "--out", + "scope": "gdn_engine_adapter_component", + "groups": { + "cases": [ + "batch1-length8", + "batch1-length64", + "batch1-length256", + "batch1-length1024", + "batch4-length8", + "batch4-length64", + "batch4-length256", + "batch4-length1024", + "mixed-prefill-decode16-reorder" + ] + }, + "fields": { + "prompt_gradient": "passed", + "hf_conv_roundtrip": "passed", + "batch_invariance_capability_registered": false + }, + "script_sha256": "3ce45bb317237c1a06533116d65fb77c2a23b6f503ae46406ede543036eb0f20" + }, + "heads": { + "script": "scripts/qwen3_next_tp_head_check.py", + "output_option": "--output", + "scope": "tp4_embedding_lm_head_only", + "groups": { + "cases": [ + "hf-embedding-roundtrip", + "hf-lm-head-roundtrip", + "replicated-norm-gradient", + "nonzero-finite-embedding-head-gradient", + "embedding-repeat-100", + "batch-invariant-prompt8", + "batch-invariant-prompt64", + "batch-invariant-prompt256", + "batch-invariant-prompt1024", + "logprob-original-and-promoted-logits", + "entropy-interface" + ] + }, + "script_sha256": "0504185d21a75405c8e994bc57b016cf4ec357d8b16e7430772c11934f2af876" + } + }, + "scheduler_case_ids": [ + "p0008-b1-full", + "p0008-b1-chunked", + "p0008-b4-full", + "p0008-b4-chunked", + "p0064-b1-full", + "p0064-b1-chunked", + "p0064-b4-full", + "p0064-b4-chunked", + "p0256-b1-full", + "p0256-b1-chunked", + "p0256-b4-full", + "p0256-b4-chunked", + "p1024-b1-full", + "p1024-b1-chunked", + "p1024-b4-full", + "p1024-b4-chunked" + ], + "registry_sha256": "e3949a750cb27c1897a000f3b023f912629906612ae8949c1575d0acc36df5ec", + "case_ids_per_rank": [ + "adapters/cases/batch1-length1024", + "adapters/cases/batch1-length256", + "adapters/cases/batch1-length64", + "adapters/cases/batch1-length8", + "adapters/cases/batch4-length1024", + "adapters/cases/batch4-length256", + "adapters/cases/batch4-length64", + "adapters/cases/batch4-length8", + "adapters/cases/mixed-prefill-decode16-reorder", + "attention/attention.cases/batch4-varlen-reorder", + "attention/attention.cases/full-chunk-1024", + "attention/attention.cases/full-chunk-256", + "attention/attention.cases/full-chunk-64", + "attention/attention.cases/full-chunk-8", + "attention/attention.cases/hf-load-export", + "attention/attention.cases/kv-pair-gradient", + "attention/attention.cases/prompt-gradient", + "attention/attention.cases/qk-norm-gradient", + "attention/attention.cases/sixteen-token-decode", + "gdn/cases/full-chunk-1024", + "gdn/cases/full-chunk-256", + "gdn/cases/full-chunk-64", + "gdn/cases/full-chunk-8", + "gdn/cases/hf-load-export", + "gdn/cases/prompt-gradient", + "gdn/cases/replicated-norm-gradient", + "heads/cases/batch-invariant-prompt1024", + "heads/cases/batch-invariant-prompt256", + "heads/cases/batch-invariant-prompt64", + "heads/cases/batch-invariant-prompt8", + "heads/cases/embedding-repeat-100", + "heads/cases/entropy-interface", + "heads/cases/hf-embedding-roundtrip", + "heads/cases/hf-lm-head-roundtrip", + "heads/cases/logprob-original-and-promoted-logits", + "heads/cases/nonzero-finite-embedding-head-gradient", + "heads/cases/replicated-norm-gradient", + "moe/moe.cases/all-parameter-gradient", + "moe/moe.cases/full-chunk-reorder-1024", + "moe/moe.cases/full-chunk-reorder-256", + "moe/moe.cases/full-chunk-reorder-64", + "moe/moe.cases/full-chunk-reorder-8", + "moe/moe.cases/hf-load-export-all512experts", + "moe/moe.cases/replicated-router-gradient", + "moe/moe.cases/routes-replicated-1024", + "moe/moe.cases/routes-replicated-256", + "moe/moe.cases/routes-replicated-64", + "moe/moe.cases/routes-replicated-8", + "moe/moe.cases/training-forward" + ], + "case_ids_sha256": "be74417dfbd6031ba27978d06d04bb15daaab2aeb57d132c7e0d41176b28b46e" + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + } +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/train/updates.json b/docs/usage/evidence/qwen3-next-chain-b200/train/updates.json new file mode 100644 index 000000000..a4863e79b --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/train/updates.json @@ -0,0 +1,2021 @@ +{ + "schema_version": 1, + "status": "passed", + "scope": "qwen3_next_training_and_reload", + "identity": { + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "checkpoint": "", + "weight_version": "baseline", + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32" + }, + "training_identity": { + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "checkpoint": "", + "weight_version": "baseline", + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32", + "run_id": "20261009T041838Z-train1-c67ec144-39e7db9f", + "execution_id": "39e7db9f488142f4b52872e05728c390", + "fixture_sha256": "7c98e4e17cc24bd0c5f65f6515d58a9dfc947afcdb6d4956bd3fa05f24bb28b6" + }, + "required_sections": [ + "baseline", + "update1", + "update2", + "reload", + "continuous_step3", + "resumed_step3", + "checkpoint", + "fault_injection" + ], + "l2_fixture_sha256": "b59298acf5ecbe64abb4639e7596e052f1993ee5e3c7289b63738f1b04463d01", + "l2_reports": { + "baseline": { + "path": "/attempts/0/l2-matrix.json", + "sha256": "bf9da6060e882fb3707df9093e63a4c6e6664e8a75f25e9809020c4f687bf953" + }, + "update1": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/l2-matrix.json", + "sha256": "ad78b78687d2ef725a24b42de908033b36383f69db41d2c754f87acb07cd9870" + }, + "update2": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/l2-matrix.json", + "sha256": "e8b9ee250133e40cf2f28134bb4b77f6ec18bb970c37a9702590284e2c570893" + }, + "reload": { + "path": "/attempts/0/reload-l2-a872a7908f624c60b1b1814b1037c8b3/l2-matrix.json", + "sha256": "93f6e8ca16a9286945b73fd46888b72db923454be730edde5232a3ffb041b414" + } + }, + "workers": { + "update1": { + "path": "/attempts/0/update1-2c4f847affb0420d9622f1b699393898/worker.json", + "sha256": "b2c74ebcb2b5e538bbaf5e50439615722f26876df3cd34610ded097ee6102436" + }, + "update2": { + "path": "/attempts/0/update2-57420c4714024856bad2f2d1fa960e15/worker.json", + "sha256": "b30f31ad229c12f2c710a5267f9c8eea37ff9da08a2681158279633e2777cf47" + }, + "reload": { + "path": "/attempts/0/reload-562bd948210c4256a10db68a19bdd77e/worker.json", + "sha256": "447b8ac6d7cb5db7e5996f6a8ea7b1a496e51354fce80a38540297af524d6271" + }, + "continuous": { + "path": "/attempts/0/continuous-77caf14fe2b842108f863c8cd8d7f67c/worker.json", + "sha256": "d7a2a3feb4fda03e2f7c0badf8a352c6519eec63114e60373b33d71212f051b9" + }, + "resumed": { + "path": "/attempts/0/resumed-4b438816c03647029cdfeebe981bb0ed/worker.json", + "sha256": "8cb5be8b9ec2c49425af9e2725ca3bc972456f6f66454f9820d066e25f34e02a" + } + }, + "events": [ + "l2:baseline", + "worker:update1", + "l2:update1", + "worker:update2", + "l2:update2", + "worker:reload", + "l2:reload", + "worker:continuous", + "worker:resumed" + ], + "recovery": [ + { + "schema_version": 1, + "scope": "qwen3_next_retirement", + "identity": { + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "checkpoint": "", + "weight_version": "baseline", + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32", + "run_id": "20261009T041838Z-train1-c67ec144-39e7db9f", + "execution_id": "39e7db9f488142f4b52872e05728c390", + "fixture_sha256": "7c98e4e17cc24bd0c5f65f6515d58a9dfc947afcdb6d4956bd3fa05f24bb28b6" + }, + "target": "step-00000002-8e604f14d0b04929abfbfb8e584b39bf.partial", + "tombstone": ".step-00000002-8e604f14d0b04929abfbfb8e584b39bf.partial.deleting", + "status": "retired", + "proof": { + "schema_version": 1, + "scope": "qwen3_next_staging_intent", + "identity": { + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "checkpoint": "", + "weight_version": "baseline", + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32", + "run_id": "20261009T041838Z-train1-c67ec144-39e7db9f", + "execution_id": "39e7db9f488142f4b52872e05728c390", + "fixture_sha256": "7c98e4e17cc24bd0c5f65f6515d58a9dfc947afcdb6d4956bd3fa05f24bb28b6" + }, + "staging": "step-00000002-8e604f14d0b04929abfbfb8e584b39bf.partial", + "published": "step-00000002-8e604f14d0b04929abfbfb8e584b39bf", + "metadata": { + "schema_version": 1, + "scope": "native_vime_training_checkpoint", + "status": "staging", + "identity": { + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "checkpoint": "", + "weight_version": "baseline", + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32", + "run_id": "20261009T041838Z-train1-c67ec144-39e7db9f", + "execution_id": "39e7db9f488142f4b52872e05728c390", + "fixture_sha256": "7c98e4e17cc24bd0c5f65f6515d58a9dfc947afcdb6d4956bd3fa05f24bb28b6" + }, + "step": 2, + "sample_position": 8 + } + } + }, + { + "reason": "repeat_final_reload_and_controls_in_fresh_train_run", + "from_attempt": "0", + "to_attempt": "retired-for-fresh-train-run", + "events": [ + "worker:reload", + "l2:reload", + "worker:continuous", + "worker:resumed" + ], + "workers": { + "reload": { + "path": "/20261009T215349Z-train-c67ec144-779ba23f/attempts/0/reload-359caafa0c484faba4a052c355c59259/worker.json", + "sha256": "1d3707e09137bc856206dd4630575be64ed5c891928195682f189803bc550a39" + }, + "continuous": { + "path": "/20261009T215349Z-train-c67ec144-779ba23f/attempts/0/continuous-b9d0eedd6f804e8da5d51bc6a6763497/worker.json", + "sha256": "f00a92b1d4fde215aef304f5d22d6dad40c86d3ec2a34102a7c65d0b3b8616b1" + }, + "resumed": { + "path": "/20261010T112219Z-train-c67ec144-40996158/attempts/0/resumed-4c0c9f145a3b4a3c882d778bc4817e0b/worker.json", + "sha256": "3b137d58e33af3056265c08abcb9964bdf0f6313dff439f6fce367fea14cb767" + } + }, + "l2_report": { + "path": "/20261009T215349Z-train-c67ec144-779ba23f/attempts/0/reload-l2-877b875589944f6691279aa5d21d6076/l2-matrix.json", + "sha256": "e2857dc09998840674af4f12ced018439b5fffc42f74530860d6bf22cbc8e4b1" + } + }, + { + "reason": "repeat_final_reload_and_controls_in_fresh_train_run", + "from_attempt": "0", + "to_attempt": "retired-for-fresh-train-run", + "events": [ + "worker:reload", + "l2:reload" + ], + "workers": { + "reload": { + "path": "/20261010T131621Z-train-c67ec144-219cc1ac/attempts/0/reload-ef19c6c64157400a84f8a0ed0e579996/worker.json", + "sha256": "85cd41ecb5f52ed55febf74a62150c399299f63800117775f7047f381cd606c3" + } + }, + "l2_report": { + "path": "/20261010T131621Z-train-c67ec144-219cc1ac/attempts/0/reload-l2-fc6185ab0eb740d58ff153cb0c40c44a/l2-matrix.json", + "sha256": "1076eb467b5fb0b97982b8a31ff3b03aec5858cb43ea5f50eee5e5120ae34356" + } + } + ], + "reload_matches_update2": { + "status": "passed", + "raw_bit_comparison": true, + "case_ids": [ + "p0008-b1-full", + "p0008-b1-chunked", + "p0008-b4-full", + "p0008-b4-chunked", + "p0064-b1-full", + "p0064-b1-chunked", + "p0064-b4-full", + "p0064-b4-chunked", + "p0256-b1-full", + "p0256-b1-chunked", + "p0256-b4-full", + "p0256-b4-chunked", + "p1024-b1-full", + "p1024-b1-chunked", + "p1024-b4-full", + "p1024-b4-chunked" + ], + "cases": { + "p0008-b1-full": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p0008-b1-chunked": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p0008-b4-full": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p0008-b4-chunked": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p0064-b1-full": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p0064-b1-chunked": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p0064-b4-full": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p0064-b4-chunked": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p0256-b1-full": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p0256-b1-chunked": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p0256-b4-full": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p0256-b4-chunked": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p1024-b1-full": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p1024-b1-chunked": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p1024-b4-full": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "p1024-b4-chunked": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + } + } + }, + "checkpoint": { + "path": "/training-state/checkpoints/step-00000002-3bce5b5d91b045a1bbdb4f8ef235d1b6", + "sha256": "8906eaf4e2bee9d1aec783a6086e1a09b89b7da1a37525c6464aa922fec0e691" + }, + "fault_injection": { + "path": "/attempts/0/checkpoint-faults/faults.json", + "sha256": "7db734f99dc3d6d9b23569aced1062b09cd22ae9ac4531a8eee03939a8bfcd52" + }, + "attempt": "0" +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/train1/environment.json b/docs/usage/evidence/qwen3-next-chain-b200/train1/environment.json new file mode 100644 index 000000000..eceac4890 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/train1/environment.json @@ -0,0 +1,4500 @@ +{ + "environment": { + "identity": { + "base_prefix": "/miniconda3/envs/rlkernel", + "binary": "/python3.12", + "binary_sha256": "6a1eb3ffc29f3a6b0ece607b016b4cfa5ca3ac57b34f17ed3266b404f78d2729", + "build_tools": { + "ninja": { + "path": "/miniconda3/envs/rlkernel/bin/ninja", + "sha256": "08639e194fffa7f08b259fc4abfa4803aff66b64de52549cee42ec527d55cea6" + } + }, + "distributions": [ + { + "direct_url": null, + "metadata_sha256": "6f1038270be40f9b8c0bcf391c627e7d7f41ccdd19aa192d6eac1dbfc3b19abc", + "name": "GitPython", + "version": "3.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "3f71971502087521f123c9daa26bc12d31d3466738b567390b8602acad3be22a", + "name": "Jinja2", + "version": "3.1.6" + }, + { + "direct_url": null, + "metadata_sha256": "818fb343b7b6b99a32771bf4813521ae6440b4c7579b3ae46e32dd02da0afeee", + "name": "Markdown", + "version": "3.11" + }, + { + "direct_url": null, + "metadata_sha256": "dc1ee42cf8ecfeee0ab60b15b21d291833e0732548efcb7bb5b3564dca3e5bf7", + "name": "MarkupSafe", + "version": "3.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "de7389b142450a0014234286b0876f328439b823c355c73d0aed41fd67ec208c", + "name": "PyJWT", + "version": "2.15.1" + }, + { + "direct_url": null, + "metadata_sha256": "ffcad4415cafb22b8b536a61595e9ee13438b51d31b0763c1b273ce3bc58e840", + "name": "PyYAML", + "version": "6.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "8562d701cc52d9cafbb418942b0e072fc087ed8ddcf35cd10224c1b2ed8bdd91", + "name": "Pygments", + "version": "2.21.0" + }, + { + "direct_url": null, + "metadata_sha256": "b6c25fcfdcc495edf248a10ca4ad28327ef2ed6047a6ec5c6346e121414c7f21", + "name": "Werkzeug", + "version": "3.1.9" + }, + { + "direct_url": null, + "metadata_sha256": "55c400d24c71b581d9c0992f71df6047cf6c878bebe61a7d45d6e02dc0e4c510", + "name": "absl-py", + "version": "2.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "13db521f90a6a882027b2388eaa2ebf252945f9c2adb7e7e371da18239da4df0", + "name": "accelerate", + "version": "1.15.0" + }, + { + "direct_url": null, + "metadata_sha256": "86fe44e38e67872dd895c729044942ba2c2f934ae439a899fb83a186206b7fd4", + "name": "agent-detector", + "version": "2.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "afe11fe9f5aa54e734cdd51659bed8c89dc6bcd5aef0ad96f2d20149c8de5456", + "name": "aiohappyeyeballs", + "version": "2.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "570b307bc0b53fbbd3ed2ce0b7eca6bbf2fa73bf75e24a480f1034d8c0b832bf", + "name": "aiohttp", + "version": "3.14.3" + }, + { + "direct_url": null, + "metadata_sha256": "44b7f8e14c4770793e747fad50c9e0a6ee7357651d878554f192d94768dc14a8", + "name": "aiohttp-cors", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "648813a44a9ae0ab2f20ee86d2404dcc38e3f9e80c63316cf6e536735df14e54", + "name": "aiosignal", + "version": "1.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "f6a3f6668bacef7f73a2c19ccb2be910b2363d1731c4725cb04364d99e24935a", + "name": "annotated-doc", + "version": "0.0.5" + }, + { + "direct_url": null, + "metadata_sha256": "fc6d752cde6a6a4bff03474386de750e130b75da3c7815ee909f45b51fea98c8", + "name": "annotated-types", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "4e89d670a4b20029da30e5a9e8ebcbc844deff9c44209552bafd5537249c8b9e", + "name": "anthropic", + "version": "1.9.0" + }, + { + "direct_url": null, + "metadata_sha256": "b5a6f00800956387fcddab1fe1b5aa8502c249b86cfb16d58ed700f282f60142", + "name": "antlr4-python3-runtime", + "version": "4.9.3" + }, + { + "direct_url": null, + "metadata_sha256": "a6008defa9492cd08250217b134782cad1db4580e1d7ddf69cc2a2a48cea24e0", + "name": "anyio", + "version": "4.15.1" + }, + { + "direct_url": null, + "metadata_sha256": "7877c64ce8957237363f2df313819bb07f50752df016d14c5a5a99bec10f5deb", + "name": "apache-tvm-ffi", + "version": "0.1.11" + }, + { + "direct_url": null, + "metadata_sha256": "3543ca8f0e072c00ab111b20eba99ce86dbf93ada28988775bc2677284b3c07a", + "name": "astor", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "d4b328c09c024fe1e4d788a9c7715ad726095131b815cd35fd933268226f6269", + "name": "attrs", + "version": "26.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "4850c4d696a5e2a2ecbb3dd792b060acc1de79e09800669b0b9fc3a22c055e6d", + "name": "av", + "version": "19.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "863ff92208d0a02dabfa008bfe91846a5c401ded301e5687dca7dc63c911865f", + "name": "babel", + "version": "2.18.0" + }, + { + "direct_url": null, + "metadata_sha256": "f32e6df3197f05202e586624d95c5e217003d80cee655c165d533102f628df21", + "name": "backrefs", + "version": "8.0" + }, + { + "direct_url": null, + "metadata_sha256": "905c362f655fbc6d37a24686efc2b3bfbd3123b8ee5a443a43f6750d87455e90", + "name": "blake3", + "version": "1.0.10" + }, + { + "direct_url": null, + "metadata_sha256": "07c85682b6aefd5c9b48890d306c1604311902295704892ede48e5a83219a8d3", + "name": "blobfile", + "version": "3.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "2d582941a7081625a35f35a0c4a2e80f7737312e29c38e5fdb6fc08f9c113077", + "name": "bracex", + "version": "3.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "3b60c55bae0d0340c3a3fd918635bbfa3087579da66e0fd7f6be7a3782c0da3d", + "name": "cachetools", + "version": "7.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "5d11a6878d5bc3f22290281a19ef7b36daa95c910780950608b95cd788c7e12e", + "name": "cbor2", + "version": "6.1.4" + }, + { + "direct_url": null, + "metadata_sha256": "362c9942c48051f168ed2b9f2146266b7792d3c05e164cd6afc3f3b65884fdc9", + "name": "certifi", + "version": "2026.7.22" + }, + { + "direct_url": null, + "metadata_sha256": "b4abf1bcf1c1d8e0272d8007fc974499ea59e5f2a5b98af3c78a5e67515a9d87", + "name": "cffi", + "version": "2.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "766120f13c177446f51929a4d201104bc935b6d5a2a176cd6716edce757d3d95", + "name": "cfgv", + "version": "3.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "610e9a9d03ce837ffe6e42be5e02e70087f73863f7350bf7bb7f0511edcc5ec0", + "name": "charset-normalizer", + "version": "3.5.2" + }, + { + "direct_url": null, + "metadata_sha256": "7ad836b3147c9702546d9c28b4fa5be23b24445439db5d0d2a58d17281c84daa", + "name": "click", + "version": "8.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "4c5f00599ebcbf11d337e48a72784d256ca3d704fa9e9f5daadd60065e6776b7", + "name": "cloudpickle", + "version": "3.1.2" + }, + { + "direct_url": null, + "metadata_sha256": "a0970189e3ab7a596d6902d5f61f93b414f138f03d3cf19029145657bfceb382", + "name": "cmake", + "version": "4.1.2" + }, + { + "direct_url": null, + "metadata_sha256": "94a6ebf9718e55f254a43ce0d2f04e0d6d44e7141b6f3144a84feb6519a77bfd", + "name": "colorama", + "version": "0.4.6" + }, + { + "direct_url": null, + "metadata_sha256": "ca8ec227f406d970a645ec482b20619128dd34b9cf71159cc24e27db461a2711", + "name": "colorful", + "version": "0.5.8" + }, + { + "direct_url": null, + "metadata_sha256": "bbaa51b7e4d8f142bd075d01257c0572c0c844796d51426e35c8096a13e8da76", + "name": "compressed-tensors", + "version": "0.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "6063d8ff7ebc458d63a4332853d7ababf4ee2b86336362c8d2b12be6e998eb6b", + "name": "connectrpc", + "version": "0.11.1" + }, + { + "direct_url": null, + "metadata_sha256": "ac5f4b5a5f68080bd9c3fe77399fe8a1bff2ee5923c49db1df544dd054cbf15b", + "name": "cryptography", + "version": "50.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "f41d2f6b4616accca2f5e1dd47aa9e8937c28076cde698226d93e727751f3099", + "name": "cuda-bindings", + "version": "13.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "e5ca6ed34c687c6f4a4d157ad0a2cf06ec0316fe8c4c0ddeb666ad76dd6f30f4", + "name": "cuda-core", + "version": "1.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "89baadd9da23dce9990481519544115615ba3cbd2d1a41e09feea7756fffb378", + "name": "cuda-pathfinder", + "version": "1.8.2" + }, + { + "direct_url": null, + "metadata_sha256": "1ab914b9a57ca601df2e3cfe9608427b15d8afb78029076ace5d1caf9fd45f08", + "name": "cuda-python", + "version": "13.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "73d97a5eb578223b4895ef4f234574d14219cef9999ff7d0e92a3d0dd057bd3f", + "name": "cuda-tile", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "ae6f957fe66ed63081d1d83ee6e8838f3a0af2c6fce1223629d0dd6264565ead", + "name": "cuda-toolkit", + "version": "13.0.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "1f8e0ae51ad5feea63f58ed2e24f3da6f23ed548043235a14f7623d961dd9b64", + "name": "datasets", + "version": "5.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "153f4a4d6ff03dbe5c8ad7fe54bc2e7b989a4947b70f7aa77fbf652b394f2a2e", + "name": "depyf", + "version": "0.20.0" + }, + { + "direct_url": null, + "metadata_sha256": "ee09fc752d7271aac93079cfd63409957dc6b536c1ffd9355a01bf7297e72aa6", + "name": "detect-installer", + "version": "0.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "a7feab2c4f69fd5f85e5a3cb495a7f1870a6bf8199dcee5339e8118f7acbdc09", + "name": "dill", + "version": "0.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "fef3fde661fe30ba7bd1d78841a797136b2b3461705bb4eb92dc54f8308bbaae", + "name": "distlib", + "version": "0.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "fef3fde661fe30ba7bd1d78841a797136b2b3461705bb4eb92dc54f8308bbaae", + "name": "distlib", + "version": "0.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "a3ca2e39abe76c4a33d5fe4a2a84375ec9f25cdfdb7e1d8ea406bd6f1603205c", + "name": "dnspython", + "version": "2.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "92a07daad5e6ff461199de14e845d9b376e309ef916ce5379f3c9cd4e3b1623f", + "name": "dockerfile-parse", + "version": "2.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "5b566b25f0cbe4955d0b16844a7cc6d2002caa3bde2dfda7f301fd8870cbaa56", + "name": "docstring_parser", + "version": "0.18.0" + }, + { + "direct_url": null, + "metadata_sha256": "5a1080b5768c6c591e1c4f9c9812cafa808781b9eeb198043bf185e22d4a1613", + "name": "e2b", + "version": "2.51.0" + }, + { + "direct_url": null, + "metadata_sha256": "0a63979e0b946e16238e4339e60d9c1eb5a7ce3ea93dae78b5da9c65a6190540", + "name": "einops", + "version": "0.8.2" + }, + { + "direct_url": null, + "metadata_sha256": "16cbe67a57558f1d4bfdbc22a454434ba301750c57a62b1d3f5361c9e5cddc00", + "name": "email-validator", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "0617ddb55b90b42ddc9398dc7e91d61fe928a2504939f76526dc15b22d238caa", + "name": "fastapi", + "version": "0.136.3" + }, + { + "direct_url": null, + "metadata_sha256": "ddd82b9666c21988e234d623e2575e1b89fd4133260eeab43fc9a7c074f7024a", + "name": "fastapi-cli", + "version": "0.0.32" + }, + { + "direct_url": null, + "metadata_sha256": "611602e834d42e10433155ff5f5581358d732fa6b6f6f7820a8f79e74b1ce1f9", + "name": "fastapi-cloud-cli", + "version": "0.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "794524e4a9659bda6043721d848d028ea49996085a33326094fbaaa3f6e6b895", + "name": "fastar", + "version": "0.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "711401d36e60e10e35beb4d0f1bb42bf0c4d86339ae52f32b9aa4a4d790530dd", + "name": "fastsafetensors", + "version": "0.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "efaea9742e348c4c4bdcc6f616a33cc5aa3ae926494a72a46690b7da2f08ed5c", + "name": "filelock", + "version": "4.0.7" + }, + { + "direct_url": null, + "metadata_sha256": "99bd6c3f10781d3d2d350f2c3c9fc4765b55f25de8a6d6dd1f71501802d1255e", + "name": "fla-core", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "0a6ef979b75295cee2b5293ad4942b0cf2682e9e38680203064e0b70249c1a96", + "name": "flash-linear-attention", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "76b70a11ca82ea4606b529e7a8658cb3fe71412afa46f2ed57101dd91ba27558", + "name": "flashinfer-python", + "version": "0.6.18.post1" + }, + { + "direct_url": null, + "metadata_sha256": "ba8ff415192b5cbb90efce046e2271a00c8184afc362d8b47fbbc84d5e558b05", + "name": "frozenlist", + "version": "1.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "e7712831c80eb13b08fb7f7cc33988a8f24654af9eba7c6f5f943b2636e4306a", + "name": "fsspec", + "version": "2026.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "025de85c794878d0caa737869307447595f514ebf9599eacb5b1a501bae479b6", + "name": "fsspec", + "version": "2026.9.0" + }, + { + "direct_url": null, + "metadata_sha256": "ca94883bdeaa3740b45b6994443b445fd67c6e4a8064ac3bf9d92d2a5221eee8", + "name": "ghp-import", + "version": "2.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "a7e90983562a035cf767baa63d8c32bc37e1de7cad71ac7b6b2bc70a95bba4eb", + "name": "gitdb", + "version": "4.0.12" + }, + { + "direct_url": null, + "metadata_sha256": "dd96143ec79178bef685c1f5c0a58a87a66d003b421e605de65697308321d518", + "name": "google-api-core", + "version": "2.40.0" + }, + { + "direct_url": null, + "metadata_sha256": "0735d57088a83df2355e16843107fb0112abe2178fc5bb8132947a7ad962aa41", + "name": "google-auth", + "version": "2.59.1" + }, + { + "direct_url": null, + "metadata_sha256": "2f3aa9d9500d329560440e6a5a152e420aad5f5bbb23701f45b740be721784a1", + "name": "googleapis-common-protos", + "version": "1.75.5" + }, + { + "direct_url": null, + "metadata_sha256": "06d74ab04fdc03fad368868907f0d10e7d9f397aab58d58965c0b78ffaec34cc", + "name": "griffelib", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "7ee1c179e2c68a62968308b2f96f4f3469176ee3ac8bdb494ac80188d4d41271", + "name": "grpcio", + "version": "1.84.0" + }, + { + "direct_url": null, + "metadata_sha256": "04cf3a4a91575850f386f4fcfdedd8e7fbfba08feff038fbc1296d1e854db2dd", + "name": "h11", + "version": "0.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "b954a6ba4739c0cc878bb8ea27ea7c7154a48bb4b7c06dba9e9cf880cf0ec930", + "name": "h2", + "version": "4.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "6f0d7bf86e75d0bda1ceccc82367c0145ad0ec522c4d4f51bb454f467faadcc9", + "name": "hf-xet", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "f991b847550cf8225f69562902b5ccb591b2ce9a08fe07ef6e6d701bdb4694a7", + "name": "hpack", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "314d194165c4700034c1c67cee847d549a6d7091374c71f2cef0186ec56a3eb9", + "name": "httpcore", + "version": "1.0.9" + }, + { + "direct_url": null, + "metadata_sha256": "aed9767360bed1bcbda71e3b1a3c996603f86558bc77a1693ee3d09973d20cad", + "name": "httpcore2", + "version": "2.13.1" + }, + { + "direct_url": null, + "metadata_sha256": "8fa3bf3510c35e2eea9f523a1cace7120079cf51d76c4acea97de95806aaa14a", + "name": "httptools", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "3bf4804c215d111b6a4702cf9000021ab39807d1ed3207dd011b14b2843b2d14", + "name": "httpx", + "version": "0.28.1" + }, + { + "direct_url": null, + "metadata_sha256": "d11dd50813b8914bd9455e8b2b591171cd2b1618883943153afadc8bb9224678", + "name": "httpx2", + "version": "2.13.1" + }, + { + "direct_url": null, + "metadata_sha256": "43b119c34ad2b2aacc032a1a6a8feb142fdb5ca407a3519325d74dd53d8904df", + "name": "huggingface_hub", + "version": "1.33.0" + }, + { + "direct_url": null, + "metadata_sha256": "9ce850d5a6b775e5ef4a335f907e579a878e058213121b6eec567781ea68c585", + "name": "humming-kernels", + "version": "0.1.12" + }, + { + "direct_url": null, + "metadata_sha256": "67aa4f6717d82446a51ce350e7c4769eba0c4a22d2f428255cddd9d24b11a914", + "name": "hyperframe", + "version": "6.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd9511ede42f63b995c3f71944f908cb8f014048b63ecc1c8d420525a3354b59", + "name": "identify", + "version": "2.6.20" + }, + { + "direct_url": null, + "metadata_sha256": "af3c3a62bb5d82d6a43454684e0b1dedde27a21ea90eacfb1bed9814619f06d0", + "name": "idna", + "version": "3.20" + }, + { + "direct_url": null, + "metadata_sha256": "cf71393f3d079ce2e859384573e65aaacd1709bef700701f629df32398b598f0", + "name": "ijson", + "version": "3.5.1" + }, + { + "direct_url": null, + "metadata_sha256": "9305763e93d03df0e36516b1125fa046a6ebe37d44589e200e0593cf4bdfd980", + "name": "importlib_metadata", + "version": "9.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "32860c3c19b2e91f6cb5bd83400b5870cda051bc74a5a08822c8c666af0990db", + "name": "iniconfig", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "560faabb3d45d779e445a74e7e806a786f95f2200fa06d979603b7f0ee1cfb39", + "name": "instanttensor", + "version": "0.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "f6fc1f0d389e4245fc2a1a0fdfee09422e56200cb6f94659668456997ff4f7a9", + "name": "interegular", + "version": "0.3.3" + }, + { + "direct_url": null, + "metadata_sha256": "d10f300731197a4829b77f0c883bb3cf8a37ae8c76a302e095fa95d6427706d0", + "name": "jiter", + "version": "0.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "5b0c8d4b4c535a2432fb206223d774509b6e20af374c6a4b6f98bf72a7de6702", + "name": "jmespath", + "version": "1.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "6c4032c2e74273452cd77399af2ee85198f49c22da897983f26d2ed6f787c4e8", + "name": "jsonschema", + "version": "4.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "aaa6cd66f423729e8da397c9d533b7d731f6b25f3d6371b9338c36bdb9be74a0", + "name": "jsonschema-specifications", + "version": "2025.9.1" + }, + { + "direct_url": null, + "metadata_sha256": "f7c0687c032593106a2e5a3c241cf8043e7e2c222bddb0022b4cb2bf5de67115", + "name": "lark", + "version": "1.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "4511c6b04efc57a5f5333edc1f5f48b9f5412c3923d4bc19b715bdf47977511c", + "name": "linkify-it-py", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "be929870f6ecae18a819c56118f1101f3076e25ac6a4843ca6f4707ebd1e87c6", + "name": "llguidance", + "version": "1.7.6" + }, + { + "direct_url": null, + "metadata_sha256": "cf2b87669bead3e76ec54207f3354c13f73b50c32fcd13c8d627084b3379139e", + "name": "llvmlite", + "version": "0.47.0" + }, + { + "direct_url": null, + "metadata_sha256": "0a416d79c5543d94d2b18807626293d4f47655d1d22724c7ae296e413078aaba", + "name": "lm-format-enforcer", + "version": "0.11.3" + }, + { + "direct_url": null, + "metadata_sha256": "16bc1f59e34fd2a6633bd395276052eacd2c777b2cf72781e76b203f013a8fac", + "name": "loguru", + "version": "0.7.3" + }, + { + "direct_url": null, + "metadata_sha256": "5216d5acfd039a7b581a826186309594b228d37d2c8d56864124ea666689fe4e", + "name": "lxml", + "version": "6.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "f59d772b35315a928672bfcccfb89d82c0aac672c5275c048f7a93b79015bcea", + "name": "markdown-it-py", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "b137367ef0056711cbf5e53015df9168cab80373104e7899b1c0263a21d9c99c", + "name": "mcp", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "38e0b9edaae09e58cd1461fc961ced22672038a697930bedef153a74befb3de1", + "name": "mcp-types", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "799f49685865fd9cc8915fdb92a33e102eeeffad562b03b4aeffb6f422b771c1", + "name": "mdit-py-plugins", + "version": "0.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "481f9cbe08596c6eaba6343e0efa1b13b2362c30dce0610f7c08523f1d98388d", + "name": "mdurl", + "version": "0.1.2" + }, + { + "direct_url": "{\"dir_info\": {\"editable\": true}, \"url\": \"file:///Megatron-LM-training\"}", + "metadata_sha256": "2876c0c760bbfc93bd7d737bf0db2866a937308a7c1707c3a2bb59d4795986ff", + "name": "megatron-core", + "version": "0.16.0rc0" + }, + { + "direct_url": null, + "metadata_sha256": "a6e34d488c879f57ce042bec38f8864ba3ea7d6ecf0ab757fc88fe8dc0a22f26", + "name": "memray", + "version": "1.20.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd26d80dc9676b1fb8c894355bd525fbe7f49a6a86a555c72e9ec6d927247c33", + "name": "mergedeep", + "version": "1.3.4" + }, + { + "direct_url": null, + "metadata_sha256": "dd1b3b89e88d1c65a26e6e72dd075eabbc220bfb138769ec8b64578ee911795c", + "name": "mistral_common", + "version": "1.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "4859847a9f6321daf8849cf7fd1542ff430db6563a2abf9ac0d62a5b21bd951d", + "name": "mkdocs", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "1729fc31479f2582486cdc85397417659dd3b2fb3f920553de66cfe59d5f0b3e", + "name": "mkdocs-awesome-nav", + "version": "3.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "88b4b7b7c0aba5547befdedaf515c8df4867361daf55ff60b72578464d72dcbe", + "name": "mkdocs-get-deps", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "ad33bb33fb16b1f69689c4682550e97232154e367e2c8c8aee9dad0f10d269ce", + "name": "mkdocs-git-revision-date-localized-plugin", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "ed69fbfb9ac00c10c5a383a12ff9d2b9919ae184e408554434199211643d6040", + "name": "mkdocs-material", + "version": "9.7.7" + }, + { + "direct_url": null, + "metadata_sha256": "d1c549b61701148b97f8246bc924b2840e504b37b0ce7a27e78ddf81261e5363", + "name": "mkdocs-material-extensions", + "version": "1.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "4ad6171f3bf6812e4de90670ff0089d445093d4fe1d05d55f17b96a4a192a816", + "name": "ml_dtypes", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "4ad6171f3bf6812e4de90670ff0089d445093d4fe1d05d55f17b96a4a192a816", + "name": "ml_dtypes", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "b0dbdfa30ab6b1ce637a794899c9e43019182b6d1ab2d07b90f647f7331eba6b", + "name": "model-hosting-container-standards", + "version": "0.1.16" + }, + { + "direct_url": null, + "metadata_sha256": "95424470e481cfa8d18b30963b6de3aafe16614b1ea0414e184a008571dde84f", + "name": "mpmath", + "version": "1.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "eb184d83489401903615ce8a78d98d5b933dec0f7246811d396a529915fe797c", + "name": "msgpack", + "version": "1.2.3" + }, + { + "direct_url": null, + "metadata_sha256": "520006303d6a0e859970b83f7d452196e2e8f6dab08f6dcf1ba5823c1230025f", + "name": "msgspec", + "version": "0.22.0" + }, + { + "direct_url": null, + "metadata_sha256": "010d2fe039006070a711a476b171b7b7da5c29ccad3c4eecd77ef3711b07c2d0", + "name": "multidict", + "version": "6.9.1" + }, + { + "direct_url": null, + "metadata_sha256": "235634cc7ebda45f8a84dfdb1b9b35ac1a77a1888b34650c3a616d23e4a7e93f", + "name": "multiprocess", + "version": "0.70.19" + }, + { + "direct_url": null, + "metadata_sha256": "7c545b4b3e5e83d3fde41352272c10cb9deeaba5b7138fbf24383e952af8822e", + "name": "natsort", + "version": "8.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "311ee8cdaeaf9f11acf51cda9c3b5b191f76ce9d98bc3418164c3189bbc37a08", + "name": "nccl4py", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "66360539217852c3b44b37f409eade7e1559baf018bb363bacb2aa3a9759b203", + "name": "networkx", + "version": "3.7" + }, + { + "direct_url": null, + "metadata_sha256": "e8b0b1746808b87816c47e4531780ded7f246bed9575a89e8b40200aa81e9a13", + "name": "ninja", + "version": "1.13.2" + }, + { + "direct_url": null, + "metadata_sha256": "77c1117f0dbc41560ddc6e6b37b542fb4e88afcd4ef82ec06593e5bbd5f37121", + "name": "nodeenv", + "version": "1.11.0" + }, + { + "direct_url": null, + "metadata_sha256": "9af629898406c9eaa69897fe09220dc483270cdba89f6b20bf0165cdf0e1668e", + "name": "numba", + "version": "0.65.0" + }, + { + "direct_url": null, + "metadata_sha256": "0c7281a81cf76e40b27c1385ffd8a215d7227adc219f177ce807ead9e91994a5", + "name": "numpy", + "version": "2.3.5" + }, + { + "direct_url": null, + "metadata_sha256": "0c7281a81cf76e40b27c1385ffd8a215d7227adc219f177ce807ead9e91994a5", + "name": "numpy", + "version": "2.3.5" + }, + { + "direct_url": null, + "metadata_sha256": "bab990ced4537ce74ef5961ca933c4c6fd604fd09a5827a4a428c55bcb0be35b", + "name": "nvdlfw_inspect", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "10f6595146332d35f7f15a000e08b5c81432528c5d026470c1d03f0c1399fb70", + "name": "nvidia-cublas", + "version": "13.1.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "58e933b4ac8e49f098b16ab7480d03bd792afc3d1db10d0aacbdcc2c62e48fa3", + "name": "nvidia-cuda-cccl", + "version": "13.3.4.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "baac937970681d41aa0c3708b3d55d73f8d29e70aceaac0e71fe6d1548e94a09", + "name": "nvidia-cuda-crt", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "8d51e5c76ef5707b0b80d5ec9a791c0f11a480ab721820cf100a3cc566017eef", + "name": "nvidia-cuda-cupti", + "version": "13.0.85" + }, + { + "direct_url": null, + "metadata_sha256": "724bf56e61ddef5d4c2482ff64103a973b911b110b668acaea5373f6c83c1c5c", + "name": "nvidia-cuda-nvcc", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "c54801dbd815d534519a761f1f328325aa0f1d1f1659aa969fa74e7a2c76eee9", + "name": "nvidia-cuda-nvdisasm", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "af51f248363020b9fdfd2743704e901bf3d19a1a1ce1fe44fb98ba148bfc0157", + "name": "nvidia-cuda-nvrtc", + "version": "13.0.88" + }, + { + "direct_url": null, + "metadata_sha256": "055f7fc69a5a2159de82cd0718da02c8852e81c8a71ebb117b8e799badd7167e", + "name": "nvidia-cuda-runtime", + "version": "13.0.96" + }, + { + "direct_url": null, + "metadata_sha256": "df18686dbdb3074ca375a1d6c623a04102fd348950c67a721397349c6d4f0477", + "name": "nvidia-cudnn-cu13", + "version": "9.20.0.48" + }, + { + "direct_url": null, + "metadata_sha256": "abd0ca3f67af19a4d383ff2a012ae0090d4731c6492fd47236615308a50b3981", + "name": "nvidia-cudnn-frontend", + "version": "1.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "4a78545d424d0c5038353f7046a8ae40ceaf312045d71399eac9511f5fc15434", + "name": "nvidia-cufft", + "version": "12.0.0.61" + }, + { + "direct_url": null, + "metadata_sha256": "e49b909195c03ddbe203729d9b31dd88e3f207368333d1909c67c6b130a0c696", + "name": "nvidia-cufile", + "version": "1.15.1.6" + }, + { + "direct_url": null, + "metadata_sha256": "bb15a754c6be32c23aaac13c1cfa7a8ce53d92bc26652ec3b609f7a5cce3e7d1", + "name": "nvidia-curand", + "version": "10.4.0.35" + }, + { + "direct_url": null, + "metadata_sha256": "0dd58f677811eac04901a793740932e5a2a8fff2f5453aa6351614eb18391bb6", + "name": "nvidia-cusolver", + "version": "12.0.4.66" + }, + { + "direct_url": null, + "metadata_sha256": "8aeb284782ef6883095a5d1c110e221cad023a99afcfd5cdb4969a25e146d562", + "name": "nvidia-cusparse", + "version": "12.6.3.3" + }, + { + "direct_url": null, + "metadata_sha256": "09555246122896eaca3b8313eecfca4b339fefd3b597874cb9fe3bf29dab38c9", + "name": "nvidia-cusparselt-cu13", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "ac77bac79fbfb0c52ac6e2e5abc936b1e127be2192f0cbc27b00be3125fa86ae", + "name": "nvidia-cutlass-dsl", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "1ec968ec7c4083f7fe4e1fb8384c7e9b853a81491fef9f4cb1cf755961aaedf6", + "name": "nvidia-cutlass-dsl-libs-base", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "cc6f3846cd820013eaa6e2665c493d70c607be6ce7349b939eb4742888470585", + "name": "nvidia-cutlass-dsl-libs-core", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "2357d0df2d0d17c0b16663b8a89df53f751b19721f66821fd88fa78112c08e55", + "name": "nvidia-cutlass-dsl-libs-cu12", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "244590c25662dcf777b1daae97a858afe1a1aec62e5e6678b217007a459ab552", + "name": "nvidia-cutlass-dsl-libs-cu13", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "c3a25ada01f57418c1b897406c3abab18834e6adc573ab7b060620c453afb6db", + "name": "nvidia-ml-py", + "version": "13.615.71" + }, + { + "direct_url": null, + "metadata_sha256": "56baad4e7f699902b03b17580933f7bd50b6ea97b7df9d7e807750973da7529c", + "name": "nvidia-nccl-cu13", + "version": "2.29.7" + }, + { + "direct_url": null, + "metadata_sha256": "98810ef0ab8badc369e6a46a038f8ee9f412c0c753fb5ad580544f23a0aa7962", + "name": "nvidia-nvjitlink", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "b0f54ee21909d19640a58e05da755c91763eb5725f544fd0d4b84b2f5f94deba", + "name": "nvidia-nvshmem-cu13", + "version": "3.4.5" + }, + { + "direct_url": null, + "metadata_sha256": "06dc1a593c7e8b8c3f29184228c83f8f7ef57787ad91f3e5bcae1d238dd3092a", + "name": "nvidia-nvtx", + "version": "13.0.85" + }, + { + "direct_url": null, + "metadata_sha256": "32ee63450a437b6a6ed227ff6549144aa596197a322993521ec7af826ebd413e", + "name": "nvidia-nvvm", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "32c2efdcd2c673b3b7f35ca9c2cccefaad36f1f0a920648a13cad85f6a5767b2", + "name": "nvtx", + "version": "0.2.15" + }, + { + "direct_url": null, + "metadata_sha256": "3419d80e114a2c19fa9bd3582939a3942f19673055707ba6ca2ca489d58b41e0", + "name": "omegaconf", + "version": "2.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "28971076ce9c279d4b889496b046d55a1e05b02fb9851ceb717e9a10df799572", + "name": "onnx", + "version": "1.23.1" + }, + { + "direct_url": null, + "metadata_sha256": "1246f5a4d8295907a42e809ed9173ede2510ec9d260d2168989d126564897fa5", + "name": "onnx-ir", + "version": "1.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "e14643636835759700dff286f949c5ec34e7eac7ac47f44096414f0e0f1c3101", + "name": "onnxscript", + "version": "0.7.2" + }, + { + "direct_url": null, + "metadata_sha256": "00f847e99939207bd70dfd806428f6b20a3d01074b59325e4c76149a2e19be26", + "name": "openai", + "version": "3.22.1" + }, + { + "direct_url": null, + "metadata_sha256": "598d3ad5a22a14a7c4f1d218b43e345f32b0ba094b753467bae8a3f708fd48cb", + "name": "openai-agents", + "version": "0.22.3" + }, + { + "direct_url": null, + "metadata_sha256": "5a0afcb1ce845e05da12beb1767f5d2749bbc9e9050718c6b9fa3c225713c9eb", + "name": "openai-harmony", + "version": "0.0.8" + }, + { + "direct_url": null, + "metadata_sha256": "e86a6b6fcbbe152805f782c57df321002892e163019574877e9829272e25eb4e", + "name": "opencensus", + "version": "0.11.4" + }, + { + "direct_url": null, + "metadata_sha256": "53d669c8bd3d32d3275153b454e515ca5cc6dec92fae3a98309b5a2b19fe6d2d", + "name": "opencensus-context", + "version": "0.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "19778b6d66b0e45bf73e11fa37a208949d5b393aef914627394d5601455546a6", + "name": "opencv-python-headless", + "version": "5.0.0.93" + }, + { + "direct_url": null, + "metadata_sha256": "19778b6d66b0e45bf73e11fa37a208949d5b393aef914627394d5601455546a6", + "name": "opencv-python-headless", + "version": "5.0.0.93" + }, + { + "direct_url": null, + "metadata_sha256": "a3f5434fa7c80f7f7abc82173da639c8e9c59d30b4027182645562bd3d2f4f97", + "name": "opentelemetry-api", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "8611977ea596e4827874582e86250618444e1c718229dddfc16e5ea437ce5fcb", + "name": "opentelemetry-exporter-http-transport", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "2cfd41e5ca33292d987ba71fa6186d11e16ed66888f3a26f8a3a99060c4b5e90", + "name": "opentelemetry-exporter-otlp", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "3bb4494220732d4bf10e1dba231ea7638cedaa5362e1f23a50d34a14f520fea8", + "name": "opentelemetry-exporter-otlp-common", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "27fb1c8aa5c2cd07776f9f3281fc618cd3feb96017757c33d2b3586fb7fec88b", + "name": "opentelemetry-exporter-otlp-proto-common", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "5cba6098cdd0bfb06853a6c704a2451c4f82c9dea376a30b59ecd279296648ad", + "name": "opentelemetry-exporter-otlp-proto-grpc", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "6f53ef1c172ebf87af69b9ef390aa908506d0cd14bc7811985fdd937a4058808", + "name": "opentelemetry-exporter-otlp-proto-http", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "1910f4e7ebd497e98b6d231e10275288fda2cd1885117575706c62f45e065889", + "name": "opentelemetry-exporter-prometheus", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "fab18b721e30be41448be252e1dca43b48e7f15d971e0bb552492c0ef4b07bee", + "name": "opentelemetry-proto", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "3644a79f55762a646799ff52b9d837e01c8192b7b28f735a383f55c90edb9bc2", + "name": "opentelemetry-sdk", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "add3db481f7f401f65cfbddb058fde3bb4c9dd7b61064a84f8598ad7efe0b11c", + "name": "opentelemetry-semantic-conventions", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "0dfff30e912520a226bcf7a547393484cfcd8c738439c7b48418f61c95109480", + "name": "opentelemetry-semantic-conventions-ai", + "version": "0.5.1" + }, + { + "direct_url": null, + "metadata_sha256": "210ce26bad0a245a72831b4fa029708c245d4d670a88c8d5a69b1446c24a95e4", + "name": "orjson", + "version": "3.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "35ff73511848f5f934ccc39d538014716ec4579e76d54e0e407ff51794a7939c", + "name": "outlines_core", + "version": "0.2.14" + }, + { + "direct_url": null, + "metadata_sha256": "8ee2f7138ade46b6e348a6d099612f5bd6caff13511f3b4144327f37ce50eacf", + "name": "packaging", + "version": "26.3" + }, + { + "direct_url": null, + "metadata_sha256": "a4ab87bf8083001f25ccdc46095f05b678b3569dd58edc2cf941e3e7f64d7c88", + "name": "paginate", + "version": "0.5.7" + }, + { + "direct_url": null, + "metadata_sha256": "1de96a6c28c2e5613c9c87cd4ad9484791001cf58df43cf2ba74d5c4f85f0ad2", + "name": "pandas", + "version": "3.0.6" + }, + { + "direct_url": null, + "metadata_sha256": "d05b8d05da9f78176b2eefaacdfaa5e96708ec4f488daea8bbc52e3ed1bc3954", + "name": "partial-json-parser", + "version": "0.2.1.1.post7" + }, + { + "direct_url": null, + "metadata_sha256": "c1d126edceac2685e29403a8ae3a27c47143dce1f0252fa3931771562f1e2b4f", + "name": "pathspec", + "version": "1.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "30325dc8ce17bc64f9dbc0a449232fd35841a019df22a6f481007c9c5a28c1cb", + "name": "pillow", + "version": "12.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "cbc0b7b6e63b50dcb7c17cf3526a9304f285d9a31353adf3b22acc2059ab23f5", + "name": "pip", + "version": "25.0.1" + }, + { + "direct_url": "{\"dir_info\": {}, \"url\": \"file:///work\"}", + "metadata_sha256": "6ba03b5bc457a2a3d92468729501b5892a0d38ebcc36766c58859449498c5743", + "name": "pip", + "version": "26.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "0421937c4410b61c5325233d5b7671ae933bae8de174f87586ac55aa804851ea", + "name": "platformdirs", + "version": "4.12.2" + }, + { + "direct_url": null, + "metadata_sha256": "2bcffab42626e1fb50d6329765619312d30fe7f4880e98dcee99c92ebd283bb4", + "name": "pluggy", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "7e7562ba7c032f8edd02641ae71b1ac2d8f388103a68d777a7e907d19e75bc17", + "name": "pre_commit", + "version": "4.6.2" + }, + { + "direct_url": null, + "metadata_sha256": "bbe0a7662602ddd23f929fe0ee98e9d04406e138aeee18ce4861af186ea6060d", + "name": "prometheus-fastapi-instrumentator", + "version": "8.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "ece4a61f3ffb92a083fd5e47e180e3e070342e60a3bd93876a879e79a643e821", + "name": "prometheus_client", + "version": "0.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "5feba21a58eaa126e7e7739e57e2572e5bb251fcbf56e439e508acc47d769314", + "name": "propcache", + "version": "0.5.4" + }, + { + "direct_url": null, + "metadata_sha256": "3f136dbf7239c987a7685acd33440cc5efd6c4107b4b11c425201b4de70ae36f", + "name": "proto-plus", + "version": "1.29.0" + }, + { + "direct_url": null, + "metadata_sha256": "118b5ad013120a7a6e24714595ad776bf264d7b0060389133310d18ea1480902", + "name": "protobuf", + "version": "7.36.2" + }, + { + "direct_url": null, + "metadata_sha256": "0849f5a519bf9bc23ef204443fdd8d6d10678863acac7ca9340fc11bfba5a856", + "name": "protobuf-py", + "version": "0.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "eab5f2f4fd98f67a710a8fb1975b64ffa880a4f977566f022c567e08e324ccd6", + "name": "protobuf-py-ext", + "version": "0.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "39009938840de3a8b2a37eb4668d2601aae8c74e4b74743f73e59996b5b7e6e1", + "name": "psutil", + "version": "7.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "df44b58e8a4cfe57f65773ec47f7bdf2a14c8f5f73a7abf331a6b6237d6d691a", + "name": "py-cpuinfo", + "version": "9.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "2fd4a9efc5e5c74ae4c2fcf1970193c524c62ab22af8d5e66ebf7df9e6e46e83", + "name": "py-spy", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "d2ccdeb15cddedc81637a83e40baa6397fe269023b738d0fc3cb2d90722e290b", + "name": "pyarrow", + "version": "25.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "47b9f28e971a56f5adf949e0bcf105b0bf6587946566ecf197a2819d8848cc01", + "name": "pyasn1", + "version": "0.6.4" + }, + { + "direct_url": null, + "metadata_sha256": "82ce4c01c6d36841b9801fcdabab9bfe61d0b5e4e440c275941d8a2d4a790730", + "name": "pyasn1_modules", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "45cb345e4c12f63bc843b8c88902cc44c4d624a55aaef8cd5ffbc0ad16356fbe", + "name": "pybase64", + "version": "1.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "d311ae661edeac8ff029ab2960d065a7e792ebf8f79af682daa53109fe81318b", + "name": "pybind11", + "version": "3.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "cce9c0d440d065d4cdfb0d00004b8ddd65cf363a740efc5b0920b29201a59cd9", + "name": "pycountry", + "version": "26.2.16" + }, + { + "direct_url": null, + "metadata_sha256": "a1e33542883c249bf6c263b0023b9ea8a6131a77d9cb2cbc88316968e5eada83", + "name": "pycparser", + "version": "3.0" + }, + { + "direct_url": null, + "metadata_sha256": "faffcc4d7d359cb1047a9f67f7c65096b838c6db6c62852ef20fb27d55649a95", + "name": "pycryptodomex", + "version": "3.23.0" + }, + { + "direct_url": null, + "metadata_sha256": "98929f4cb80451dc3c6c8cd541a3081dccf0dee94afe7d9fa5c214a18ff236ce", + "name": "pydantic", + "version": "2.13.5" + }, + { + "direct_url": null, + "metadata_sha256": "8eccadbe707db97c397fb79073fe791b7998ef3a85f04f817f8991f7697b190b", + "name": "pydantic-extra-types", + "version": "2.11.1" + }, + { + "direct_url": null, + "metadata_sha256": "8f00c91deb34399316a5386eb2e76fe09f14a08dc3045f2e7dce9bf8573796bd", + "name": "pydantic-settings", + "version": "2.15.0" + }, + { + "direct_url": null, + "metadata_sha256": "66c729edddc20bf2764bb18bd87d907b08690e50355f39b97acc737b26d1d164", + "name": "pydantic_core", + "version": "2.46.5" + }, + { + "direct_url": null, + "metadata_sha256": "394500d78a0c1a433ae8ca3693152c08f6a901121d4b069cf1540a19759e2950", + "name": "pylatexenc", + "version": "2.11" + }, + { + "direct_url": null, + "metadata_sha256": "df2e9e9847a2aea0ae6e20fd325aeb16cf3ce7f8913462db6c2398363cd0c0bf", + "name": "pymdown-extensions", + "version": "12.1" + }, + { + "direct_url": null, + "metadata_sha256": "82fcfe724db9f0b51348da89f4f5cdc0b08d08882b1bbc0ca4913d3a0a93bcb9", + "name": "pynvvideocodec", + "version": "2.0.4" + }, + { + "direct_url": null, + "metadata_sha256": "3722422cc1478b175879143dfb78f98b7a5f53f4f684d71b7054fe2e8acd3b89", + "name": "pyqwest", + "version": "0.10.0" + }, + { + "direct_url": null, + "metadata_sha256": "7d1d1c276b7c372d55d17ac7d30f0a4b80a746e147347b8510d1355eea7f80c8", + "name": "pytest", + "version": "9.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "89e7c1c932e52b74bdcaf504389d2d1a2d7ca559b02bf5a09fc80ebd58ad10f7", + "name": "python-dateutil", + "version": "2.9.0.post0" + }, + { + "direct_url": null, + "metadata_sha256": "54f30f811841b6d772f31715712c85bfe0041839cb071f78daf41c700a98642b", + "name": "python-discovery", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "54f30f811841b6d772f31715712c85bfe0041839cb071f78daf41c700a98642b", + "name": "python-discovery", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "0cc19efd76cfbf3bcb2cb0d3ab82191036855859455aa3812c5e9e591e3f34e8", + "name": "python-dotenv", + "version": "1.2.3" + }, + { + "direct_url": null, + "metadata_sha256": "1d866c6124631b9ce1797ad412fff298ab53fc2d95210281d7c8f20e920753fa", + "name": "python-json-logger", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "2d18a1e7286d92a656ead5ec6f83d5ae6dc858634624f6b264703ae88d24d718", + "name": "python-multipart", + "version": "0.0.32" + }, + { + "direct_url": null, + "metadata_sha256": "beaa0efe9ba4b34843f5a0fc7379a73f10e95adb8cc0c31f359ab6f3a42b4def", + "name": "pyyaml_env_tag", + "version": "1.1" + }, + { + "direct_url": null, + "metadata_sha256": "238dc769e22d4f5626750cdff36e920e4a8d69c10d88de6d79b40a59cc13d873", + "name": "pyzmq", + "version": "27.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "de0a5e855bb5bb78b7acdcd2ca60619c6a0c109814881589caf158ec07155662", + "name": "quack-kernels", + "version": "0.6.5" + }, + { + "direct_url": null, + "metadata_sha256": "961ffef199b876fb4d7b10903d78e79f359d703b1638834c61d70b9879932918", + "name": "qwen-vl-utils", + "version": "0.0.14" + }, + { + "direct_url": null, + "metadata_sha256": "faf6ab9027d12de992827a2d8a224996fe6747a8c5f7d31ae495983dc73eefe9", + "name": "ray", + "version": "2.54.0" + }, + { + "direct_url": null, + "metadata_sha256": "c50d8b3ff4d113925b60dc47d1d28e87248a3338024241b0a3a66c8794fbce0c", + "name": "referencing", + "version": "0.37.0" + }, + { + "direct_url": null, + "metadata_sha256": "02acdc52d6f21d5f4b172254daaa94edfaa44c9ebe14d1c00cc4c8fe99b0e1df", + "name": "regex", + "version": "2026.9.29" + }, + { + "direct_url": null, + "metadata_sha256": "ac08207697217d1ffde8a161b424d77d6e2af6b62630fa26d75d08f11076cdca", + "name": "requests", + "version": "2.34.2" + }, + { + "direct_url": null, + "metadata_sha256": "f1abd635c3dff607a4fd654c62a88d9d4c21843cfc9176116c156f4269ca21b5", + "name": "rich", + "version": "15.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "932ff7743a756d0efcc45528d64c275ac3cb40a8dd1787ea10cb303907f0ae4f", + "name": "rich-toolkit", + "version": "0.20.5" + }, + { + "direct_url": null, + "metadata_sha256": "294a1405c0fa34b5f735bcb46459050436849a1e584c643544de99c07c529fb7", + "name": "rignore", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "5e54dd00b4ad336c5161d47de2a5c2212090c44629c28b6538b156256e49282d", + "name": "rpds-py", + "version": "2026.6.3" + }, + { + "direct_url": null, + "metadata_sha256": "0d5895abd80bfc0027c02943abaea4547061b9004bd134950d640d619a697835", + "name": "safetensors", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "91d5de3f641f33a8fbb4b6e91772da68d50b68686971d7b66af2068f2e77b694", + "name": "scipy", + "version": "1.17.1" + }, + { + "direct_url": null, + "metadata_sha256": "297fb30f701a800489c12893a951da3e5bd1f80061a1f43f0d3e9f1d4c6bc6fd", + "name": "sentencepiece", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "4245e0388ddf2048a38ae2a24a3d2c583408b2454aadc680d3c3beede639db3f", + "name": "sentry-sdk", + "version": "2.71.0" + }, + { + "direct_url": null, + "metadata_sha256": "ae8a9e6feec1a76e954d65ea48ac57842c9a7bfb5ac6e5ea82400a5ba9f71a98", + "name": "setproctitle", + "version": "1.3.7" + }, + { + "direct_url": null, + "metadata_sha256": "341d00772017437d0f6e3c943ae353f243c39fedfba403aea47cced927a76516", + "name": "setuptools", + "version": "79.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "ff4bcfb192bd542ed8f1794fb32ffc9eabd932d6e03cb00a4ad5e35a2469af88", + "name": "setuptools", + "version": "80.10.2" + }, + { + "direct_url": null, + "metadata_sha256": "f1e5a532fb8cda0bbc370e3db6cb9cea72a065d12ddd6a14976ba3cf66264221", + "name": "shellingham", + "version": "1.5.4" + }, + { + "direct_url": null, + "metadata_sha256": "2aba2cfd9c2ad7625a5d374d141af317d8f92d3534997bf98d127e52848dfc81", + "name": "six", + "version": "1.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "69ae2dfe547624be97fae348e1cfa3793f8854eed32cc1603badedc7d48fb36e", + "name": "smart_open", + "version": "8.0.2" + }, + { + "direct_url": null, + "metadata_sha256": "d415e6c6de7dee117d254a342668c489931bc88eac7ec8678b452078e366da6e", + "name": "smmap", + "version": "5.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "093bc4f0740a6fc28692e616aa8fe68d7e1d76426cc5a5faf9ea722a8ee7aaae", + "name": "sniffio", + "version": "1.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "b3cef071eb1dbeaa76a1273fe2ca2cc8ef36e835165253952d93780962529ac1", + "name": "sse-starlette", + "version": "3.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "3c01ca830e213f0311fe37bc3b46b8ab230a5e7acb894bf0fc8785cb7ccfed48", + "name": "starlette", + "version": "1.7.0" + }, + { + "direct_url": null, + "metadata_sha256": "6017ca508a293cf47a88a78cb330e9cbd131d74ec3c7fbf89bd4300ed3129d30", + "name": "supervisor", + "version": "4.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "fd5eb4925b04f9bffbc6c4f92bf8aea7243b918b43cd359493fce48a7dd3b336", + "name": "sympy", + "version": "1.14.0" + }, + { + "direct_url": null, + "metadata_sha256": "f09f0e24282c5a86346bcd5b10ae5ff81869fa8ef69c3ba524bd0a817a87dda9", + "name": "tabulate", + "version": "0.10.0" + }, + { + "direct_url": null, + "metadata_sha256": "519fa19c146fd58a0a75ecf1461e4bd98f9c06d01800c37d4a80f5fef095f4e1", + "name": "tensorboard", + "version": "2.21.0" + }, + { + "direct_url": null, + "metadata_sha256": "1af7ad76e4073b01ab147eb3c1d8e38b95d38062c6c9bc63890150738642e8eb", + "name": "tensorboard-data-server", + "version": "0.7.2" + }, + { + "direct_url": null, + "metadata_sha256": "9e597f62fc07e3b931d5c8fb0e90706fb6d45465cfb5d01dbd27ba7fc135c02c", + "name": "tensorstore", + "version": "0.1.80" + }, + { + "direct_url": null, + "metadata_sha256": "0da993d16ef6326f471796fcb065622f309c5c1aae6c6295b488ea64bb5c880c", + "name": "textual", + "version": "8.2.8" + }, + { + "direct_url": null, + "metadata_sha256": "52ca6148d4fd1497254855fa610cfdde99191cd42bce7a452fd3a68855504ac0", + "name": "tiktoken", + "version": "0.14.0" + }, + { + "direct_url": null, + "metadata_sha256": "0df9eb495cfb477dcbdfbdcd8c04d952d3eb00d77831630760571e13545398e5", + "name": "tilelang", + "version": "0.1.12" + }, + { + "direct_url": null, + "metadata_sha256": "802b576e011dc61bd2681593e8d802714b6c4ce636a9cf87035026db32ce6262", + "name": "tokenizers", + "version": "0.23.2" + }, + { + "direct_url": null, + "metadata_sha256": "4e1631b2164a49ff9a848d86ce504fdcc15e3540dbb262df8f33a2681a8de513", + "name": "tokenspeed-mla", + "version": "0.1.8" + }, + { + "direct_url": null, + "metadata_sha256": "05086095a775c5dca70998dcf442a848c13f9c68b54a54c510c3542c5abb6563", + "name": "tokenspeed-triton", + "version": "3.8.10.post20260920" + }, + { + "direct_url": null, + "metadata_sha256": "71daba472d0c5ffc25c0231dc29688ab0cb13d5bc7e7d93f6c4cce4169c50048", + "name": "torch", + "version": "2.13.0" + }, + { + "direct_url": null, + "metadata_sha256": "cccd2f1c0e5866e63732f58798c8d642ee6d10cd560d6f691e7981b908c246c9", + "name": "torch_c_dlpack_ext", + "version": "0.1.5" + }, + { + "direct_url": "{\"dir_info\": {}, \"url\": \"file:///torch_memory_saver\"}", + "metadata_sha256": "6276cef17dedbb5ee0d6157bbf63b832e916026281328d995ad3d488c2539618", + "name": "torch_memory_saver", + "version": "0.0.9.post1+slime" + }, + { + "direct_url": null, + "metadata_sha256": "29809ca2c86dda5079654f1f70564a64435e9d08f1964a2412b6f514e1b5ff64", + "name": "torchaudio", + "version": "2.11.0" + }, + { + "direct_url": null, + "metadata_sha256": "7e9be0f3a290e3fd9370d8fe010c7ffd006d5d3d05ab8bdf7df8f92f0fca9c39", + "name": "torchcodec", + "version": "0.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "181fa5e6b399c378711eddcdacd756d3c51317916f8eb160ee36cae7fae9589f", + "name": "torchvision", + "version": "0.28.0" + }, + { + "direct_url": null, + "metadata_sha256": "43d1261aff90cf3d5b1b40cf1f94234d61409b14e59f3766f457c1eec7f7ac15", + "name": "tqdm", + "version": "4.70.1" + }, + { + "direct_url": "{\"archive_info\": {\"hash\": \"sha256=3e1d9f534781c8e608240da0b495b8246317a36382f7609017cbaa7fb1d53f7b\", \"hashes\": {\"sha256\": \"3e1d9f534781c8e608240da0b495b8246317a36382f7609017cbaa7fb1d53f7b\"}}, \"url\": \"file:///wheels/transformer_engine-2.16.1%2Bc9877beb-cp312-cp312-linux_x86_64.whl\"}", + "metadata_sha256": "d882f743161d9d9f35dee4e1a8cc9136fa495f7c660caace01ab8f5602d76aa7", + "name": "transformer_engine", + "version": "2.16.1+c9877beb" + }, + { + "direct_url": null, + "metadata_sha256": "465797a59706d83b45c93fde750b228c3b6e1addc44115de2c4c02ad66d9c5ea", + "name": "transformers", + "version": "5.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "a91982ca086667c592a951973434f7c5a9f27a8300bc97af78dfb496afe53e71", + "name": "triton", + "version": "3.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "d26fbb244532c4051e715f9047cd943e2cc4abb0ac6f2a517fa2986eb1ea726a", + "name": "truststore", + "version": "0.10.4" + }, + { + "direct_url": null, + "metadata_sha256": "c84af1a069084b1b440b3594068dec29200d52d4c1a9b652030448717f270158", + "name": "typer", + "version": "0.27.2" + }, + { + "direct_url": null, + "metadata_sha256": "0ad6653b7439f4bb6a596cb7b01ed1b716458467525c4dc40b75d62bdb943c98", + "name": "typing-inspection", + "version": "0.4.4" + }, + { + "direct_url": null, + "metadata_sha256": "d005280aa13b334ac942d20219102865e559f69ffd06c35c248b2f0d0da3b933", + "name": "typing_extensions", + "version": "4.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "fba2930e9030a18965d243f8d330748db2e67572a81b3b68710462fb5110332a", + "name": "urllib3", + "version": "2.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "bc5717bd6524a33838f285261868bcc8e311e8c29fdb19e41d56c38b04890e84", + "name": "uvicorn", + "version": "0.54.0" + }, + { + "direct_url": null, + "metadata_sha256": "741c006d8441f562aa853a5430df236fbb4af923445491f396bf09943bd30258", + "name": "uvloop", + "version": "0.22.1" + }, + { + "direct_url": "{\"dir_info\": {\"editable\": true}, \"url\": \"file:///vime\"}", + "metadata_sha256": "f85aa01dfdc868756a6583434bbff040f29eb511d47d5b25ada063a84353aac6", + "name": "vime", + "version": "0.3.2" + }, + { + "direct_url": null, + "metadata_sha256": "c25431aaf1950971fe96292f395a41a55b403127bfca0d0b8f7dc9cff5dab75d", + "name": "virtualenv", + "version": "21.14.1" + }, + { + "direct_url": null, + "metadata_sha256": "4e3ee0a31d85e56268640aae853bcee4794dfe8c0483c5c6370517e480c81ae0", + "name": "virtualenv", + "version": "21.14.5" + }, + { + "direct_url": null, + "metadata_sha256": "d4ed5c7551cddb8c1aeff2f9f27b3491f6ad2c9afda8e7bb9779c33fa12a536c", + "name": "vllm", + "version": "0.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "84b482e09bac949e992594757214a1920c667a5d898ee320e309250697f6d26e", + "name": "vllm-router", + "version": "0.1.15" + }, + { + "direct_url": null, + "metadata_sha256": "9b16c871eb1060a5218e9b9a9ad33288d94844cfaf43f08dbb6c32423bde8fe3", + "name": "wandb", + "version": "0.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "8e4f2be437dfe4eb3c6c959e517ac20b75d06525563f1ebcbf06f9ec648bd7c1", + "name": "watchdog", + "version": "6.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "15218afb42938907c2ca74c54e3d8e3a5406493c4761e29e38e82bfec0f84296", + "name": "watchfiles", + "version": "1.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "8863af96e88b7db9990da99aa6c46816eacc3d2f9ae1297b53381b033cd70119", + "name": "wcmatch", + "version": "11.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "f46e6bd6cfafb2b684c29587b017b7096fd9155b74eda25a22eca784b9803ab7", + "name": "websockets", + "version": "16.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "ce82db5ccfefa4bfbe4e25a36e1f91e8e7d51fcaeb31586c4d48e1c69f99168b", + "name": "websockets", + "version": "17.1" + }, + { + "direct_url": null, + "metadata_sha256": "0f142a2c09eac643c7d0bfe77f3f121184c0b17914afbd32af669ed19b2b02ef", + "name": "wheel", + "version": "0.47.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd58938e51a3c5cb363f6f22eaa2a8a7accc1ce373388de167a82f77d3e5783f", + "name": "wrapt", + "version": "2.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "b0b72c1941f04499ca7e1a3a6e479aee8df902c3d49979624b59dba8c3228d37", + "name": "xgrammar", + "version": "0.2.8" + }, + { + "direct_url": null, + "metadata_sha256": "ef8861f39e5c36255966a36032651f937d890d55f31f1c26304b488f1ba34332", + "name": "xxhash", + "version": "4.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "740c08057b6eb69c58402c87d652af0a471e46325d811f2c605632a18817152f", + "name": "yarl", + "version": "1.25.1" + }, + { + "direct_url": null, + "metadata_sha256": "7b060e4d24394b5431875e2f74fec8e6bffa79d2e6b4cb8c7e2a5187dd2d8d69", + "name": "z3-solver", + "version": "4.15.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "3d76d4fbc95f0851191147db12300938c67a6f8fb1df884886d9601272ccc4e8", + "name": "zipp", + "version": "4.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "d3de2651e4e908dbb7c9d80508e5179590217dfac4993dc8b04381c5b9718c4c", + "name": "zstandard", + "version": "0.25.0" + } + ], + "executable": "", + "installed_provider_sources": { + "vllm/compilation/__init__.py": { + "path": "/vllm/compilation/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/backends.py": { + "path": "/vllm/compilation/backends.py", + "sha256": "fa4bff8920b363efbbde9456f135fa9d2c004a5bde1898877f177418b2d8b008" + }, + "vllm/compilation/base_static_graph.py": { + "path": "/vllm/compilation/base_static_graph.py", + "sha256": "5cfe8e06db84aa42cd41cdd93ebe93af00b3a242c8011042057530e2922b523a" + }, + "vllm/compilation/breakable_cudagraph.py": { + "path": "/vllm/compilation/breakable_cudagraph.py", + "sha256": "3cc427612a08e2b9b3fee47548026400c1d0776e2d4747535e59ef5512bdf1e8" + }, + "vllm/compilation/caching.py": { + "path": "/vllm/compilation/caching.py", + "sha256": "71d212452dde742fbf28b8a01ed29d3c08a7457ff7f8da2a20ce9d17e902c2cf" + }, + "vllm/compilation/codegen.py": { + "path": "/vllm/compilation/codegen.py", + "sha256": "e04833bec88cf9d1a13aa7341e30e3233d1138bfe23424e0fd34d664b3fedb9f" + }, + "vllm/compilation/compiler_interface.py": { + "path": "/vllm/compilation/compiler_interface.py", + "sha256": "8d84e2864bf83f754bae9e9f77119e0287cca9f97f5fa5ec2535e07b5ad88944" + }, + "vllm/compilation/counter.py": { + "path": "/vllm/compilation/counter.py", + "sha256": "d8158c54dd36a357bf24f6f84dc22f572d3a27f4875f3d5779b12bc5d454ff76" + }, + "vllm/compilation/cuda_graph.py": { + "path": "/vllm/compilation/cuda_graph.py", + "sha256": "05c86392d7fae967ac73076dba7e01990a0e3ae619e4866450a0c1be56bd1192" + }, + "vllm/compilation/decorators.py": { + "path": "/vllm/compilation/decorators.py", + "sha256": "cab6962e8a1fead59c75f5ed8cb4732f9e5441ff972030c2f4b1c4ba0c58de3c" + }, + "vllm/compilation/monitor.py": { + "path": "/vllm/compilation/monitor.py", + "sha256": "43b24c5cb1bc4d32dc979f3222596905c7b3acc58415328a234402e6edc76abf" + }, + "vllm/compilation/partition_rules.py": { + "path": "/vllm/compilation/partition_rules.py", + "sha256": "857d2fb06dc871ea1d3717cd01fbd4e5205984100d98b7b72a2933d6ff1cfa4d" + }, + "vllm/compilation/passes/__init__.py": { + "path": "/vllm/compilation/passes/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/fusion/__init__.py": { + "path": "/vllm/compilation/passes/fusion/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/fusion/act_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/act_quant_fusion.py", + "sha256": "1fa9c3ca4fb424685b7053c3dda89dda16c98dc5645d85f0f28dca58429792b3" + }, + "vllm/compilation/passes/fusion/add_rms_fusion.py": { + "path": "/vllm/compilation/passes/fusion/add_rms_fusion.py", + "sha256": "e46998552628aa5cd5962fc39ea39ae824fd97e6aeba1d176e9cc7cade39837b" + }, + "vllm/compilation/passes/fusion/allreduce_rms_fusion.py": { + "path": "/vllm/compilation/passes/fusion/allreduce_rms_fusion.py", + "sha256": "0af193505880cec0f6ffa224c688bce3c9ddc318dccdf04a696b4e4b4506a963" + }, + "vllm/compilation/passes/fusion/attn_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/attn_quant_fusion.py", + "sha256": "ecc64e82be4481954c9cac6c23d7794846ab19486b570f2dda07ab5ad67c5a49" + }, + "vllm/compilation/passes/fusion/collective_fusion.py": { + "path": "/vllm/compilation/passes/fusion/collective_fusion.py", + "sha256": "1e2c8539d6960b45907fb3bf0482441ea7250e97c56ffdea1500514efa0b164d" + }, + "vllm/compilation/passes/fusion/matcher_utils.py": { + "path": "/vllm/compilation/passes/fusion/matcher_utils.py", + "sha256": "50ac5714ce1bb113520de769ea6234316acc470a8cdf2537a996ce9a9d54337d" + }, + "vllm/compilation/passes/fusion/mla_attn_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/mla_attn_quant_fusion.py", + "sha256": "a966fe7f58bf9228379f793f5fd851735a97f9639722766b2a20cb79a9e4baec" + }, + "vllm/compilation/passes/fusion/mla_rope_kvcache_cat_fusion.py": { + "path": "/vllm/compilation/passes/fusion/mla_rope_kvcache_cat_fusion.py", + "sha256": "1602cc28055ffa8d1123ddb1d256bf0bd12006fd06ea7e16a986c55746dbe0dc" + }, + "vllm/compilation/passes/fusion/qk_norm_rope_fusion.py": { + "path": "/vllm/compilation/passes/fusion/qk_norm_rope_fusion.py", + "sha256": "aebc7d1a5189b65ac665afcc169e7baebd53efe719c48e35e7c5babe85af0d39" + }, + "vllm/compilation/passes/fusion/qk_norm_rope_kvcache_fusion.py": { + "path": "/vllm/compilation/passes/fusion/qk_norm_rope_kvcache_fusion.py", + "sha256": "f0cfd0d83ec4acb09f9bf91d199b114e9d4995e3059c13eb23a6978ce7c07eb2" + }, + "vllm/compilation/passes/fusion/rms_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rms_quant_fusion.py", + "sha256": "4852aa44e0e2087043fdac271bda9b8d9bfe3201bb84ce3919b8ed454d8083c4" + }, + "vllm/compilation/passes/fusion/rocm_aiter_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rocm_aiter_fusion.py", + "sha256": "372e76c68c75209a085deec6dd22b3816be633613ca82f6f2925c1b3773d61a0" + }, + "vllm/compilation/passes/fusion/rope_kvcache_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rope_kvcache_fusion.py", + "sha256": "3a756e9049593537143b5a56ab9185a6bc83f57ed81d84226d7791a46a984b53" + }, + "vllm/compilation/passes/fusion/sequence_parallelism.py": { + "path": "/vllm/compilation/passes/fusion/sequence_parallelism.py", + "sha256": "3af7e420dcb35fff0bae0f8f599d0f1bda34445ebe194059892a434b2976d654" + }, + "vllm/compilation/passes/fx_utils.py": { + "path": "/vllm/compilation/passes/fx_utils.py", + "sha256": "730708213acf9d1b5f3176b433dfc197a5f3c81b5ce443f0923c526924833003" + }, + "vllm/compilation/passes/inductor_pass.py": { + "path": "/vllm/compilation/passes/inductor_pass.py", + "sha256": "1f380aacf7adabb8bf8b7d41c0a93473947f0716f7445bd910fd448f6c08e672" + }, + "vllm/compilation/passes/ir/__init__.py": { + "path": "/vllm/compilation/passes/ir/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/ir/clone_elimination.py": { + "path": "/vllm/compilation/passes/ir/clone_elimination.py", + "sha256": "5297078f5cddce081faba5215814275381d2083b32318fcfeb2bf9d69fedb7c7" + }, + "vllm/compilation/passes/ir/inplace_functionalization.py": { + "path": "/vllm/compilation/passes/ir/inplace_functionalization.py", + "sha256": "2dc4f22c6f05224828c2941479185b1452d4490f488b7f0bfd124334e7809fed" + }, + "vllm/compilation/passes/ir/lowering_pass.py": { + "path": "/vllm/compilation/passes/ir/lowering_pass.py", + "sha256": "d9c3d90f63138420f0e5489447b5996573fcfbbab939da2efccd00848492b172" + }, + "vllm/compilation/passes/ir/utils.py": { + "path": "/vllm/compilation/passes/ir/utils.py", + "sha256": "f59d33a6c7d0616cbeec1e9fb1d6c948881bf81fe124caeb906eac2e2197ea21" + }, + "vllm/compilation/passes/pass_manager.py": { + "path": "/vllm/compilation/passes/pass_manager.py", + "sha256": "486979a058aa2e20ebedcbb6e039f7a59f38d2efd2cda11219fae4067be0968d" + }, + "vllm/compilation/passes/utility/__init__.py": { + "path": "/vllm/compilation/passes/utility/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/utility/fix_functionalization.py": { + "path": "/vllm/compilation/passes/utility/fix_functionalization.py", + "sha256": "ad5b504a05ccee023869b0c8df70ec2fff9a4a80d25fd903e2b532f470e7203f" + }, + "vllm/compilation/passes/utility/noop_elimination.py": { + "path": "/vllm/compilation/passes/utility/noop_elimination.py", + "sha256": "8abf85d28c13f95059f2acbc0275b9b9ed2ad4990f7c5763bbe3067a4aa629ce" + }, + "vllm/compilation/passes/utility/post_cleanup.py": { + "path": "/vllm/compilation/passes/utility/post_cleanup.py", + "sha256": "1c38b14fc209165cbcf8ca763a17ac4e528b97f59b573e5d52df2cce7d758de3" + }, + "vllm/compilation/passes/utility/scatter_split_replace.py": { + "path": "/vllm/compilation/passes/utility/scatter_split_replace.py", + "sha256": "138402cc3097768a32e9e5b8d1a054b6176e494bddc8684e23ca2dc5fdc3fdda" + }, + "vllm/compilation/passes/utility/split_coalescing.py": { + "path": "/vllm/compilation/passes/utility/split_coalescing.py", + "sha256": "0b02acd9e1ad43d7b3e128b914e969b9580773f2818078846dfbf163a8bd0871" + }, + "vllm/compilation/passes/vllm_inductor_pass.py": { + "path": "/vllm/compilation/passes/vllm_inductor_pass.py", + "sha256": "4f83ffb67f834a214221d810c7843a8e41eb4e5930eb40adbd8cf054ff6fb9c6" + }, + "vllm/compilation/piecewise_backend.py": { + "path": "/vllm/compilation/piecewise_backend.py", + "sha256": "6525318ff3ca2e4978e24dd9232a7ae0a02e920e19604b83db6f6043d1f8a54d" + }, + "vllm/compilation/wrapper.py": { + "path": "/vllm/compilation/wrapper.py", + "sha256": "c1b1fca679ea16aa07a696831a810c0d531da2bb0ea32dd6f1a95cdaef36de07" + }, + "vllm/config/__init__.py": { + "path": "/vllm/config/__init__.py", + "sha256": "56fb0cb1598d297e4f95a97e5d86dc624145d1532f5faa432b7d2834d7155bd5" + }, + "vllm/config/attention.py": { + "path": "/vllm/config/attention.py", + "sha256": "c41f345b512d9b7df882328257eb3a6381f41088c11ae83b5ecd8a9e8265d1bc" + }, + "vllm/config/cache.py": { + "path": "/vllm/config/cache.py", + "sha256": "f1c226ba679c884930dbfcaf41a57248b137a9a20d3ed8e3d3b31752bb484c07" + }, + "vllm/config/compilation.py": { + "path": "/vllm/config/compilation.py", + "sha256": "c9cec5c7200e8e559810ec8c30113ad61dab6780f9f7fb3c116bd0d9b5a43065" + }, + "vllm/config/device.py": { + "path": "/vllm/config/device.py", + "sha256": "7b82eee02ceb5842337451a27a3d5729920c47e25e8f6bf3997f5146f9330a9c" + }, + "vllm/config/diffusion.py": { + "path": "/vllm/config/diffusion.py", + "sha256": "1fa9fd2478a866098a28a3586b55af2f9738656b7813a55d76539c10dd99fe8d" + }, + "vllm/config/ec_manager_config.py": { + "path": "/vllm/config/ec_manager_config.py", + "sha256": "418b387dbe7bdf67deddce331c205768a2d42aea37141f59fb02a8a1528e3552" + }, + "vllm/config/ec_transfer.py": { + "path": "/vllm/config/ec_transfer.py", + "sha256": "0eabb2c25194676d23c6acf59562672a1dd24415043ac5737d621ce0d681ec70" + }, + "vllm/config/engram.py": { + "path": "/vllm/config/engram.py", + "sha256": "34043a22385a041d4e9be8857f64174c990c2ca8308b97b6a952b5ab96c20ee5" + }, + "vllm/config/fault_tolerance.py": { + "path": "/vllm/config/fault_tolerance.py", + "sha256": "b166b24373d599fb15ddc575e3061cf0dcb42174d0369d8468008e7ffbb2a4e2" + }, + "vllm/config/kernel.py": { + "path": "/vllm/config/kernel.py", + "sha256": "27e23c584cf862f4091858db6dc85bbc2a01f4baf9dca3f232ae6f3bac02390e" + }, + "vllm/config/kv_events.py": { + "path": "/vllm/config/kv_events.py", + "sha256": "b1dbaee3e6830e381e9157fe3bab0d65c357da88ff7cdf8b1e4b3a4e75c82a87" + }, + "vllm/config/kv_transfer.py": { + "path": "/vllm/config/kv_transfer.py", + "sha256": "506fae7a9d7f32cb3646156cf9249a856f6317dff6c4c85db70efd34418c429b" + }, + "vllm/config/load.py": { + "path": "/vllm/config/load.py", + "sha256": "bd6431c22e078362d749a56a2c84145432ebf2605d8bcfa2ac679182d18ed630" + }, + "vllm/config/lora.py": { + "path": "/vllm/config/lora.py", + "sha256": "ed6cf6575f5950f079a62f904caeae93d1a4745dd8c21788b74367883bcd4b08" + }, + "vllm/config/mamba.py": { + "path": "/vllm/config/mamba.py", + "sha256": "2090f791201ca45dd4f1d72b8651268890eb07574b6084721194eb8fdf612c48" + }, + "vllm/config/model.py": { + "path": "/vllm/config/model.py", + "sha256": "f4168b67cc93ce72ff2a6d4c66974223e32fd0f1fab4c05e44bd68a275e18d69" + }, + "vllm/config/model_arch.py": { + "path": "/vllm/config/model_arch.py", + "sha256": "2babe28329d7b60b4e205f6d72c687f0f66e6535aa2f20411469e5ec362f6b5f" + }, + "vllm/config/multimodal.py": { + "path": "/vllm/config/multimodal.py", + "sha256": "271911aee151f17f092228cecee82af0713e9a47340ffdf66834ca7638a50d22" + }, + "vllm/config/observability.py": { + "path": "/vllm/config/observability.py", + "sha256": "d57c59ec776477ab0a20e9f2b945bc954d8ea3737c869259480e9aa10dfb9f6d" + }, + "vllm/config/offload.py": { + "path": "/vllm/config/offload.py", + "sha256": "6f2db3d9a2730588473d5155811690c6241b167a21dcb62fbbd9ebb6386de42c" + }, + "vllm/config/parallel.py": { + "path": "/vllm/config/parallel.py", + "sha256": "f012ace89e3fb730a467f729f602679bc145c49f0d10721811c9d818570e7b2b" + }, + "vllm/config/pooler.py": { + "path": "/vllm/config/pooler.py", + "sha256": "9f01913dcb7bccbf9b672b16643f18471ae202455992e8afaf0725a17f2b3d08" + }, + "vllm/config/profiler.py": { + "path": "/vllm/config/profiler.py", + "sha256": "04d24fa1dc7cfedca6b5c7d9115f7f7021722fc46a5b15234a1e3b3a506c93e5" + }, + "vllm/config/quantization.py": { + "path": "/vllm/config/quantization.py", + "sha256": "acffc52f525b39a88efd656f1ed705ce3a1b758298bb0684fac7694776bc10b4" + }, + "vllm/config/reasoning.py": { + "path": "/vllm/config/reasoning.py", + "sha256": "2c4f7bdee48a9fb3d93787c4c32361c2411417cce452cfde86808d8759977861" + }, + "vllm/config/scheduler.py": { + "path": "/vllm/config/scheduler.py", + "sha256": "822179da62be4bca0619c8590082ae09123f5c4415f9cc2037be673748239edb" + }, + "vllm/config/speculative.py": { + "path": "/vllm/config/speculative.py", + "sha256": "9c642a87264339c0dbc1d0b57330572149df0f9d5e16c6893b9895e50a619e19" + }, + "vllm/config/speech_to_text.py": { + "path": "/vllm/config/speech_to_text.py", + "sha256": "bf4a566fbde6a1cec1e209070b739650c3302c12696739c88049cb8f723a4c3f" + }, + "vllm/config/structured_outputs.py": { + "path": "/vllm/config/structured_outputs.py", + "sha256": "55649776594349b8b4aa3e08fc4c88068366732a486d6fb235079188044aa829" + }, + "vllm/config/utils.py": { + "path": "/vllm/config/utils.py", + "sha256": "d035e9e488ba92b6c47a96cf05d9b2a850d53eda8a05115b22ff9af8dbc2fc64" + }, + "vllm/config/vllm.py": { + "path": "/vllm/config/vllm.py", + "sha256": "956b812e5a719bcbfa3a3958801361b38b9c928c96b8c073311bbb96376dfb7a" + }, + "vllm/config/watermarking.py": { + "path": "/vllm/config/watermarking.py", + "sha256": "30e6620a3cd7529f0736ad55e38bc326a6a78dee4552f0722208400041c94a1f" + }, + "vllm/config/weight_transfer.py": { + "path": "/vllm/config/weight_transfer.py", + "sha256": "92edd9e5ea90c97a8f3c5f20abf1734a105ee1f3f89e306e7ba87e758f1f767e" + }, + "vllm/distributed/__init__.py": { + "path": "/vllm/distributed/__init__.py", + "sha256": "97f28c30b32662af8cab163939e4ee423037f11630752e13b55cbc25a7d0ab71" + }, + "vllm/distributed/communication_op.py": { + "path": "/vllm/distributed/communication_op.py", + "sha256": "3c3f8ac60db38ece891d39dc1e2f6f1947ad438685893d2e5777d072320bd1b8" + }, + "vllm/distributed/device_communicators/__init__.py": { + "path": "/vllm/distributed/device_communicators/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/device_communicators/aiter_custom_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/aiter_custom_all_reduce.py", + "sha256": "f8eb027ce7a85d94af6260960ceb7f36fc6f1406c9af9c9b6285fddb3f178009" + }, + "vllm/distributed/device_communicators/all2all.py": { + "path": "/vllm/distributed/device_communicators/all2all.py", + "sha256": "1f1b69236acd3cd7bd94520fd6d591bfd31b57c4bc7c9f9f4161ea8bbd0c5f26" + }, + "vllm/distributed/device_communicators/all_reduce_utils.py": { + "path": "/vllm/distributed/device_communicators/all_reduce_utils.py", + "sha256": "ed0ab4dd05b2519a6313892e68824c97b540034664d7f8c3d031b322e33e1bfc" + }, + "vllm/distributed/device_communicators/base_device_communicator.py": { + "path": "/vllm/distributed/device_communicators/base_device_communicator.py", + "sha256": "4a7670f12ed7c7621b25d476e2687c24ca01f3be183fff4a6a25337596fe506b" + }, + "vllm/distributed/device_communicators/cpu_communicator.py": { + "path": "/vllm/distributed/device_communicators/cpu_communicator.py", + "sha256": "e1856c8e91cfbbb4d9ce990c1236e258ba4021e226afcbab645653380b38d64b" + }, + "vllm/distributed/device_communicators/cuda_communicator.py": { + "path": "/vllm/distributed/device_communicators/cuda_communicator.py", + "sha256": "102d95c67ec798cf352b817ba92e8abc9da37f30d1bbdf3aab45d3927b627b93" + }, + "vllm/distributed/device_communicators/cuda_wrapper.py": { + "path": "/vllm/distributed/device_communicators/cuda_wrapper.py", + "sha256": "333b6d9ed173e7a18c7f2b6627a3c9c9ed88892ce52015f05e29d6d245e48ee3" + }, + "vllm/distributed/device_communicators/custom_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/custom_all_reduce.py", + "sha256": "a048c1327c23580805600c0c951831bec333b1ffc4eb26a0e3d34119c4f0c445" + }, + "vllm/distributed/device_communicators/flashinfer_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/flashinfer_all_reduce.py", + "sha256": "b4359760e9b55963676109a5c3a015fb82e190d4df1d021de9ee01e7814cbdda" + }, + "vllm/distributed/device_communicators/flashinfer_pcie_ipc_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/flashinfer_pcie_ipc_all_reduce.py", + "sha256": "8b67b0fc356a565095f56b475cc89c513e3a5eff051ab1c52e5beb0c1a79e9f2" + }, + "vllm/distributed/device_communicators/mnnvl_compat.py": { + "path": "/vllm/distributed/device_communicators/mnnvl_compat.py", + "sha256": "72ee1e6f9571b4c8ecbd9f60cd469d1b565cb79cab519a688a93f290906a2615" + }, + "vllm/distributed/device_communicators/pynccl.py": { + "path": "/vllm/distributed/device_communicators/pynccl.py", + "sha256": "882fb83c5a3c565a3f8fd664b79f5ceae566dca180019ecafd74bc8c11d9f8cf" + }, + "vllm/distributed/device_communicators/pynccl_allocator.py": { + "path": "/vllm/distributed/device_communicators/pynccl_allocator.py", + "sha256": "390e2576cbf4ae06341ca4dab24fc7e4d4f7c24dd444329ed05d828a9ce91460" + }, + "vllm/distributed/device_communicators/pynccl_wrapper.py": { + "path": "/vllm/distributed/device_communicators/pynccl_wrapper.py", + "sha256": "ce63c8da57bb88d4cf89956bd70bb63f0f44bfad468ddb37b765611551f6d99f" + }, + "vllm/distributed/device_communicators/quick_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/quick_all_reduce.py", + "sha256": "8aacb23e7c297b0ae2f80d99c5affd2e7517115d7874be51069d14a44db7b5f2" + }, + "vllm/distributed/device_communicators/ray_communicator.py": { + "path": "/vllm/distributed/device_communicators/ray_communicator.py", + "sha256": "332c37f65495b60564d61db59bc2d30ca0236adc33442d01464790bde9aec897" + }, + "vllm/distributed/device_communicators/shm_broadcast.py": { + "path": "/vllm/distributed/device_communicators/shm_broadcast.py", + "sha256": "f3e7a3f3ff713fccbd535e0d41650ee05bdf8677e83d4b90519910645022c30b" + }, + "vllm/distributed/device_communicators/shm_object_storage.py": { + "path": "/vllm/distributed/device_communicators/shm_object_storage.py", + "sha256": "e097bf7ac0141fe8db4131e8fd553ca2ad5b0600b22a56f3924af6b795e7207c" + }, + "vllm/distributed/device_communicators/symm_mem.py": { + "path": "/vllm/distributed/device_communicators/symm_mem.py", + "sha256": "b06e3ddb9ae880a30ec4a103ce32eb9794223bb0293832e89572af28adaaa544" + }, + "vllm/distributed/device_communicators/xpu_communicator.py": { + "path": "/vllm/distributed/device_communicators/xpu_communicator.py", + "sha256": "527cbfb250760abc62096ee7cd612307b821f21b72dee1687ad866620ec89b6d" + }, + "vllm/distributed/ec_transfer/__init__.py": { + "path": "/vllm/distributed/ec_transfer/__init__.py", + "sha256": "061405bb51df7409c9938b62e25caa8bd6ebf85da6d1700dbd4affe2a0825135" + }, + "vllm/distributed/ec_transfer/ec_connector/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/base.py", + "sha256": "22d4913375bb622473fbe1a77f9376b804949cd8a7e31e9518208f9561d161e2" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/common.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/common.py", + "sha256": "e2267abd8d00a6d2605e1a82ea5c73396a71b427452eab469fcca0134c334e7c" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/connector.py", + "sha256": "72cd35d9fd754a2992dd090a8af13c91e0789b4038ac29276750d823120235db" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/base.py", + "sha256": "19e8df88b0fa831997896355ecdd49e0d86cb074cd7ae28aed0b328b0bb3ab2e" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/zmq.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/zmq.py", + "sha256": "435641c0e37551ab4937855abd067be26905b91215e759cbd9d28a419a34ff9a" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/base.py", + "sha256": "3be698aeb67d32ee3741e76b2fb71806941c587578583acf8fbc42fbf22b46a5" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/nixl.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/nixl.py", + "sha256": "03af8f6549a6027b7262a482907af591e45f28b9b1c5a3408bbc6600e38797e5" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/ec_shared_region.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/ec_shared_region.py", + "sha256": "e40607952c9920024455eca2f419e8c3ef1de9a4d8b27c147a33bb941b8c08b1" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/protocol.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/protocol.py", + "sha256": "05878336884396bfbef77b96b0fa6359f6fa0aba912961f14a84f5a436f27038" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/__init__.py", + "sha256": "01c42385bf3a55cff09cc05ba956f6dd4b8b6b986bf4d6eca4e566cb045b48e0" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/embedding_cache.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/embedding_cache.py", + "sha256": "7359fb980af1fc30b3253681310ef636e2b4a19134e04a93270c9c45de2572d8" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/session.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/session.py", + "sha256": "5973548a919e13c866222b91d502686a6757a31e5a5664b879bf2887ed9fb212" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/utils.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/utils.py", + "sha256": "160ac665f20f2c75b343c1e784084f2b0b4d1cf8fdb28ee15deee4dc8ed0ce45" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/worker/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/worker/__init__.py", + "sha256": "f08d296d3560c42173ae8af961af4a768033ccf1e36e9c17c0cdd53013d0c52e" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/worker/descriptor_buffers.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/worker/descriptor_buffers.py", + "sha256": "be7c81be214e995da8499105ba485854d9c19d6f8e905f8f1b87b83694ca0864" + }, + "vllm/distributed/ec_transfer/ec_connector/example_connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/example_connector.py", + "sha256": "09022ce07a89114bb65d9befd2e60873453aed11bbac8c0a75c1e6084e785a5f" + }, + "vllm/distributed/ec_transfer/ec_connector/factory.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/factory.py", + "sha256": "d6cedca0a99c3dd2b03cd1c15d17472b983e3f7d8f5baf4a12eecaf6abedb817" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/__init__.py", + "sha256": "1cbfc2f95f8f4d48a9253056eb1fd4b562062884e3fd5cb6571583c352fc16f3" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/config.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/config.py", + "sha256": "98c60696f79d1de67d2364cd9e8a42a393b5c8e17ed9af2f971368e47891d7b3" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/control.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/control.py", + "sha256": "58e0d1a423fbe958bfa586ac26a17107e08d0b31d044b4c74ab4dde880e7ca9b" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/memory.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/memory.py", + "sha256": "d5e90b1348de670a70f110d58eedcbdbd053db72c21dd007c3f5275c53951149" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/metadata.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/metadata.py", + "sha256": "497a7e6dfffb7fce80a41d5989f96119b970c143df77bb9d0f9c91d7a46e8c42" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/producer.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/producer.py", + "sha256": "97fa4d0b19475574778eab02f55fad73db9642beb9156da890314fd53fa1a7ab" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/reservation.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/reservation.py", + "sha256": "4790bc65cde4db5f17733ca2c2910980ba594a8a9b79ee27c5b957dffd4c1113" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/scheduler.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/scheduler.py", + "sha256": "53004b62529a31fdd80dfb2e6026610b95041a77e91f731ae526fefd84e7968d" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/state.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/state.py", + "sha256": "92f375d6c5cc9c83dbe95a7977ad8eb0f1b5629ccee92968bcacdc94eee15d65" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/transfer.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/transfer.py", + "sha256": "ada2113a5402054f1149d3edc2537f4e5e1bd696c9b17291c9f2b4cbf6b59753" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/worker.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/worker.py", + "sha256": "89eb91bb64845b3b121d502972a6b04d448714253becd2ea662e5691cd5acdd7" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake_ec_connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake_ec_connector.py", + "sha256": "aaebab4711bc00dd0c622dfbfd8639fc41e7ed5d1658d7d68fe33e4d5fbef3ba" + }, + "vllm/distributed/ec_transfer/ec_connector/utils.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/utils.py", + "sha256": "11b9014b9c0697f8846deff1a55a22fa86a15dc2ac3e139442fb6d513ac03059" + }, + "vllm/distributed/ec_transfer/ec_transfer_state.py": { + "path": "/vllm/distributed/ec_transfer/ec_transfer_state.py", + "sha256": "9487a41f23fa1a4fa6dfca8b42b8e97a0ee19d8406ffd1dcf4bef66315180827" + }, + "vllm/distributed/elastic_ep/__init__.py": { + "path": "/vllm/distributed/elastic_ep/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/elastic_ep/elastic_execute.py": { + "path": "/vllm/distributed/elastic_ep/elastic_execute.py", + "sha256": "b8f60a4183c79ff6051095b5f95bb385bc7fea0cffe8cd9ebc9087ab0e9f01b5" + }, + "vllm/distributed/elastic_ep/elastic_state.py": { + "path": "/vllm/distributed/elastic_ep/elastic_state.py", + "sha256": "fbf049199841a086fdf2fc1ab8498ef017ad3bf319db65c3ae61acbb536d2e10" + }, + "vllm/distributed/elastic_ep/standby_state.py": { + "path": "/vllm/distributed/elastic_ep/standby_state.py", + "sha256": "15282597550ebd0e07b8492ff192aea1ec0dcec8f0ad34009123e1002cc140c1" + }, + "vllm/distributed/eplb/__init__.py": { + "path": "/vllm/distributed/eplb/__init__.py", + "sha256": "1b9c2ee22abb5888c354c5aa01f0944f253e5e24e135d019778398bbe495a628" + }, + "vllm/distributed/eplb/async_worker.py": { + "path": "/vllm/distributed/eplb/async_worker.py", + "sha256": "424328600ad1003286fc5dfffa1f9482007314c060947818b2f94a8b97811f5e" + }, + "vllm/distributed/eplb/eplb_communicator.py": { + "path": "/vllm/distributed/eplb/eplb_communicator.py", + "sha256": "ba30d9d40e7b81d3f42aa9041d2f328edca4073cfe2de920285eb68375501ed8" + }, + "vllm/distributed/eplb/eplb_state.py": { + "path": "/vllm/distributed/eplb/eplb_state.py", + "sha256": "2f06bc8c63f3fdf55edb5032ae55c0ffcac3e67720ce74ea312e3d141b12acf4" + }, + "vllm/distributed/eplb/eplb_utils.py": { + "path": "/vllm/distributed/eplb/eplb_utils.py", + "sha256": "058af6104faa6d4085c1dca80bbe60d92bf0a7ec9cd92c775a180546c9d8c9c3" + }, + "vllm/distributed/eplb/policy/__init__.py": { + "path": "/vllm/distributed/eplb/policy/__init__.py", + "sha256": "daeb266c88442832b1ab8c8c4cc064891b38b9e9ba00aea324f926c87dc6d37e" + }, + "vllm/distributed/eplb/policy/abstract.py": { + "path": "/vllm/distributed/eplb/policy/abstract.py", + "sha256": "b9fd34c28bbfdded03360d7f3f6f8fb978e82689190d7ae4501dfe520e958c62" + }, + "vllm/distributed/eplb/policy/default.py": { + "path": "/vllm/distributed/eplb/policy/default.py", + "sha256": "3b54229e6240d050480390f6b29d4744fd38437d23719f78a6decf7002296a29" + }, + "vllm/distributed/eplb/rebalance_execute.py": { + "path": "/vllm/distributed/eplb/rebalance_execute.py", + "sha256": "b387e228791149018536eee96cf955b33ba79d801cdc36849d1b47a580ec2597" + }, + "vllm/distributed/kv_events.py": { + "path": "/vllm/distributed/kv_events.py", + "sha256": "de08f01e8736881560256c350a3b6418999dd4aa30f9c6ec9159527f7ed6899a" + }, + "vllm/distributed/kv_transfer/__init__.py": { + "path": "/vllm/distributed/kv_transfer/__init__.py", + "sha256": "c1be4e58ec6923bae607a355ad22891c740f056a69ff7358b1e10ea3fd2680ea" + }, + "vllm/distributed/kv_transfer/kv_connector/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/base.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/base.py", + "sha256": "2ae2a2c48f5731f3533166a75440fe91e764332305b5d713df840edba970789d" + }, + "vllm/distributed/kv_transfer/kv_connector/factory.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/factory.py", + "sha256": "add99c93c587b0098b90b1f8fd6940bdd1f15c236c5c6f1a258411863cb902d3" + }, + "vllm/distributed/kv_transfer/kv_connector/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/utils.py", + "sha256": "317ed40dc837671ca6e666165222e641a0f9b3992aea63bbf54de7e13d40b3a4" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/__init__.py", + "sha256": "5beb6ccad12fdcfe1581982da6f18321caca50e73a6b3259ebf3c8dc8b3ffcca" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/base.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/base.py", + "sha256": "97af64220475c6c9e8273438d7b5138b105ebe6944beb783facb36a3bb76f31b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/decode_bench_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/decode_bench_connector.py", + "sha256": "b4151c88cdec28f1ff9259047abc17baf23b892f4b68769a93bf26e0442b9017" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/example_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/example_connector.py", + "sha256": "6226876ef52d10d0d284d29c337ab44698e8bac6abdb2e0ece53b5756c55d068" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/example_hidden_states_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/example_hidden_states_connector.py", + "sha256": "58c22534dcad0fb73599a2d70a2fb104d5b612a4723be5e777f56a56fe07892c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/flexkv_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/flexkv_connector.py", + "sha256": "de4f68c3bd565ed898e47e0b2980049b966ff31888f1957050d30995d4953762" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_client.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_client.py", + "sha256": "bea6ecff2be281c7e96c1551c7bf463cbb01f2964696067c0ebdb683844f9aab" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_connector.py", + "sha256": "e67ed58015090e5eea9d499883f2a9422673d07f8bdbe0ccff7db15d2460de13" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_metadata_server.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_metadata_server.py", + "sha256": "6800e5cf37809f8a8e28c469c14a434db288bc3bf83a8b62ee06910a20c2da19" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/common.py", + "sha256": "8f2c02c08227a9093e6aeb183961aba36b7812cfc29b8c047a2b2c9d82f79c15" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/gather_scatter_helper.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/gather_scatter_helper.py", + "sha256": "08c1b43de34fbeca77357d7576ac1d17cba974b59d695562f68bb713061e7b54" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/hf3fs_mock_client.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/hf3fs_mock_client.py", + "sha256": "bec61a9b0c4b9124b2292d7646d76411da44396389349b53cdcbc46353c8780e" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/connector.py", + "sha256": "8c61094ce0a3a702908f9576f69482e6bf314738a2cbe33a7d3b47258fa0ab43" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/stats.py", + "sha256": "d9383a6ad6ab6b8f812d29d90495407b770eeddb79b86e9d0e3216c0bd16e0ed" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/worker.py", + "sha256": "251c0d8e57e4739c03ce3e1c899a95ff5b1752eb27676c28ab88c4ebd62c4776" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py", + "sha256": "5991f9ff8832df32bd421eb67e48237270ea0a408180e523810bb43606acf8f3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/__init__.py", + "sha256": "c53be9796e76cde637514bfc40a525d8c09bb2784b406cb516790d8285dfe433" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/multi_process_adapter.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/multi_process_adapter.py", + "sha256": "6480d67b31ed603027a83edf327880a38aee45eaeee2da9a4efa93e95527c166" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/utils.py", + "sha256": "e204fa6a853ac9c122d7a4e9d146902230f81c48d4321ed5edfdbf979dd49ba2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/vllm_v1_adapter.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/vllm_v1_adapter.py", + "sha256": "e6fe55049c6b007248516d69640e2f3a4809f9d286091a1014ae0949987fa8f1" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_mp_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_mp_connector.py", + "sha256": "c712c386a7c57bf0355a1441ba574232c3aa5498fcb70713a2b3f5d18b64f9c1" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/metrics.py", + "sha256": "de1b1797d0448f74370919dbb0278767f390e8f59e00a0c0528abefb302babc2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_connector.py", + "sha256": "516be01320e64b0110e102eeb69a6ba766dd5ac8cb3036db6b97b7d54413323d" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_utils.py", + "sha256": "26877610463fa8e9d6b092772f2551bcc0c3ac794cbe63996df0414666a8ebba" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/rdma_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/rdma_utils.py", + "sha256": "716e5042edecaba36c7ca763474988f32fa09c2668b8260260149df610af8f83" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/stats.py", + "sha256": "f39b2f0b1db2e4f922e27e684a3f7bbf5bb279b82a0a8c3bb0c7ae69b6d14d24" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/connector.py", + "sha256": "17a350bdb89e17e415d6c52a48684dc15c35a804378daf03e1f3bee1b1b123a3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/coordinator.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/coordinator.py", + "sha256": "a8eb6c2157a96e8d25233b82347ac8409a41d6390b4f2c64242119c05911010c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/data.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/data.py", + "sha256": "d3cfefdb4165a24995749cba452641b318065baa95bb1bae62f922a2f8886e7b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/metrics.py", + "sha256": "f2b9ef8927632d142aad11a374d0725c6e619ea0bb7fea9eda3f3895eb7d277a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/protocol.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/protocol.py", + "sha256": "ccb1cf6a84a932a375215627d2aaac482c351a05df015d636d05373a6845b7c8" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/scheduler.py", + "sha256": "283849ff581ec206444cdf5621622377f1c925e8d7e05cb9294af2f3a5094e79" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py", + "sha256": "55f1682dfd1ed7af689166421337126a0e1d08afa4774a242e098d79e0c1e95b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_common.py", + "sha256": "549bb4fe22dca5095515b9c0712c31cc81a9d4923881e9f112317640fd8c04ab" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_connector.py", + "sha256": "c0f474bc34b579d889fae92eaf43eaca241be51a4697a187a942f0df4e6b6a98" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_engine.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_engine.py", + "sha256": "d842f3772fc6588d5a329a67572324cb74709aa3df4033e64c791a1e706c8e88" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_layout.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_layout.py", + "sha256": "2b4ec046a78897236b0626939bb828b6ec095355097d10bca39e5f3e1c992553" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py", + "sha256": "12d8387239f3194f2cb63ccbd64824648047210323572d66671e6a1eed349fc3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/__init__.py", + "sha256": "cc3145fe3b6d219a267bf40a0f7c0cc9430e4289f94acab2df761b99b671e7ba" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_scheduler.py", + "sha256": "7a1db8c54e4cd846bdac747344f2aea2c2fcf507817928796063225223b7e169" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_worker.py", + "sha256": "49a2e4faf99bef146b5a1d4d18d48f240b1e561c438252274494b359db96ef52" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/connector.py", + "sha256": "b6a0dc916d052f344be72ecfcb111509c13580102c11a860fa726cf0888949a9" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py", + "sha256": "2b23a07c1ec5ac5490c3b818737c7192e344ea9f52cd5623f75939f741ab4e21" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_scheduler.py", + "sha256": "ac3daf8e2246581fec84ab28f2133569421b62c32a120be4923e2f4d0f2f9de9" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_worker.py", + "sha256": "e5060c9b6cf022de35ca3d1da7a369cd6a6a2dea26219af9f7633aaf78af8a76" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_scheduler.py", + "sha256": "2d9008e33937a4d6c5cf9cc2f96160f2bdbc8e987fe37f0798a7fd7eb84c9572" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_worker.py", + "sha256": "87de3ea383dd3aa95fb2c287ea26ded8a330859cc1295f9faa69047e80865c2c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/scheduler.py", + "sha256": "09f1bfe7075b926b26a94529480e33b62c3ac273ff826f6c502084f08b1b2a08" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/stats.py", + "sha256": "3e710654e0b68d1a8592f0c4735c81b22f4bf698fb1a2dfea126d35bf2dd1ef2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/tp_mapping.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/tp_mapping.py", + "sha256": "2d43607f98701b2fad6cc0ac2767619a80b7fc2b3a3c2eb6ed0da4fb05dcd8f6" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/utils.py", + "sha256": "93de863fc8307a61d40b62f1b176b57ae93c363d34b9e9ddc8e666265b6d45dc" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/worker.py", + "sha256": "5134a36ac100ce7a64f5311029a37ac12c38d91093f63100f51f7fe53ea7c3ee" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/canonical_mapping.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/canonical_mapping.py", + "sha256": "e0b3c6f9806a650e0370c43c5068fc31c0fec94615089e15fdf270d7d96f2b64" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/common.py", + "sha256": "9b3f042c6fa1581d10e8f688d2d9bc927bb41b780a9ea01f514d57228e20c978" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/config.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/config.py", + "sha256": "aea82e60889e78dcad8564ec8285b65a6a372824a1545a98ea8e78b6f4fd418a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/events.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/events.py", + "sha256": "d7039b67be95fd444966628184040a94880873c0611c0e6e7525a22650ffdefb" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/metrics.py", + "sha256": "13d76df014e86691f58dc89a879f9808b124690c9267dd5fa3b2d4004d4c5fdf" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/scheduler.py", + "sha256": "2c5282f4a3165cd787fb355e215e3869f1bdd3f2c795b2155fc537c9d135191a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/worker.py", + "sha256": "acc2df53262441dfc6421a3af7f0cbd68cbfaedbd42bbc384d8e1da2d965d194" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py", + "sha256": "cdc16ca7339a10e1993bd6220e6273f86a4e99779f58f25098a24ad31bb0dbd8" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py", + "sha256": "96238ca82ccf07a1eeb59b8f66de17b09034e3eb993ad9a0a836511d3f69706b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/ssm_conv_transfer_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/ssm_conv_transfer_utils.py", + "sha256": "59a949709482e65a007fbe5352fe9b4bb54c2dcc10ad2c1c41f754b6e13299f4" + }, + "vllm/distributed/kv_transfer/kv_transfer_state.py": { + "path": "/vllm/distributed/kv_transfer/kv_transfer_state.py", + "sha256": "2e5fe09438d6e2ee642f8a26cf7dcf632e870d955d30baf002b76a8bfe836d05" + }, + "vllm/distributed/nixl_utils.py": { + "path": "/vllm/distributed/nixl_utils.py", + "sha256": "0bffa3c052c9f67472b1c0bc3816114891b010c968bf4b8a292e7da4d687db53" + }, + "vllm/distributed/parallel_state.py": { + "path": "/vllm/distributed/parallel_state.py", + "sha256": "d9b10ad56833ebc08a753e1a050ef0989c30d4134021b7b7b00150b7bd01adc6" + }, + "vllm/distributed/stateless_coordinator.py": { + "path": "/vllm/distributed/stateless_coordinator.py", + "sha256": "f52848fbe985ed47b1f3e3ca555314736ca06436e8d738ab4390101f0672dcb0" + }, + "vllm/distributed/utils.py": { + "path": "/vllm/distributed/utils.py", + "sha256": "792146b357139e705064a68d3b66858de8a0baaca4dc7db1232fa217d45db231" + }, + "vllm/distributed/weight_transfer/__init__.py": { + "path": "/vllm/distributed/weight_transfer/__init__.py", + "sha256": "3fb9d4712b7c131d522f5e76e73cd8c333f3cc7af86e2d5ecf9b61b57b3b7f5a" + }, + "vllm/distributed/weight_transfer/base.py": { + "path": "/vllm/distributed/weight_transfer/base.py", + "sha256": "8ab06feb04f1379d0558fbdb77fde46bc84f179e0a26742cabab937e88caa38d" + }, + "vllm/distributed/weight_transfer/clients.py": { + "path": "/vllm/distributed/weight_transfer/clients.py", + "sha256": "ff85c79c350241e6d2749ca23c9d295a3289b4b62bfdf0257d32eb94a0151d36" + }, + "vllm/distributed/weight_transfer/factory.py": { + "path": "/vllm/distributed/weight_transfer/factory.py", + "sha256": "4e979eeac8c5bcdbffb10eb4765cfb30120fa7595c6c2561d3fa1a966ced61c8" + }, + "vllm/distributed/weight_transfer/ipc_engine.py": { + "path": "/vllm/distributed/weight_transfer/ipc_engine.py", + "sha256": "1af578293f387a19073c322b24143c3ae4716ce0c5d2bac2a4ef26fe20119330" + }, + "vllm/distributed/weight_transfer/nccl_common.py": { + "path": "/vllm/distributed/weight_transfer/nccl_common.py", + "sha256": "7b2ef7dc7481c3f478f17c49aa36c7bed54142ec5c93d36ed8426c8fdf09e500" + }, + "vllm/distributed/weight_transfer/nccl_engine.py": { + "path": "/vllm/distributed/weight_transfer/nccl_engine.py", + "sha256": "7fd020c919dc7b4723fb78e64da977b180d0fef0cd21df955a037b848dbaa008" + }, + "vllm/distributed/weight_transfer/packed_tensor.py": { + "path": "/vllm/distributed/weight_transfer/packed_tensor.py", + "sha256": "d0a27fb0be1dc029bd5a1d44fdb57a5e54aa4cd74308bedc339e86ac02c7494c" + }, + "vllm/distributed/weight_transfer/sharded_rdt_common.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_common.py", + "sha256": "be0b13801f24e7b62999b19d733c030510353603a2d5320d5dc98ee02daf22a2" + }, + "vllm/distributed/weight_transfer/sharded_rdt_engine.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_engine.py", + "sha256": "2f791970b4815511a7578ef6c957e7da97b071d26a39087a09a17475909791ee" + }, + "vllm/distributed/weight_transfer/sharded_rdt_fake.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_fake.py", + "sha256": "ee11164e17b5f2793252ce77741b8b94e0583046abf896a590131b2008d1fbb9" + }, + "vllm/distributed/weight_transfer/sharded_rdt_trainer.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_trainer.py", + "sha256": "dd413ff461d41826ccd3eb87d3df22f6cd7f24e09aac7644e3e5b40d7beec484" + }, + "vllm/distributed/weight_transfer/sparse_nccl_engine.py": { + "path": "/vllm/distributed/weight_transfer/sparse_nccl_engine.py", + "sha256": "e11b409454dda2b05ea34e8115ac19027c5e65cb2a5e9682c494f16a50e978f4" + }, + "vllm/model_executor/determinism/__init__.py": { + "path": "/vllm/model_executor/determinism/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/determinism/batch_invariant.py": { + "path": "/vllm/model_executor/determinism/batch_invariant.py", + "sha256": "af8f8d256a48fc214edf426fbe891fb15bd8b1d7ae98b811c736ff1eb0fae798" + }, + "vllm/model_executor/determinism/batch_invariant_configs.py": { + "path": "/vllm/model_executor/determinism/batch_invariant_configs.py", + "sha256": "72ea0d4df0ab5ae288abb7df5c203d2ad5f1709c7295d87ec72da775fddc1b7a" + }, + "vllm/model_executor/layers/fused_moe/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/__init__.py", + "sha256": "64a32665be6d5afcfbaf7a0915717267278b66b880b908b0263ea58f08e51b5e" + }, + "vllm/model_executor/layers/fused_moe/activation.py": { + "path": "/vllm/model_executor/layers/fused_moe/activation.py", + "sha256": "78dec0e85e0c040304515f64ccf8f2c6a7a2e5b9f1124a2138a97d9a02585541" + }, + "vllm/model_executor/layers/fused_moe/all2all_utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/all2all_utils.py", + "sha256": "dc4750a446f7de31d09a46034da5fdf479bc169af90f47aa9af8ae15e67b0828" + }, + "vllm/model_executor/layers/fused_moe/b12x.py": { + "path": "/vllm/model_executor/layers/fused_moe/b12x.py", + "sha256": "ee76cc6aa801e24be8ec78a9e8502061ad48667d5ff8711e43f68fba912425bd" + }, + "vllm/model_executor/layers/fused_moe/config.py": { + "path": "/vllm/model_executor/layers/fused_moe/config.py", + "sha256": "a3a87cebcc7ac85d73f471dcfafc2d899c6fc08f264777b74a0e919adac9e03f" + }, + "vllm/model_executor/layers/fused_moe/deep_gemm_utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/deep_gemm_utils.py", + "sha256": "8fdcd857eb333f9c68902105f157568d52067c94ba1e2df6dbfe0474ef1f4c02" + }, + "vllm/model_executor/layers/fused_moe/eep_reconfigure.py": { + "path": "/vllm/model_executor/layers/fused_moe/eep_reconfigure.py", + "sha256": "9d7580265e8563e1140c2bb4c3a81a35ddd54903f5ec0a2720ffc064681f02f9" + }, + "vllm/model_executor/layers/fused_moe/expert_map_manager.py": { + "path": "/vllm/model_executor/layers/fused_moe/expert_map_manager.py", + "sha256": "308c00f63fcb6f44518ec3a56d8f902c7bba75928c2e3aea30fbe1f3f473973b" + }, + "vllm/model_executor/layers/fused_moe/experts/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a16_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a16_moe.py", + "sha256": "53deea255175171971422d14082ad139b5ec7b62e21429a4c7cc0ebbefd29cdc" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a8_moe.py", + "sha256": "f3fc51b95ed89862381908a0134e326228827f44854248db9585a9c4899c34f4" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp8_moe.py", + "sha256": "af6db1760961a5a71234f8b1cdf42e9e30a236e13601b0826a75110b79724948" + }, + "vllm/model_executor/layers/fused_moe/experts/batched_deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/batched_deep_gemm_moe.py", + "sha256": "b0cd4ea706583518dc608fb56f832fc3595f24bd863b03ef1e8c22b36b873508" + }, + "vllm/model_executor/layers/fused_moe/experts/cpu_int4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cpu_int4_moe.py", + "sha256": "67170af3ba9dc4c4f71d78a72efc3fa4e366eac614936a79911dae5c75ac1864" + }, + "vllm/model_executor/layers/fused_moe/experts/cpu_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cpu_moe.py", + "sha256": "0754cd4ff1b28e6d3932a67609d335acefd28f95a841f0492923813356a6d81e" + }, + "vllm/model_executor/layers/fused_moe/experts/cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cutlass_moe.py", + "sha256": "db901bdbcd3fdac23a1d74e39c51e67f14a82be787b2fd704ed1e787372ae868" + }, + "vllm/model_executor/layers/fused_moe/experts/deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/deep_gemm_moe.py", + "sha256": "16911a64a72eafc26a1bcb544a91f90144d85dc41e3ee57cf20e89925227bbb7" + }, + "vllm/model_executor/layers/fused_moe/experts/fallback.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fallback.py", + "sha256": "1bdd0a4f2ebaa40ec96a5aacc07aee61511af59e6324ce456aa65003b6e2991a" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_b12x_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_b12x_moe.py", + "sha256": "e613afe5da2742e42c717c1a0a56bd9e1c7e3e0452a828db0013d81063518954" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_batched_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_batched_moe.py", + "sha256": "295254dfeeec8df3eb8110e6f659a946cb9cded3de1565ecad4d741b3c3f3e00" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_moe.py", + "sha256": "08578bcd0cf72d6a470e40950175e73639efaa6d8d23c6da0869345312b229c9" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutlass_moe.py", + "sha256": "52887cec5fe628e0a4e7793deb546b40f6c29f7362b3b436c10ca36934ab9826" + }, + "vllm/model_executor/layers/fused_moe/experts/fused_batched_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fused_batched_moe.py", + "sha256": "2435587fc7f8fe8ea341ea0eb8f14c11f3f5b31fbbb9b29ce569ad3bace6e6a0" + }, + "vllm/model_executor/layers/fused_moe/experts/fused_humming_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fused_humming_moe.py", + "sha256": "a6830a76ff7f4cd3479b9c8372a30d03e8301604555cbdbcd9ac89a813b7431a" + }, + "vllm/model_executor/layers/fused_moe/experts/gpt_oss_triton_kernels_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/gpt_oss_triton_kernels_moe.py", + "sha256": "1613a7a6b256e8faee6fdcfae84f293492db6229d28ceb3e8a8d6093af480e36" + }, + "vllm/model_executor/layers/fused_moe/experts/int4_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/int4_emulation_moe.py", + "sha256": "f12857caf0671a341687ad3c5f48616b816ed51e1bcbdefa0a7edbecdb81a79d" + }, + "vllm/model_executor/layers/fused_moe/experts/lora_context.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/lora_context.py", + "sha256": "9b41eefaaa57c5dd0dc54217ef95978821b0c52e90ea4db8b0752e08452bd3e5" + }, + "vllm/model_executor/layers/fused_moe/experts/lora_experts_mixin.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/lora_experts_mixin.py", + "sha256": "b2bc55ed6be98b526c6a5698e2d98300650e78555f56b1820e58c04888e2a373" + }, + "vllm/model_executor/layers/fused_moe/experts/marlin_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/marlin_moe.py", + "sha256": "93916b721548e6194dc70cf6cec224b4b1456a0cc0980235e97beba7bf36541d" + }, + "vllm/model_executor/layers/fused_moe/experts/mxfp8_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/mxfp8_emulation_moe.py", + "sha256": "d09c62ad1398c51ff6f515f2a61014ee9e9a9798d0fe9762c47f446efc5edbef" + }, + "vllm/model_executor/layers/fused_moe/experts/mxfp8_native_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/mxfp8_native_moe.py", + "sha256": "01a42cebf18189e566034111b2145573c655319e8af1a56db60d53a319c40613" + }, + "vllm/model_executor/layers/fused_moe/experts/nvfp4_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/nvfp4_emulation_moe.py", + "sha256": "f24467762b60702f0df122ed64786be839a838a9b6cafaecbd04d35fbfedb189" + }, + "vllm/model_executor/layers/fused_moe/experts/ocp_mx_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/ocp_mx_emulation_moe.py", + "sha256": "dcaa60a9ebdb0bd8223b37af41f018ce7f95716ec7cd8526850f4433a579213b" + }, + "vllm/model_executor/layers/fused_moe/experts/rdna3_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/rdna3_moe.py", + "sha256": "e4abd802dc2f0ad9b338ebde397633c761d881c37813e2dc229902c526b597d8" + }, + "vllm/model_executor/layers/fused_moe/experts/rocm_aiter_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/rocm_aiter_moe.py", + "sha256": "bf09a7b783f5752d61cab76221b32b598d8846d801ee39dc9209d636c9659c6f" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_cutlass_moe.py", + "sha256": "ffce5ad627c540940d122d8df7981644b2eb35d07d480995c0f4f30517815fac" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_deep_gemm_moe.py", + "sha256": "c7209fa5e1ccb184a68b37a0706fc571a76696c2ae79802ddc7f889b1c29684d" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_moe.py", + "sha256": "806fbccfe30f5fbd578acf773add99bdf022b12d617958bd6281aef6de369701" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_bf16_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_bf16_moe.py", + "sha256": "76256de96fefece9c41ffb1108487919e24da364cf4412c6c3474498aba59137" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_fp8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_fp8_moe.py", + "sha256": "b54c7ceb45e5d07aa905f42ea44caccf85ca35ba9fb825d4c01947764510f68b" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_lora_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_lora_moe.py", + "sha256": "dd35a9e4242c0dc8d691168813e14bd5543e591f02ee529d0691e07651942c5a" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_mxfp4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_mxfp4_moe.py", + "sha256": "fe780f125a3dc3ba919659e9b85340bd32afcbfe47733a002bfdfb92eadf400c" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_mxint4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_mxint4_moe.py", + "sha256": "2106d67c2951aa690c4656ca58240d09c366cffe8cb4d9fd575df016c377cc30" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_nvfp4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_nvfp4_moe.py", + "sha256": "e938ac9f058f7c90b41c9610513239bec54a95304bfb5ff5f6897ebd54733d7e" + }, + "vllm/model_executor/layers/fused_moe/experts/xpu_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/xpu_moe.py", + "sha256": "2a11bac0cf9274d963315efd6eebdc62978b0b7aa02e8849ff2a562742f0b86d" + }, + "vllm/model_executor/layers/fused_moe/fused_flydsl_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_flydsl_moe.py", + "sha256": "0e74879ee5c72f616ae4064b9dff3b3a0b583b7fc70b8f92f1e8b730ecd5d39b" + }, + "vllm/model_executor/layers/fused_moe/fused_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe.py", + "sha256": "7072eb06237be9d33dcb0ef7101410f886a6363c98cbee70a014c68b70f639cb" + }, + "vllm/model_executor/layers/fused_moe/fused_moe_method_base.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe_method_base.py", + "sha256": "18dcfc469d3252749801bbf943857f58da85de1f2db8fdff5a9f4986a925dc68" + }, + "vllm/model_executor/layers/fused_moe/fused_moe_modular_method.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe_modular_method.py", + "sha256": "321c744eac1fcaffd6b1b2971204c8baa57dfec53e91e5d24140014d72d64f83" + }, + "vllm/model_executor/layers/fused_moe/hpc_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/hpc_moe.py", + "sha256": "2ca9c5d71b6fd91651027905e2b83103a8823845e053e7153e148cb8e0ee666d" + }, + "vllm/model_executor/layers/fused_moe/layer.py": { + "path": "/vllm/model_executor/layers/fused_moe/layer.py", + "sha256": "def0b4e13bcc1e4e21ee10644e647e2eda1acbf0cc01e76d6128abb59ea08224" + }, + "vllm/model_executor/layers/fused_moe/modular_kernel.py": { + "path": "/vllm/model_executor/layers/fused_moe/modular_kernel.py", + "sha256": "8dc4e0dbbf35b3aac8add63ca6f2a7bbfdadaabbd60826e24598b22c7d8e5c22" + }, + "vllm/model_executor/layers/fused_moe/moe_align_block_size.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_align_block_size.py", + "sha256": "c3f7fc2087836f0160a32ab99ceb1d8f6e87c793679da34dd672e225cb7fa31b" + }, + "vllm/model_executor/layers/fused_moe/moe_fused_mul_sum.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_fused_mul_sum.py", + "sha256": "112e72578002c3bff538418dac64b3b56d995994a2fc5e32b18d2cf3b8392a13" + }, + "vllm/model_executor/layers/fused_moe/moe_output.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_output.py", + "sha256": "6ea4cbd78f9efc7f842c5df246f553f08b991c3479b8b04b89902ed08aaf8e8f" + }, + "vllm/model_executor/layers/fused_moe/moe_permute_unpermute.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_permute_unpermute.py", + "sha256": "1adc592c6254d0c877d66be5406afbc822459c18a838f4bbd094a992e7609d06" + }, + "vllm/model_executor/layers/fused_moe/oracle/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/__init__.py", + "sha256": "4dcf941d50d48bb812de0f39e9194bf17a76b8035fe324889c6038f710fdc453" + }, + "vllm/model_executor/layers/fused_moe/oracle/base.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/base.py", + "sha256": "555bbcd18a3744e64eee4e953daabef3bd268a1bd4faf967d4cfd14d6074f685" + }, + "vllm/model_executor/layers/fused_moe/oracle/fp8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/fp8.py", + "sha256": "245bd36c285df1e6f7c51e52dcda31ad247894577a9f8d765613c2c2feae9aee" + }, + "vllm/model_executor/layers/fused_moe/oracle/int8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/int8.py", + "sha256": "c1b67886511bd966b162db5bca8930f04895fb37a969818a4a10f0726c59547f" + }, + "vllm/model_executor/layers/fused_moe/oracle/int_wna16.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/int_wna16.py", + "sha256": "cfffe8b8b290330be9d18ffa07aeecf296484395ff04df3147d99393e48b55c1" + }, + "vllm/model_executor/layers/fused_moe/oracle/mxfp4.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/mxfp4.py", + "sha256": "b7915e6779b5c88e7dcd2d227f003a8e45071d6d86877013067142d4feb64a8c" + }, + "vllm/model_executor/layers/fused_moe/oracle/mxfp8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/mxfp8.py", + "sha256": "9cfdc8102a04bb844dcd7ed88043bba96ec751794bc093da76c69aa8cf88cf48" + }, + "vllm/model_executor/layers/fused_moe/oracle/nvfp4.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/nvfp4.py", + "sha256": "735b4cdeb1258f11fb02320fc0c70cab5edaca468dd60b07b2d369389d2b0313" + }, + "vllm/model_executor/layers/fused_moe/oracle/unquantized.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/unquantized.py", + "sha256": "c8b8203bd0b73bb7f586f703607394d663f14c05711416ad42d45af564382223" + }, + "vllm/model_executor/layers/fused_moe/oracle/w4a8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/w4a8.py", + "sha256": "d7fa6e2982f20b34d5ce9c5ce28a61122762a3fcdd53d249479472a4f2316c6a" + }, + "vllm/model_executor/layers/fused_moe/oracle/w4a8_int8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/w4a8_int8.py", + "sha256": "6d6f9ca2e67b630002873de2f8d8a231d091c5c2f0f3354a9e8209449b481a4c" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/__init__.py", + "sha256": "2800113263a83c2632e522fb22790b29f63384da75d43de32f0ae2f95e8ae4c1" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/batched.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/batched.py", + "sha256": "d52425dd8c08e47cf8d9c3088daf3b1cc721c8667de4c738d04ba997f9a08ccb" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ht.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ht.py", + "sha256": "465cdf1d6cee91b2ee8c2e43abbea6e8408976e3048c10f44c089f34b415bc60" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ll.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ll.py", + "sha256": "f704922b1db680c4c212982a096e09d6b3eb97d89110313f86ed958a00df21b7" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_v2.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_v2.py", + "sha256": "8d690b016bbcfbc9eb599bcc36a6f798b2f1720c828f4347ea742e218c0cc60d" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_one_sided.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_one_sided.py", + "sha256": "acb57d8342af62bb5672036871cd4b27ecc7f37dfa7c894850bb860e6152a1f0" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_two_sided.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_two_sided.py", + "sha256": "cc5b00d6a157b6eca5afaaf7435165dbd1b4524d6d88bf75808cbe074a389f79" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/mori.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/mori.py", + "sha256": "8e9c3b5b1f0de13f467d95bf2f451cba0e4b0d9a1bdcf98da0988a3a9a79a045" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/naive_dp_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/naive_dp_ep.py", + "sha256": "db015e5b18750bbbf5b2bbaceca877dd6f3f3e74c2a94e8dc185f7413b387f91" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/nixl_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/nixl_ep.py", + "sha256": "1f71d70ac509bf5d3d67a8d95a8ee108a50af6bb5d4bde7181ca28e286f6ffce" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/no_dp_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/no_dp_ep.py", + "sha256": "adbbf529cd22059c95b5380952943a70cf11e05e321dcd707f296bebde61a6e7" + }, + "vllm/model_executor/layers/fused_moe/routed_experts.py": { + "path": "/vllm/model_executor/layers/fused_moe/routed_experts.py", + "sha256": "68c48e5df0ea4a7cc1f04436b7b9153eb53802ecd9bb55d38db8738508daac6d" + }, + "vllm/model_executor/layers/fused_moe/routed_experts_capturer.py": { + "path": "/vllm/model_executor/layers/fused_moe/routed_experts_capturer.py", + "sha256": "cd006bc1a1703418cca3b589fafb2abc4268a086fb3db044bbb64348aeac8b13" + }, + "vllm/model_executor/layers/fused_moe/router/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/layers/fused_moe/router/aiter_shared_routed_fused_moe_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/aiter_shared_routed_fused_moe_router.py", + "sha256": "f47046db1275601a2c67c9232afc7b866c9623a19639d5be867e4c7914a35069" + }, + "vllm/model_executor/layers/fused_moe/router/base_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/base_router.py", + "sha256": "47fa2324bcd9b6ebdc138d69ae6b6ecc0f2463d34bda8c5988bdb0a2a76d3fae" + }, + "vllm/model_executor/layers/fused_moe/router/bf16x3_router_gemm_cutedsl.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/bf16x3_router_gemm_cutedsl.py", + "sha256": "d0f1edd1ebc48d88e490bdb3c93db49bdc0a135ff83e7e0b57130e9f8255fc32" + }, + "vllm/model_executor/layers/fused_moe/router/cpu_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/cpu_router.py", + "sha256": "bff36b15818c87bfbb7ee3def7dc7f6396860abbe5893ff6148801fe941a4b92" + }, + "vllm/model_executor/layers/fused_moe/router/custom_routing_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/custom_routing_router.py", + "sha256": "1a40c7054e3c3a1b3ee2e98f6bc9efa9dfdc11f316a8edf7357dd91533487bfe" + }, + "vllm/model_executor/layers/fused_moe/router/dsv4_topk.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/dsv4_topk.py", + "sha256": "14f7c8487b9aef652dd61c91e0e3c3640b643bf9cd0d8a7184157d71f4beb63e" + }, + "vllm/model_executor/layers/fused_moe/router/fused_moe_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_moe_router.py", + "sha256": "0daa0dc05b931d66767feca444a4cd57ecf140f59b40ea0e8ad213eef6da2b36" + }, + "vllm/model_executor/layers/fused_moe/router/fused_topk_bias_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_topk_bias_router.py", + "sha256": "8fdc28cc248180ad4f11bb4bcda3df47926ec12665a0d84bb712fe83fc6b9376" + }, + "vllm/model_executor/layers/fused_moe/router/fused_topk_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_topk_router.py", + "sha256": "1c80f4af4d781fd66b12aa6a7a0fd30082bc521df40f1252987a8ac4c0bef51c" + }, + "vllm/model_executor/layers/fused_moe/router/gate_linear.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/gate_linear.py", + "sha256": "faa43362c2e7c568498a923c682ca18cae75e87f48d00882770821cb19c21198" + }, + "vllm/model_executor/layers/fused_moe/router/grouped_topk_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/grouped_topk_router.py", + "sha256": "048339e1799cdd42c9dae686a6cb891046577fb391b500f0d12eed73c8f61e52" + }, + "vllm/model_executor/layers/fused_moe/router/rocm_fp32_router_gemm.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/rocm_fp32_router_gemm.py", + "sha256": "9c331ef3d0bb2fb6954387d77ac62a99c5c76d2753c7438bfbb5115f68aae5ac" + }, + "vllm/model_executor/layers/fused_moe/router/router_factory.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/router_factory.py", + "sha256": "019bc8adaa7642abab82843efd53cd1a378f62c652521a1de2b781480eb88742" + }, + "vllm/model_executor/layers/fused_moe/router/routing_simulator_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/routing_simulator_router.py", + "sha256": "a7345df5add00cf3bd93024492d6fc1189fd3ecf2754a11cef1b03a295d791f7" + }, + "vllm/model_executor/layers/fused_moe/router/zero_expert_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/zero_expert_router.py", + "sha256": "dea306edd92e2b9c1b43f982ede8e1e10770d2c66220f5a106e0ed0165276e9c" + }, + "vllm/model_executor/layers/fused_moe/runner/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/layers/fused_moe/runner/moe_runner.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/moe_runner.py", + "sha256": "05893188402fe37229bf72d75088d66193c417d5d502daafd3a55e1bfedaa60c" + }, + "vllm/model_executor/layers/fused_moe/runner/moe_runner_interface.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/moe_runner_interface.py", + "sha256": "189cad01611124eb44594713cbf5918d16fc70196dc81a525ae0a7a97a5fcc51" + }, + "vllm/model_executor/layers/fused_moe/runner/shared_experts.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/shared_experts.py", + "sha256": "d89e4c79c46f6fe61262c51f3facf102e71ce1e4eb3db67f72b6bd8470937be9" + }, + "vllm/model_executor/layers/fused_moe/topk_weight_and_reduce.py": { + "path": "/vllm/model_executor/layers/fused_moe/topk_weight_and_reduce.py", + "sha256": "3dfede72d52bf99af40997994704e6c502ee3bab2bd39bfaa8a68d7dae440203" + }, + "vllm/model_executor/layers/fused_moe/unquantized_fused_moe_method.py": { + "path": "/vllm/model_executor/layers/fused_moe/unquantized_fused_moe_method.py", + "sha256": "182a5ec1874ece2091a24c5303f6ab9ea64a9a61adf325b863927f0cdd83e5d3" + }, + "vllm/model_executor/layers/fused_moe/utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/utils.py", + "sha256": "a93a0bded4008db19d8b38370526ae34fafb9c8278e5b4f60acb6acc8fdc1850" + }, + "vllm/model_executor/layers/mamba/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/abstract.py": { + "path": "/vllm/model_executor/layers/mamba/abstract.py", + "sha256": "dfdc8c836894f574e41d93d76ab989cacd3d7ecf59c97a929abfa48d9364e8ad" + }, + "vllm/model_executor/layers/mamba/gdn/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/gdn/base.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/base.py", + "sha256": "7fec748fc74131f5a45bcaf2644b3fa3a0598fd437d7347f8207ea3644a951c5" + }, + "vllm/model_executor/layers/mamba/gdn/kimi_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/kimi_gdn_linear_attn.py", + "sha256": "1cec4da5c9da73557e192bfb36cd540aae51d3e91283b554449c4a97f0f89bd9" + }, + "vllm/model_executor/layers/mamba/gdn/olmo_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/olmo_gdn_linear_attn.py", + "sha256": "60873ca3bb0c4d17c33bd259b62b658db4883cd23138f47dd4ead62cd2ff0605" + }, + "vllm/model_executor/layers/mamba/gdn/qwen_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/qwen_gdn_linear_attn.py", + "sha256": "b80f8e6f3fff442fb880aebb3209c52f814f66490009f4ac4003de603576d10a" + }, + "vllm/model_executor/layers/mamba/linear/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/linear/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py", + "sha256": "3c480ddd6eba0766ed012a1074bbec5f241d868a87b020b0f6312222c32f93eb" + }, + "vllm/model_executor/layers/mamba/linear/base.py": { + "path": "/vllm/model_executor/layers/mamba/linear/base.py", + "sha256": "26125cd427225954e1846ca361cdaf43f2b56f11b1e217cf26e91a80ef0edb6a" + }, + "vllm/model_executor/layers/mamba/linear/minimax_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/linear/minimax_linear_attn.py", + "sha256": "4adc00f54893b5bc6c31c613deda152a19af3b1bba04153ab5924c3bf2a3aaae" + }, + "vllm/model_executor/layers/mamba/mamba_mixer.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_mixer.py", + "sha256": "a485e937ad9db14d3ad03fde5a9fe795cfa863649563e52fc7e6c52ef631164e" + }, + "vllm/model_executor/layers/mamba/mamba_mixer2.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_mixer2.py", + "sha256": "d58d93e90d9eb90bc5133b79f07c7c62d0032b35d6cf916e3fe34367b81c5cd5" + }, + "vllm/model_executor/layers/mamba/mamba_utils.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_utils.py", + "sha256": "ce9845b4a4ef4bc46577a33038ed69d59ceccb52f30e9c5bdaa36e48be3b2ca4" + }, + "vllm/model_executor/layers/mamba/ops/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/ops/causal_conv1d.py": { + "path": "/vllm/model_executor/layers/mamba/ops/causal_conv1d.py", + "sha256": "044d005cfe59fd0818ed421274e04f3e8dd679b8cdb64fca9f4422f2643484b2" + }, + "vllm/model_executor/layers/mamba/ops/cpu/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/ops/cpu/causal_conv1d.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/causal_conv1d.py", + "sha256": "64104672890ac2ef240c20c7f8059beeade707178574809dbca8721dff5ea6fa" + }, + "vllm/model_executor/layers/mamba/ops/cpu/gdn_attention.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/gdn_attention.py", + "sha256": "a50288945bf5b102ad3025ae536638dcc32d84cf7c22aaf3a85326b0c1c56c1f" + }, + "vllm/model_executor/layers/mamba/ops/cpu/mamba_ssm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/mamba_ssm.py", + "sha256": "5839e576172a3246337f5e4fb1bc19eb583b3e2b2f7e35dd060dc3041eb8372d" + }, + "vllm/model_executor/layers/mamba/ops/gather_initial_states.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gather_initial_states.py", + "sha256": "5198bb6de6d91c583a5f65d926412a76ee04a06fa72aaba76eaf156b27cd0523" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/__init__.py", + "sha256": "b88b52e71fcb21bd3fa215ea171dcd2ad2ff17c97788cfe64caa7ba45c7ecf97" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_h.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_h.py", + "sha256": "f50bbe5c0b6382323ec5dfc24a5e0c7971113d59727515e60c9fe3689734e5ba" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_kkt_inv_uw.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_kkt_inv_uw.py", + "sha256": "b4a65dd194907db08865e0596fe254f915e670a9e6b27ffa2933c1026dde9b1e" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_o.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_o.py", + "sha256": "629f7843a7e611efb9390f2ebb7a4b924b2c328d48a317fddfaa96af4d9bc60a" + }, + "vllm/model_executor/layers/mamba/ops/layernorm_gated.py": { + "path": "/vllm/model_executor/layers/mamba/ops/layernorm_gated.py", + "sha256": "3433f2e3b87c2b2ccf8e9794ce40762c86a6da38a94ecee001f439ea0d0373dd" + }, + "vllm/model_executor/layers/mamba/ops/mamba_ssm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/mamba_ssm.py", + "sha256": "a4515ec7895b40ed878cf380445034b25faa61fbaa799d96c49217bbdfd7e400" + }, + "vllm/model_executor/layers/mamba/ops/replayssm_config.py": { + "path": "/vllm/model_executor/layers/mamba/ops/replayssm_config.py", + "sha256": "5fe9d5d7aa2de6a65875b3796a919b22bc435fd76055ba054bbff43aa005bc44" + }, + "vllm/model_executor/layers/mamba/ops/scatter_states.py": { + "path": "/vllm/model_executor/layers/mamba/ops/scatter_states.py", + "sha256": "f3bb004c73edaba56337747893eb07faf29b270dc8bb9c893ee9b1044e4ead9a" + }, + "vllm/model_executor/layers/mamba/ops/selective_state_update_replayssm_output_only.py": { + "path": "/vllm/model_executor/layers/mamba/ops/selective_state_update_replayssm_output_only.py", + "sha256": "cea7fd3063ca9dcc4e33f180d01ea379195ec515cedc9d0b03b11dc67670d695" + }, + "vllm/model_executor/layers/mamba/ops/ssd_bmm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_bmm.py", + "sha256": "26983d97a7f5c5f9197a16a6bee7b1294839b9ae31a14c14aaee38b43523e630" + }, + "vllm/model_executor/layers/mamba/ops/ssd_chunk_scan.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_chunk_scan.py", + "sha256": "d5ef32e8cb47e2ce71984579df78ab69754895f891766394daf327867cfa4f8f" + }, + "vllm/model_executor/layers/mamba/ops/ssd_chunk_state.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_chunk_state.py", + "sha256": "177e3aa7fe72647133bbd86135533e8688a5802678d4d1564aa549410362316f" + }, + "vllm/model_executor/layers/mamba/ops/ssd_combined.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_combined.py", + "sha256": "1317bbb668d3c60dfe0658850f9968614f03fa5eb61196f8ce6ac17dbb31b480" + }, + "vllm/model_executor/layers/mamba/ops/ssd_state_passing.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_state_passing.py", + "sha256": "36b8c8edba437916a5b789717c61fc22077de01e77892cb96dbff3b00a57410e" + }, + "vllm/model_executor/layers/mamba/ops/ssu_dispatch.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssu_dispatch.py", + "sha256": "bbe0f0e61da87f3ddfead19a79ca376516b63f1ea868be3485333c63fa20ef41" + }, + "vllm/model_executor/layers/mamba/ops/triton_helpers.py": { + "path": "/vllm/model_executor/layers/mamba/ops/triton_helpers.py", + "sha256": "a8795532f22c37a93e82c9d8e3fadcb5f4da98673d7b321fe8481305eaafad30" + }, + "vllm/model_executor/layers/mamba/short_conv.py": { + "path": "/vllm/model_executor/layers/mamba/short_conv.py", + "sha256": "228494efab185ee17374f762874f4c8b9a26aac9decfa8c906ce38446e0de51a" + }, + "vllm/model_executor/models/qwen3_next.py": { + "path": "/vllm/model_executor/models/qwen3_next.py", + "sha256": "4fa5112ac2bf7886d41d9e1f6c3da8793620d1ec49c961b31e9609459a6a7f7a" + }, + "vllm/third_party/flash_linear_attention/__init__.py": { + "path": "/vllm/third_party/flash_linear_attention/__init__.py", + "sha256": "5dbbfa3fc286edb2e970e175ef33cee4f6181c89b0784f5a8986201b2312f54e" + }, + "vllm/third_party/flash_linear_attention/ops/__init__.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/__init__.py", + "sha256": "dd738dc1d08045e76455cdbe16052a5b769e0eb11d6e87ff28353994f880cd6c" + }, + "vllm/third_party/flash_linear_attention/ops/chunk.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk.py", + "sha256": "c105ead259e86aedc248c53e7c4cef07034d0ff12da608d80265d1dd0990803f" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_delta_h.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_delta_h.py", + "sha256": "1b3ad391f939d9443c6b7adb19e57fe381bd5dccea064e8417a4f85b0e713b26" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_o.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_o.py", + "sha256": "3b63b836a8cc561723c23db5a528a0b474d9cd78508d610f0b348c585a889a19" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_scaled_dot_kkt.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_scaled_dot_kkt.py", + "sha256": "7ae41df3755acc7e925a134d848f78bb5fc00b90069039d86403c5853323ea42" + }, + "vllm/third_party/flash_linear_attention/ops/cumsum.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/cumsum.py", + "sha256": "d818215669b451868823202ac0bcea77e7a9d75957254c7c1060a73a55dc39b6" + }, + "vllm/third_party/flash_linear_attention/ops/fused_gdn_prefill_post_conv.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_gdn_prefill_post_conv.py", + "sha256": "590717b2107abc90d72548de06b5d315229eb2775c94614f3f545df11cc2b5df" + }, + "vllm/third_party/flash_linear_attention/ops/fused_norm_gate.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_norm_gate.py", + "sha256": "e6eb90467f29d8a0a04f2a364d20a2c3191b6ab857841bfb82076b33a6022d1a" + }, + "vllm/third_party/flash_linear_attention/ops/fused_recurrent.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_recurrent.py", + "sha256": "fe6f1311014809040497aa0a623e7fa97f4b3457cdc7ee1f1f8aed21f326f755" + }, + "vllm/third_party/flash_linear_attention/ops/fused_sigmoid_gating.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_sigmoid_gating.py", + "sha256": "000ab8996af9788fdb8843a6a3b91833e7a14c8acc0e1ea073a536330f64cb6f" + }, + "vllm/third_party/flash_linear_attention/ops/index.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/index.py", + "sha256": "a4f8b2c052635cb519a80099e8a85411d1d5d6880b38f466788259bbe66b154d" + }, + "vllm/third_party/flash_linear_attention/ops/kda.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/kda.py", + "sha256": "e1f31aaa89b91f8e5db6d070b229e2c81c7206e8caec67de41db97d06be0c476" + }, + "vllm/third_party/flash_linear_attention/ops/l2norm.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/l2norm.py", + "sha256": "520f4513ef4fc97e6b88dc07877cca8e29da0d34e44673fe989e3af002d86381" + }, + "vllm/third_party/flash_linear_attention/ops/layernorm_guard.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/layernorm_guard.py", + "sha256": "42af29be26e8fc94a4658e053c095fcdab9ffdc1bc2446a01e787deda2a298c0" + }, + "vllm/third_party/flash_linear_attention/ops/op.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/op.py", + "sha256": "456da84fd12411cf53c96a90dd4f78f49afb454c3d51d2c524ea8e7106fe8ae5" + }, + "vllm/third_party/flash_linear_attention/ops/solve_tril.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/solve_tril.py", + "sha256": "d1a4ff27623a938825052500afa7e2aa24fadd2fa4c9be6376c9128824f86f82" + }, + "vllm/third_party/flash_linear_attention/ops/utils.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/utils.py", + "sha256": "d6c90d36505e02086954c23ca4dd2fea82a69416d68ff1d0501e16b3148b5b0c" + }, + "vllm/third_party/flash_linear_attention/ops/wy_fast.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/wy_fast.py", + "sha256": "c9fc8259db0a8746dc04f1d799cb73333457118cf89a0bdce8dde8a80a28cd96" + }, + "vllm/v1/attention/__init__.py": { + "path": "/vllm/v1/attention/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backend.py": { + "path": "/vllm/v1/attention/backend.py", + "sha256": "01ac364372afa75fdb22486aa3a9c7cf9aebb742e3471dfb9e0f9d9d36b734bc" + }, + "vllm/v1/attention/backends/__init__.py": { + "path": "/vllm/v1/attention/backends/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backends/b12x.py": { + "path": "/vllm/v1/attention/backends/b12x.py", + "sha256": "443f0a98738fdfefe5b9ab151d278bfd43a8ac807eb2b0b9b2a13d51922afbf9" + }, + "vllm/v1/attention/backends/composite.py": { + "path": "/vllm/v1/attention/backends/composite.py", + "sha256": "4cf3d66dca891562709eed4f50aa14b0ae6c8240d9ea86504a3304b2f356cce0" + }, + "vllm/v1/attention/backends/cpu_attn.py": { + "path": "/vllm/v1/attention/backends/cpu_attn.py", + "sha256": "76fb02a6bd725125565d84bf04f627cf16da5f7ff8f31f87c01ed6a1439398c7" + }, + "vllm/v1/attention/backends/fa_utils.py": { + "path": "/vllm/v1/attention/backends/fa_utils.py", + "sha256": "08fa6e231d3af3a71a6e59162dd12328aa8beb28548165ae58f130a92adb5a83" + }, + "vllm/v1/attention/backends/flash_attn.py": { + "path": "/vllm/v1/attention/backends/flash_attn.py", + "sha256": "b170a4789e18104c1bee35bea70df51abe6766693d8f4726a59f2e6f5c4282aa" + }, + "vllm/v1/attention/backends/flash_attn_diffkv.py": { + "path": "/vllm/v1/attention/backends/flash_attn_diffkv.py", + "sha256": "e4627c88c3ba8caee260540e994cc8137fd2ff7cd7813356b36387c6c88ce30a" + }, + "vllm/v1/attention/backends/flashinfer.py": { + "path": "/vllm/v1/attention/backends/flashinfer.py", + "sha256": "8ee541fde43ed92a417b3f01ea1e6fc64af8ab2eb54cbfc28308a49aaca4ed7f" + }, + "vllm/v1/attention/backends/flex_attention.py": { + "path": "/vllm/v1/attention/backends/flex_attention.py", + "sha256": "ad07f0ad73aeeadc3534b3a05c14f88a62cb3638874239ae9823c49b36276dc3" + }, + "vllm/v1/attention/backends/gdn_attn.py": { + "path": "/vllm/v1/attention/backends/gdn_attn.py", + "sha256": "3831019404a92200a38b43571c040cffeb6638bbdc71e4cb5e680dbc6c93d054" + }, + "vllm/v1/attention/backends/hpc_attn.py": { + "path": "/vllm/v1/attention/backends/hpc_attn.py", + "sha256": "af9e2aec1b498f0ee48a2dce3cf5646edf1976466980b2fd927c0e82b875427c" + }, + "vllm/v1/attention/backends/linear_attn.py": { + "path": "/vllm/v1/attention/backends/linear_attn.py", + "sha256": "bc42144fcd027434c6a10dc9f4c5f991db8899d387af5f6485402ce097eb0513" + }, + "vllm/v1/attention/backends/mamba1_attn.py": { + "path": "/vllm/v1/attention/backends/mamba1_attn.py", + "sha256": "32159dae11cab3c8c576b9514ad97d5108c8d1b4cac9fcfe345ec6a76223aee7" + }, + "vllm/v1/attention/backends/mamba2_attn.py": { + "path": "/vllm/v1/attention/backends/mamba2_attn.py", + "sha256": "a5bcdecb7b9547137023e1c77a386003358fa940eaf5f319ed142211dcdba139" + }, + "vllm/v1/attention/backends/mamba_attn.py": { + "path": "/vllm/v1/attention/backends/mamba_attn.py", + "sha256": "5e7b2c4058fc5e6096d001bff6c789b78368b025bbe4600f191aaca2ff59b59f" + }, + "vllm/v1/attention/backends/mla/__init__.py": { + "path": "/vllm/v1/attention/backends/mla/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backends/mla/aiter_triton_mla.py": { + "path": "/vllm/v1/attention/backends/mla/aiter_triton_mla.py", + "sha256": "ed0e285cdae06a019150c41cc958b3c0b5ceb0e4f299d5318d1c90e2c2395390" + }, + "vllm/v1/attention/backends/mla/amx_mla.py": { + "path": "/vllm/v1/attention/backends/mla/amx_mla.py", + "sha256": "7f5cddec30b2dfe22ccdbd3b9da673c879719bf6da4074317bd60add55f5d15f" + }, + "vllm/v1/attention/backends/mla/compressor_utils.py": { + "path": "/vllm/v1/attention/backends/mla/compressor_utils.py", + "sha256": "3589e94105368ea285c40b82db1a0332682ff5d071fe363627cf4c0d10f3facf" + }, + "vllm/v1/attention/backends/mla/cpu_mla.py": { + "path": "/vllm/v1/attention/backends/mla/cpu_mla.py", + "sha256": "ff2110b9f78e92adf6bab294465cbc294ae1ff71cb1780fed158179e134a4ca6" + }, + "vllm/v1/attention/backends/mla/cutlass_mla.py": { + "path": "/vllm/v1/attention/backends/mla/cutlass_mla.py", + "sha256": "211d298680f9bd793cc468281b316d6633c5f4eb6dcec71d3329b034a23ab9b5" + }, + "vllm/v1/attention/backends/mla/flashattn_mla.py": { + "path": "/vllm/v1/attention/backends/mla/flashattn_mla.py", + "sha256": "ac89e0ad75a37e92566d264bafe324735a80f9ab4709241a4454d17b3d38bb63" + }, + "vllm/v1/attention/backends/mla/flashattn_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashattn_mla_sparse.py", + "sha256": "67dd3ead2e8b9d8cda0825ecc93779cb7d670628bc741c759a7d3cd5d474030f" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla.py", + "sha256": "0c24ff016fb6b0bb41d9e7484b6f1af42f37bcc384ed613473fc3e01ad25f664" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse.py", + "sha256": "2116d965b2067134d8afa5878d4d16c0149b061258f50c4106d993aa13b073cc" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm120.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm120.py", + "sha256": "102ca08793d567f95598eefeb34c3f6ec50b3b9d704f162d1402b97b12b5777b" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm90.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm90.py", + "sha256": "df9fe4970aa3f53cf24784b8534b89e0101a2ca20a35a2ebbc9a12a4463d5993" + }, + "vllm/v1/attention/backends/mla/flashmla.py": { + "path": "/vllm/v1/attention/backends/mla/flashmla.py", + "sha256": "c9d8046a853ecbdeff9ebfc738f5bb34c4f272b278231a09a0fbf73708c7c188" + }, + "vllm/v1/attention/backends/mla/flashmla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashmla_sparse.py", + "sha256": "7a379c717adb9667ce94cbc16c0e3a1fb22a169713db6d7941c141fa84077b3f" + }, + "vllm/v1/attention/backends/mla/index_group.py": { + "path": "/vllm/v1/attention/backends/mla/index_group.py", + "sha256": "c24e028c3c160a9bb92e043da5b5b34c805e84745b7c4b8da6fb8702a0ddd641" + }, + "vllm/v1/attention/backends/mla/indexer.py": { + "path": "/vllm/v1/attention/backends/mla/indexer.py", + "sha256": "2acbc1c4fa57c3424ad95e6ecbe76eb7141747773c3e867ce704f4adccba892a" + }, + "vllm/v1/attention/backends/mla/prefill/__init__.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/__init__.py", + "sha256": "903630eb705dd175bf4ae4558a4bcaa07c110056b6a11eb830fdd2fb21b3c48a" + }, + "vllm/v1/attention/backends/mla/prefill/aiter_flash_attn.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/aiter_flash_attn.py", + "sha256": "571b8a9910c4ea3fefda60659026f3bf0d7b542c34553c8c9a4d43bb82077e61" + }, + "vllm/v1/attention/backends/mla/prefill/base.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/base.py", + "sha256": "138bf3ddaf5a94c3cdbc4e08ac676edcae84b32fc76625e546f3b47f7d8b82ec" + }, + "vllm/v1/attention/backends/mla/prefill/cpu_sdpa.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/cpu_sdpa.py", + "sha256": "1bb686395274a8ec0d9fd7327410a527655fe060cbbc263eab138fea988d96de" + }, + "vllm/v1/attention/backends/mla/prefill/flash_attn.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/flash_attn.py", + "sha256": "5e648c82c82e5f81fe11458eb82b9f90b50fc06df2ade3bf111ee6b7a2ee8481" + }, + "vllm/v1/attention/backends/mla/prefill/flashinfer.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/flashinfer.py", + "sha256": "63861219c35b8abc0ebe01e1f51543c5ed40bd46119ca261d927da7c6826b49b" + }, + "vllm/v1/attention/backends/mla/prefill/registry.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/registry.py", + "sha256": "c8c30b92213d594beaa3cab4d5003da26a85870dbb11d1ab73191962d0645b53" + }, + "vllm/v1/attention/backends/mla/prefill/selector.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/selector.py", + "sha256": "101d9fca7924b0c5d7891a17fe8942611bd6759e32b03a571dc87b14c1430f2f" + }, + "vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py", + "sha256": "047cf07bfcc83db3b11a6a54ffe189f6146e6ec9ad33ce2fa7d18860bf4210f0" + }, + "vllm/v1/attention/backends/mla/prefill/trtllm_ragged.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/trtllm_ragged.py", + "sha256": "9e13ea6f6a25accedd918c0de64bbb812ccb20ffb95350ab018a6e76d493789b" + }, + "vllm/v1/attention/backends/mla/rocm_aiter_mla.py": { + "path": "/vllm/v1/attention/backends/mla/rocm_aiter_mla.py", + "sha256": "b489f5830c655bfb6299801a70d69b9821513c69568ecab3689db5a7be867be5" + }, + "vllm/v1/attention/backends/mla/rocm_aiter_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/rocm_aiter_mla_sparse.py", + "sha256": "91b1d9b3d860a9720bc01b8ebe9bbe8649a7d6bca20d4b63939bc100309bca19" + }, + "vllm/v1/attention/backends/mla/sparse_swa.py": { + "path": "/vllm/v1/attention/backends/mla/sparse_swa.py", + "sha256": "a47853ad8a3fe40f24704592581ea323a18041b84610df010a5534da634e311e" + }, + "vllm/v1/attention/backends/mla/sparse_utils.py": { + "path": "/vllm/v1/attention/backends/mla/sparse_utils.py", + "sha256": "c3cdf060288c05542243a9fe8b5ad3a963ad75e9ce399009b5e45c1235a88ce4" + }, + "vllm/v1/attention/backends/mla/tokenspeed_mla.py": { + "path": "/vllm/v1/attention/backends/mla/tokenspeed_mla.py", + "sha256": "b9ba523c606430cecb99a88b28c53d98a99dcf5e76105a80664338110a20f1ad" + }, + "vllm/v1/attention/backends/mla/triton_mla.py": { + "path": "/vllm/v1/attention/backends/mla/triton_mla.py", + "sha256": "21b16b3b34470edcc33d0423e560837c1d37d4bab31c7b3b9cfd7faa47864b51" + }, + "vllm/v1/attention/backends/mla/xpu_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/xpu_mla_sparse.py", + "sha256": "559c6240fe466521a6b2df4c94aea02ddf3f5efa5ba6954fa180c5a51c0f12d2" + }, + "vllm/v1/attention/backends/recoverssm_metadata.py": { + "path": "/vllm/v1/attention/backends/recoverssm_metadata.py", + "sha256": "02896a667db0f0308371ceb50048b18e5866c0235d163c0357e9a05dcedb3394" + }, + "vllm/v1/attention/backends/registry.py": { + "path": "/vllm/v1/attention/backends/registry.py", + "sha256": "378e8ee78734bd8c8adbe287d4c0a4058dcbb553195a09fbcce00a3cc30adc29" + }, + "vllm/v1/attention/backends/rocm_aiter_fa.py": { + "path": "/vllm/v1/attention/backends/rocm_aiter_fa.py", + "sha256": "d1418af03bf58209c850f466b712d3ea22a14ebb758c42dd43e65738281841fd" + }, + "vllm/v1/attention/backends/rocm_aiter_unified_attn.py": { + "path": "/vllm/v1/attention/backends/rocm_aiter_unified_attn.py", + "sha256": "59d2645eb4c91dc0567754a7163d066f4f2faf48f1957b254fcdd5604e9d8c8c" + }, + "vllm/v1/attention/backends/rocm_attn.py": { + "path": "/vllm/v1/attention/backends/rocm_attn.py", + "sha256": "4a8f57067073fbceb784af6c3467487c450d00fa3957928fadb99a79f6036292" + }, + "vllm/v1/attention/backends/short_conv_attn.py": { + "path": "/vllm/v1/attention/backends/short_conv_attn.py", + "sha256": "84fc460ef2fbd09743b069bec0c14b39542af6c2254a403e37a048427e151121" + }, + "vllm/v1/attention/backends/triton_attn.py": { + "path": "/vllm/v1/attention/backends/triton_attn.py", + "sha256": "1057663d110e1d5229495a799027b27277c1eca325d5b6780fa2259afbf58a1a" + }, + "vllm/v1/attention/backends/triton_attn_diffkv.py": { + "path": "/vllm/v1/attention/backends/triton_attn_diffkv.py", + "sha256": "de0357eae005246642140f1ab8842ba5ed8bff5c84b18a6d3a7bbf409c578301" + }, + "vllm/v1/attention/backends/triton_flash_attn.py": { + "path": "/vllm/v1/attention/backends/triton_flash_attn.py", + "sha256": "176e45329aeb28a2008362bb607d1b8c89816eb665859ab908b0385a11acf1c2" + }, + "vllm/v1/attention/backends/triton_flashinfer.py": { + "path": "/vllm/v1/attention/backends/triton_flashinfer.py", + "sha256": "48d5f967e388d4e8d6bbec8d827b44d855346bc2fada28adf65768bf6623527b" + }, + "vllm/v1/attention/backends/turboquant_attn.py": { + "path": "/vllm/v1/attention/backends/turboquant_attn.py", + "sha256": "616d16d608d9d1fbf6c29548037e7e9cf330f4d36a01aa3ffabf42a731eb6e2b" + }, + "vllm/v1/attention/backends/utils.py": { + "path": "/vllm/v1/attention/backends/utils.py", + "sha256": "fbc221360d2d54cb21ef3f625dc8711500de345a355801548b4337bb9b8abee0" + }, + "vllm/v1/attention/ops/__init__.py": { + "path": "/vllm/v1/attention/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/ops/chunked_prefill_paged_decode.py": { + "path": "/vllm/v1/attention/ops/chunked_prefill_paged_decode.py", + "sha256": "973db848a790b2e8d99e728b2fc4f44b501bbe58c62747244ddff04cfcf11a85" + }, + "vllm/v1/attention/ops/common.py": { + "path": "/vllm/v1/attention/ops/common.py", + "sha256": "b4b67e7fc0cce471e337d742c097fba06da7563816e8799e27719714e31e1d5b" + }, + "vllm/v1/attention/ops/cp_common.py": { + "path": "/vllm/v1/attention/ops/cp_common.py", + "sha256": "2369181862e96db64b14ef20c5c2e249ed2ea5f3dea2467a2aa388372bb86d9d" + }, + "vllm/v1/attention/ops/dcp.py": { + "path": "/vllm/v1/attention/ops/dcp.py", + "sha256": "a478bdc781460f0582cfaf74d6431f1a826c201f02f39d882d12a96139bc3f28" + }, + "vllm/v1/attention/ops/flashmla.py": { + "path": "/vllm/v1/attention/ops/flashmla.py", + "sha256": "8a40d6e120e3ab25a95fcfeb32b0b5b4c1ea02b984633866628536dcd26ed2e8" + }, + "vllm/v1/attention/ops/flydsl_kernels/__init__.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/attention/ops/flydsl_kernels/tq_decode.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/tq_decode.py", + "sha256": "cc4b7f82897596e0974b3d3a710a1a8bc58c3d22b72cc7f461dd1c4acd2e451b" + }, + "vllm/v1/attention/ops/flydsl_kernels/tq_decode_gqa6.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/tq_decode_gqa6.py", + "sha256": "a983f6d375c325900955e11696dab1e2665770e83f84d51f93d3ed5e1d8880e0" + }, + "vllm/v1/attention/ops/flydsl_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/flydsl_turboquant_decode.py", + "sha256": "7b1dd0ef7c7fb28a6a8831759e00b939ab844d067657155cc11cf75532a22c63" + }, + "vllm/v1/attention/ops/int4_per_token_head.py": { + "path": "/vllm/v1/attention/ops/int4_per_token_head.py", + "sha256": "d91968f280cd8eaed7570ab255f0276b40e833e18a25066d371d9ca8149425f2" + }, + "vllm/v1/attention/ops/merge_attn_states.py": { + "path": "/vllm/v1/attention/ops/merge_attn_states.py", + "sha256": "ad08403d2843fc892f0b0b4b9f5fabb81884556f89f7170dca46ccef498a3539" + }, + "vllm/v1/attention/ops/metadata.py": { + "path": "/vllm/v1/attention/ops/metadata.py", + "sha256": "ca882b84c5aaefb1f77e4d8ea09a00103fbc53defa8671bba036c961c17fc760" + }, + "vllm/v1/attention/ops/paged_attn.py": { + "path": "/vllm/v1/attention/ops/paged_attn.py", + "sha256": "016a95f892ec751c86b37be1e12171bad9f0b4076bbf2219ff336f4e9c503653" + }, + "vllm/v1/attention/ops/pcp.py": { + "path": "/vllm/v1/attention/ops/pcp.py", + "sha256": "dadeff95fe2df2be8028baabeef01b0d2d628cd67de2176915e737ce096de3dd" + }, + "vllm/v1/attention/ops/prefix_prefill.py": { + "path": "/vllm/v1/attention/ops/prefix_prefill.py", + "sha256": "b08ad92db715fc03c11699de3de463d55e411f42f77548e06b41049a61de692f" + }, + "vllm/v1/attention/ops/rocm_aiter_mla_merge.py": { + "path": "/vllm/v1/attention/ops/rocm_aiter_mla_merge.py", + "sha256": "564c66e4877732e48a6f7d52405c43dc952eec0f0ae4353d34886bca056132b9" + }, + "vllm/v1/attention/ops/rocm_aiter_mla_sparse.py": { + "path": "/vllm/v1/attention/ops/rocm_aiter_mla_sparse.py", + "sha256": "feec664be5045fd1ba13b8f6ef83b52c96910ddc78baca0431bcf610c9e8f5cc" + }, + "vllm/v1/attention/ops/triton_attention_helpers.py": { + "path": "/vllm/v1/attention/ops/triton_attention_helpers.py", + "sha256": "35aa993d01345f535d2641cf9dcabb8b64c51b20a19707bc5987e616aaa87ddd" + }, + "vllm/v1/attention/ops/triton_decode_attention.py": { + "path": "/vllm/v1/attention/ops/triton_decode_attention.py", + "sha256": "b9823c65eba22d76abf64dad7d7d16a950f67471c86d6cb5b3e983aaf14381ac" + }, + "vllm/v1/attention/ops/triton_merge_attn_states.py": { + "path": "/vllm/v1/attention/ops/triton_merge_attn_states.py", + "sha256": "f63229162181ab93198550b73a115f1cc1034cfd60e6f58bc8ab3e22a6e8ce60" + }, + "vllm/v1/attention/ops/triton_prefill_attention.py": { + "path": "/vllm/v1/attention/ops/triton_prefill_attention.py", + "sha256": "352c1a4ac86146580040579fb217c2e288268830d6602b735713e154f36d74fe" + }, + "vllm/v1/attention/ops/triton_reshape_and_cache_flash.py": { + "path": "/vllm/v1/attention/ops/triton_reshape_and_cache_flash.py", + "sha256": "6cac51475b8c656992a21b2d150acd3a16a95a7ab7d49aab151a3ef13c24b80d" + }, + "vllm/v1/attention/ops/triton_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/triton_turboquant_decode.py", + "sha256": "8e52678136449e4bbca2195fbcbb87426c955a2b1b8422e7ab9511e45ee5f5c6" + }, + "vllm/v1/attention/ops/triton_turboquant_store.py": { + "path": "/vllm/v1/attention/ops/triton_turboquant_store.py", + "sha256": "6e6e2fe74a307d40f0be786ccbaea76d989e3c7b5985f3144a5218c61bf6d902" + }, + "vllm/v1/attention/ops/triton_unified_attention.py": { + "path": "/vllm/v1/attention/ops/triton_unified_attention.py", + "sha256": "65d0fbcf33d00789df8ca688c0a1c908e710cfaef53471178747ecae11f05829" + }, + "vllm/v1/attention/ops/triton_unified_attention_diffkv.py": { + "path": "/vllm/v1/attention/ops/triton_unified_attention_diffkv.py", + "sha256": "7fa36d7b7441f1c396e0348eac61d691d2e459e5c4c393c4aa262dfb670e68f7" + }, + "vllm/v1/attention/ops/turboquant_soa/__init__.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/__init__.py", + "sha256": "6b43b6fcb2a71c44ceff4ed1edd417a839f4901251ba15831b09ad979baa4984" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode.py", + "sha256": "bf00634191bba14cbf4a23c1d67dc3dcb244c2b8989f08362757b54435830986" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode_v2.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode_v2.py", + "sha256": "28e7ecc15c450d3591983a50c46a03aa6ca6fa99304c17c333940617d9916485" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_store.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_store.py", + "sha256": "dccf93b9fdd34f9b9eacd468e9de35b9d93378594487c335cf50642aaec681f2" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_unified_attention.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_unified_attention.py", + "sha256": "b4b2b5f3985b3a6126fd052e6ec1ed91c610da8a525a9ae7470ac829405bd85c" + }, + "vllm/v1/attention/ops/vit_attn_wrappers.py": { + "path": "/vllm/v1/attention/ops/vit_attn_wrappers.py", + "sha256": "a99d57b58269c7521fa5d7d47af06551f3bab2b5c7358ef78165a7f6e20a92a6" + }, + "vllm/v1/attention/ops/xpu_mla_sparse.py": { + "path": "/vllm/v1/attention/ops/xpu_mla_sparse.py", + "sha256": "d98d17110577c2b7b4d05e07bfdae15faf83321b6342a5daaaecce45b9503f38" + }, + "vllm/v1/attention/selector.py": { + "path": "/vllm/v1/attention/selector.py", + "sha256": "87f653ded7974875183c920e3e4589c28116bcbc99714d1da7cb51ae77c0b182" + }, + "vllm/v1/core/sched/__init__.py": { + "path": "/vllm/v1/core/sched/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/core/sched/async_scheduler.py": { + "path": "/vllm/v1/core/sched/async_scheduler.py", + "sha256": "e586a0ef3c6778be56a93e7f9bb712d4de9de6e7d7fe7e3e1d51dae83ecfc508" + }, + "vllm/v1/core/sched/interface.py": { + "path": "/vllm/v1/core/sched/interface.py", + "sha256": "be6c008664096c5660a8879de72b315bbe479bf1d688be9b25891063ec53a367" + }, + "vllm/v1/core/sched/output.py": { + "path": "/vllm/v1/core/sched/output.py", + "sha256": "3a66c8efaefe10c572f6f33cf1f8aa4610758c945130cad62eb9f7331005677c" + }, + "vllm/v1/core/sched/request_queue.py": { + "path": "/vllm/v1/core/sched/request_queue.py", + "sha256": "4b8d938e5fb8152fe61030b8aa991f983fcac9a405c37ed8908045e05e82ae5e" + }, + "vllm/v1/core/sched/scheduler.py": { + "path": "/vllm/v1/core/sched/scheduler.py", + "sha256": "c1db45f3bbad3a875dd8638331b8870c4380ac1ab4734265ba5c863833a82884" + }, + "vllm/v1/core/sched/utils.py": { + "path": "/vllm/v1/core/sched/utils.py", + "sha256": "1ed988044eb8028c77ede875bd1a5fd05ff6998b455d61e3997d6a3d7fc1c3a7" + }, + "vllm/v1/sample/__init__.py": { + "path": "/vllm/v1/sample/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/sample/logits_processor/__init__.py": { + "path": "/vllm/v1/sample/logits_processor/__init__.py", + "sha256": "1f9b02dae8cf6d44484638037123d3a2dec6b7b9a2bcc9afceef1a9bf3eaedec" + }, + "vllm/v1/sample/logits_processor/builtin.py": { + "path": "/vllm/v1/sample/logits_processor/builtin.py", + "sha256": "6105816ece77e5b1dbee0d07abc90ce039d650bac2ddb85c93280c48b00f2ebe" + }, + "vllm/v1/sample/logits_processor/interface.py": { + "path": "/vllm/v1/sample/logits_processor/interface.py", + "sha256": "171dfc6ef9b5b53128e8eaecc4bdf1de413a706d64bf5be686048f583c66eee1" + }, + "vllm/v1/sample/logits_processor/state.py": { + "path": "/vllm/v1/sample/logits_processor/state.py", + "sha256": "a96411f14362c45f839e181dcb3ac01d5b880812bccb3552fc17863b219f44ac" + }, + "vllm/v1/sample/metadata.py": { + "path": "/vllm/v1/sample/metadata.py", + "sha256": "6582cfe1a240c7ddb975f0ef6dd7dcd28dcf0fc7670394390250013977aa7ffd" + }, + "vllm/v1/sample/ops/__init__.py": { + "path": "/vllm/v1/sample/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/sample/ops/bad_words.py": { + "path": "/vllm/v1/sample/ops/bad_words.py", + "sha256": "0b1d0a9b13b92ddcae2c83393c07a34c0f107813725700dee794caa7fe7f3b12" + }, + "vllm/v1/sample/ops/logprobs.py": { + "path": "/vllm/v1/sample/ops/logprobs.py", + "sha256": "b286f69012a6758bfe9250038b0697294dbffe0d32c6906f284c39f75ee48be3" + }, + "vllm/v1/sample/ops/penalties.py": { + "path": "/vllm/v1/sample/ops/penalties.py", + "sha256": "4debfcf247b3887478d2b9ec98f108756bbed2805462777ef6b56f3bdf4ce682" + }, + "vllm/v1/sample/ops/topk_topp_sampler.py": { + "path": "/vllm/v1/sample/ops/topk_topp_sampler.py", + "sha256": "13ea4359832bc914492330958ec4f5ac140f408b8f410cc05c6eaf7ddcd70be4" + }, + "vllm/v1/sample/ops/topk_topp_triton.py": { + "path": "/vllm/v1/sample/ops/topk_topp_triton.py", + "sha256": "0b5fc337058e22bc28a8530ccec904d6ccd89b9548b02955c657ac429b1669d2" + }, + "vllm/v1/sample/rejection_sampler.py": { + "path": "/vllm/v1/sample/rejection_sampler.py", + "sha256": "0bb9d224887ccb1355e16199005cc23a4afc6fa75156eca419851b7247d99750" + }, + "vllm/v1/sample/sampler.py": { + "path": "/vllm/v1/sample/sampler.py", + "sha256": "f95805b2c6d06218c724826aa5f881a606e8d0a534a566aee7c85948520dd216" + }, + "vllm/v1/sample/thinking_budget_state.py": { + "path": "/vllm/v1/sample/thinking_budget_state.py", + "sha256": "962f8f55210eb0a431cb9c78b013e35f7a7dd58d06d6fb2e7fcff1b457356f8e" + }, + "vllm/v1/worker/__init__.py": { + "path": "/vllm/v1/worker/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/block_table.py": { + "path": "/vllm/v1/worker/block_table.py", + "sha256": "a09b8819e1417b7a186cf3472224e2138fc5d41a291c6692bb7df711b0c44259" + }, + "vllm/v1/worker/cp_utils.py": { + "path": "/vllm/v1/worker/cp_utils.py", + "sha256": "e32625d83a641b8dd8df82e92d1b6fb20af0cdf2e8fbd2fb131aa3c215415448" + }, + "vllm/v1/worker/cpu/__init__.py": { + "path": "/vllm/v1/worker/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/cpu/buffer_utils.py": { + "path": "/vllm/v1/worker/cpu/buffer_utils.py", + "sha256": "e7313fd8c2c76ebfb98d2fa53008bc9691d0f83a7d7c05e87602b5a29fb79e04" + }, + "vllm/v1/worker/cpu/model_runner.py": { + "path": "/vllm/v1/worker/cpu/model_runner.py", + "sha256": "24a1c916550051327dd5893243a6d4200f3824b91b3af8aa6f6c793fd7c68c3e" + }, + "vllm/v1/worker/cpu/shm.py": { + "path": "/vllm/v1/worker/cpu/shm.py", + "sha256": "08491af8ad341399d1375f2d21ad00414d4c89b0a5c03f55de8704914bbfcbd9" + }, + "vllm/v1/worker/cpu_model_runner.py": { + "path": "/vllm/v1/worker/cpu_model_runner.py", + "sha256": "92111aba92f00571f1a3c4c6e43cf1da6ccb4d2afac2f4d5abc018a4a6e7e8bd" + }, + "vllm/v1/worker/cpu_worker.py": { + "path": "/vllm/v1/worker/cpu_worker.py", + "sha256": "a8051b9e510ef0af9cc34004f2cbe5c0f902bd0cebc32c9464e744344dfdf849" + }, + "vllm/v1/worker/dp_utils.py": { + "path": "/vllm/v1/worker/dp_utils.py", + "sha256": "8cd19f1bfbc5c4f6ec60df89aea7c8a19b400ebc264f372b103014152e92158c" + }, + "vllm/v1/worker/ec_connector_model_runner_mixin.py": { + "path": "/vllm/v1/worker/ec_connector_model_runner_mixin.py", + "sha256": "fe9b11cebb8562f1bfe98b98a5647b2b081a6e424cb60d4ffe2412c91a99215e" + }, + "vllm/v1/worker/encoder_cudagraph.py": { + "path": "/vllm/v1/worker/encoder_cudagraph.py", + "sha256": "6a08d3779bca1b47dbf9daf6eafe2d3c70dbcb8aeb7d63ba7efacc68241ee3bc" + }, + "vllm/v1/worker/encoder_cudagraph_defs.py": { + "path": "/vllm/v1/worker/encoder_cudagraph_defs.py", + "sha256": "bb7be050fcaa8868e7816c84caec875da57050d65fe7eaf00f3d41473df25e3a" + }, + "vllm/v1/worker/gpu/__init__.py": { + "path": "/vllm/v1/worker/gpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/async_utils.py": { + "path": "/vllm/v1/worker/gpu/async_utils.py", + "sha256": "77e17a4570ead2be30ae9b00888cf077a3b873018c12ca0549b853bfda02c1ba" + }, + "vllm/v1/worker/gpu/attn_utils.py": { + "path": "/vllm/v1/worker/gpu/attn_utils.py", + "sha256": "b9b81e59dda2720b1f9c434471381f879228832443e52756e469b4ad4905888f" + }, + "vllm/v1/worker/gpu/block_table.py": { + "path": "/vllm/v1/worker/gpu/block_table.py", + "sha256": "61c004315d5af7e7eae4e2a9e6be92ea82c520327690a7f55a73bb9ce95f520a" + }, + "vllm/v1/worker/gpu/buffer_utils.py": { + "path": "/vllm/v1/worker/gpu/buffer_utils.py", + "sha256": "6597f701a30261bf250e9ad5a29737264624a1caa20527aeea0dad630325b093" + }, + "vllm/v1/worker/gpu/cp_utils.py": { + "path": "/vllm/v1/worker/gpu/cp_utils.py", + "sha256": "456c1bb7e262d99ff555522a4f134e5a9b42aee23290be25455eaef36ee8eaaf" + }, + "vllm/v1/worker/gpu/cudagraph_utils.py": { + "path": "/vllm/v1/worker/gpu/cudagraph_utils.py", + "sha256": "6e9c042890603535e300a40df8ee159dbed1058a64a83ae50ff0329e332e05ff" + }, + "vllm/v1/worker/gpu/dp_utils.py": { + "path": "/vllm/v1/worker/gpu/dp_utils.py", + "sha256": "e26867bc89e6bfc933cabc5ed13e5dc7b8d2d3030118ca1ca64c8785dabc0fc1" + }, + "vllm/v1/worker/gpu/ec_connector.py": { + "path": "/vllm/v1/worker/gpu/ec_connector.py", + "sha256": "2afe6e641f4ae3eb3b8da336c74eaa7479bf617b27cfb39a1fcbe487686f0a08" + }, + "vllm/v1/worker/gpu/eplb_utils.py": { + "path": "/vllm/v1/worker/gpu/eplb_utils.py", + "sha256": "1829fac11464aed4649179b302df198de51b95d0589f4e56bea305a876a63e26" + }, + "vllm/v1/worker/gpu/input_batch.py": { + "path": "/vllm/v1/worker/gpu/input_batch.py", + "sha256": "d5dd956eb319bd69dd9e762047833d81ad40b21fce619fcb2133759e73620694" + }, + "vllm/v1/worker/gpu/kv_connector.py": { + "path": "/vllm/v1/worker/gpu/kv_connector.py", + "sha256": "b89a4333f1e552d86e1815674b59e9f1335f0f49c0a7b46082439076f62c6a81" + }, + "vllm/v1/worker/gpu/lora_utils.py": { + "path": "/vllm/v1/worker/gpu/lora_utils.py", + "sha256": "1e90eddd9ddb4ca55e574bb28e87ae3a6f6750175a62d373102426543f4ccd66" + }, + "vllm/v1/worker/gpu/metrics/__init__.py": { + "path": "/vllm/v1/worker/gpu/metrics/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/metrics/logits.py": { + "path": "/vllm/v1/worker/gpu/metrics/logits.py", + "sha256": "ea058d7510a077a55f8ac7e4c3d596508346244e908cb372865d7159f62edc89" + }, + "vllm/v1/worker/gpu/mm/__init__.py": { + "path": "/vllm/v1/worker/gpu/mm/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/mm/encoder_cache.py": { + "path": "/vllm/v1/worker/gpu/mm/encoder_cache.py", + "sha256": "89c500338fddbeee7c4fca978a3a7c4c566a03e848e399d303fbee3c80631cd2" + }, + "vllm/v1/worker/gpu/mm/encoder_runner.py": { + "path": "/vllm/v1/worker/gpu/mm/encoder_runner.py", + "sha256": "0981e352d70301b7154a217a48665ffe35f215d053ec5740c2515a3e1e11b4e6" + }, + "vllm/v1/worker/gpu/mm/lora.py": { + "path": "/vllm/v1/worker/gpu/mm/lora.py", + "sha256": "a3eddfad6ad64de276964240c28dc080888df4a56dd5eac18f89428f2cbb7a01" + }, + "vllm/v1/worker/gpu/mm/rope.py": { + "path": "/vllm/v1/worker/gpu/mm/rope.py", + "sha256": "0924375bcb367267e783b57dd2ad9de1189d97025ce4313baaa54f2911eaaf1e" + }, + "vllm/v1/worker/gpu/model_runner.py": { + "path": "/vllm/v1/worker/gpu/model_runner.py", + "sha256": "174c93db921c23cf0396eee4764be25b2bd2d4b6a06e9fa41ce3598b884ce8ce" + }, + "vllm/v1/worker/gpu/model_states/__init__.py": { + "path": "/vllm/v1/worker/gpu/model_states/__init__.py", + "sha256": "07815d0b788fc88185772f581bbf892a675259f9288375571f29887622f8d93c" + }, + "vllm/v1/worker/gpu/model_states/default.py": { + "path": "/vllm/v1/worker/gpu/model_states/default.py", + "sha256": "bb614f814780f052e869f9acf31dfbfa68718ee7dc6252eefa901b5730ee8a2a" + }, + "vllm/v1/worker/gpu/model_states/encoder_decoder.py": { + "path": "/vllm/v1/worker/gpu/model_states/encoder_decoder.py", + "sha256": "a5868059d8af672548b41d0e623e884320e6ed61e6aaca2d2828ff5be0356f2f" + }, + "vllm/v1/worker/gpu/model_states/encoder_only.py": { + "path": "/vllm/v1/worker/gpu/model_states/encoder_only.py", + "sha256": "84e96b55a2639e2a73fa4a0308acc89c8d053dc715481180b237e0196dcef99f" + }, + "vllm/v1/worker/gpu/model_states/interface.py": { + "path": "/vllm/v1/worker/gpu/model_states/interface.py", + "sha256": "5675b6fedc7403a9ab410b1e5565974e78fac23c42ab4253ae1da52d6e09b594" + }, + "vllm/v1/worker/gpu/model_states/mamba_hybrid.py": { + "path": "/vllm/v1/worker/gpu/model_states/mamba_hybrid.py", + "sha256": "573e130ac5587d4822fabf97adad1ad0fda02ff83c5e70df879a5bb175ae845c" + }, + "vllm/v1/worker/gpu/model_states/mm_pruning.py": { + "path": "/vllm/v1/worker/gpu/model_states/mm_pruning.py", + "sha256": "b150940b12ae76048f050a8eeb54d532bbdc530a18ffbf320ddeeb0cfaa90f93" + }, + "vllm/v1/worker/gpu/model_states/prompt_embeds.py": { + "path": "/vllm/v1/worker/gpu/model_states/prompt_embeds.py", + "sha256": "11f9e270925c2df6a505557605ac2b859bb145cf3420b0111e7482a1c544f9b1" + }, + "vllm/v1/worker/gpu/model_states/recoverssm.py": { + "path": "/vllm/v1/worker/gpu/model_states/recoverssm.py", + "sha256": "b4b660e62eaf33f4fe8271f83ed1fb6de6bc08f800a8073b27803e42fb29a645" + }, + "vllm/v1/worker/gpu/pcp_manager.py": { + "path": "/vllm/v1/worker/gpu/pcp_manager.py", + "sha256": "2d80df0ed5b18a2069f9d0689cb59923ffe324ba200fcafe242da23da3a6ddaa" + }, + "vllm/v1/worker/gpu/pool/__init__.py": { + "path": "/vllm/v1/worker/gpu/pool/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/pool/pooling_runner.py": { + "path": "/vllm/v1/worker/gpu/pool/pooling_runner.py", + "sha256": "f8463f7648cce0f3f29418a4d9fee61634ead760957cf236d06d61cf8cd986e7" + }, + "vllm/v1/worker/gpu/pp_utils.py": { + "path": "/vllm/v1/worker/gpu/pp_utils.py", + "sha256": "dadeef0bebf61d0ad44a28d06372208ec4e6389224d6017f412683b026bdbb5c" + }, + "vllm/v1/worker/gpu/sample/__init__.py": { + "path": "/vllm/v1/worker/gpu/sample/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/sample/bad_words.py": { + "path": "/vllm/v1/worker/gpu/sample/bad_words.py", + "sha256": "8d3cbd5613398260314d94739d8ee0e1ac0c22abf2f960f541d3c0d4e39d360b" + }, + "vllm/v1/worker/gpu/sample/batch_shard.py": { + "path": "/vllm/v1/worker/gpu/sample/batch_shard.py", + "sha256": "c30274a3a04e6a03e89be9cd7c62de602b1aba4d412f64540ab6201036de3928" + }, + "vllm/v1/worker/gpu/sample/gumbel.py": { + "path": "/vllm/v1/worker/gpu/sample/gumbel.py", + "sha256": "3ec1df510bdad13e8b0a457b5b67c98affdf6e57369e56cb471246cc8f40dd34" + }, + "vllm/v1/worker/gpu/sample/logit_bias.py": { + "path": "/vllm/v1/worker/gpu/sample/logit_bias.py", + "sha256": "9e80a3fe6f3c7474723408cfff52183f4585fdeedd9c2312843ee98d0b12724c" + }, + "vllm/v1/worker/gpu/sample/logprob.py": { + "path": "/vllm/v1/worker/gpu/sample/logprob.py", + "sha256": "f47479a818192acb6b297c79fa67a3b2f9820e3492a394d5adda777e9b7c832e" + }, + "vllm/v1/worker/gpu/sample/min_p.py": { + "path": "/vllm/v1/worker/gpu/sample/min_p.py", + "sha256": "4cb5e2f45e1ced6f9685283a7a5c8cfd7204d9a249822e866cfff756c7f04f62" + }, + "vllm/v1/worker/gpu/sample/output.py": { + "path": "/vllm/v1/worker/gpu/sample/output.py", + "sha256": "d6e298c0f197d487a8faaf7200f500fa83df1d7a4bbf4339cadd6a18008f7f9c" + }, + "vllm/v1/worker/gpu/sample/penalties.py": { + "path": "/vllm/v1/worker/gpu/sample/penalties.py", + "sha256": "46c29434caf5f415129ef4a9bb2b8d4f62d2765596e3e07f73ad2b198c7def1b" + }, + "vllm/v1/worker/gpu/sample/prompt_logprob.py": { + "path": "/vllm/v1/worker/gpu/sample/prompt_logprob.py", + "sha256": "4cf22d390e7bf59e44c458cff7180268db63e95d06af2f1e14d720a2d77c9663" + }, + "vllm/v1/worker/gpu/sample/sampler.py": { + "path": "/vllm/v1/worker/gpu/sample/sampler.py", + "sha256": "832c9945d201a1e730ff9b4b52076aa83bd4a5064e1e4cfea952cf84d4a8d1f0" + }, + "vllm/v1/worker/gpu/sample/states.py": { + "path": "/vllm/v1/worker/gpu/sample/states.py", + "sha256": "4e3671f93695ba5a48fad7d2d13beb231ac8741034904ed5a15d9f7b9b86662e" + }, + "vllm/v1/worker/gpu/sample/thinking_budget.py": { + "path": "/vllm/v1/worker/gpu/sample/thinking_budget.py", + "sha256": "020513e1d3406f367de6ad995a95055008fd0c28f2873647e8283c9870e22404" + }, + "vllm/v1/worker/gpu/sample/trace_replay.py": { + "path": "/vllm/v1/worker/gpu/sample/trace_replay.py", + "sha256": "d2a7d3b3b55379efabe4740a4b7f14030126dc11be36f6ea974164ce42316a50" + }, + "vllm/v1/worker/gpu/sample/watermark.py": { + "path": "/vllm/v1/worker/gpu/sample/watermark.py", + "sha256": "a3581458169dab9153eb09fd67218e0ee5585406537a9de80ad528ae62b030c0" + }, + "vllm/v1/worker/gpu/shutdown.py": { + "path": "/vllm/v1/worker/gpu/shutdown.py", + "sha256": "bb470f14b17c7e52571ef8938b2a9527e7c2846852ae8a3a94b69cd1c30aa4b1" + }, + "vllm/v1/worker/gpu/spec_decode/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/__init__.py", + "sha256": "1f1f84bfe6f4f5af3a7e21a7a8716ecf7b9013da1d03327668a3ee36afc24c32" + }, + "vllm/v1/worker/gpu/spec_decode/acceptance_estimator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/acceptance_estimator.py", + "sha256": "505b843bdd75928b03793b395b47b8be914bd7fe2a3351c8ec04339baeebb1c2" + }, + "vllm/v1/worker/gpu/spec_decode/adaptive_verification.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/adaptive_verification.py", + "sha256": "276b2fec56758a94c71b717f6786b8a6f126db2e20cf964350202feee61a0a39" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/cudagraph_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/cudagraph_utils.py", + "sha256": "13392ef0a9ed59eb9c2b2bad43d7c61beb212a8805849e46b5130c230275d0a5" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/speculator.py", + "sha256": "5b97f54e20ddf65b98e939832d050745f67ef43cfa145786da300f1a8322e3c6" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/cudagraph.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/cudagraph.py", + "sha256": "beab567ae2df6a2ba2cd92fe7ee452c6b959b8a7037a4b5f493993a1824619bb" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/speculator.py", + "sha256": "f9c100f42f9326e48eb84e89281897e859ba761943f54d593523555ccd98dc63" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/utils.py", + "sha256": "53d2c3ad474d290d2c6df027446bbd80ac7447684e5242ab2c3c5337d2abd383" + }, + "vllm/v1/worker/gpu/spec_decode/dflash2/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash2/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/dflash2/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash2/speculator.py", + "sha256": "b70043550938a1df9aecc85d8c8224c38c929ca34f68834572f6e723854d2027" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/speculator.py", + "sha256": "dcf4abdedbd2bddd0d76be198ccf5b4e467c46f645038c35fcab821491a35b03" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/utils.py", + "sha256": "86af2bf30604a184312e8f076097b91ecfec704f409f9d68d634b03d6b318070" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/eagle3_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/eagle3_utils.py", + "sha256": "201ee875fcc3d076a8fc1f3876dcbf85736b221a368555243a8987ff26a1674e" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/speculator.py", + "sha256": "746e318a4f266d75522ff7f3731ea9b4527b7b4824f71364d1a62184ea1f7b3d" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/utils.py", + "sha256": "94de6f55a1761f24f4aa1388cbc3b3763d4ab3ee53260330056ad31ce0b78236" + }, + "vllm/v1/worker/gpu/spec_decode/extract_hidden_states.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/extract_hidden_states.py", + "sha256": "93c4233be7b2d2290b33902ea9b3bb5274c11701830851d03967a22144536e2d" + }, + "vllm/v1/worker/gpu/spec_decode/gemma4/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/gemma4/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/gemma4/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/gemma4/speculator.py", + "sha256": "9991210d7babd2caf2cd10797ca8688543dedeafbc3b86bc7c979c1a6ae9f949" + }, + "vllm/v1/worker/gpu/spec_decode/mtp/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/mtp/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/mtp/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/mtp/speculator.py", + "sha256": "926d6c9ffdb368c971647911a60493820d056ce236fcae9d94a42fa2e006255d" + }, + "vllm/v1/worker/gpu/spec_decode/multi_module_mtp/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/multi_module_mtp/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/multi_module_mtp/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/multi_module_mtp/speculator.py", + "sha256": "d9d4735b9b33829332b0e845b6d3073b2f0436045ed693b25c6434f351644127" + }, + "vllm/v1/worker/gpu/spec_decode/rejection_sampler.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/rejection_sampler.py", + "sha256": "030db5bfca162cc1f305112f299de5d6d61c59d3ed0807fee46575441ca4086d" + }, + "vllm/v1/worker/gpu/spec_decode/rejection_sampler_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/rejection_sampler_utils.py", + "sha256": "214b61fa0abe88573beb779872c035b3954e5651a85bd438d99ee5905d3a62ec" + }, + "vllm/v1/worker/gpu/spec_decode/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/speculator.py", + "sha256": "3a1ab15bf8b20918852eb835fe9755046e99dcbac6ba6ca3d414949fc8bc695a" + }, + "vllm/v1/worker/gpu/spec_decode/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/utils.py", + "sha256": "282f2929eddae9ca7312269f799be07472334b6df9fd91878b5e839ec05e418c" + }, + "vllm/v1/worker/gpu/states.py": { + "path": "/vllm/v1/worker/gpu/states.py", + "sha256": "99418f5df43ca612ded72609fee011620b065b2cab2f249ccb387096bf4ae71a" + }, + "vllm/v1/worker/gpu/structured_outputs.py": { + "path": "/vllm/v1/worker/gpu/structured_outputs.py", + "sha256": "18a10532db7e66b55e334acacd1fd989ad6361adf31dd0de9a9a65e23db25951" + }, + "vllm/v1/worker/gpu/ubatch_utils.py": { + "path": "/vllm/v1/worker/gpu/ubatch_utils.py", + "sha256": "5092e2e58af0561c8dc12e62847cfc6dda9ca20dfbd33e7f0cd77a83fe87f7c5" + }, + "vllm/v1/worker/gpu/warmup.py": { + "path": "/vllm/v1/worker/gpu/warmup.py", + "sha256": "423ac32d58fe008c228cfa223e4fcebfcf87e3463a9dbdf80a083c0578d73723" + }, + "vllm/v1/worker/gpu_input_batch.py": { + "path": "/vllm/v1/worker/gpu_input_batch.py", + "sha256": "18cf455c9d0eea61cc581c7932f2e6cd09786914e82dd35eef1c1430da359a0f" + }, + "vllm/v1/worker/gpu_model_runner.py": { + "path": "/vllm/v1/worker/gpu_model_runner.py", + "sha256": "87c29d08c0bbf66993d8b984811e7325e35e6436242a773feb55ec88f16b2c51" + }, + "vllm/v1/worker/gpu_ubatch_wrapper.py": { + "path": "/vllm/v1/worker/gpu_ubatch_wrapper.py", + "sha256": "4233cfbe8c9884b042c4363890108f616483b694ebe9a6e69578dcf89c6dac5c" + }, + "vllm/v1/worker/gpu_worker.py": { + "path": "/vllm/v1/worker/gpu_worker.py", + "sha256": "6994436e4547c0996ab555b3e814e8ccea26b650dfc1b378b97d640745309347" + }, + "vllm/v1/worker/kv_connector_model_runner_mixin.py": { + "path": "/vllm/v1/worker/kv_connector_model_runner_mixin.py", + "sha256": "e1cc76d065a7e60aacddb190ae795a480b65cd02ba71a1fc699a02a85c1a3de2" + }, + "vllm/v1/worker/lora_model_runner_mixin.py": { + "path": "/vllm/v1/worker/lora_model_runner_mixin.py", + "sha256": "fef6092a15d8d37f6fa22495e6106e2e5280180908d61ce43d9ff5bf4eef3f2f" + }, + "vllm/v1/worker/mamba_utils.py": { + "path": "/vllm/v1/worker/mamba_utils.py", + "sha256": "23fdaa4e8f63ee8f938eaa1a2b39f803cb04fa6ecd69789563254b1a0691413a" + }, + "vllm/v1/worker/mm_encoder_model_runner.py": { + "path": "/vllm/v1/worker/mm_encoder_model_runner.py", + "sha256": "780c41be84ad022205c21c1decb6bb8d5afb03bc7be120c1f7df03b710acc3d7" + }, + "vllm/v1/worker/sentinel/__init__.py": { + "path": "/vllm/v1/worker/sentinel/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/sentinel/gpu_worker_sentinel.py": { + "path": "/vllm/v1/worker/sentinel/gpu_worker_sentinel.py", + "sha256": "3959b8619d052c5dd247815074e03ec21ec9b43cc424ff2d296abc19b227b852" + }, + "vllm/v1/worker/startup_plan.py": { + "path": "/vllm/v1/worker/startup_plan.py", + "sha256": "84bcbb4f7a9fd7c8d10c9c895aadd9673d44c767b9132368d11eb5e017afe86b" + }, + "vllm/v1/worker/ubatch_utils.py": { + "path": "/vllm/v1/worker/ubatch_utils.py", + "sha256": "b34dce551b5195c414e6a3a997c75961cc7a17f24c7c980487fe3d3e2ba7a798" + }, + "vllm/v1/worker/ubatching.py": { + "path": "/vllm/v1/worker/ubatching.py", + "sha256": "40391241c564feb5f16c77898ae6ae152ed6e71a4682e2a406387785d8de02d7" + }, + "vllm/v1/worker/utils.py": { + "path": "/vllm/v1/worker/utils.py", + "sha256": "0ca3ec6bf4d20076145b7fe64e564962adebedc8f75a856b517ba0b2f2d77acf" + }, + "vllm/v1/worker/worker_base.py": { + "path": "/vllm/v1/worker/worker_base.py", + "sha256": "4a1a5266b912fe97991d8dc89d92b923990da9f6cb4b817d00d52e9c0d26dd7c" + }, + "vllm/v1/worker/workspace.py": { + "path": "/vllm/v1/worker/workspace.py", + "sha256": "d21c08167d1d0d1c0cddaa80453a53a0b4dec5d81b5a537c94a21324344976b3" + }, + "vllm/v1/worker/xpu_model_runner.py": { + "path": "/vllm/v1/worker/xpu_model_runner.py", + "sha256": "07fa0390d28f2b8c3c3c0019eb9c3b126e2397aea268ba47c889f06b423deb23" + }, + "vllm/v1/worker/xpu_worker.py": { + "path": "/vllm/v1/worker/xpu_worker.py", + "sha256": "711b56432506b58041cd86e71320c3960413f7bd61061990b66488421d81cfc3" + } + }, + "prefix": "", + "pth": { + "/__editable__.megatron_core-0.16.0rc0.pth": "d55c9b64480b34aae3d4d31e7706b93391c969dec6e0498e50963b03445a57b0", + "/__editable__.rl_kernel-0.1.0.pth": "1454c4987b35762a0d189d4e901c5d077fde62a1944fbaabecea230e57f3923a", + "/__editable__.vime-0.3.2.pth": "77eec5d06d628cb952e65edd813ca88d8db67ccc785083e1b7b29011b92bec4f", + "/distutils-precedence.pth": "2638ce9e2500e572a5e0de7faed6661eb569d1b696fcba07b0dd223da5f5d224", + "/qwen3_next_cuda_runtime.pth": "e0d3ab57dd3ff4f5d55fcf76e83c549cc00b3c813e6f717c540d5ded79fa2f49", + "/qwen3_next_megatron_source.pth": "8556ac057538e82856cb76cbbc954f58312a3f45373daec3eec826031cfd2709", + "/__editable__.rl_kernel-0.1.0.pth": "1454c4987b35762a0d189d4e901c5d077fde62a1944fbaabecea230e57f3923a", + "/distutils-precedence.pth": "2638ce9e2500e572a5e0de7faed6661eb569d1b696fcba07b0dd223da5f5d224", + "/nvidia_cutlass_dsl_packages.pth": "cc710b99ddb3d76361a70461461d274212a979d00c381d821fce5bb3ad9cf246" + }, + "pyvenv_cfg_sha256": "48579f2c6d35c3d535c2690d7d426587c4b8e92021463f0266b38d35dfbbb834", + "sources": { + "/Megatron-LM-training": { + "patch_sha256": "f66035f12501aa1d08e8884e0dea5a22d59825d717aeda73c3e83876e3efd79f", + "path": "/Megatron-LM-training", + "tree": "731fc44a368d6cac8c6171a29d5c687ff0d95bd1" + }, + "/vime": { + "patch_sha256": "66949839d4c18329444f4f9f6dcd702b53ce1b94e9aa15ed111f28743bfaa4b9", + "path": "/vime", + "tree": "f5174e67dbcdaef983eecd45f215fef2d8429dd0" + } + }, + "version": "3.12.14 | packaged by Anaconda, Inc. | (main, Aug 27 2026, 14:46:43) [GCC 14.3.0]" + }, + "sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca" + }, + "gpu_uuids": [ + "f84b0ae3-604b-7194-e772-280f5d102d46", + "225c7841-f606-0248-cce4-31f3ae0b215d", + "46fa983d-5878-1d92-4a61-197f569e8b01", + "79936bd2-1377-8dcf-bdb1-e6e772d0e0f3" + ], + "execution_gpus": 4 +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/train1/l2_matrix.json b/docs/usage/evidence/qwen3-next-chain-b200/train1/l2_matrix.json new file mode 100644 index 000000000..0e16ea019 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/train1/l2_matrix.json @@ -0,0 +1,2236 @@ +{ + "schema_version": 1, + "status": "passed", + "scope": "qwen3_next_full_model_l2", + "identity": { + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "checkpoint": "/training-state/exports/update-1-f87a0894d7e3487ab846e9c14a93ebd7", + "weight_version": "update-1", + "checkpoint_identity": { + "schema_version": 1, + "kind": "qwen3_next_native_hf_export", + "status": "complete", + "weight_version": "update-1", + "step": 1, + "export_id": "update-1-f87a0894d7e3487ab846e9c14a93ebd7", + "base_checkpoint": "", + "base_checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "training_identity": { + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "checkpoint": "", + "weight_version": "baseline", + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32", + "run_id": "20261009T041838Z-train1-c67ec144-39e7db9f", + "execution_id": "39e7db9f488142f4b52872e05728c390", + "fixture_sha256": "7c98e4e17cc24bd0c5f65f6515d58a9dfc947afcdb6d4956bd3fa05f24bb28b6" + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "model_rank_sha256": [ + "b12ccd72c30d1e2b1f6b2d9dcea802b7f56fd9d1a3d2d12f9270a7e74477c239", + "fff3429154925b704ae6a0e32e201a6668010b1422f801719c4cb292e959270e", + "94de326423999244a6e2c1b8529de8fe99d541ae6be36333bd4fe685879b919a", + "bc93233b2211d6b646b7aeb0025f1ae8e03cec4c8467efb6ef64bbca5f0c6e2c" + ], + "model_identity_method": "native_parameter_hashes_after", + "base_passthrough": { + "prefixes": [ + "mtp." + ], + "tensor_count": 1553, + "shards": { + "model-base-passthrough-00001-of-00001.safetensors": { + "source": "model-00041-of-00041.safetensors", + "tensor_count": 1553 + } + }, + "names_sha256": "622080f1d1b3060957aab28c98f5a728d0c1e9b44d624474a752d0dc9a90566d" + }, + "files": { + "STAGING.json": { + "size": 27893, + "sha256": "4a6c84a103abb807fdf9266f4700fbd39fdb8e23bd27aa68c7bbc71cdd46a167" + }, + "config.json": { + "size": 1154, + "sha256": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303" + }, + "generation_config.json": { + "size": 221, + "sha256": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217" + }, + "merges.txt": { + "size": 1671839, + "sha256": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3" + }, + "model-00001-of-00147.safetensors": { + "size": 4216, + "sha256": "f297513e1c5e05a652b167b82a9e2c48ab5eab9ccc489d9b0db6da892675adbe" + }, + "model-00002-of-00147.safetensors": { + "size": 1073804696, + "sha256": "37d22679fabb76cdd0c8673d50e8b5dd58e7789be9572fb671cf90884280233b" + }, + "model-00003-of-00147.safetensors": { + "size": 2147609384, + "sha256": "3866e07b97f72f4333b55066a26b085b518ad23d4cb3a9a559c5d7442353170a" + }, + "model-00004-of-00147.safetensors": { + "size": 75839416, + "sha256": "e4657ed85147879ab2e2fc76bff5864274b59b5cd65a54d61505eafd3ab94b5d" + }, + "model-00005-of-00147.safetensors": { + "size": 1073804696, + "sha256": "7e788cd4fc6a29defad7add5219ef6c3a58b6e0b8818a93d91f7f1c12b19e7a7" + }, + "model-00006-of-00147.safetensors": { + "size": 2147609384, + "sha256": "826a2265753c06a5daa89c4cb6099498ef8cd3772f3e5d25466341d4339e5b8a" + }, + "model-00007-of-00147.safetensors": { + "size": 75839416, + "sha256": "af721b986d7a2a4d9e2c72544395216d6db56a781e246672aba9bfe95557b4dd" + }, + "model-00008-of-00147.safetensors": { + "size": 1073805208, + "sha256": "e83ff33619ee72d3de680abcb38b077308faf83d6bcacd5daa5465a7b987386c" + }, + "model-00009-of-00147.safetensors": { + "size": 2147610408, + "sha256": "93fe2ea6a8c0d68084fd2ff487e3cd34ea078ac17683351af90f0ae58d8a9dcc" + }, + "model-00010-of-00147.safetensors": { + "size": 75839432, + "sha256": "e64a44fcfc2b4587addc5347931ad654d2de9d1bcf8aa0893540dc3eccebb119" + }, + "model-00011-of-00147.safetensors": { + "size": 1073805208, + "sha256": "e506535b280c1ba9968ff24e01508056aa7cb989c471b5746015ec49275a0e69" + }, + "model-00012-of-00147.safetensors": { + "size": 2147610408, + "sha256": "2e14988c93bbfc4f822743150fda6b83a4a5b345ad83311d702694cd76304d24" + }, + "model-00013-of-00147.safetensors": { + "size": 62929376, + "sha256": "2b5ab3f712c4695cc9e5d27d80321d99132091542308f49212191d9fb7032b94" + }, + "model-00014-of-00147.safetensors": { + "size": 1073805208, + "sha256": "a0ea6b0b541d0efc410a7a582d20676c43093db396facabd857793b50c34fe60" + }, + "model-00015-of-00147.safetensors": { + "size": 2147610408, + "sha256": "07f3efc5832ea624800a0ff79746a2332b73182eca2f580cffacc11ae2e4fd66" + }, + "model-00016-of-00147.safetensors": { + "size": 75839432, + "sha256": "3fc3f6b7e893efcb32af42f24bfe6384cd72e97d1aea59cc45b5b103b9cdcd1a" + }, + "model-00017-of-00147.safetensors": { + "size": 1073805208, + "sha256": "3563f517ed39056cc58655e767a9da3e8ae2e9a4d8705bd23e8242e2f624ebef" + }, + "model-00018-of-00147.safetensors": { + "size": 2147610408, + "sha256": "254d9270c923eabad355541c2701c646654938ba9a873bf8dd287890c47ed723" + }, + "model-00019-of-00147.safetensors": { + "size": 75839432, + "sha256": "85c0b8b9bf8f12aa110c5360c7588fe95b3f3b02ebbc2e313afcb2c2fe0fd184" + }, + "model-00020-of-00147.safetensors": { + "size": 1073805208, + "sha256": "e57ee60dcd88c4d0678b8d59c4df86a98a4b87b1682691557a2c423a283f5a6a" + }, + "model-00021-of-00147.safetensors": { + "size": 2147610408, + "sha256": "b5db2b184974a08b48674dab1fa8abeaecb86a2554da5dd5f0d725af4ade6659" + }, + "model-00022-of-00147.safetensors": { + "size": 75839432, + "sha256": "cfa531071b643d8b48bfb7ce0d7817b98a4ab70a5e3e2417353880fd2b85818d" + }, + "model-00023-of-00147.safetensors": { + "size": 1073805208, + "sha256": "8c38af5fc89be3c444fa9eb308e86c547781f86b452b277e6ef047fc6cfb417a" + }, + "model-00024-of-00147.safetensors": { + "size": 2147610408, + "sha256": "c5bda9e186aece5ff7872f98e2f69a2a8d16122e1d4c7befa47bf0bbe3e5325d" + }, + "model-00025-of-00147.safetensors": { + "size": 62929376, + "sha256": "0dd46fd4f9af1704f9590579da6a065d90ffdcb97c7c83d36ef3a5658503647a" + }, + "model-00026-of-00147.safetensors": { + "size": 1073805208, + "sha256": "0f906e7916ffdea886e756ffb03f95d2cd714d9e2994529094029071d58822dd" + }, + "model-00027-of-00147.safetensors": { + "size": 2147610408, + "sha256": "e3bde1d0b2fb7b71ea3e2797e32411d62e697bf1b419548eb44e067dd5d2969f" + }, + "model-00028-of-00147.safetensors": { + "size": 75839432, + "sha256": "5128e0d384ce75e766a25d65f73aee3ea2ad433516b2a8b0232e075f96eaff82" + }, + "model-00029-of-00147.safetensors": { + "size": 1073805208, + "sha256": "7750255337e0095edb6e3ee2ab155ea6f2dd18f92ad0c1a883d0df4884a84f1a" + }, + "model-00030-of-00147.safetensors": { + "size": 2147610408, + "sha256": "cd18b7d0321edd1689791e97981d7b5e3bde22603c36daa46d9be732c7fcaeb6" + }, + "model-00031-of-00147.safetensors": { + "size": 75839432, + "sha256": "d8869991166009231e9c5f731876b3bda52fd9025d32c5876da2f8114fb4bec4" + }, + "model-00032-of-00147.safetensors": { + "size": 1073805208, + "sha256": "9658d7f8920d4933772944c9b4916670c0ad53fa74a51839d97551b479235b05" + }, + "model-00033-of-00147.safetensors": { + "size": 2147610408, + "sha256": "8c4169c3c8354445acfd504fc3fd1708f1552bf8a44009cbb1b51e3c079cf465" + }, + "model-00034-of-00147.safetensors": { + "size": 75839432, + "sha256": "b4511a01211d2a56cc8e9c8c50c4037da787068ef03ebd88856dc9a3c978b882" + }, + "model-00035-of-00147.safetensors": { + "size": 1073805208, + "sha256": "3865ed62c7e514d0f87a6cfd51f945583a5a5560471682f2e7a30b82479aa845" + }, + "model-00036-of-00147.safetensors": { + "size": 2147610408, + "sha256": "ec9666289339b043e61227b1955d29416bcf160d7f3a688905fdb2fc9387b58e" + }, + "model-00037-of-00147.safetensors": { + "size": 62929376, + "sha256": "1420b2f836c269f452c4a10badde98c0adad8abc20706a2333fc7757e4e1a4c3" + }, + "model-00038-of-00147.safetensors": { + "size": 1073804696, + "sha256": "4cee0f1802abeba49f6eb8588ae0c3357150abb0b481f4a47781df1dc9521251" + }, + "model-00039-of-00147.safetensors": { + "size": 2147609384, + "sha256": "9ea2d163167ec4f38cfb10d083e7b74647f7f2ff458f8001a1635d4b37b26c45" + }, + "model-00040-of-00147.safetensors": { + "size": 75839416, + "sha256": "10b8bef0f3ae1b8562269cb5d5745a1226cb78f5e7ddb22e2a0e8aca76cc5ea6" + }, + "model-00041-of-00147.safetensors": { + "size": 1073805208, + "sha256": "00029edc940e0f6099fcc39ad003127823e8633fef855dd7f92a1a09f4c10f3c" + }, + "model-00042-of-00147.safetensors": { + "size": 2147610408, + "sha256": "b0cac5623965ccdf5babd9f6b594afe9cc6c0e1aa58322d0c5d86ec42d24438f" + }, + "model-00043-of-00147.safetensors": { + "size": 75839432, + "sha256": "e0bed05f6ce6033b4390e32211a77a48757ecf405478fdbcf31ee0c7e7620ba8" + }, + "model-00044-of-00147.safetensors": { + "size": 1073805208, + "sha256": "e680b5b828fb40b92da7018b6811aa308e8b82c5b2482b86c0df165a8e980af1" + }, + "model-00045-of-00147.safetensors": { + "size": 2147610408, + "sha256": "2a4c276b0fc86c01ceeffefad0bb80537a148f09e5f57fac36859529d0a1a09b" + }, + "model-00046-of-00147.safetensors": { + "size": 75839432, + "sha256": "490795345d7b90a32ebc43852b413595ddcb264e98eb0d897ee5d9cc17944940" + }, + "model-00047-of-00147.safetensors": { + "size": 1073805208, + "sha256": "6d089780ee2c0d542b8d6ce1b53aca8b71cf172d93ba4d49d7f9dba94c12f443" + }, + "model-00048-of-00147.safetensors": { + "size": 2147610408, + "sha256": "78ee7c3dc8dcbce0c1a73b01b5c3d1d5e560b1ecf039a914b3df6dadaa6b58f3" + }, + "model-00049-of-00147.safetensors": { + "size": 75839432, + "sha256": "fb895ad13c8719efecbf0a88960c534f5ca9b60da0fc35937038dbce584d61e9" + }, + "model-00050-of-00147.safetensors": { + "size": 1073805208, + "sha256": "dd0992f6b082c4f321f7de7ef4427c4d7d3a25bac56802b7390b36e3b75fab2c" + }, + "model-00051-of-00147.safetensors": { + "size": 2147610408, + "sha256": "3ddb7ea0939c92b3ae7ea53d59ba4a47f81044c10a8c3445c6b1cb99322fa7a9" + }, + "model-00052-of-00147.safetensors": { + "size": 62929376, + "sha256": "878422c5f304bbb1958b7216428e7ce4a1f74d1fa5a79df3803415d44486283d" + }, + "model-00053-of-00147.safetensors": { + "size": 1073805208, + "sha256": "312dbf2bba2d5ce4da60750f0665f0b557a22caa0c9b9ae26cf0b92ecabd28c9" + }, + "model-00054-of-00147.safetensors": { + "size": 2147610408, + "sha256": "c853a2b6dfb28b42193717f5f1dbf1a26b00c33e40610fc5f7e5e39cc8d96963" + }, + "model-00055-of-00147.safetensors": { + "size": 75839432, + "sha256": "16506a91be7c1d0fce6c651135fe434c422d0efd1b5f33105c8b7adabfe43433" + }, + "model-00056-of-00147.safetensors": { + "size": 1073805208, + "sha256": "e10f30d3a0acbd2fc56a4e67d744e4f5b01e111b4eb834bdc9cc9a365e50de03" + }, + "model-00057-of-00147.safetensors": { + "size": 2147610408, + "sha256": "20034d21e88f0b4cb52558668c14094bfae1e5bd6c971d8720746df80a424728" + }, + "model-00058-of-00147.safetensors": { + "size": 75839432, + "sha256": "8a52ce18bebac5711b024080a7019fa330ce695d57c250ca83e5935be1a1dd15" + }, + "model-00059-of-00147.safetensors": { + "size": 1073805208, + "sha256": "1f86308969c4db4fa20fc75faedddd57bcce7feeb795507a48ed0eae32cae0b8" + }, + "model-00060-of-00147.safetensors": { + "size": 2147610408, + "sha256": "46884cf7ec1be0b1eeee96aced4d9cb736d027659a598aed95b195ef26317f93" + }, + "model-00061-of-00147.safetensors": { + "size": 75839432, + "sha256": "2161daed528b1873712e2a78d52cf767112e6c61b2f543e63a453fabec01a7c8" + }, + "model-00062-of-00147.safetensors": { + "size": 1073805208, + "sha256": "542ebcdc236f5d2e7eff3132a558b10c09864ab2820818fbfe706765bd2e77d6" + }, + "model-00063-of-00147.safetensors": { + "size": 2147610408, + "sha256": "cc8c02d7004742f59c6ffac1f65800ca859ad94e3ffb3ba92fb30725dd6fe39c" + }, + "model-00064-of-00147.safetensors": { + "size": 62929376, + "sha256": "7d9e109b73b041ca087ff89bb5adddc70e77ce84ed3a24c936cf70f779bb4433" + }, + "model-00065-of-00147.safetensors": { + "size": 1073805208, + "sha256": "20da5d1722d0ce7aea8e71d520a884b00e4452e9683299719220675e0fc99987" + }, + "model-00066-of-00147.safetensors": { + "size": 2147610408, + "sha256": "c57bfe5c8bcf636ff323d148148abf4f1e1e4ecc6a56744769995a1b740ce1f1" + }, + "model-00067-of-00147.safetensors": { + "size": 75839432, + "sha256": "c0c7dd10aad9592f4e0fa70540b1a95df3eec67e80613260ca852ab7614745b7" + }, + "model-00068-of-00147.safetensors": { + "size": 1073805208, + "sha256": "9a2bef044319d36f99306c8fe154a60331529ae7db430d24c4045889f1d13547" + }, + "model-00069-of-00147.safetensors": { + "size": 2147610408, + "sha256": "7e83c9a60fddb635dc4f225692d3da3df66ae8cb3fdbd177cb696622c95ba9d4" + }, + "model-00070-of-00147.safetensors": { + "size": 75839432, + "sha256": "52e8951bc153ac92cfe6f8ef18084f2b67283a757bad1ad7d63c9f02cf239b89" + }, + "model-00071-of-00147.safetensors": { + "size": 1073804696, + "sha256": "fadcdb5873dd99569a6355d552670298f5d06bf0f3f955848342dd44c9d07ec0" + }, + "model-00072-of-00147.safetensors": { + "size": 2147609384, + "sha256": "de4fca6470e2a699927042f3062173047aa074e36765d440e967a64fa398a5d4" + }, + "model-00073-of-00147.safetensors": { + "size": 62929360, + "sha256": "b629ff9ac933fbd15bfbbd676780106ed10cd85447eba0071ad529bdf2a87938" + }, + "model-00074-of-00147.safetensors": { + "size": 1073805208, + "sha256": "ce25350ac2a83d2ea573a77a85d2255409009b3c56d0dec48f837192c3e8fd58" + }, + "model-00075-of-00147.safetensors": { + "size": 2147610408, + "sha256": "904546ce75e5c39bac9c9de2e84a7d2c279ef0675b2886a8dc4038e5de25c0e5" + }, + "model-00076-of-00147.safetensors": { + "size": 75839432, + "sha256": "f58aceccf0f19ce4b87f491cb7a04a33043f5dda2fabeb45e8ecfa12f985186e" + }, + "model-00077-of-00147.safetensors": { + "size": 1073805208, + "sha256": "90a7869bc525762ce653d9958ade1d0fdf6ab2c0e7ab6e0b79e0326bd75dc940" + }, + "model-00078-of-00147.safetensors": { + "size": 2147610408, + "sha256": "3cde0f246fd2eca4469696ee140f3babdcd72b42397c126b7d0833835ab5d70a" + }, + "model-00079-of-00147.safetensors": { + "size": 62929376, + "sha256": "ed8d077e54a6d37b1ee5876d987e8bca65777558c6a3904a2c6c63fb30b1e861" + }, + "model-00080-of-00147.safetensors": { + "size": 1073805208, + "sha256": "b0b4d894c87d8925ffb909c8fef763f9362a1d7c9806c1cf8213190fb503af2f" + }, + "model-00081-of-00147.safetensors": { + "size": 2147610408, + "sha256": "6fd9d128821946b1215b54146b15895bb015db9201b4f11679b44e9d00023260" + }, + "model-00082-of-00147.safetensors": { + "size": 75839432, + "sha256": "c1068b926831e8cf8cde653a6dee743443e6fed2e13a02d484945d4d0659bf17" + }, + "model-00083-of-00147.safetensors": { + "size": 1073805208, + "sha256": "44c1619542adfee303a05dede8b013bd12ac939613eb9e349f898823d3944e2c" + }, + "model-00084-of-00147.safetensors": { + "size": 2147610408, + "sha256": "cdd76d40bfa5de22199508f56136764860795bf765f85c01b3f4affbd27f9fde" + }, + "model-00085-of-00147.safetensors": { + "size": 75839432, + "sha256": "d879276a082d9c209a216b7dc480d7d0abf66bd4a898acf88fb62109d1ffd05a" + }, + "model-00086-of-00147.safetensors": { + "size": 1073805208, + "sha256": "9405bc3f84b513b7605a900c3a27eb838b1d40d8357c6642868bc5f9e43c9836" + }, + "model-00087-of-00147.safetensors": { + "size": 2147610408, + "sha256": "c1846b63bf0f72ff3a528b0276c75ebd62149c5051cd201fdb8ef06820c014b3" + }, + "model-00088-of-00147.safetensors": { + "size": 75839432, + "sha256": "0c3438460603127617f18b3b917855aeddea2c31bb09b343c021a636f5def6a4" + }, + "model-00089-of-00147.safetensors": { + "size": 1073805208, + "sha256": "2db5fb63143dbf1e15479b3a7f5ecf57a84516801496126214c1e23b8a76f770" + }, + "model-00090-of-00147.safetensors": { + "size": 2147610408, + "sha256": "31305b8452a109733a77af58d26c9b01a0affb93962c3bc81dd5cb8d1526627a" + }, + "model-00091-of-00147.safetensors": { + "size": 62929376, + "sha256": "fe2cd09ba37d9b14e9316f685e62b8d50b07db18a16a22d35449b10cd1e6e6d3" + }, + "model-00092-of-00147.safetensors": { + "size": 1073805208, + "sha256": "b6457f55e8bcc7fa913ad704a4cd11a08503001562bc55b4380a31e0084a82df" + }, + "model-00093-of-00147.safetensors": { + "size": 2147610408, + "sha256": "9a257642031829fcc604783099755058e1009f2ff13ddf47825cffb33c9db643" + }, + "model-00094-of-00147.safetensors": { + "size": 75839432, + "sha256": "7d3ff49e9043c6bebace8ef7d6215efb8db9646d4b51dde44f2ef9d76c2bdb87" + }, + "model-00095-of-00147.safetensors": { + "size": 1073805208, + "sha256": "e3d3833208114e8c7599119f7d60b532a001606558e1a6edb0a0b20aee3ac40e" + }, + "model-00096-of-00147.safetensors": { + "size": 2147610408, + "sha256": "1c595a55970be3e3648c9bd6831b16c2df62140a2c4dbcdfe132f23d172db68d" + }, + "model-00097-of-00147.safetensors": { + "size": 75839432, + "sha256": "fb3bbfdb3a1b3bf34f68898993c2bb626f6d8f6407d08e6d4afddd99032027e4" + }, + "model-00098-of-00147.safetensors": { + "size": 1073805208, + "sha256": "ff5545d6b489eb85d6e998903ab6777ca6e6c31455fc508eab975f9301327bfc" + }, + "model-00099-of-00147.safetensors": { + "size": 2147610408, + "sha256": "2546d45366e44d4c2a8b872d2d339c1510fb6fb5c61d5e72ed3996a6f33e2cb4" + }, + "model-00100-of-00147.safetensors": { + "size": 75839432, + "sha256": "02c3a3429853d5389495fc160385108b35fca71c45e4269289dee82346271d8e" + }, + "model-00101-of-00147.safetensors": { + "size": 1073805208, + "sha256": "84065493cc758171490c3a59815a52b3fdedaf5a02d1b122e37cec8600a21950" + }, + "model-00102-of-00147.safetensors": { + "size": 2147610408, + "sha256": "917c7d79afc9613ac390c21d9dad886aaf17b2aabdee8800b52eba3ea0d63e77" + }, + "model-00103-of-00147.safetensors": { + "size": 62929376, + "sha256": "3baca23268650c11ac8142952222f441a5bdcdd003b9606fdaceedfe153bc2ae" + }, + "model-00104-of-00147.safetensors": { + "size": 1073804696, + "sha256": "462b221bf2d3f326bae5b3d5a76c884eeb480f85faf03cd1bf0f60cf29975128" + }, + "model-00105-of-00147.safetensors": { + "size": 2147609384, + "sha256": "f8f71a67242830715549b6e7b9606f151eabc549fecf7699b8fc93dd18184479" + }, + "model-00106-of-00147.safetensors": { + "size": 75839416, + "sha256": "573c7df27663d594e3deb2330e3cada8a8e106800f9f95c927de31b92b984309" + }, + "model-00107-of-00147.safetensors": { + "size": 1073805208, + "sha256": "ed8124547cb320910253b704180cd12b7b72e016016f564d5051281aa52aa6fa" + }, + "model-00108-of-00147.safetensors": { + "size": 2147610408, + "sha256": "857e2ba3c27281b2dcab979972964e9949b8b72be0172b0c95e0d663175e09d8" + }, + "model-00109-of-00147.safetensors": { + "size": 75839432, + "sha256": "2fa26ddaac71f2d15944efdf186247faf75bd0bd8ccd494d7fbc54747a1b0418" + }, + "model-00110-of-00147.safetensors": { + "size": 1073805208, + "sha256": "d51090ec5d0659024dd1ed84ac809b0003b4fdd53e9fdef780dcba8206f9380c" + }, + "model-00111-of-00147.safetensors": { + "size": 2147610408, + "sha256": "5852f2130f472d33be07dbbb44e6122539f9060f1623aa702d6b261100b25823" + }, + "model-00112-of-00147.safetensors": { + "size": 75839432, + "sha256": "aa505d525b65f7a9e28e65428e7371fa1717d16fc07c8aea35d750cd60fc9bbe" + }, + "model-00113-of-00147.safetensors": { + "size": 1073805208, + "sha256": "6780c353f589a4dcc61412f6b71c5afcd437f7c8ed88df9365db25735320014e" + }, + "model-00114-of-00147.safetensors": { + "size": 2147610408, + "sha256": "0fc7af390b5ef919ff56a3cefab2adbe51c4db6dce70d78c5110c8b053ee8e65" + }, + "model-00115-of-00147.safetensors": { + "size": 75839432, + "sha256": "0e87a7c3166effdaef9d7db1dcd940153240ddd8cda376ee694713380234971a" + }, + "model-00116-of-00147.safetensors": { + "size": 1073805208, + "sha256": "2d1c76f002e10d5df3880dc5d3c27ca41435e18f3440f8752bb4ef8fbe858375" + }, + "model-00117-of-00147.safetensors": { + "size": 2147610408, + "sha256": "23e1ae8fe51bbbe69ad7ca51fb39b6dfea680f934fc1a44d0c7583edd55f9baf" + }, + "model-00118-of-00147.safetensors": { + "size": 62929376, + "sha256": "77347a60b69024b9cf76172da2698e1da48ad6f0a319010af4094060cea31cc1" + }, + "model-00119-of-00147.safetensors": { + "size": 1073805208, + "sha256": "20aedccaeac54560249c43f9fdbd973dc0ec7eedd24ab411c061b34f0a0a2fc9" + }, + "model-00120-of-00147.safetensors": { + "size": 2147610408, + "sha256": "2f164e7b3f85afc2104bc3b8b29d70217815fc0fbfcf9a6a18f75e5747ae5f16" + }, + "model-00121-of-00147.safetensors": { + "size": 75839432, + "sha256": "45aaabc03ab1c408e4a25260211d1c8dc294966f26b5b37b0dbee7fd91d8a8e4" + }, + "model-00122-of-00147.safetensors": { + "size": 1073805208, + "sha256": "0a1af4dd2bbd15347ffd19815fe5b2f469a4fb73f3f43b0758a814aa6c5d2d98" + }, + "model-00123-of-00147.safetensors": { + "size": 2147610408, + "sha256": "121b70369d4b12b25da4f494d31682c072ce5e3c4535512eb37a32504132521e" + }, + "model-00124-of-00147.safetensors": { + "size": 75839432, + "sha256": "0ab0b7998e222443c61fa43d243ef74cfcb55869a5ebf25c965eb9b76556fa3d" + }, + "model-00125-of-00147.safetensors": { + "size": 1073805208, + "sha256": "990ce817c84153890307f28e03486d33dc1f7eb694942445c892751b870c1e41" + }, + "model-00126-of-00147.safetensors": { + "size": 2147610408, + "sha256": "f62f65a7368348d97f68a8728da9d276fa8cdfdaa85b9e9a4595a4c7afc21687" + }, + "model-00127-of-00147.safetensors": { + "size": 75839432, + "sha256": "c87b7104467bcb0f9816ac4174fd8842e3b8bd1a2769d1d8813920abda77ecee" + }, + "model-00128-of-00147.safetensors": { + "size": 1073805208, + "sha256": "76cef7608e8add78825b25fe60f6f7ece27a20566f92689fd6f0a2bb3fdfc367" + }, + "model-00129-of-00147.safetensors": { + "size": 2147610408, + "sha256": "3b143af9b72711b9cf7d7cb3708cb991867dde081932a910d041b0aa5462668e" + }, + "model-00130-of-00147.safetensors": { + "size": 62929376, + "sha256": "8ef82b28e645f797242556bb7eeee20387ee144ddc5b9020bbdbb030d6da99d5" + }, + "model-00131-of-00147.safetensors": { + "size": 1073804696, + "sha256": "1ef150b29f2fc0085a196ee4da902a654cd0e0648ead90a8f8131e68c86fc485" + }, + "model-00132-of-00147.safetensors": { + "size": 2147609384, + "sha256": "513169617456a33faa14440e7c75e7552f9207b6821c62b6bfa763eac562518d" + }, + "model-00133-of-00147.safetensors": { + "size": 75839416, + "sha256": "7d976f5f013229935be9c6e8db13c92c60f8a6459436a5259dc97214567c600c" + }, + "model-00134-of-00147.safetensors": { + "size": 1073804696, + "sha256": "7c48b3d9587c8dfb2ceb4f4d841a87b0ddd44a999a3e2e00d365b0c962d5c20d" + }, + "model-00135-of-00147.safetensors": { + "size": 2147609384, + "sha256": "6691a7734f93f25de18fe0cada73de957d4cb8ad2fda9b755a2ce03ff24e1631" + }, + "model-00136-of-00147.safetensors": { + "size": 75839416, + "sha256": "97ba545c17a1871296b025017555bc9a3598b8ca810148fb2a52001ea18c3fff" + }, + "model-00137-of-00147.safetensors": { + "size": 1073804696, + "sha256": "a415388777c5ff45cab095afab85e0edf8869daa58e9f3e29c9576a94854b177" + }, + "model-00138-of-00147.safetensors": { + "size": 2147609384, + "sha256": "279f60be8fa6204a01670bd5adc61ffb4a14b67bb4d638d73ff8945f4b43d715" + }, + "model-00139-of-00147.safetensors": { + "size": 62929360, + "sha256": "f91b884a968164628e4d3c205b3717bc834ccbb70ddc3172987f9ada7bd326d6" + }, + "model-00140-of-00147.safetensors": { + "size": 1073804696, + "sha256": "ef6771dceaf4156f6a51a2637fab78745e175e0d99e0c267a955ea824a553e40" + }, + "model-00141-of-00147.safetensors": { + "size": 2147609384, + "sha256": "4ef6a5da87c560e1e711c10d72af6d4cb0fc7898c9ce550e32639afcbf551343" + }, + "model-00142-of-00147.safetensors": { + "size": 75839416, + "sha256": "1e2671039c732e470d2ecd60648f36b695f2c12e943d5edee62bdf8f9b7ed370" + }, + "model-00143-of-00147.safetensors": { + "size": 1073804696, + "sha256": "a7fedf6cd1af0f57986de4bd8803df03abcee530a5a66f6323e43ceb0404f07f" + }, + "model-00144-of-00147.safetensors": { + "size": 2147609384, + "sha256": "6ad501b8470bcce388c5edf5d0b735193bc8be39d76af5635d60a34ca59c7a5b" + }, + "model-00145-of-00147.safetensors": { + "size": 75839416, + "sha256": "e48115fe3ae7e5e661558148f903a081838c3e6a7437560182401ab67296b5e2" + }, + "model-00146-of-00147.safetensors": { + "size": 622329992, + "sha256": "63a4cf81ed7c45f3949d006e39c5b5c98a4804f559f1e4f6412204819f14f2e9" + }, + "model-00147-of-00147.safetensors": { + "size": 622329984, + "sha256": "d9c5df3c81fa71ca4670c2c82c4e36ef31bb1fa8b017700dacd6a154a5f4d03e" + }, + "model-base-passthrough-00001-of-00001.safetensors": { + "size": 3301131328, + "sha256": "65190abf2f9cc7597a3e72c464f1f184d5e11820582a40b7ebd6977ae5273d2f" + }, + "model.safetensors.index.json": { + "size": 6922711, + "sha256": "f7a1d9a95b13a01cd482df0d992abb643b1ca4e3218acf22bd4795dc5a9d8661" + }, + "tokenizer.json": { + "size": 11422654, + "sha256": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4" + }, + "tokenizer_config.json": { + "size": 9377, + "sha256": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3" + }, + "vocab.json": { + "size": 2776833, + "sha256": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + } + }, + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "f7a1d9a95b13a01cd482df0d992abb643b1ca4e3218acf22bd4795dc5a9d8661", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "weight_schema_sha256": "babe9f7e7cf398ad6a8607ee03bb6549139b26fcdd919bb65e9d22b059536361", + "tensor_count": 75944, + "weights_content_sha256": "75c3900a0db26447c8584719c00259520f7a9a4029921b43e3c591a65a1bd0a9" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32", + "base_checkpoint": "", + "base_checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + } + }, + "fixture": { + "path": "/inputs/frozen.pt", + "sha256": "a8fc79cea6c76e5989743429b76811b3a93b6b85e1eb7f03164c9850c50f1ca8", + "content_sha256": "b59298acf5ecbe64abb4639e7596e052f1993ee5e3c7289b63738f1b04463d01" + }, + "case_ids": [ + "p0008-b1-full", + "p0008-b1-chunked", + "p0008-b4-full", + "p0008-b4-chunked", + "p0064-b1-full", + "p0064-b1-chunked", + "p0064-b4-full", + "p0064-b4-chunked", + "p0256-b1-full", + "p0256-b1-chunked", + "p0256-b4-full", + "p0256-b4-chunked", + "p1024-b1-full", + "p1024-b1-chunked", + "p1024-b4-full", + "p1024-b4-chunked" + ], + "cases": { + "p0008-b1-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/rollout/p0008-b1-full.pt", + "sha256": "0e7955081bc79273fc79771a353e494358bd6d416c0d2318797f1f857830fcc6" + }, + "recompute": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/recompute/p0008-b1-full.pt", + "sha256": "e10b546fcf11cc80881ee4c54bde8d618e63c7f1645b42ecca44feefedc5799a" + } + } + }, + "p0008-b1-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/rollout/p0008-b1-chunked.pt", + "sha256": "80bc88e6b1404fa7e3a8615e112442b3b8a53b30dface52e84fed66bfbd3839d" + }, + "recompute": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/recompute/p0008-b1-chunked.pt", + "sha256": "7bd609ecef1dd4e2dc674091bc2db4839785d3b5bfdb1abaa17523fd7d91f149" + } + } + }, + "p0008-b4-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/rollout/p0008-b4-full.pt", + "sha256": "45f0ebcf0c36c440516c3134e18f6eb511e8ba558b7808be15763fef1818ec97" + }, + "recompute": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/recompute/p0008-b4-full.pt", + "sha256": "ca675653498005196cea1b1e71f164baaefcc0e9a6c057432adb3dce0ee13d42" + } + } + }, + "p0008-b4-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/rollout/p0008-b4-chunked.pt", + "sha256": "818886d2505b2b26d53d5b2f05f497667cc063d5d0b59c282e3b92053d8a2862" + }, + "recompute": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/recompute/p0008-b4-chunked.pt", + "sha256": "25d250f8fc85ab133e3b299087d08fb93bd600d7f61a6102239a7798f545f2f4" + } + } + }, + "p0064-b1-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/rollout/p0064-b1-full.pt", + "sha256": "0231198c3dcc5f382870b31fc6cf78d9f25ebc1dcff88f8c114fc562b4729d57" + }, + "recompute": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/recompute/p0064-b1-full.pt", + "sha256": "ffe30a5a4e78b6ab2f67b11ea9445feb2ac3cf738979d1b88f1628f20ac8c743" + } + } + }, + "p0064-b1-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/rollout/p0064-b1-chunked.pt", + "sha256": "226199d62870ef8dbeab8ded5761e928e41ee03fc57a0a8bcd2a47adea004f3b" + }, + "recompute": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/recompute/p0064-b1-chunked.pt", + "sha256": "0a3a7f3e771287b0a6d0acd3132c22257462aae6a0eccccbc1a391a71b8216a7" + } + } + }, + "p0064-b4-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/rollout/p0064-b4-full.pt", + "sha256": "d001a3db9a8e43e7874299835f0d5b752de358f5334739e7c6955cd6c1294471" + }, + "recompute": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/recompute/p0064-b4-full.pt", + "sha256": "2f0381c28f0fe64bc7598d96404be5e0d70502689689e1d1c1e8c32cfcfe8867" + } + } + }, + "p0064-b4-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/rollout/p0064-b4-chunked.pt", + "sha256": "5271a230b070251d4508fb96c6c0c7d321b3cfd527e19bd96e9b6c897cefb042" + }, + "recompute": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/recompute/p0064-b4-chunked.pt", + "sha256": "6668e0110db3a8dedf214862f9803168f3d81acee3f3c6950dad09ce8969e711" + } + } + }, + "p0256-b1-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/rollout/p0256-b1-full.pt", + "sha256": "5c409c46d2d50789f2b92d6d8ee6fc7f645a65083a7dfb20a5b53d267c9a44be" + }, + "recompute": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/recompute/p0256-b1-full.pt", + "sha256": "1a4e95d988c26f961294ef706972c08b99908c449e075afc3c4fb180624d7390" + } + } + }, + "p0256-b1-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/rollout/p0256-b1-chunked.pt", + "sha256": "5459b0199693600e2802c4c2247a70d0c9b0942dd17221bca97653602478eefa" + }, + "recompute": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/recompute/p0256-b1-chunked.pt", + "sha256": "2eeb2b254ec28e8bf77641166a0501550ac116a275b099cdd2650ad0c2382fd2" + } + } + }, + "p0256-b4-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/rollout/p0256-b4-full.pt", + "sha256": "ca10cf57a0a0fad974676e5c392948b33853241ec48616dccdeec2becbd432a0" + }, + "recompute": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/recompute/p0256-b4-full.pt", + "sha256": "6d442e851f9a66640618af6dcc52245a962dbaf1ea7b6e87aac9c57f84584c9b" + } + } + }, + "p0256-b4-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/rollout/p0256-b4-chunked.pt", + "sha256": "20d0f60fdce5cfbf59dee63e93c5a4289557c2ae3a7544cb5a4292bc5c8a104e" + }, + "recompute": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/recompute/p0256-b4-chunked.pt", + "sha256": "fd5e3e72a35aecf22de02d7bacf2b94eda89541d6e66b72d0287ac6d02865761" + } + } + }, + "p1024-b1-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/rollout/p1024-b1-full.pt", + "sha256": "fc89220629e468e97add1f7503c6c20e02529b95ea3043fa5688d37bd5b4cee9" + }, + "recompute": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/recompute/p1024-b1-full.pt", + "sha256": "abaa7972cdd74c81befe1cc3c8a04ac5b61b9624e3581396203d693cf8bc1d18" + } + } + }, + "p1024-b1-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/rollout/p1024-b1-chunked.pt", + "sha256": "f963464cfd4c3eb9f7f4a49e1c28873e7addd7351b82861d462ff5bd67941860" + }, + "recompute": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/recompute/p1024-b1-chunked.pt", + "sha256": "e9a6fc57009d32bce3db7fa04cc8ca5971a7f055d041eb1d6233a0f04d53e845" + } + } + }, + "p1024-b4-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/rollout/p1024-b4-full.pt", + "sha256": "8ed3059da7d50640172e0785530d90735aa215702fe80dd752d357341f54f524" + }, + "recompute": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/recompute/p1024-b4-full.pt", + "sha256": "9f0beedf0bc1ee7c0abfc07ac79cfa4162ee2a7cf19df2530a56e3ad6c0af827" + } + } + }, + "p1024-b4-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/rollout/p1024-b4-chunked.pt", + "sha256": "29f11fcac15f41e8a556cab7db8595e7afd96f4ba9e4c5cba91573c9253b10e5" + }, + "recompute": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/recompute/p1024-b4-chunked.pt", + "sha256": "eb9da8b2c471abb361f13a34cf7bb41964acc3f2b0ca0d7dc048f65116d35ce6" + } + } + } + }, + "processes": { + "rollout": { + "pid": 485946, + "exit_code": 0, + "log": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/rollout.log", + "gpu_release_verified": true + }, + "recompute": { + "pid": 507417, + "exit_code": 0, + "log": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/recompute.log", + "gpu_release_verified": true + } + }, + "worker_results": { + "rollout": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/rollout/worker-result.json", + "sha256": "286818cc6fac183f876b1816b3ac7d72fd14c70ebae7196d87290ebbd78953cb" + }, + "recompute": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/recompute/worker-result.json", + "sha256": "75832a698847e1a10bb58e5ce20e183f7346f5242d68127efb0c23ac9bce4e2a" + } + }, + "raw_bit_comparison": true, + "logits_dtype": "bfloat16", + "logprobs_dtype": "float32", + "response_length": 16, + "vocab_size": 151936, + "provider_binary": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/provider-binary.json", + "sha256": "0859d31cb34abcfe4faa9fdf0813c3310275046d2bd91b43678280cbff3835c4" + } +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/train1/operators.json b/docs/usage/evidence/qwen3-next-chain-b200/train1/operators.json new file mode 100644 index 000000000..500251cce --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/train1/operators.json @@ -0,0 +1,304 @@ +{ + "scope": "qwen3_next_operators_only", + "status": "passed", + "suite": "all", + "diagnostic_only": false, + "full_model_l2": "not_evaluated", + "git_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "git_dirty": false, + "versions": { + "torch": "2.13.0", + "vllm": "0.30.0", + "transformers": "5.17.0", + "triton": "3.7.1" + }, + "mandatory_case_ids": [ + "tests/check_qwen3_next_attention.py::test_d256_backward_with_cached_prefix_matches_float64_formula", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[1024]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[256]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[64]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[8]", + "tests/check_qwen3_next_attention.py::test_d256_input_device_guard_and_nondefault_stream", + "tests/check_qwen3_next_attention.py::test_native_backward_rejects_malformed_probability_and_gradient_buffers", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[0]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[2]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_target_inputs_do_not_depend_on_companions", + "tests/check_qwen3_next_batch_invariance.py::test_triton_chunked_prefill_is_batch_invariant", + "tests/check_qwen3_next_conv_bridge.py::test_chunked_and_reordered_sequences_match", + "tests/check_qwen3_next_conv_bridge.py::test_empty_sequence_preserves_cache_and_gradients", + "tests/check_qwen3_next_conv_bridge.py::test_response_gradient_reaches_prompt_and_convolution_weight", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths0]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths1]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths2]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-4]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[1]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[4]", + "tests/check_qwen3_next_core_matrix.py::test_variable_lengths_empty_and_mixed_step_match_independent_sequences", + "tests/check_qwen3_next_forward.py::test_combine_has_fixed_route_order_and_differentiable_weights", + "tests/check_qwen3_next_forward.py::test_full_vocabulary_logprob_entropy_modes_and_gradient", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_fail_closed_on_the_tensor_descriptor_path", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[128]", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[512]", + "tests/check_qwen3_next_forward.py::test_logprob_nan_rejected_before_comparison", + "tests/check_qwen3_next_forward.py::test_moe_vjp_matches_independent_double_formula", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[1024-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[128-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-16]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-256]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-3072]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-37984]", + "tests/check_qwen3_next_forward.py::test_qwen_moe_actual_tp4_shapes_and_independent_training_forward", + "tests/check_qwen3_next_forward.py::test_route_weights_are_batch_invariant", + "tests/check_qwen3_next_forward.py::test_shared_linear_vjp_and_empty_tokens", + "tests/check_qwen3_next_forward.py::test_stable_route_tie_boundary_and_router_gradient", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_backward_matches_recomputed_recurrence_vjp", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_forward_is_provider_exact_and_does_not_mutate_inputs", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_keeps_prompt_state_gradient_through_response", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[False]", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[True]", + "tests/check_qwen3_next_gdn_bridge.py::test_initial_state_vjp_matches_provider_directional_difference", + "tests/check_qwen3_next_gdn_sequence.py::test_1024_token_chunk_continuation_is_bitwise_exact", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad0]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad1]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad2]", + "tests/check_qwen3_next_gdn_sequence.py::test_chunk_boundary_retains_prompt_and_initial_state_gradients", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths0]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths1]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths2]", + "tests/check_qwen3_next_gdn_sequence.py::test_reserved_and_duplicate_slots_are_rejected", + "tests/check_qwen3_next_norm_providers.py::test_custom_op_has_distinct_native_and_cuda_paths", + "tests/check_qwen3_next_norm_providers.py::test_gdn_decode_provider_env_defaults_are_recorded", + "tests/check_qwen3_next_norm_providers.py::test_our_gated_op_is_batch_invariant", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_cuda]", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_native]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots0]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots2]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots3]", + "tests/check_qwen3_next_shared_core.py::test_independent_training_forward_matches_inference_and_retains_gradients", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[1024]", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[8]", + "tests/check_qwen3_next_shared_core.py::test_unimplemented_provider_profile_is_rejected", + "tests/test_qwen3_next_norm.py::test_bad_weight_shape_raises", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[16]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[1]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[2]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[32]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[48]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[64]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[8]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[128]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[2048]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_with_padding", + "tests/test_qwen3_next_norm.py::test_call_matches_forward", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[128]", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[2048]", + "tests/test_qwen3_next_norm.py::test_cuda_default_offset_preserves_plain_convention", + "tests/test_qwen3_next_norm.py::test_cuda_gated_backward_matches_autograd_golden", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_matches_golden_within_contract", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_bad_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_mismatched_gate", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_backward_uses_the_sigmoid_derivative", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_swish_is_an_alias_for_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_unit_weight_is_plain_norm_times_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_weight_offset_is_applied_in_fp32", + "tests/test_qwen3_next_norm.py::test_cuda_gated_wrapper_rejects_equal_numel_wrong_shape", + "tests/test_qwen3_next_norm.py::test_cuda_gated_zero_gate_zeroes_output", + "tests/test_qwen3_next_norm.py::test_cuda_offset_equals_explicit_fp32_weight", + "tests/test_qwen3_next_norm.py::test_cuda_offset_is_not_folded_through_bfloat16", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_backward_is_offset_aware", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_within_tolerance_of_golden", + "tests/test_qwen3_next_norm.py::test_deterministic_repeat", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype0]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype1]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype2]", + "tests/test_qwen3_next_norm.py::test_eps_inside_sqrt", + "tests/test_qwen3_next_norm.py::test_gated_batch_invariance_slice", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedHFOp]", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedOp]", + "tests/test_qwen3_next_norm.py::test_gated_conventions_diverge_in_low_precision", + "tests/test_qwen3_next_norm.py::test_gated_cuda_op_rejects_bad_activation_at_construction", + "tests/test_qwen3_next_norm.py::test_gated_extension_handles_empty_batch_and_nondefault_stream", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[dy_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[gate_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[rstd_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_shape]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_matches_hf_formula_fp32", + "tests/test_qwen3_next_norm.py::test_gated_shape_mismatch_raises", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_strict_matches_vllm_formula_fp32", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[128]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[2048]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_offset_applied_in_fp32_not_folded_into_bf16", + "tests/test_qwen3_next_norm.py::test_op_batch_invariance_on_device", + "tests/test_qwen3_next_norm.py::test_plain_reference_is_unchanged_by_the_offset_plumbing", + "tests/test_qwen3_next_norm.py::test_weight_offset_is_one", + "tests/test_qwen3_next_norm.py::test_zero_centred_cuda_constructor_rejects_missing_extension", + "tests/test_qwen3_next_norm.py::test_zero_centred_op_inherits_the_plain_reference", + "tests/test_qwen3_next_norm.py::test_zero_weight_is_identity_scaling" + ], + "case_ids_sha256": "694c931b65f9cfa5db963f2eca6d11bd309546c824a1df52f9da2ab128e83e0f", + "pytest_exit_code": 0, + "provider_tests": { + "tests": 233, + "failures": 0, + "errors": 0, + "skipped": 0 + }, + "norm_gates": { + "qwen3_next_rms_norm-forward.json": { + "passed": true, + "exit_code": 0, + "workload": { + "workload_id": "qwen3-next-80b-a3b-norm-c3-c4-v1", + "scope": "qwen3_next_norm_operators", + "fixture_identity_sha256": "3ac9490ffbb1486edac6ea509811fd4d5affbe880b208bd7d9b052b0ce418442", + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "full_model_evidence": false + } + }, + "qwen3_next_rms_norm-gradient.json": { + "passed": true, + "exit_code": 0, + "workload": { + "workload_id": "qwen3-next-80b-a3b-norm-c3-c4-v1", + "scope": "qwen3_next_norm_operators", + "fixture_identity_sha256": "3ac9490ffbb1486edac6ea509811fd4d5affbe880b208bd7d9b052b0ce418442", + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "full_model_evidence": false + } + }, + "rms_norm_gated-forward.json": { + "passed": true, + "exit_code": 0, + "workload": { + "workload_id": "qwen3-next-80b-a3b-norm-c3-c4-v1", + "scope": "qwen3_next_norm_operators", + "fixture_identity_sha256": "3ac9490ffbb1486edac6ea509811fd4d5affbe880b208bd7d9b052b0ce418442", + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "full_model_evidence": false + } + }, + "rms_norm_gated-gradient.json": { + "passed": true, + "exit_code": 0, + "workload": { + "workload_id": "qwen3-next-80b-a3b-norm-c3-c4-v1", + "scope": "qwen3_next_norm_operators", + "fixture_identity_sha256": "3ac9490ffbb1486edac6ea509811fd4d5affbe880b208bd7d9b052b0ce418442", + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "full_model_evidence": false + } + } + } +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/train1/result.json b/docs/usage/evidence/qwen3-next-chain-b200/train1/result.json new file mode 100644 index 000000000..19f2cd549 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/train1/result.json @@ -0,0 +1,774 @@ +{ + "contract_version": 4, + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "cuda_identity": { + "home": "", + "nvcc_sha256": "b8e2347d9d7fcadf8812a27324d515de99d033d3e48611811ece7e66d7895f8a" + }, + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "operator_requirements": { + "suite": "all", + "case_ids": [ + "tests/check_qwen3_next_attention.py::test_d256_backward_with_cached_prefix_matches_float64_formula", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[1024]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[256]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[64]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[8]", + "tests/check_qwen3_next_attention.py::test_d256_input_device_guard_and_nondefault_stream", + "tests/check_qwen3_next_attention.py::test_native_backward_rejects_malformed_probability_and_gradient_buffers", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[0]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[2]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_target_inputs_do_not_depend_on_companions", + "tests/check_qwen3_next_batch_invariance.py::test_triton_chunked_prefill_is_batch_invariant", + "tests/check_qwen3_next_conv_bridge.py::test_chunked_and_reordered_sequences_match", + "tests/check_qwen3_next_conv_bridge.py::test_empty_sequence_preserves_cache_and_gradients", + "tests/check_qwen3_next_conv_bridge.py::test_response_gradient_reaches_prompt_and_convolution_weight", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths0]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths1]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths2]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-4]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[1]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[4]", + "tests/check_qwen3_next_core_matrix.py::test_variable_lengths_empty_and_mixed_step_match_independent_sequences", + "tests/check_qwen3_next_forward.py::test_combine_has_fixed_route_order_and_differentiable_weights", + "tests/check_qwen3_next_forward.py::test_full_vocabulary_logprob_entropy_modes_and_gradient", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_fail_closed_on_the_tensor_descriptor_path", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[128]", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[512]", + "tests/check_qwen3_next_forward.py::test_logprob_nan_rejected_before_comparison", + "tests/check_qwen3_next_forward.py::test_moe_vjp_matches_independent_double_formula", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[1024-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[128-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-16]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-256]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-3072]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-37984]", + "tests/check_qwen3_next_forward.py::test_qwen_moe_actual_tp4_shapes_and_independent_training_forward", + "tests/check_qwen3_next_forward.py::test_route_weights_are_batch_invariant", + "tests/check_qwen3_next_forward.py::test_shared_linear_vjp_and_empty_tokens", + "tests/check_qwen3_next_forward.py::test_stable_route_tie_boundary_and_router_gradient", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_backward_matches_recomputed_recurrence_vjp", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_forward_is_provider_exact_and_does_not_mutate_inputs", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_keeps_prompt_state_gradient_through_response", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[False]", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[True]", + "tests/check_qwen3_next_gdn_bridge.py::test_initial_state_vjp_matches_provider_directional_difference", + "tests/check_qwen3_next_gdn_sequence.py::test_1024_token_chunk_continuation_is_bitwise_exact", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad0]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad1]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad2]", + "tests/check_qwen3_next_gdn_sequence.py::test_chunk_boundary_retains_prompt_and_initial_state_gradients", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths0]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths1]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths2]", + "tests/check_qwen3_next_gdn_sequence.py::test_reserved_and_duplicate_slots_are_rejected", + "tests/check_qwen3_next_norm_providers.py::test_custom_op_has_distinct_native_and_cuda_paths", + "tests/check_qwen3_next_norm_providers.py::test_gdn_decode_provider_env_defaults_are_recorded", + "tests/check_qwen3_next_norm_providers.py::test_our_gated_op_is_batch_invariant", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_cuda]", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_native]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots0]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots2]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots3]", + "tests/check_qwen3_next_shared_core.py::test_independent_training_forward_matches_inference_and_retains_gradients", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[1024]", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[8]", + "tests/check_qwen3_next_shared_core.py::test_unimplemented_provider_profile_is_rejected", + "tests/test_qwen3_next_norm.py::test_bad_weight_shape_raises", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[16]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[1]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[2]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[32]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[48]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[64]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[8]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[128]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[2048]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_with_padding", + "tests/test_qwen3_next_norm.py::test_call_matches_forward", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[128]", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[2048]", + "tests/test_qwen3_next_norm.py::test_cuda_default_offset_preserves_plain_convention", + "tests/test_qwen3_next_norm.py::test_cuda_gated_backward_matches_autograd_golden", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_matches_golden_within_contract", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_bad_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_mismatched_gate", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_backward_uses_the_sigmoid_derivative", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_swish_is_an_alias_for_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_unit_weight_is_plain_norm_times_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_weight_offset_is_applied_in_fp32", + "tests/test_qwen3_next_norm.py::test_cuda_gated_wrapper_rejects_equal_numel_wrong_shape", + "tests/test_qwen3_next_norm.py::test_cuda_gated_zero_gate_zeroes_output", + "tests/test_qwen3_next_norm.py::test_cuda_offset_equals_explicit_fp32_weight", + "tests/test_qwen3_next_norm.py::test_cuda_offset_is_not_folded_through_bfloat16", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_backward_is_offset_aware", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_within_tolerance_of_golden", + "tests/test_qwen3_next_norm.py::test_deterministic_repeat", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype0]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype1]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype2]", + "tests/test_qwen3_next_norm.py::test_eps_inside_sqrt", + "tests/test_qwen3_next_norm.py::test_gated_batch_invariance_slice", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedHFOp]", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedOp]", + "tests/test_qwen3_next_norm.py::test_gated_conventions_diverge_in_low_precision", + "tests/test_qwen3_next_norm.py::test_gated_cuda_op_rejects_bad_activation_at_construction", + "tests/test_qwen3_next_norm.py::test_gated_extension_handles_empty_batch_and_nondefault_stream", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[dy_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[gate_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[rstd_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_shape]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_matches_hf_formula_fp32", + "tests/test_qwen3_next_norm.py::test_gated_shape_mismatch_raises", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_strict_matches_vllm_formula_fp32", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[128]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[2048]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_offset_applied_in_fp32_not_folded_into_bf16", + "tests/test_qwen3_next_norm.py::test_op_batch_invariance_on_device", + "tests/test_qwen3_next_norm.py::test_plain_reference_is_unchanged_by_the_offset_plumbing", + "tests/test_qwen3_next_norm.py::test_weight_offset_is_one", + "tests/test_qwen3_next_norm.py::test_zero_centred_cuda_constructor_rejects_missing_extension", + "tests/test_qwen3_next_norm.py::test_zero_centred_op_inherits_the_plain_reference", + "tests/test_qwen3_next_norm.py::test_zero_weight_is_identity_scaling" + ], + "case_ids_sha256": "694c931b65f9cfa5db963f2eca6d11bd309546c824a1df52f9da2ab128e83e0f", + "norm_gates": [ + "qwen3_next_rms_norm-forward.json", + "qwen3_next_rms_norm-gradient.json", + "rms_norm_gated-forward.json", + "rms_norm_gated-gradient.json" + ] + }, + "layer_requirements": { + "schema_version": 1, + "gates": { + "gdn": { + "script": "scripts/qwen3_next_tp_gdn_check.py", + "output_option": "--output", + "scope": "tp4_gdn_layer0", + "groups": { + "cases": [ + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "prompt-gradient", + "replicated-norm-gradient", + "hf-load-export" + ] + }, + "script_sha256": "cc4338893f90af004c51c20fc67d1a9a3f4bf8d26775277f72671c02983e4df5" + }, + "attention": { + "script": "scripts/qwen3_next_tp_attention_check.py", + "output_option": "--output", + "scope": "tp4_full_attention_layer3", + "groups": { + "attention.cases": [ + "hf-load-export", + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "batch4-varlen-reorder", + "sixteen-token-decode", + "prompt-gradient", + "kv-pair-gradient", + "qk-norm-gradient" + ] + }, + "script_sha256": "d27d43efb05415a8ef5892c3c2238a2b9744a4821f5466faf46c6510e6e01bec" + }, + "moe": { + "script": "scripts/qwen3_next_tp_moe_check.py", + "output_option": "--output", + "scope": "tp4_moe_block_layer0", + "groups": { + "moe.cases": [ + "hf-load-export-all512experts", + "routes-replicated-8", + "full-chunk-reorder-8", + "routes-replicated-64", + "full-chunk-reorder-64", + "routes-replicated-256", + "full-chunk-reorder-256", + "routes-replicated-1024", + "full-chunk-reorder-1024", + "training-forward", + "all-parameter-gradient", + "replicated-router-gradient" + ] + }, + "script_sha256": "d5c1bbbb82e408b65871b0cb1638d7a6cf8cfe07f0a3315a657b7dc232d544be" + }, + "adapters": { + "script": "scripts/qwen3_next_adapter_check.py", + "output_option": "--out", + "scope": "gdn_engine_adapter_component", + "groups": { + "cases": [ + "batch1-length8", + "batch1-length64", + "batch1-length256", + "batch1-length1024", + "batch4-length8", + "batch4-length64", + "batch4-length256", + "batch4-length1024", + "mixed-prefill-decode16-reorder" + ] + }, + "fields": { + "prompt_gradient": "passed", + "hf_conv_roundtrip": "passed", + "batch_invariance_capability_registered": false + }, + "script_sha256": "3ce45bb317237c1a06533116d65fb77c2a23b6f503ae46406ede543036eb0f20" + }, + "heads": { + "script": "scripts/qwen3_next_tp_head_check.py", + "output_option": "--output", + "scope": "tp4_embedding_lm_head_only", + "groups": { + "cases": [ + "hf-embedding-roundtrip", + "hf-lm-head-roundtrip", + "replicated-norm-gradient", + "nonzero-finite-embedding-head-gradient", + "embedding-repeat-100", + "batch-invariant-prompt8", + "batch-invariant-prompt64", + "batch-invariant-prompt256", + "batch-invariant-prompt1024", + "logprob-original-and-promoted-logits", + "entropy-interface" + ] + }, + "script_sha256": "0504185d21a75405c8e994bc57b016cf4ec357d8b16e7430772c11934f2af876" + } + }, + "scheduler_case_ids": [ + "p0008-b1-full", + "p0008-b1-chunked", + "p0008-b4-full", + "p0008-b4-chunked", + "p0064-b1-full", + "p0064-b1-chunked", + "p0064-b4-full", + "p0064-b4-chunked", + "p0256-b1-full", + "p0256-b1-chunked", + "p0256-b4-full", + "p0256-b4-chunked", + "p1024-b1-full", + "p1024-b1-chunked", + "p1024-b4-full", + "p1024-b4-chunked" + ], + "registry_sha256": "e3949a750cb27c1897a000f3b023f912629906612ae8949c1575d0acc36df5ec", + "case_ids_per_rank": [ + "adapters/cases/batch1-length1024", + "adapters/cases/batch1-length256", + "adapters/cases/batch1-length64", + "adapters/cases/batch1-length8", + "adapters/cases/batch4-length1024", + "adapters/cases/batch4-length256", + "adapters/cases/batch4-length64", + "adapters/cases/batch4-length8", + "adapters/cases/mixed-prefill-decode16-reorder", + "attention/attention.cases/batch4-varlen-reorder", + "attention/attention.cases/full-chunk-1024", + "attention/attention.cases/full-chunk-256", + "attention/attention.cases/full-chunk-64", + "attention/attention.cases/full-chunk-8", + "attention/attention.cases/hf-load-export", + "attention/attention.cases/kv-pair-gradient", + "attention/attention.cases/prompt-gradient", + "attention/attention.cases/qk-norm-gradient", + "attention/attention.cases/sixteen-token-decode", + "gdn/cases/full-chunk-1024", + "gdn/cases/full-chunk-256", + "gdn/cases/full-chunk-64", + "gdn/cases/full-chunk-8", + "gdn/cases/hf-load-export", + "gdn/cases/prompt-gradient", + "gdn/cases/replicated-norm-gradient", + "heads/cases/batch-invariant-prompt1024", + "heads/cases/batch-invariant-prompt256", + "heads/cases/batch-invariant-prompt64", + "heads/cases/batch-invariant-prompt8", + "heads/cases/embedding-repeat-100", + "heads/cases/entropy-interface", + "heads/cases/hf-embedding-roundtrip", + "heads/cases/hf-lm-head-roundtrip", + "heads/cases/logprob-original-and-promoted-logits", + "heads/cases/nonzero-finite-embedding-head-gradient", + "heads/cases/replicated-norm-gradient", + "moe/moe.cases/all-parameter-gradient", + "moe/moe.cases/full-chunk-reorder-1024", + "moe/moe.cases/full-chunk-reorder-256", + "moe/moe.cases/full-chunk-reorder-64", + "moe/moe.cases/full-chunk-reorder-8", + "moe/moe.cases/hf-load-export-all512experts", + "moe/moe.cases/replicated-router-gradient", + "moe/moe.cases/routes-replicated-1024", + "moe/moe.cases/routes-replicated-256", + "moe/moe.cases/routes-replicated-64", + "moe/moe.cases/routes-replicated-8", + "moe/moe.cases/training-forward" + ], + "case_ids_sha256": "be74417dfbd6031ba27978d06d04bb15daaab2aeb57d132c7e0d41176b28b46e" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "run_id": "20261009T041838Z-train1-c67ec144-39e7db9f", + "stage": "train1", + "suite": "all", + "execution_id": "39e7db9f488142f4b52872e05728c390", + "attempt": "0", + "status": "passed", + "phase": "complete", + "scope": "qwen3_next_training_update1", + "full_model_l2": "passed", + "evidence": { + "updates": { + "path": "attempts/0/training-progress.json", + "sha256": "f21f30f70b7902aa0ec4482b3764995ab8185ca6641072ed216a52f667b22dee" + }, + "l2_matrix": { + "path": "attempts/0/l2-matrix.json", + "sha256": "ad78b78687d2ef725a24b42de908033b36383f69db41d2c754f87acb07cd9870" + }, + "operators": { + "path": "attempts/0/operators.json", + "sha256": "dedb24b6ac2a01d37eb795a001376ca0b200a03e417f8131688aac67c19c2ebd" + }, + "environment": { + "path": "attempts/0/environment.json", + "sha256": "4d4118b462346e2b02d4c56d0d496fec8a0505ffeaf3063dd9cc42be5e391b89" + } + }, + "training_phases": [ + "update1" + ] +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/train1/run.json b/docs/usage/evidence/qwen3-next-chain-b200/train1/run.json new file mode 100644 index 000000000..855a12002 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/train1/run.json @@ -0,0 +1,5252 @@ +{ + "run_id": "20261009T041838Z-train1-c67ec144-39e7db9f", + "execution_id": "39e7db9f488142f4b52872e05728c390", + "contract_version": 4, + "suite": "all", + "execution_gpus": 4, + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "stage": "train1", + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source": "/source", + "python": "", + "cuda_home": "", + "checkpoint": "", + "memory": "1280G", + "previous": "", + "status": "prepared", + "full_model_l2": "not_evaluated", + "environment": { + "identity": { + "base_prefix": "/miniconda3/envs/rlkernel", + "binary": "/python3.12", + "binary_sha256": "6a1eb3ffc29f3a6b0ece607b016b4cfa5ca3ac57b34f17ed3266b404f78d2729", + "build_tools": { + "ninja": { + "path": "/miniconda3/envs/rlkernel/bin/ninja", + "sha256": "08639e194fffa7f08b259fc4abfa4803aff66b64de52549cee42ec527d55cea6" + } + }, + "distributions": [ + { + "direct_url": null, + "metadata_sha256": "6f1038270be40f9b8c0bcf391c627e7d7f41ccdd19aa192d6eac1dbfc3b19abc", + "name": "GitPython", + "version": "3.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "3f71971502087521f123c9daa26bc12d31d3466738b567390b8602acad3be22a", + "name": "Jinja2", + "version": "3.1.6" + }, + { + "direct_url": null, + "metadata_sha256": "818fb343b7b6b99a32771bf4813521ae6440b4c7579b3ae46e32dd02da0afeee", + "name": "Markdown", + "version": "3.11" + }, + { + "direct_url": null, + "metadata_sha256": "dc1ee42cf8ecfeee0ab60b15b21d291833e0732548efcb7bb5b3564dca3e5bf7", + "name": "MarkupSafe", + "version": "3.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "de7389b142450a0014234286b0876f328439b823c355c73d0aed41fd67ec208c", + "name": "PyJWT", + "version": "2.15.1" + }, + { + "direct_url": null, + "metadata_sha256": "ffcad4415cafb22b8b536a61595e9ee13438b51d31b0763c1b273ce3bc58e840", + "name": "PyYAML", + "version": "6.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "8562d701cc52d9cafbb418942b0e072fc087ed8ddcf35cd10224c1b2ed8bdd91", + "name": "Pygments", + "version": "2.21.0" + }, + { + "direct_url": null, + "metadata_sha256": "b6c25fcfdcc495edf248a10ca4ad28327ef2ed6047a6ec5c6346e121414c7f21", + "name": "Werkzeug", + "version": "3.1.9" + }, + { + "direct_url": null, + "metadata_sha256": "55c400d24c71b581d9c0992f71df6047cf6c878bebe61a7d45d6e02dc0e4c510", + "name": "absl-py", + "version": "2.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "13db521f90a6a882027b2388eaa2ebf252945f9c2adb7e7e371da18239da4df0", + "name": "accelerate", + "version": "1.15.0" + }, + { + "direct_url": null, + "metadata_sha256": "86fe44e38e67872dd895c729044942ba2c2f934ae439a899fb83a186206b7fd4", + "name": "agent-detector", + "version": "2.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "afe11fe9f5aa54e734cdd51659bed8c89dc6bcd5aef0ad96f2d20149c8de5456", + "name": "aiohappyeyeballs", + "version": "2.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "570b307bc0b53fbbd3ed2ce0b7eca6bbf2fa73bf75e24a480f1034d8c0b832bf", + "name": "aiohttp", + "version": "3.14.3" + }, + { + "direct_url": null, + "metadata_sha256": "44b7f8e14c4770793e747fad50c9e0a6ee7357651d878554f192d94768dc14a8", + "name": "aiohttp-cors", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "648813a44a9ae0ab2f20ee86d2404dcc38e3f9e80c63316cf6e536735df14e54", + "name": "aiosignal", + "version": "1.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "f6a3f6668bacef7f73a2c19ccb2be910b2363d1731c4725cb04364d99e24935a", + "name": "annotated-doc", + "version": "0.0.5" + }, + { + "direct_url": null, + "metadata_sha256": "fc6d752cde6a6a4bff03474386de750e130b75da3c7815ee909f45b51fea98c8", + "name": "annotated-types", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "4e89d670a4b20029da30e5a9e8ebcbc844deff9c44209552bafd5537249c8b9e", + "name": "anthropic", + "version": "1.9.0" + }, + { + "direct_url": null, + "metadata_sha256": "b5a6f00800956387fcddab1fe1b5aa8502c249b86cfb16d58ed700f282f60142", + "name": "antlr4-python3-runtime", + "version": "4.9.3" + }, + { + "direct_url": null, + "metadata_sha256": "a6008defa9492cd08250217b134782cad1db4580e1d7ddf69cc2a2a48cea24e0", + "name": "anyio", + "version": "4.15.1" + }, + { + "direct_url": null, + "metadata_sha256": "7877c64ce8957237363f2df313819bb07f50752df016d14c5a5a99bec10f5deb", + "name": "apache-tvm-ffi", + "version": "0.1.11" + }, + { + "direct_url": null, + "metadata_sha256": "3543ca8f0e072c00ab111b20eba99ce86dbf93ada28988775bc2677284b3c07a", + "name": "astor", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "d4b328c09c024fe1e4d788a9c7715ad726095131b815cd35fd933268226f6269", + "name": "attrs", + "version": "26.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "4850c4d696a5e2a2ecbb3dd792b060acc1de79e09800669b0b9fc3a22c055e6d", + "name": "av", + "version": "19.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "863ff92208d0a02dabfa008bfe91846a5c401ded301e5687dca7dc63c911865f", + "name": "babel", + "version": "2.18.0" + }, + { + "direct_url": null, + "metadata_sha256": "f32e6df3197f05202e586624d95c5e217003d80cee655c165d533102f628df21", + "name": "backrefs", + "version": "8.0" + }, + { + "direct_url": null, + "metadata_sha256": "905c362f655fbc6d37a24686efc2b3bfbd3123b8ee5a443a43f6750d87455e90", + "name": "blake3", + "version": "1.0.10" + }, + { + "direct_url": null, + "metadata_sha256": "07c85682b6aefd5c9b48890d306c1604311902295704892ede48e5a83219a8d3", + "name": "blobfile", + "version": "3.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "2d582941a7081625a35f35a0c4a2e80f7737312e29c38e5fdb6fc08f9c113077", + "name": "bracex", + "version": "3.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "3b60c55bae0d0340c3a3fd918635bbfa3087579da66e0fd7f6be7a3782c0da3d", + "name": "cachetools", + "version": "7.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "5d11a6878d5bc3f22290281a19ef7b36daa95c910780950608b95cd788c7e12e", + "name": "cbor2", + "version": "6.1.4" + }, + { + "direct_url": null, + "metadata_sha256": "362c9942c48051f168ed2b9f2146266b7792d3c05e164cd6afc3f3b65884fdc9", + "name": "certifi", + "version": "2026.7.22" + }, + { + "direct_url": null, + "metadata_sha256": "b4abf1bcf1c1d8e0272d8007fc974499ea59e5f2a5b98af3c78a5e67515a9d87", + "name": "cffi", + "version": "2.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "766120f13c177446f51929a4d201104bc935b6d5a2a176cd6716edce757d3d95", + "name": "cfgv", + "version": "3.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "610e9a9d03ce837ffe6e42be5e02e70087f73863f7350bf7bb7f0511edcc5ec0", + "name": "charset-normalizer", + "version": "3.5.2" + }, + { + "direct_url": null, + "metadata_sha256": "7ad836b3147c9702546d9c28b4fa5be23b24445439db5d0d2a58d17281c84daa", + "name": "click", + "version": "8.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "4c5f00599ebcbf11d337e48a72784d256ca3d704fa9e9f5daadd60065e6776b7", + "name": "cloudpickle", + "version": "3.1.2" + }, + { + "direct_url": null, + "metadata_sha256": "a0970189e3ab7a596d6902d5f61f93b414f138f03d3cf19029145657bfceb382", + "name": "cmake", + "version": "4.1.2" + }, + { + "direct_url": null, + "metadata_sha256": "94a6ebf9718e55f254a43ce0d2f04e0d6d44e7141b6f3144a84feb6519a77bfd", + "name": "colorama", + "version": "0.4.6" + }, + { + "direct_url": null, + "metadata_sha256": "ca8ec227f406d970a645ec482b20619128dd34b9cf71159cc24e27db461a2711", + "name": "colorful", + "version": "0.5.8" + }, + { + "direct_url": null, + "metadata_sha256": "bbaa51b7e4d8f142bd075d01257c0572c0c844796d51426e35c8096a13e8da76", + "name": "compressed-tensors", + "version": "0.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "6063d8ff7ebc458d63a4332853d7ababf4ee2b86336362c8d2b12be6e998eb6b", + "name": "connectrpc", + "version": "0.11.1" + }, + { + "direct_url": null, + "metadata_sha256": "ac5f4b5a5f68080bd9c3fe77399fe8a1bff2ee5923c49db1df544dd054cbf15b", + "name": "cryptography", + "version": "50.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "f41d2f6b4616accca2f5e1dd47aa9e8937c28076cde698226d93e727751f3099", + "name": "cuda-bindings", + "version": "13.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "e5ca6ed34c687c6f4a4d157ad0a2cf06ec0316fe8c4c0ddeb666ad76dd6f30f4", + "name": "cuda-core", + "version": "1.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "89baadd9da23dce9990481519544115615ba3cbd2d1a41e09feea7756fffb378", + "name": "cuda-pathfinder", + "version": "1.8.2" + }, + { + "direct_url": null, + "metadata_sha256": "1ab914b9a57ca601df2e3cfe9608427b15d8afb78029076ace5d1caf9fd45f08", + "name": "cuda-python", + "version": "13.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "73d97a5eb578223b4895ef4f234574d14219cef9999ff7d0e92a3d0dd057bd3f", + "name": "cuda-tile", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "ae6f957fe66ed63081d1d83ee6e8838f3a0af2c6fce1223629d0dd6264565ead", + "name": "cuda-toolkit", + "version": "13.0.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "1f8e0ae51ad5feea63f58ed2e24f3da6f23ed548043235a14f7623d961dd9b64", + "name": "datasets", + "version": "5.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "153f4a4d6ff03dbe5c8ad7fe54bc2e7b989a4947b70f7aa77fbf652b394f2a2e", + "name": "depyf", + "version": "0.20.0" + }, + { + "direct_url": null, + "metadata_sha256": "ee09fc752d7271aac93079cfd63409957dc6b536c1ffd9355a01bf7297e72aa6", + "name": "detect-installer", + "version": "0.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "a7feab2c4f69fd5f85e5a3cb495a7f1870a6bf8199dcee5339e8118f7acbdc09", + "name": "dill", + "version": "0.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "fef3fde661fe30ba7bd1d78841a797136b2b3461705bb4eb92dc54f8308bbaae", + "name": "distlib", + "version": "0.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "fef3fde661fe30ba7bd1d78841a797136b2b3461705bb4eb92dc54f8308bbaae", + "name": "distlib", + "version": "0.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "a3ca2e39abe76c4a33d5fe4a2a84375ec9f25cdfdb7e1d8ea406bd6f1603205c", + "name": "dnspython", + "version": "2.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "92a07daad5e6ff461199de14e845d9b376e309ef916ce5379f3c9cd4e3b1623f", + "name": "dockerfile-parse", + "version": "2.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "5b566b25f0cbe4955d0b16844a7cc6d2002caa3bde2dfda7f301fd8870cbaa56", + "name": "docstring_parser", + "version": "0.18.0" + }, + { + "direct_url": null, + "metadata_sha256": "5a1080b5768c6c591e1c4f9c9812cafa808781b9eeb198043bf185e22d4a1613", + "name": "e2b", + "version": "2.51.0" + }, + { + "direct_url": null, + "metadata_sha256": "0a63979e0b946e16238e4339e60d9c1eb5a7ce3ea93dae78b5da9c65a6190540", + "name": "einops", + "version": "0.8.2" + }, + { + "direct_url": null, + "metadata_sha256": "16cbe67a57558f1d4bfdbc22a454434ba301750c57a62b1d3f5361c9e5cddc00", + "name": "email-validator", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "0617ddb55b90b42ddc9398dc7e91d61fe928a2504939f76526dc15b22d238caa", + "name": "fastapi", + "version": "0.136.3" + }, + { + "direct_url": null, + "metadata_sha256": "ddd82b9666c21988e234d623e2575e1b89fd4133260eeab43fc9a7c074f7024a", + "name": "fastapi-cli", + "version": "0.0.32" + }, + { + "direct_url": null, + "metadata_sha256": "611602e834d42e10433155ff5f5581358d732fa6b6f6f7820a8f79e74b1ce1f9", + "name": "fastapi-cloud-cli", + "version": "0.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "794524e4a9659bda6043721d848d028ea49996085a33326094fbaaa3f6e6b895", + "name": "fastar", + "version": "0.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "711401d36e60e10e35beb4d0f1bb42bf0c4d86339ae52f32b9aa4a4d790530dd", + "name": "fastsafetensors", + "version": "0.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "efaea9742e348c4c4bdcc6f616a33cc5aa3ae926494a72a46690b7da2f08ed5c", + "name": "filelock", + "version": "4.0.7" + }, + { + "direct_url": null, + "metadata_sha256": "99bd6c3f10781d3d2d350f2c3c9fc4765b55f25de8a6d6dd1f71501802d1255e", + "name": "fla-core", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "0a6ef979b75295cee2b5293ad4942b0cf2682e9e38680203064e0b70249c1a96", + "name": "flash-linear-attention", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "76b70a11ca82ea4606b529e7a8658cb3fe71412afa46f2ed57101dd91ba27558", + "name": "flashinfer-python", + "version": "0.6.18.post1" + }, + { + "direct_url": null, + "metadata_sha256": "ba8ff415192b5cbb90efce046e2271a00c8184afc362d8b47fbbc84d5e558b05", + "name": "frozenlist", + "version": "1.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "e7712831c80eb13b08fb7f7cc33988a8f24654af9eba7c6f5f943b2636e4306a", + "name": "fsspec", + "version": "2026.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "025de85c794878d0caa737869307447595f514ebf9599eacb5b1a501bae479b6", + "name": "fsspec", + "version": "2026.9.0" + }, + { + "direct_url": null, + "metadata_sha256": "ca94883bdeaa3740b45b6994443b445fd67c6e4a8064ac3bf9d92d2a5221eee8", + "name": "ghp-import", + "version": "2.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "a7e90983562a035cf767baa63d8c32bc37e1de7cad71ac7b6b2bc70a95bba4eb", + "name": "gitdb", + "version": "4.0.12" + }, + { + "direct_url": null, + "metadata_sha256": "dd96143ec79178bef685c1f5c0a58a87a66d003b421e605de65697308321d518", + "name": "google-api-core", + "version": "2.40.0" + }, + { + "direct_url": null, + "metadata_sha256": "0735d57088a83df2355e16843107fb0112abe2178fc5bb8132947a7ad962aa41", + "name": "google-auth", + "version": "2.59.1" + }, + { + "direct_url": null, + "metadata_sha256": "2f3aa9d9500d329560440e6a5a152e420aad5f5bbb23701f45b740be721784a1", + "name": "googleapis-common-protos", + "version": "1.75.5" + }, + { + "direct_url": null, + "metadata_sha256": "06d74ab04fdc03fad368868907f0d10e7d9f397aab58d58965c0b78ffaec34cc", + "name": "griffelib", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "7ee1c179e2c68a62968308b2f96f4f3469176ee3ac8bdb494ac80188d4d41271", + "name": "grpcio", + "version": "1.84.0" + }, + { + "direct_url": null, + "metadata_sha256": "04cf3a4a91575850f386f4fcfdedd8e7fbfba08feff038fbc1296d1e854db2dd", + "name": "h11", + "version": "0.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "b954a6ba4739c0cc878bb8ea27ea7c7154a48bb4b7c06dba9e9cf880cf0ec930", + "name": "h2", + "version": "4.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "6f0d7bf86e75d0bda1ceccc82367c0145ad0ec522c4d4f51bb454f467faadcc9", + "name": "hf-xet", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "f991b847550cf8225f69562902b5ccb591b2ce9a08fe07ef6e6d701bdb4694a7", + "name": "hpack", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "314d194165c4700034c1c67cee847d549a6d7091374c71f2cef0186ec56a3eb9", + "name": "httpcore", + "version": "1.0.9" + }, + { + "direct_url": null, + "metadata_sha256": "aed9767360bed1bcbda71e3b1a3c996603f86558bc77a1693ee3d09973d20cad", + "name": "httpcore2", + "version": "2.13.1" + }, + { + "direct_url": null, + "metadata_sha256": "8fa3bf3510c35e2eea9f523a1cace7120079cf51d76c4acea97de95806aaa14a", + "name": "httptools", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "3bf4804c215d111b6a4702cf9000021ab39807d1ed3207dd011b14b2843b2d14", + "name": "httpx", + "version": "0.28.1" + }, + { + "direct_url": null, + "metadata_sha256": "d11dd50813b8914bd9455e8b2b591171cd2b1618883943153afadc8bb9224678", + "name": "httpx2", + "version": "2.13.1" + }, + { + "direct_url": null, + "metadata_sha256": "43b119c34ad2b2aacc032a1a6a8feb142fdb5ca407a3519325d74dd53d8904df", + "name": "huggingface_hub", + "version": "1.33.0" + }, + { + "direct_url": null, + "metadata_sha256": "9ce850d5a6b775e5ef4a335f907e579a878e058213121b6eec567781ea68c585", + "name": "humming-kernels", + "version": "0.1.12" + }, + { + "direct_url": null, + "metadata_sha256": "67aa4f6717d82446a51ce350e7c4769eba0c4a22d2f428255cddd9d24b11a914", + "name": "hyperframe", + "version": "6.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd9511ede42f63b995c3f71944f908cb8f014048b63ecc1c8d420525a3354b59", + "name": "identify", + "version": "2.6.20" + }, + { + "direct_url": null, + "metadata_sha256": "af3c3a62bb5d82d6a43454684e0b1dedde27a21ea90eacfb1bed9814619f06d0", + "name": "idna", + "version": "3.20" + }, + { + "direct_url": null, + "metadata_sha256": "cf71393f3d079ce2e859384573e65aaacd1709bef700701f629df32398b598f0", + "name": "ijson", + "version": "3.5.1" + }, + { + "direct_url": null, + "metadata_sha256": "9305763e93d03df0e36516b1125fa046a6ebe37d44589e200e0593cf4bdfd980", + "name": "importlib_metadata", + "version": "9.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "32860c3c19b2e91f6cb5bd83400b5870cda051bc74a5a08822c8c666af0990db", + "name": "iniconfig", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "560faabb3d45d779e445a74e7e806a786f95f2200fa06d979603b7f0ee1cfb39", + "name": "instanttensor", + "version": "0.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "f6fc1f0d389e4245fc2a1a0fdfee09422e56200cb6f94659668456997ff4f7a9", + "name": "interegular", + "version": "0.3.3" + }, + { + "direct_url": null, + "metadata_sha256": "d10f300731197a4829b77f0c883bb3cf8a37ae8c76a302e095fa95d6427706d0", + "name": "jiter", + "version": "0.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "5b0c8d4b4c535a2432fb206223d774509b6e20af374c6a4b6f98bf72a7de6702", + "name": "jmespath", + "version": "1.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "6c4032c2e74273452cd77399af2ee85198f49c22da897983f26d2ed6f787c4e8", + "name": "jsonschema", + "version": "4.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "aaa6cd66f423729e8da397c9d533b7d731f6b25f3d6371b9338c36bdb9be74a0", + "name": "jsonschema-specifications", + "version": "2025.9.1" + }, + { + "direct_url": null, + "metadata_sha256": "f7c0687c032593106a2e5a3c241cf8043e7e2c222bddb0022b4cb2bf5de67115", + "name": "lark", + "version": "1.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "4511c6b04efc57a5f5333edc1f5f48b9f5412c3923d4bc19b715bdf47977511c", + "name": "linkify-it-py", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "be929870f6ecae18a819c56118f1101f3076e25ac6a4843ca6f4707ebd1e87c6", + "name": "llguidance", + "version": "1.7.6" + }, + { + "direct_url": null, + "metadata_sha256": "cf2b87669bead3e76ec54207f3354c13f73b50c32fcd13c8d627084b3379139e", + "name": "llvmlite", + "version": "0.47.0" + }, + { + "direct_url": null, + "metadata_sha256": "0a416d79c5543d94d2b18807626293d4f47655d1d22724c7ae296e413078aaba", + "name": "lm-format-enforcer", + "version": "0.11.3" + }, + { + "direct_url": null, + "metadata_sha256": "16bc1f59e34fd2a6633bd395276052eacd2c777b2cf72781e76b203f013a8fac", + "name": "loguru", + "version": "0.7.3" + }, + { + "direct_url": null, + "metadata_sha256": "5216d5acfd039a7b581a826186309594b228d37d2c8d56864124ea666689fe4e", + "name": "lxml", + "version": "6.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "f59d772b35315a928672bfcccfb89d82c0aac672c5275c048f7a93b79015bcea", + "name": "markdown-it-py", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "b137367ef0056711cbf5e53015df9168cab80373104e7899b1c0263a21d9c99c", + "name": "mcp", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "38e0b9edaae09e58cd1461fc961ced22672038a697930bedef153a74befb3de1", + "name": "mcp-types", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "799f49685865fd9cc8915fdb92a33e102eeeffad562b03b4aeffb6f422b771c1", + "name": "mdit-py-plugins", + "version": "0.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "481f9cbe08596c6eaba6343e0efa1b13b2362c30dce0610f7c08523f1d98388d", + "name": "mdurl", + "version": "0.1.2" + }, + { + "direct_url": "{\"dir_info\": {\"editable\": true}, \"url\": \"file:///Megatron-LM-training\"}", + "metadata_sha256": "2876c0c760bbfc93bd7d737bf0db2866a937308a7c1707c3a2bb59d4795986ff", + "name": "megatron-core", + "version": "0.16.0rc0" + }, + { + "direct_url": null, + "metadata_sha256": "a6e34d488c879f57ce042bec38f8864ba3ea7d6ecf0ab757fc88fe8dc0a22f26", + "name": "memray", + "version": "1.20.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd26d80dc9676b1fb8c894355bd525fbe7f49a6a86a555c72e9ec6d927247c33", + "name": "mergedeep", + "version": "1.3.4" + }, + { + "direct_url": null, + "metadata_sha256": "dd1b3b89e88d1c65a26e6e72dd075eabbc220bfb138769ec8b64578ee911795c", + "name": "mistral_common", + "version": "1.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "4859847a9f6321daf8849cf7fd1542ff430db6563a2abf9ac0d62a5b21bd951d", + "name": "mkdocs", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "1729fc31479f2582486cdc85397417659dd3b2fb3f920553de66cfe59d5f0b3e", + "name": "mkdocs-awesome-nav", + "version": "3.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "88b4b7b7c0aba5547befdedaf515c8df4867361daf55ff60b72578464d72dcbe", + "name": "mkdocs-get-deps", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "ad33bb33fb16b1f69689c4682550e97232154e367e2c8c8aee9dad0f10d269ce", + "name": "mkdocs-git-revision-date-localized-plugin", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "ed69fbfb9ac00c10c5a383a12ff9d2b9919ae184e408554434199211643d6040", + "name": "mkdocs-material", + "version": "9.7.7" + }, + { + "direct_url": null, + "metadata_sha256": "d1c549b61701148b97f8246bc924b2840e504b37b0ce7a27e78ddf81261e5363", + "name": "mkdocs-material-extensions", + "version": "1.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "4ad6171f3bf6812e4de90670ff0089d445093d4fe1d05d55f17b96a4a192a816", + "name": "ml_dtypes", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "4ad6171f3bf6812e4de90670ff0089d445093d4fe1d05d55f17b96a4a192a816", + "name": "ml_dtypes", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "b0dbdfa30ab6b1ce637a794899c9e43019182b6d1ab2d07b90f647f7331eba6b", + "name": "model-hosting-container-standards", + "version": "0.1.16" + }, + { + "direct_url": null, + "metadata_sha256": "95424470e481cfa8d18b30963b6de3aafe16614b1ea0414e184a008571dde84f", + "name": "mpmath", + "version": "1.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "eb184d83489401903615ce8a78d98d5b933dec0f7246811d396a529915fe797c", + "name": "msgpack", + "version": "1.2.3" + }, + { + "direct_url": null, + "metadata_sha256": "520006303d6a0e859970b83f7d452196e2e8f6dab08f6dcf1ba5823c1230025f", + "name": "msgspec", + "version": "0.22.0" + }, + { + "direct_url": null, + "metadata_sha256": "010d2fe039006070a711a476b171b7b7da5c29ccad3c4eecd77ef3711b07c2d0", + "name": "multidict", + "version": "6.9.1" + }, + { + "direct_url": null, + "metadata_sha256": "235634cc7ebda45f8a84dfdb1b9b35ac1a77a1888b34650c3a616d23e4a7e93f", + "name": "multiprocess", + "version": "0.70.19" + }, + { + "direct_url": null, + "metadata_sha256": "7c545b4b3e5e83d3fde41352272c10cb9deeaba5b7138fbf24383e952af8822e", + "name": "natsort", + "version": "8.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "311ee8cdaeaf9f11acf51cda9c3b5b191f76ce9d98bc3418164c3189bbc37a08", + "name": "nccl4py", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "66360539217852c3b44b37f409eade7e1559baf018bb363bacb2aa3a9759b203", + "name": "networkx", + "version": "3.7" + }, + { + "direct_url": null, + "metadata_sha256": "e8b0b1746808b87816c47e4531780ded7f246bed9575a89e8b40200aa81e9a13", + "name": "ninja", + "version": "1.13.2" + }, + { + "direct_url": null, + "metadata_sha256": "77c1117f0dbc41560ddc6e6b37b542fb4e88afcd4ef82ec06593e5bbd5f37121", + "name": "nodeenv", + "version": "1.11.0" + }, + { + "direct_url": null, + "metadata_sha256": "9af629898406c9eaa69897fe09220dc483270cdba89f6b20bf0165cdf0e1668e", + "name": "numba", + "version": "0.65.0" + }, + { + "direct_url": null, + "metadata_sha256": "0c7281a81cf76e40b27c1385ffd8a215d7227adc219f177ce807ead9e91994a5", + "name": "numpy", + "version": "2.3.5" + }, + { + "direct_url": null, + "metadata_sha256": "0c7281a81cf76e40b27c1385ffd8a215d7227adc219f177ce807ead9e91994a5", + "name": "numpy", + "version": "2.3.5" + }, + { + "direct_url": null, + "metadata_sha256": "bab990ced4537ce74ef5961ca933c4c6fd604fd09a5827a4a428c55bcb0be35b", + "name": "nvdlfw_inspect", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "10f6595146332d35f7f15a000e08b5c81432528c5d026470c1d03f0c1399fb70", + "name": "nvidia-cublas", + "version": "13.1.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "58e933b4ac8e49f098b16ab7480d03bd792afc3d1db10d0aacbdcc2c62e48fa3", + "name": "nvidia-cuda-cccl", + "version": "13.3.4.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "baac937970681d41aa0c3708b3d55d73f8d29e70aceaac0e71fe6d1548e94a09", + "name": "nvidia-cuda-crt", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "8d51e5c76ef5707b0b80d5ec9a791c0f11a480ab721820cf100a3cc566017eef", + "name": "nvidia-cuda-cupti", + "version": "13.0.85" + }, + { + "direct_url": null, + "metadata_sha256": "724bf56e61ddef5d4c2482ff64103a973b911b110b668acaea5373f6c83c1c5c", + "name": "nvidia-cuda-nvcc", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "c54801dbd815d534519a761f1f328325aa0f1d1f1659aa969fa74e7a2c76eee9", + "name": "nvidia-cuda-nvdisasm", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "af51f248363020b9fdfd2743704e901bf3d19a1a1ce1fe44fb98ba148bfc0157", + "name": "nvidia-cuda-nvrtc", + "version": "13.0.88" + }, + { + "direct_url": null, + "metadata_sha256": "055f7fc69a5a2159de82cd0718da02c8852e81c8a71ebb117b8e799badd7167e", + "name": "nvidia-cuda-runtime", + "version": "13.0.96" + }, + { + "direct_url": null, + "metadata_sha256": "df18686dbdb3074ca375a1d6c623a04102fd348950c67a721397349c6d4f0477", + "name": "nvidia-cudnn-cu13", + "version": "9.20.0.48" + }, + { + "direct_url": null, + "metadata_sha256": "abd0ca3f67af19a4d383ff2a012ae0090d4731c6492fd47236615308a50b3981", + "name": "nvidia-cudnn-frontend", + "version": "1.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "4a78545d424d0c5038353f7046a8ae40ceaf312045d71399eac9511f5fc15434", + "name": "nvidia-cufft", + "version": "12.0.0.61" + }, + { + "direct_url": null, + "metadata_sha256": "e49b909195c03ddbe203729d9b31dd88e3f207368333d1909c67c6b130a0c696", + "name": "nvidia-cufile", + "version": "1.15.1.6" + }, + { + "direct_url": null, + "metadata_sha256": "bb15a754c6be32c23aaac13c1cfa7a8ce53d92bc26652ec3b609f7a5cce3e7d1", + "name": "nvidia-curand", + "version": "10.4.0.35" + }, + { + "direct_url": null, + "metadata_sha256": "0dd58f677811eac04901a793740932e5a2a8fff2f5453aa6351614eb18391bb6", + "name": "nvidia-cusolver", + "version": "12.0.4.66" + }, + { + "direct_url": null, + "metadata_sha256": "8aeb284782ef6883095a5d1c110e221cad023a99afcfd5cdb4969a25e146d562", + "name": "nvidia-cusparse", + "version": "12.6.3.3" + }, + { + "direct_url": null, + "metadata_sha256": "09555246122896eaca3b8313eecfca4b339fefd3b597874cb9fe3bf29dab38c9", + "name": "nvidia-cusparselt-cu13", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "ac77bac79fbfb0c52ac6e2e5abc936b1e127be2192f0cbc27b00be3125fa86ae", + "name": "nvidia-cutlass-dsl", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "1ec968ec7c4083f7fe4e1fb8384c7e9b853a81491fef9f4cb1cf755961aaedf6", + "name": "nvidia-cutlass-dsl-libs-base", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "cc6f3846cd820013eaa6e2665c493d70c607be6ce7349b939eb4742888470585", + "name": "nvidia-cutlass-dsl-libs-core", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "2357d0df2d0d17c0b16663b8a89df53f751b19721f66821fd88fa78112c08e55", + "name": "nvidia-cutlass-dsl-libs-cu12", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "244590c25662dcf777b1daae97a858afe1a1aec62e5e6678b217007a459ab552", + "name": "nvidia-cutlass-dsl-libs-cu13", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "c3a25ada01f57418c1b897406c3abab18834e6adc573ab7b060620c453afb6db", + "name": "nvidia-ml-py", + "version": "13.615.71" + }, + { + "direct_url": null, + "metadata_sha256": "56baad4e7f699902b03b17580933f7bd50b6ea97b7df9d7e807750973da7529c", + "name": "nvidia-nccl-cu13", + "version": "2.29.7" + }, + { + "direct_url": null, + "metadata_sha256": "98810ef0ab8badc369e6a46a038f8ee9f412c0c753fb5ad580544f23a0aa7962", + "name": "nvidia-nvjitlink", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "b0f54ee21909d19640a58e05da755c91763eb5725f544fd0d4b84b2f5f94deba", + "name": "nvidia-nvshmem-cu13", + "version": "3.4.5" + }, + { + "direct_url": null, + "metadata_sha256": "06dc1a593c7e8b8c3f29184228c83f8f7ef57787ad91f3e5bcae1d238dd3092a", + "name": "nvidia-nvtx", + "version": "13.0.85" + }, + { + "direct_url": null, + "metadata_sha256": "32ee63450a437b6a6ed227ff6549144aa596197a322993521ec7af826ebd413e", + "name": "nvidia-nvvm", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "32c2efdcd2c673b3b7f35ca9c2cccefaad36f1f0a920648a13cad85f6a5767b2", + "name": "nvtx", + "version": "0.2.15" + }, + { + "direct_url": null, + "metadata_sha256": "3419d80e114a2c19fa9bd3582939a3942f19673055707ba6ca2ca489d58b41e0", + "name": "omegaconf", + "version": "2.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "28971076ce9c279d4b889496b046d55a1e05b02fb9851ceb717e9a10df799572", + "name": "onnx", + "version": "1.23.1" + }, + { + "direct_url": null, + "metadata_sha256": "1246f5a4d8295907a42e809ed9173ede2510ec9d260d2168989d126564897fa5", + "name": "onnx-ir", + "version": "1.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "e14643636835759700dff286f949c5ec34e7eac7ac47f44096414f0e0f1c3101", + "name": "onnxscript", + "version": "0.7.2" + }, + { + "direct_url": null, + "metadata_sha256": "00f847e99939207bd70dfd806428f6b20a3d01074b59325e4c76149a2e19be26", + "name": "openai", + "version": "3.22.1" + }, + { + "direct_url": null, + "metadata_sha256": "598d3ad5a22a14a7c4f1d218b43e345f32b0ba094b753467bae8a3f708fd48cb", + "name": "openai-agents", + "version": "0.22.3" + }, + { + "direct_url": null, + "metadata_sha256": "5a0afcb1ce845e05da12beb1767f5d2749bbc9e9050718c6b9fa3c225713c9eb", + "name": "openai-harmony", + "version": "0.0.8" + }, + { + "direct_url": null, + "metadata_sha256": "e86a6b6fcbbe152805f782c57df321002892e163019574877e9829272e25eb4e", + "name": "opencensus", + "version": "0.11.4" + }, + { + "direct_url": null, + "metadata_sha256": "53d669c8bd3d32d3275153b454e515ca5cc6dec92fae3a98309b5a2b19fe6d2d", + "name": "opencensus-context", + "version": "0.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "19778b6d66b0e45bf73e11fa37a208949d5b393aef914627394d5601455546a6", + "name": "opencv-python-headless", + "version": "5.0.0.93" + }, + { + "direct_url": null, + "metadata_sha256": "19778b6d66b0e45bf73e11fa37a208949d5b393aef914627394d5601455546a6", + "name": "opencv-python-headless", + "version": "5.0.0.93" + }, + { + "direct_url": null, + "metadata_sha256": "a3f5434fa7c80f7f7abc82173da639c8e9c59d30b4027182645562bd3d2f4f97", + "name": "opentelemetry-api", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "8611977ea596e4827874582e86250618444e1c718229dddfc16e5ea437ce5fcb", + "name": "opentelemetry-exporter-http-transport", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "2cfd41e5ca33292d987ba71fa6186d11e16ed66888f3a26f8a3a99060c4b5e90", + "name": "opentelemetry-exporter-otlp", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "3bb4494220732d4bf10e1dba231ea7638cedaa5362e1f23a50d34a14f520fea8", + "name": "opentelemetry-exporter-otlp-common", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "27fb1c8aa5c2cd07776f9f3281fc618cd3feb96017757c33d2b3586fb7fec88b", + "name": "opentelemetry-exporter-otlp-proto-common", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "5cba6098cdd0bfb06853a6c704a2451c4f82c9dea376a30b59ecd279296648ad", + "name": "opentelemetry-exporter-otlp-proto-grpc", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "6f53ef1c172ebf87af69b9ef390aa908506d0cd14bc7811985fdd937a4058808", + "name": "opentelemetry-exporter-otlp-proto-http", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "1910f4e7ebd497e98b6d231e10275288fda2cd1885117575706c62f45e065889", + "name": "opentelemetry-exporter-prometheus", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "fab18b721e30be41448be252e1dca43b48e7f15d971e0bb552492c0ef4b07bee", + "name": "opentelemetry-proto", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "3644a79f55762a646799ff52b9d837e01c8192b7b28f735a383f55c90edb9bc2", + "name": "opentelemetry-sdk", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "add3db481f7f401f65cfbddb058fde3bb4c9dd7b61064a84f8598ad7efe0b11c", + "name": "opentelemetry-semantic-conventions", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "0dfff30e912520a226bcf7a547393484cfcd8c738439c7b48418f61c95109480", + "name": "opentelemetry-semantic-conventions-ai", + "version": "0.5.1" + }, + { + "direct_url": null, + "metadata_sha256": "210ce26bad0a245a72831b4fa029708c245d4d670a88c8d5a69b1446c24a95e4", + "name": "orjson", + "version": "3.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "35ff73511848f5f934ccc39d538014716ec4579e76d54e0e407ff51794a7939c", + "name": "outlines_core", + "version": "0.2.14" + }, + { + "direct_url": null, + "metadata_sha256": "8ee2f7138ade46b6e348a6d099612f5bd6caff13511f3b4144327f37ce50eacf", + "name": "packaging", + "version": "26.3" + }, + { + "direct_url": null, + "metadata_sha256": "a4ab87bf8083001f25ccdc46095f05b678b3569dd58edc2cf941e3e7f64d7c88", + "name": "paginate", + "version": "0.5.7" + }, + { + "direct_url": null, + "metadata_sha256": "1de96a6c28c2e5613c9c87cd4ad9484791001cf58df43cf2ba74d5c4f85f0ad2", + "name": "pandas", + "version": "3.0.6" + }, + { + "direct_url": null, + "metadata_sha256": "d05b8d05da9f78176b2eefaacdfaa5e96708ec4f488daea8bbc52e3ed1bc3954", + "name": "partial-json-parser", + "version": "0.2.1.1.post7" + }, + { + "direct_url": null, + "metadata_sha256": "c1d126edceac2685e29403a8ae3a27c47143dce1f0252fa3931771562f1e2b4f", + "name": "pathspec", + "version": "1.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "30325dc8ce17bc64f9dbc0a449232fd35841a019df22a6f481007c9c5a28c1cb", + "name": "pillow", + "version": "12.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "cbc0b7b6e63b50dcb7c17cf3526a9304f285d9a31353adf3b22acc2059ab23f5", + "name": "pip", + "version": "25.0.1" + }, + { + "direct_url": "{\"dir_info\": {}, \"url\": \"file:///work\"}", + "metadata_sha256": "6ba03b5bc457a2a3d92468729501b5892a0d38ebcc36766c58859449498c5743", + "name": "pip", + "version": "26.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "0421937c4410b61c5325233d5b7671ae933bae8de174f87586ac55aa804851ea", + "name": "platformdirs", + "version": "4.12.2" + }, + { + "direct_url": null, + "metadata_sha256": "2bcffab42626e1fb50d6329765619312d30fe7f4880e98dcee99c92ebd283bb4", + "name": "pluggy", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "7e7562ba7c032f8edd02641ae71b1ac2d8f388103a68d777a7e907d19e75bc17", + "name": "pre_commit", + "version": "4.6.2" + }, + { + "direct_url": null, + "metadata_sha256": "bbe0a7662602ddd23f929fe0ee98e9d04406e138aeee18ce4861af186ea6060d", + "name": "prometheus-fastapi-instrumentator", + "version": "8.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "ece4a61f3ffb92a083fd5e47e180e3e070342e60a3bd93876a879e79a643e821", + "name": "prometheus_client", + "version": "0.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "5feba21a58eaa126e7e7739e57e2572e5bb251fcbf56e439e508acc47d769314", + "name": "propcache", + "version": "0.5.4" + }, + { + "direct_url": null, + "metadata_sha256": "3f136dbf7239c987a7685acd33440cc5efd6c4107b4b11c425201b4de70ae36f", + "name": "proto-plus", + "version": "1.29.0" + }, + { + "direct_url": null, + "metadata_sha256": "118b5ad013120a7a6e24714595ad776bf264d7b0060389133310d18ea1480902", + "name": "protobuf", + "version": "7.36.2" + }, + { + "direct_url": null, + "metadata_sha256": "0849f5a519bf9bc23ef204443fdd8d6d10678863acac7ca9340fc11bfba5a856", + "name": "protobuf-py", + "version": "0.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "eab5f2f4fd98f67a710a8fb1975b64ffa880a4f977566f022c567e08e324ccd6", + "name": "protobuf-py-ext", + "version": "0.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "39009938840de3a8b2a37eb4668d2601aae8c74e4b74743f73e59996b5b7e6e1", + "name": "psutil", + "version": "7.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "df44b58e8a4cfe57f65773ec47f7bdf2a14c8f5f73a7abf331a6b6237d6d691a", + "name": "py-cpuinfo", + "version": "9.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "2fd4a9efc5e5c74ae4c2fcf1970193c524c62ab22af8d5e66ebf7df9e6e46e83", + "name": "py-spy", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "d2ccdeb15cddedc81637a83e40baa6397fe269023b738d0fc3cb2d90722e290b", + "name": "pyarrow", + "version": "25.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "47b9f28e971a56f5adf949e0bcf105b0bf6587946566ecf197a2819d8848cc01", + "name": "pyasn1", + "version": "0.6.4" + }, + { + "direct_url": null, + "metadata_sha256": "82ce4c01c6d36841b9801fcdabab9bfe61d0b5e4e440c275941d8a2d4a790730", + "name": "pyasn1_modules", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "45cb345e4c12f63bc843b8c88902cc44c4d624a55aaef8cd5ffbc0ad16356fbe", + "name": "pybase64", + "version": "1.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "d311ae661edeac8ff029ab2960d065a7e792ebf8f79af682daa53109fe81318b", + "name": "pybind11", + "version": "3.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "cce9c0d440d065d4cdfb0d00004b8ddd65cf363a740efc5b0920b29201a59cd9", + "name": "pycountry", + "version": "26.2.16" + }, + { + "direct_url": null, + "metadata_sha256": "a1e33542883c249bf6c263b0023b9ea8a6131a77d9cb2cbc88316968e5eada83", + "name": "pycparser", + "version": "3.0" + }, + { + "direct_url": null, + "metadata_sha256": "faffcc4d7d359cb1047a9f67f7c65096b838c6db6c62852ef20fb27d55649a95", + "name": "pycryptodomex", + "version": "3.23.0" + }, + { + "direct_url": null, + "metadata_sha256": "98929f4cb80451dc3c6c8cd541a3081dccf0dee94afe7d9fa5c214a18ff236ce", + "name": "pydantic", + "version": "2.13.5" + }, + { + "direct_url": null, + "metadata_sha256": "8eccadbe707db97c397fb79073fe791b7998ef3a85f04f817f8991f7697b190b", + "name": "pydantic-extra-types", + "version": "2.11.1" + }, + { + "direct_url": null, + "metadata_sha256": "8f00c91deb34399316a5386eb2e76fe09f14a08dc3045f2e7dce9bf8573796bd", + "name": "pydantic-settings", + "version": "2.15.0" + }, + { + "direct_url": null, + "metadata_sha256": "66c729edddc20bf2764bb18bd87d907b08690e50355f39b97acc737b26d1d164", + "name": "pydantic_core", + "version": "2.46.5" + }, + { + "direct_url": null, + "metadata_sha256": "394500d78a0c1a433ae8ca3693152c08f6a901121d4b069cf1540a19759e2950", + "name": "pylatexenc", + "version": "2.11" + }, + { + "direct_url": null, + "metadata_sha256": "df2e9e9847a2aea0ae6e20fd325aeb16cf3ce7f8913462db6c2398363cd0c0bf", + "name": "pymdown-extensions", + "version": "12.1" + }, + { + "direct_url": null, + "metadata_sha256": "82fcfe724db9f0b51348da89f4f5cdc0b08d08882b1bbc0ca4913d3a0a93bcb9", + "name": "pynvvideocodec", + "version": "2.0.4" + }, + { + "direct_url": null, + "metadata_sha256": "3722422cc1478b175879143dfb78f98b7a5f53f4f684d71b7054fe2e8acd3b89", + "name": "pyqwest", + "version": "0.10.0" + }, + { + "direct_url": null, + "metadata_sha256": "7d1d1c276b7c372d55d17ac7d30f0a4b80a746e147347b8510d1355eea7f80c8", + "name": "pytest", + "version": "9.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "89e7c1c932e52b74bdcaf504389d2d1a2d7ca559b02bf5a09fc80ebd58ad10f7", + "name": "python-dateutil", + "version": "2.9.0.post0" + }, + { + "direct_url": null, + "metadata_sha256": "54f30f811841b6d772f31715712c85bfe0041839cb071f78daf41c700a98642b", + "name": "python-discovery", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "54f30f811841b6d772f31715712c85bfe0041839cb071f78daf41c700a98642b", + "name": "python-discovery", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "0cc19efd76cfbf3bcb2cb0d3ab82191036855859455aa3812c5e9e591e3f34e8", + "name": "python-dotenv", + "version": "1.2.3" + }, + { + "direct_url": null, + "metadata_sha256": "1d866c6124631b9ce1797ad412fff298ab53fc2d95210281d7c8f20e920753fa", + "name": "python-json-logger", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "2d18a1e7286d92a656ead5ec6f83d5ae6dc858634624f6b264703ae88d24d718", + "name": "python-multipart", + "version": "0.0.32" + }, + { + "direct_url": null, + "metadata_sha256": "beaa0efe9ba4b34843f5a0fc7379a73f10e95adb8cc0c31f359ab6f3a42b4def", + "name": "pyyaml_env_tag", + "version": "1.1" + }, + { + "direct_url": null, + "metadata_sha256": "238dc769e22d4f5626750cdff36e920e4a8d69c10d88de6d79b40a59cc13d873", + "name": "pyzmq", + "version": "27.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "de0a5e855bb5bb78b7acdcd2ca60619c6a0c109814881589caf158ec07155662", + "name": "quack-kernels", + "version": "0.6.5" + }, + { + "direct_url": null, + "metadata_sha256": "961ffef199b876fb4d7b10903d78e79f359d703b1638834c61d70b9879932918", + "name": "qwen-vl-utils", + "version": "0.0.14" + }, + { + "direct_url": null, + "metadata_sha256": "faf6ab9027d12de992827a2d8a224996fe6747a8c5f7d31ae495983dc73eefe9", + "name": "ray", + "version": "2.54.0" + }, + { + "direct_url": null, + "metadata_sha256": "c50d8b3ff4d113925b60dc47d1d28e87248a3338024241b0a3a66c8794fbce0c", + "name": "referencing", + "version": "0.37.0" + }, + { + "direct_url": null, + "metadata_sha256": "02acdc52d6f21d5f4b172254daaa94edfaa44c9ebe14d1c00cc4c8fe99b0e1df", + "name": "regex", + "version": "2026.9.29" + }, + { + "direct_url": null, + "metadata_sha256": "ac08207697217d1ffde8a161b424d77d6e2af6b62630fa26d75d08f11076cdca", + "name": "requests", + "version": "2.34.2" + }, + { + "direct_url": null, + "metadata_sha256": "f1abd635c3dff607a4fd654c62a88d9d4c21843cfc9176116c156f4269ca21b5", + "name": "rich", + "version": "15.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "932ff7743a756d0efcc45528d64c275ac3cb40a8dd1787ea10cb303907f0ae4f", + "name": "rich-toolkit", + "version": "0.20.5" + }, + { + "direct_url": null, + "metadata_sha256": "294a1405c0fa34b5f735bcb46459050436849a1e584c643544de99c07c529fb7", + "name": "rignore", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "5e54dd00b4ad336c5161d47de2a5c2212090c44629c28b6538b156256e49282d", + "name": "rpds-py", + "version": "2026.6.3" + }, + { + "direct_url": null, + "metadata_sha256": "0d5895abd80bfc0027c02943abaea4547061b9004bd134950d640d619a697835", + "name": "safetensors", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "91d5de3f641f33a8fbb4b6e91772da68d50b68686971d7b66af2068f2e77b694", + "name": "scipy", + "version": "1.17.1" + }, + { + "direct_url": null, + "metadata_sha256": "297fb30f701a800489c12893a951da3e5bd1f80061a1f43f0d3e9f1d4c6bc6fd", + "name": "sentencepiece", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "4245e0388ddf2048a38ae2a24a3d2c583408b2454aadc680d3c3beede639db3f", + "name": "sentry-sdk", + "version": "2.71.0" + }, + { + "direct_url": null, + "metadata_sha256": "ae8a9e6feec1a76e954d65ea48ac57842c9a7bfb5ac6e5ea82400a5ba9f71a98", + "name": "setproctitle", + "version": "1.3.7" + }, + { + "direct_url": null, + "metadata_sha256": "341d00772017437d0f6e3c943ae353f243c39fedfba403aea47cced927a76516", + "name": "setuptools", + "version": "79.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "ff4bcfb192bd542ed8f1794fb32ffc9eabd932d6e03cb00a4ad5e35a2469af88", + "name": "setuptools", + "version": "80.10.2" + }, + { + "direct_url": null, + "metadata_sha256": "f1e5a532fb8cda0bbc370e3db6cb9cea72a065d12ddd6a14976ba3cf66264221", + "name": "shellingham", + "version": "1.5.4" + }, + { + "direct_url": null, + "metadata_sha256": "2aba2cfd9c2ad7625a5d374d141af317d8f92d3534997bf98d127e52848dfc81", + "name": "six", + "version": "1.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "69ae2dfe547624be97fae348e1cfa3793f8854eed32cc1603badedc7d48fb36e", + "name": "smart_open", + "version": "8.0.2" + }, + { + "direct_url": null, + "metadata_sha256": "d415e6c6de7dee117d254a342668c489931bc88eac7ec8678b452078e366da6e", + "name": "smmap", + "version": "5.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "093bc4f0740a6fc28692e616aa8fe68d7e1d76426cc5a5faf9ea722a8ee7aaae", + "name": "sniffio", + "version": "1.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "b3cef071eb1dbeaa76a1273fe2ca2cc8ef36e835165253952d93780962529ac1", + "name": "sse-starlette", + "version": "3.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "3c01ca830e213f0311fe37bc3b46b8ab230a5e7acb894bf0fc8785cb7ccfed48", + "name": "starlette", + "version": "1.7.0" + }, + { + "direct_url": null, + "metadata_sha256": "6017ca508a293cf47a88a78cb330e9cbd131d74ec3c7fbf89bd4300ed3129d30", + "name": "supervisor", + "version": "4.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "fd5eb4925b04f9bffbc6c4f92bf8aea7243b918b43cd359493fce48a7dd3b336", + "name": "sympy", + "version": "1.14.0" + }, + { + "direct_url": null, + "metadata_sha256": "f09f0e24282c5a86346bcd5b10ae5ff81869fa8ef69c3ba524bd0a817a87dda9", + "name": "tabulate", + "version": "0.10.0" + }, + { + "direct_url": null, + "metadata_sha256": "519fa19c146fd58a0a75ecf1461e4bd98f9c06d01800c37d4a80f5fef095f4e1", + "name": "tensorboard", + "version": "2.21.0" + }, + { + "direct_url": null, + "metadata_sha256": "1af7ad76e4073b01ab147eb3c1d8e38b95d38062c6c9bc63890150738642e8eb", + "name": "tensorboard-data-server", + "version": "0.7.2" + }, + { + "direct_url": null, + "metadata_sha256": "9e597f62fc07e3b931d5c8fb0e90706fb6d45465cfb5d01dbd27ba7fc135c02c", + "name": "tensorstore", + "version": "0.1.80" + }, + { + "direct_url": null, + "metadata_sha256": "0da993d16ef6326f471796fcb065622f309c5c1aae6c6295b488ea64bb5c880c", + "name": "textual", + "version": "8.2.8" + }, + { + "direct_url": null, + "metadata_sha256": "52ca6148d4fd1497254855fa610cfdde99191cd42bce7a452fd3a68855504ac0", + "name": "tiktoken", + "version": "0.14.0" + }, + { + "direct_url": null, + "metadata_sha256": "0df9eb495cfb477dcbdfbdcd8c04d952d3eb00d77831630760571e13545398e5", + "name": "tilelang", + "version": "0.1.12" + }, + { + "direct_url": null, + "metadata_sha256": "802b576e011dc61bd2681593e8d802714b6c4ce636a9cf87035026db32ce6262", + "name": "tokenizers", + "version": "0.23.2" + }, + { + "direct_url": null, + "metadata_sha256": "4e1631b2164a49ff9a848d86ce504fdcc15e3540dbb262df8f33a2681a8de513", + "name": "tokenspeed-mla", + "version": "0.1.8" + }, + { + "direct_url": null, + "metadata_sha256": "05086095a775c5dca70998dcf442a848c13f9c68b54a54c510c3542c5abb6563", + "name": "tokenspeed-triton", + "version": "3.8.10.post20260920" + }, + { + "direct_url": null, + "metadata_sha256": "71daba472d0c5ffc25c0231dc29688ab0cb13d5bc7e7d93f6c4cce4169c50048", + "name": "torch", + "version": "2.13.0" + }, + { + "direct_url": null, + "metadata_sha256": "cccd2f1c0e5866e63732f58798c8d642ee6d10cd560d6f691e7981b908c246c9", + "name": "torch_c_dlpack_ext", + "version": "0.1.5" + }, + { + "direct_url": "{\"dir_info\": {}, \"url\": \"file:///torch_memory_saver\"}", + "metadata_sha256": "6276cef17dedbb5ee0d6157bbf63b832e916026281328d995ad3d488c2539618", + "name": "torch_memory_saver", + "version": "0.0.9.post1+slime" + }, + { + "direct_url": null, + "metadata_sha256": "29809ca2c86dda5079654f1f70564a64435e9d08f1964a2412b6f514e1b5ff64", + "name": "torchaudio", + "version": "2.11.0" + }, + { + "direct_url": null, + "metadata_sha256": "7e9be0f3a290e3fd9370d8fe010c7ffd006d5d3d05ab8bdf7df8f92f0fca9c39", + "name": "torchcodec", + "version": "0.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "181fa5e6b399c378711eddcdacd756d3c51317916f8eb160ee36cae7fae9589f", + "name": "torchvision", + "version": "0.28.0" + }, + { + "direct_url": null, + "metadata_sha256": "43d1261aff90cf3d5b1b40cf1f94234d61409b14e59f3766f457c1eec7f7ac15", + "name": "tqdm", + "version": "4.70.1" + }, + { + "direct_url": "{\"archive_info\": {\"hash\": \"sha256=3e1d9f534781c8e608240da0b495b8246317a36382f7609017cbaa7fb1d53f7b\", \"hashes\": {\"sha256\": \"3e1d9f534781c8e608240da0b495b8246317a36382f7609017cbaa7fb1d53f7b\"}}, \"url\": \"file:///wheels/transformer_engine-2.16.1%2Bc9877beb-cp312-cp312-linux_x86_64.whl\"}", + "metadata_sha256": "d882f743161d9d9f35dee4e1a8cc9136fa495f7c660caace01ab8f5602d76aa7", + "name": "transformer_engine", + "version": "2.16.1+c9877beb" + }, + { + "direct_url": null, + "metadata_sha256": "465797a59706d83b45c93fde750b228c3b6e1addc44115de2c4c02ad66d9c5ea", + "name": "transformers", + "version": "5.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "a91982ca086667c592a951973434f7c5a9f27a8300bc97af78dfb496afe53e71", + "name": "triton", + "version": "3.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "d26fbb244532c4051e715f9047cd943e2cc4abb0ac6f2a517fa2986eb1ea726a", + "name": "truststore", + "version": "0.10.4" + }, + { + "direct_url": null, + "metadata_sha256": "c84af1a069084b1b440b3594068dec29200d52d4c1a9b652030448717f270158", + "name": "typer", + "version": "0.27.2" + }, + { + "direct_url": null, + "metadata_sha256": "0ad6653b7439f4bb6a596cb7b01ed1b716458467525c4dc40b75d62bdb943c98", + "name": "typing-inspection", + "version": "0.4.4" + }, + { + "direct_url": null, + "metadata_sha256": "d005280aa13b334ac942d20219102865e559f69ffd06c35c248b2f0d0da3b933", + "name": "typing_extensions", + "version": "4.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "fba2930e9030a18965d243f8d330748db2e67572a81b3b68710462fb5110332a", + "name": "urllib3", + "version": "2.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "bc5717bd6524a33838f285261868bcc8e311e8c29fdb19e41d56c38b04890e84", + "name": "uvicorn", + "version": "0.54.0" + }, + { + "direct_url": null, + "metadata_sha256": "741c006d8441f562aa853a5430df236fbb4af923445491f396bf09943bd30258", + "name": "uvloop", + "version": "0.22.1" + }, + { + "direct_url": "{\"dir_info\": {\"editable\": true}, \"url\": \"file:///vime\"}", + "metadata_sha256": "f85aa01dfdc868756a6583434bbff040f29eb511d47d5b25ada063a84353aac6", + "name": "vime", + "version": "0.3.2" + }, + { + "direct_url": null, + "metadata_sha256": "c25431aaf1950971fe96292f395a41a55b403127bfca0d0b8f7dc9cff5dab75d", + "name": "virtualenv", + "version": "21.14.1" + }, + { + "direct_url": null, + "metadata_sha256": "4e3ee0a31d85e56268640aae853bcee4794dfe8c0483c5c6370517e480c81ae0", + "name": "virtualenv", + "version": "21.14.5" + }, + { + "direct_url": null, + "metadata_sha256": "d4ed5c7551cddb8c1aeff2f9f27b3491f6ad2c9afda8e7bb9779c33fa12a536c", + "name": "vllm", + "version": "0.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "84b482e09bac949e992594757214a1920c667a5d898ee320e309250697f6d26e", + "name": "vllm-router", + "version": "0.1.15" + }, + { + "direct_url": null, + "metadata_sha256": "9b16c871eb1060a5218e9b9a9ad33288d94844cfaf43f08dbb6c32423bde8fe3", + "name": "wandb", + "version": "0.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "8e4f2be437dfe4eb3c6c959e517ac20b75d06525563f1ebcbf06f9ec648bd7c1", + "name": "watchdog", + "version": "6.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "15218afb42938907c2ca74c54e3d8e3a5406493c4761e29e38e82bfec0f84296", + "name": "watchfiles", + "version": "1.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "8863af96e88b7db9990da99aa6c46816eacc3d2f9ae1297b53381b033cd70119", + "name": "wcmatch", + "version": "11.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "f46e6bd6cfafb2b684c29587b017b7096fd9155b74eda25a22eca784b9803ab7", + "name": "websockets", + "version": "16.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "ce82db5ccfefa4bfbe4e25a36e1f91e8e7d51fcaeb31586c4d48e1c69f99168b", + "name": "websockets", + "version": "17.1" + }, + { + "direct_url": null, + "metadata_sha256": "0f142a2c09eac643c7d0bfe77f3f121184c0b17914afbd32af669ed19b2b02ef", + "name": "wheel", + "version": "0.47.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd58938e51a3c5cb363f6f22eaa2a8a7accc1ce373388de167a82f77d3e5783f", + "name": "wrapt", + "version": "2.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "b0b72c1941f04499ca7e1a3a6e479aee8df902c3d49979624b59dba8c3228d37", + "name": "xgrammar", + "version": "0.2.8" + }, + { + "direct_url": null, + "metadata_sha256": "ef8861f39e5c36255966a36032651f937d890d55f31f1c26304b488f1ba34332", + "name": "xxhash", + "version": "4.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "740c08057b6eb69c58402c87d652af0a471e46325d811f2c605632a18817152f", + "name": "yarl", + "version": "1.25.1" + }, + { + "direct_url": null, + "metadata_sha256": "7b060e4d24394b5431875e2f74fec8e6bffa79d2e6b4cb8c7e2a5187dd2d8d69", + "name": "z3-solver", + "version": "4.15.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "3d76d4fbc95f0851191147db12300938c67a6f8fb1df884886d9601272ccc4e8", + "name": "zipp", + "version": "4.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "d3de2651e4e908dbb7c9d80508e5179590217dfac4993dc8b04381c5b9718c4c", + "name": "zstandard", + "version": "0.25.0" + } + ], + "executable": "", + "installed_provider_sources": { + "vllm/compilation/__init__.py": { + "path": "/vllm/compilation/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/backends.py": { + "path": "/vllm/compilation/backends.py", + "sha256": "fa4bff8920b363efbbde9456f135fa9d2c004a5bde1898877f177418b2d8b008" + }, + "vllm/compilation/base_static_graph.py": { + "path": "/vllm/compilation/base_static_graph.py", + "sha256": "5cfe8e06db84aa42cd41cdd93ebe93af00b3a242c8011042057530e2922b523a" + }, + "vllm/compilation/breakable_cudagraph.py": { + "path": "/vllm/compilation/breakable_cudagraph.py", + "sha256": "3cc427612a08e2b9b3fee47548026400c1d0776e2d4747535e59ef5512bdf1e8" + }, + "vllm/compilation/caching.py": { + "path": "/vllm/compilation/caching.py", + "sha256": "71d212452dde742fbf28b8a01ed29d3c08a7457ff7f8da2a20ce9d17e902c2cf" + }, + "vllm/compilation/codegen.py": { + "path": "/vllm/compilation/codegen.py", + "sha256": "e04833bec88cf9d1a13aa7341e30e3233d1138bfe23424e0fd34d664b3fedb9f" + }, + "vllm/compilation/compiler_interface.py": { + "path": "/vllm/compilation/compiler_interface.py", + "sha256": "8d84e2864bf83f754bae9e9f77119e0287cca9f97f5fa5ec2535e07b5ad88944" + }, + "vllm/compilation/counter.py": { + "path": "/vllm/compilation/counter.py", + "sha256": "d8158c54dd36a357bf24f6f84dc22f572d3a27f4875f3d5779b12bc5d454ff76" + }, + "vllm/compilation/cuda_graph.py": { + "path": "/vllm/compilation/cuda_graph.py", + "sha256": "05c86392d7fae967ac73076dba7e01990a0e3ae619e4866450a0c1be56bd1192" + }, + "vllm/compilation/decorators.py": { + "path": "/vllm/compilation/decorators.py", + "sha256": "cab6962e8a1fead59c75f5ed8cb4732f9e5441ff972030c2f4b1c4ba0c58de3c" + }, + "vllm/compilation/monitor.py": { + "path": "/vllm/compilation/monitor.py", + "sha256": "43b24c5cb1bc4d32dc979f3222596905c7b3acc58415328a234402e6edc76abf" + }, + "vllm/compilation/partition_rules.py": { + "path": "/vllm/compilation/partition_rules.py", + "sha256": "857d2fb06dc871ea1d3717cd01fbd4e5205984100d98b7b72a2933d6ff1cfa4d" + }, + "vllm/compilation/passes/__init__.py": { + "path": "/vllm/compilation/passes/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/fusion/__init__.py": { + "path": "/vllm/compilation/passes/fusion/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/fusion/act_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/act_quant_fusion.py", + "sha256": "1fa9c3ca4fb424685b7053c3dda89dda16c98dc5645d85f0f28dca58429792b3" + }, + "vllm/compilation/passes/fusion/add_rms_fusion.py": { + "path": "/vllm/compilation/passes/fusion/add_rms_fusion.py", + "sha256": "e46998552628aa5cd5962fc39ea39ae824fd97e6aeba1d176e9cc7cade39837b" + }, + "vllm/compilation/passes/fusion/allreduce_rms_fusion.py": { + "path": "/vllm/compilation/passes/fusion/allreduce_rms_fusion.py", + "sha256": "0af193505880cec0f6ffa224c688bce3c9ddc318dccdf04a696b4e4b4506a963" + }, + "vllm/compilation/passes/fusion/attn_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/attn_quant_fusion.py", + "sha256": "ecc64e82be4481954c9cac6c23d7794846ab19486b570f2dda07ab5ad67c5a49" + }, + "vllm/compilation/passes/fusion/collective_fusion.py": { + "path": "/vllm/compilation/passes/fusion/collective_fusion.py", + "sha256": "1e2c8539d6960b45907fb3bf0482441ea7250e97c56ffdea1500514efa0b164d" + }, + "vllm/compilation/passes/fusion/matcher_utils.py": { + "path": "/vllm/compilation/passes/fusion/matcher_utils.py", + "sha256": "50ac5714ce1bb113520de769ea6234316acc470a8cdf2537a996ce9a9d54337d" + }, + "vllm/compilation/passes/fusion/mla_attn_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/mla_attn_quant_fusion.py", + "sha256": "a966fe7f58bf9228379f793f5fd851735a97f9639722766b2a20cb79a9e4baec" + }, + "vllm/compilation/passes/fusion/mla_rope_kvcache_cat_fusion.py": { + "path": "/vllm/compilation/passes/fusion/mla_rope_kvcache_cat_fusion.py", + "sha256": "1602cc28055ffa8d1123ddb1d256bf0bd12006fd06ea7e16a986c55746dbe0dc" + }, + "vllm/compilation/passes/fusion/qk_norm_rope_fusion.py": { + "path": "/vllm/compilation/passes/fusion/qk_norm_rope_fusion.py", + "sha256": "aebc7d1a5189b65ac665afcc169e7baebd53efe719c48e35e7c5babe85af0d39" + }, + "vllm/compilation/passes/fusion/qk_norm_rope_kvcache_fusion.py": { + "path": "/vllm/compilation/passes/fusion/qk_norm_rope_kvcache_fusion.py", + "sha256": "f0cfd0d83ec4acb09f9bf91d199b114e9d4995e3059c13eb23a6978ce7c07eb2" + }, + "vllm/compilation/passes/fusion/rms_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rms_quant_fusion.py", + "sha256": "4852aa44e0e2087043fdac271bda9b8d9bfe3201bb84ce3919b8ed454d8083c4" + }, + "vllm/compilation/passes/fusion/rocm_aiter_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rocm_aiter_fusion.py", + "sha256": "372e76c68c75209a085deec6dd22b3816be633613ca82f6f2925c1b3773d61a0" + }, + "vllm/compilation/passes/fusion/rope_kvcache_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rope_kvcache_fusion.py", + "sha256": "3a756e9049593537143b5a56ab9185a6bc83f57ed81d84226d7791a46a984b53" + }, + "vllm/compilation/passes/fusion/sequence_parallelism.py": { + "path": "/vllm/compilation/passes/fusion/sequence_parallelism.py", + "sha256": "3af7e420dcb35fff0bae0f8f599d0f1bda34445ebe194059892a434b2976d654" + }, + "vllm/compilation/passes/fx_utils.py": { + "path": "/vllm/compilation/passes/fx_utils.py", + "sha256": "730708213acf9d1b5f3176b433dfc197a5f3c81b5ce443f0923c526924833003" + }, + "vllm/compilation/passes/inductor_pass.py": { + "path": "/vllm/compilation/passes/inductor_pass.py", + "sha256": "1f380aacf7adabb8bf8b7d41c0a93473947f0716f7445bd910fd448f6c08e672" + }, + "vllm/compilation/passes/ir/__init__.py": { + "path": "/vllm/compilation/passes/ir/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/ir/clone_elimination.py": { + "path": "/vllm/compilation/passes/ir/clone_elimination.py", + "sha256": "5297078f5cddce081faba5215814275381d2083b32318fcfeb2bf9d69fedb7c7" + }, + "vllm/compilation/passes/ir/inplace_functionalization.py": { + "path": "/vllm/compilation/passes/ir/inplace_functionalization.py", + "sha256": "2dc4f22c6f05224828c2941479185b1452d4490f488b7f0bfd124334e7809fed" + }, + "vllm/compilation/passes/ir/lowering_pass.py": { + "path": "/vllm/compilation/passes/ir/lowering_pass.py", + "sha256": "d9c3d90f63138420f0e5489447b5996573fcfbbab939da2efccd00848492b172" + }, + "vllm/compilation/passes/ir/utils.py": { + "path": "/vllm/compilation/passes/ir/utils.py", + "sha256": "f59d33a6c7d0616cbeec1e9fb1d6c948881bf81fe124caeb906eac2e2197ea21" + }, + "vllm/compilation/passes/pass_manager.py": { + "path": "/vllm/compilation/passes/pass_manager.py", + "sha256": "486979a058aa2e20ebedcbb6e039f7a59f38d2efd2cda11219fae4067be0968d" + }, + "vllm/compilation/passes/utility/__init__.py": { + "path": "/vllm/compilation/passes/utility/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/utility/fix_functionalization.py": { + "path": "/vllm/compilation/passes/utility/fix_functionalization.py", + "sha256": "ad5b504a05ccee023869b0c8df70ec2fff9a4a80d25fd903e2b532f470e7203f" + }, + "vllm/compilation/passes/utility/noop_elimination.py": { + "path": "/vllm/compilation/passes/utility/noop_elimination.py", + "sha256": "8abf85d28c13f95059f2acbc0275b9b9ed2ad4990f7c5763bbe3067a4aa629ce" + }, + "vllm/compilation/passes/utility/post_cleanup.py": { + "path": "/vllm/compilation/passes/utility/post_cleanup.py", + "sha256": "1c38b14fc209165cbcf8ca763a17ac4e528b97f59b573e5d52df2cce7d758de3" + }, + "vllm/compilation/passes/utility/scatter_split_replace.py": { + "path": "/vllm/compilation/passes/utility/scatter_split_replace.py", + "sha256": "138402cc3097768a32e9e5b8d1a054b6176e494bddc8684e23ca2dc5fdc3fdda" + }, + "vllm/compilation/passes/utility/split_coalescing.py": { + "path": "/vllm/compilation/passes/utility/split_coalescing.py", + "sha256": "0b02acd9e1ad43d7b3e128b914e969b9580773f2818078846dfbf163a8bd0871" + }, + "vllm/compilation/passes/vllm_inductor_pass.py": { + "path": "/vllm/compilation/passes/vllm_inductor_pass.py", + "sha256": "4f83ffb67f834a214221d810c7843a8e41eb4e5930eb40adbd8cf054ff6fb9c6" + }, + "vllm/compilation/piecewise_backend.py": { + "path": "/vllm/compilation/piecewise_backend.py", + "sha256": "6525318ff3ca2e4978e24dd9232a7ae0a02e920e19604b83db6f6043d1f8a54d" + }, + "vllm/compilation/wrapper.py": { + "path": "/vllm/compilation/wrapper.py", + "sha256": "c1b1fca679ea16aa07a696831a810c0d531da2bb0ea32dd6f1a95cdaef36de07" + }, + "vllm/config/__init__.py": { + "path": "/vllm/config/__init__.py", + "sha256": "56fb0cb1598d297e4f95a97e5d86dc624145d1532f5faa432b7d2834d7155bd5" + }, + "vllm/config/attention.py": { + "path": "/vllm/config/attention.py", + "sha256": "c41f345b512d9b7df882328257eb3a6381f41088c11ae83b5ecd8a9e8265d1bc" + }, + "vllm/config/cache.py": { + "path": "/vllm/config/cache.py", + "sha256": "f1c226ba679c884930dbfcaf41a57248b137a9a20d3ed8e3d3b31752bb484c07" + }, + "vllm/config/compilation.py": { + "path": "/vllm/config/compilation.py", + "sha256": "c9cec5c7200e8e559810ec8c30113ad61dab6780f9f7fb3c116bd0d9b5a43065" + }, + "vllm/config/device.py": { + "path": "/vllm/config/device.py", + "sha256": "7b82eee02ceb5842337451a27a3d5729920c47e25e8f6bf3997f5146f9330a9c" + }, + "vllm/config/diffusion.py": { + "path": "/vllm/config/diffusion.py", + "sha256": "1fa9fd2478a866098a28a3586b55af2f9738656b7813a55d76539c10dd99fe8d" + }, + "vllm/config/ec_manager_config.py": { + "path": "/vllm/config/ec_manager_config.py", + "sha256": "418b387dbe7bdf67deddce331c205768a2d42aea37141f59fb02a8a1528e3552" + }, + "vllm/config/ec_transfer.py": { + "path": "/vllm/config/ec_transfer.py", + "sha256": "0eabb2c25194676d23c6acf59562672a1dd24415043ac5737d621ce0d681ec70" + }, + "vllm/config/engram.py": { + "path": "/vllm/config/engram.py", + "sha256": "34043a22385a041d4e9be8857f64174c990c2ca8308b97b6a952b5ab96c20ee5" + }, + "vllm/config/fault_tolerance.py": { + "path": "/vllm/config/fault_tolerance.py", + "sha256": "b166b24373d599fb15ddc575e3061cf0dcb42174d0369d8468008e7ffbb2a4e2" + }, + "vllm/config/kernel.py": { + "path": "/vllm/config/kernel.py", + "sha256": "27e23c584cf862f4091858db6dc85bbc2a01f4baf9dca3f232ae6f3bac02390e" + }, + "vllm/config/kv_events.py": { + "path": "/vllm/config/kv_events.py", + "sha256": "b1dbaee3e6830e381e9157fe3bab0d65c357da88ff7cdf8b1e4b3a4e75c82a87" + }, + "vllm/config/kv_transfer.py": { + "path": "/vllm/config/kv_transfer.py", + "sha256": "506fae7a9d7f32cb3646156cf9249a856f6317dff6c4c85db70efd34418c429b" + }, + "vllm/config/load.py": { + "path": "/vllm/config/load.py", + "sha256": "bd6431c22e078362d749a56a2c84145432ebf2605d8bcfa2ac679182d18ed630" + }, + "vllm/config/lora.py": { + "path": "/vllm/config/lora.py", + "sha256": "ed6cf6575f5950f079a62f904caeae93d1a4745dd8c21788b74367883bcd4b08" + }, + "vllm/config/mamba.py": { + "path": "/vllm/config/mamba.py", + "sha256": "2090f791201ca45dd4f1d72b8651268890eb07574b6084721194eb8fdf612c48" + }, + "vllm/config/model.py": { + "path": "/vllm/config/model.py", + "sha256": "f4168b67cc93ce72ff2a6d4c66974223e32fd0f1fab4c05e44bd68a275e18d69" + }, + "vllm/config/model_arch.py": { + "path": "/vllm/config/model_arch.py", + "sha256": "2babe28329d7b60b4e205f6d72c687f0f66e6535aa2f20411469e5ec362f6b5f" + }, + "vllm/config/multimodal.py": { + "path": "/vllm/config/multimodal.py", + "sha256": "271911aee151f17f092228cecee82af0713e9a47340ffdf66834ca7638a50d22" + }, + "vllm/config/observability.py": { + "path": "/vllm/config/observability.py", + "sha256": "d57c59ec776477ab0a20e9f2b945bc954d8ea3737c869259480e9aa10dfb9f6d" + }, + "vllm/config/offload.py": { + "path": "/vllm/config/offload.py", + "sha256": "6f2db3d9a2730588473d5155811690c6241b167a21dcb62fbbd9ebb6386de42c" + }, + "vllm/config/parallel.py": { + "path": "/vllm/config/parallel.py", + "sha256": "f012ace89e3fb730a467f729f602679bc145c49f0d10721811c9d818570e7b2b" + }, + "vllm/config/pooler.py": { + "path": "/vllm/config/pooler.py", + "sha256": "9f01913dcb7bccbf9b672b16643f18471ae202455992e8afaf0725a17f2b3d08" + }, + "vllm/config/profiler.py": { + "path": "/vllm/config/profiler.py", + "sha256": "04d24fa1dc7cfedca6b5c7d9115f7f7021722fc46a5b15234a1e3b3a506c93e5" + }, + "vllm/config/quantization.py": { + "path": "/vllm/config/quantization.py", + "sha256": "acffc52f525b39a88efd656f1ed705ce3a1b758298bb0684fac7694776bc10b4" + }, + "vllm/config/reasoning.py": { + "path": "/vllm/config/reasoning.py", + "sha256": "2c4f7bdee48a9fb3d93787c4c32361c2411417cce452cfde86808d8759977861" + }, + "vllm/config/scheduler.py": { + "path": "/vllm/config/scheduler.py", + "sha256": "822179da62be4bca0619c8590082ae09123f5c4415f9cc2037be673748239edb" + }, + "vllm/config/speculative.py": { + "path": "/vllm/config/speculative.py", + "sha256": "9c642a87264339c0dbc1d0b57330572149df0f9d5e16c6893b9895e50a619e19" + }, + "vllm/config/speech_to_text.py": { + "path": "/vllm/config/speech_to_text.py", + "sha256": "bf4a566fbde6a1cec1e209070b739650c3302c12696739c88049cb8f723a4c3f" + }, + "vllm/config/structured_outputs.py": { + "path": "/vllm/config/structured_outputs.py", + "sha256": "55649776594349b8b4aa3e08fc4c88068366732a486d6fb235079188044aa829" + }, + "vllm/config/utils.py": { + "path": "/vllm/config/utils.py", + "sha256": "d035e9e488ba92b6c47a96cf05d9b2a850d53eda8a05115b22ff9af8dbc2fc64" + }, + "vllm/config/vllm.py": { + "path": "/vllm/config/vllm.py", + "sha256": "956b812e5a719bcbfa3a3958801361b38b9c928c96b8c073311bbb96376dfb7a" + }, + "vllm/config/watermarking.py": { + "path": "/vllm/config/watermarking.py", + "sha256": "30e6620a3cd7529f0736ad55e38bc326a6a78dee4552f0722208400041c94a1f" + }, + "vllm/config/weight_transfer.py": { + "path": "/vllm/config/weight_transfer.py", + "sha256": "92edd9e5ea90c97a8f3c5f20abf1734a105ee1f3f89e306e7ba87e758f1f767e" + }, + "vllm/distributed/__init__.py": { + "path": "/vllm/distributed/__init__.py", + "sha256": "97f28c30b32662af8cab163939e4ee423037f11630752e13b55cbc25a7d0ab71" + }, + "vllm/distributed/communication_op.py": { + "path": "/vllm/distributed/communication_op.py", + "sha256": "3c3f8ac60db38ece891d39dc1e2f6f1947ad438685893d2e5777d072320bd1b8" + }, + "vllm/distributed/device_communicators/__init__.py": { + "path": "/vllm/distributed/device_communicators/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/device_communicators/aiter_custom_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/aiter_custom_all_reduce.py", + "sha256": "f8eb027ce7a85d94af6260960ceb7f36fc6f1406c9af9c9b6285fddb3f178009" + }, + "vllm/distributed/device_communicators/all2all.py": { + "path": "/vllm/distributed/device_communicators/all2all.py", + "sha256": "1f1b69236acd3cd7bd94520fd6d591bfd31b57c4bc7c9f9f4161ea8bbd0c5f26" + }, + "vllm/distributed/device_communicators/all_reduce_utils.py": { + "path": "/vllm/distributed/device_communicators/all_reduce_utils.py", + "sha256": "ed0ab4dd05b2519a6313892e68824c97b540034664d7f8c3d031b322e33e1bfc" + }, + "vllm/distributed/device_communicators/base_device_communicator.py": { + "path": "/vllm/distributed/device_communicators/base_device_communicator.py", + "sha256": "4a7670f12ed7c7621b25d476e2687c24ca01f3be183fff4a6a25337596fe506b" + }, + "vllm/distributed/device_communicators/cpu_communicator.py": { + "path": "/vllm/distributed/device_communicators/cpu_communicator.py", + "sha256": "e1856c8e91cfbbb4d9ce990c1236e258ba4021e226afcbab645653380b38d64b" + }, + "vllm/distributed/device_communicators/cuda_communicator.py": { + "path": "/vllm/distributed/device_communicators/cuda_communicator.py", + "sha256": "102d95c67ec798cf352b817ba92e8abc9da37f30d1bbdf3aab45d3927b627b93" + }, + "vllm/distributed/device_communicators/cuda_wrapper.py": { + "path": "/vllm/distributed/device_communicators/cuda_wrapper.py", + "sha256": "333b6d9ed173e7a18c7f2b6627a3c9c9ed88892ce52015f05e29d6d245e48ee3" + }, + "vllm/distributed/device_communicators/custom_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/custom_all_reduce.py", + "sha256": "a048c1327c23580805600c0c951831bec333b1ffc4eb26a0e3d34119c4f0c445" + }, + "vllm/distributed/device_communicators/flashinfer_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/flashinfer_all_reduce.py", + "sha256": "b4359760e9b55963676109a5c3a015fb82e190d4df1d021de9ee01e7814cbdda" + }, + "vllm/distributed/device_communicators/flashinfer_pcie_ipc_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/flashinfer_pcie_ipc_all_reduce.py", + "sha256": "8b67b0fc356a565095f56b475cc89c513e3a5eff051ab1c52e5beb0c1a79e9f2" + }, + "vllm/distributed/device_communicators/mnnvl_compat.py": { + "path": "/vllm/distributed/device_communicators/mnnvl_compat.py", + "sha256": "72ee1e6f9571b4c8ecbd9f60cd469d1b565cb79cab519a688a93f290906a2615" + }, + "vllm/distributed/device_communicators/pynccl.py": { + "path": "/vllm/distributed/device_communicators/pynccl.py", + "sha256": "882fb83c5a3c565a3f8fd664b79f5ceae566dca180019ecafd74bc8c11d9f8cf" + }, + "vllm/distributed/device_communicators/pynccl_allocator.py": { + "path": "/vllm/distributed/device_communicators/pynccl_allocator.py", + "sha256": "390e2576cbf4ae06341ca4dab24fc7e4d4f7c24dd444329ed05d828a9ce91460" + }, + "vllm/distributed/device_communicators/pynccl_wrapper.py": { + "path": "/vllm/distributed/device_communicators/pynccl_wrapper.py", + "sha256": "ce63c8da57bb88d4cf89956bd70bb63f0f44bfad468ddb37b765611551f6d99f" + }, + "vllm/distributed/device_communicators/quick_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/quick_all_reduce.py", + "sha256": "8aacb23e7c297b0ae2f80d99c5affd2e7517115d7874be51069d14a44db7b5f2" + }, + "vllm/distributed/device_communicators/ray_communicator.py": { + "path": "/vllm/distributed/device_communicators/ray_communicator.py", + "sha256": "332c37f65495b60564d61db59bc2d30ca0236adc33442d01464790bde9aec897" + }, + "vllm/distributed/device_communicators/shm_broadcast.py": { + "path": "/vllm/distributed/device_communicators/shm_broadcast.py", + "sha256": "f3e7a3f3ff713fccbd535e0d41650ee05bdf8677e83d4b90519910645022c30b" + }, + "vllm/distributed/device_communicators/shm_object_storage.py": { + "path": "/vllm/distributed/device_communicators/shm_object_storage.py", + "sha256": "e097bf7ac0141fe8db4131e8fd553ca2ad5b0600b22a56f3924af6b795e7207c" + }, + "vllm/distributed/device_communicators/symm_mem.py": { + "path": "/vllm/distributed/device_communicators/symm_mem.py", + "sha256": "b06e3ddb9ae880a30ec4a103ce32eb9794223bb0293832e89572af28adaaa544" + }, + "vllm/distributed/device_communicators/xpu_communicator.py": { + "path": "/vllm/distributed/device_communicators/xpu_communicator.py", + "sha256": "527cbfb250760abc62096ee7cd612307b821f21b72dee1687ad866620ec89b6d" + }, + "vllm/distributed/ec_transfer/__init__.py": { + "path": "/vllm/distributed/ec_transfer/__init__.py", + "sha256": "061405bb51df7409c9938b62e25caa8bd6ebf85da6d1700dbd4affe2a0825135" + }, + "vllm/distributed/ec_transfer/ec_connector/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/base.py", + "sha256": "22d4913375bb622473fbe1a77f9376b804949cd8a7e31e9518208f9561d161e2" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/common.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/common.py", + "sha256": "e2267abd8d00a6d2605e1a82ea5c73396a71b427452eab469fcca0134c334e7c" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/connector.py", + "sha256": "72cd35d9fd754a2992dd090a8af13c91e0789b4038ac29276750d823120235db" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/base.py", + "sha256": "19e8df88b0fa831997896355ecdd49e0d86cb074cd7ae28aed0b328b0bb3ab2e" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/zmq.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/zmq.py", + "sha256": "435641c0e37551ab4937855abd067be26905b91215e759cbd9d28a419a34ff9a" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/base.py", + "sha256": "3be698aeb67d32ee3741e76b2fb71806941c587578583acf8fbc42fbf22b46a5" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/nixl.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/nixl.py", + "sha256": "03af8f6549a6027b7262a482907af591e45f28b9b1c5a3408bbc6600e38797e5" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/ec_shared_region.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/ec_shared_region.py", + "sha256": "e40607952c9920024455eca2f419e8c3ef1de9a4d8b27c147a33bb941b8c08b1" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/protocol.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/protocol.py", + "sha256": "05878336884396bfbef77b96b0fa6359f6fa0aba912961f14a84f5a436f27038" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/__init__.py", + "sha256": "01c42385bf3a55cff09cc05ba956f6dd4b8b6b986bf4d6eca4e566cb045b48e0" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/embedding_cache.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/embedding_cache.py", + "sha256": "7359fb980af1fc30b3253681310ef636e2b4a19134e04a93270c9c45de2572d8" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/session.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/session.py", + "sha256": "5973548a919e13c866222b91d502686a6757a31e5a5664b879bf2887ed9fb212" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/utils.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/utils.py", + "sha256": "160ac665f20f2c75b343c1e784084f2b0b4d1cf8fdb28ee15deee4dc8ed0ce45" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/worker/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/worker/__init__.py", + "sha256": "f08d296d3560c42173ae8af961af4a768033ccf1e36e9c17c0cdd53013d0c52e" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/worker/descriptor_buffers.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/worker/descriptor_buffers.py", + "sha256": "be7c81be214e995da8499105ba485854d9c19d6f8e905f8f1b87b83694ca0864" + }, + "vllm/distributed/ec_transfer/ec_connector/example_connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/example_connector.py", + "sha256": "09022ce07a89114bb65d9befd2e60873453aed11bbac8c0a75c1e6084e785a5f" + }, + "vllm/distributed/ec_transfer/ec_connector/factory.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/factory.py", + "sha256": "d6cedca0a99c3dd2b03cd1c15d17472b983e3f7d8f5baf4a12eecaf6abedb817" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/__init__.py", + "sha256": "1cbfc2f95f8f4d48a9253056eb1fd4b562062884e3fd5cb6571583c352fc16f3" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/config.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/config.py", + "sha256": "98c60696f79d1de67d2364cd9e8a42a393b5c8e17ed9af2f971368e47891d7b3" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/control.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/control.py", + "sha256": "58e0d1a423fbe958bfa586ac26a17107e08d0b31d044b4c74ab4dde880e7ca9b" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/memory.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/memory.py", + "sha256": "d5e90b1348de670a70f110d58eedcbdbd053db72c21dd007c3f5275c53951149" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/metadata.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/metadata.py", + "sha256": "497a7e6dfffb7fce80a41d5989f96119b970c143df77bb9d0f9c91d7a46e8c42" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/producer.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/producer.py", + "sha256": "97fa4d0b19475574778eab02f55fad73db9642beb9156da890314fd53fa1a7ab" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/reservation.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/reservation.py", + "sha256": "4790bc65cde4db5f17733ca2c2910980ba594a8a9b79ee27c5b957dffd4c1113" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/scheduler.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/scheduler.py", + "sha256": "53004b62529a31fdd80dfb2e6026610b95041a77e91f731ae526fefd84e7968d" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/state.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/state.py", + "sha256": "92f375d6c5cc9c83dbe95a7977ad8eb0f1b5629ccee92968bcacdc94eee15d65" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/transfer.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/transfer.py", + "sha256": "ada2113a5402054f1149d3edc2537f4e5e1bd696c9b17291c9f2b4cbf6b59753" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/worker.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/worker.py", + "sha256": "89eb91bb64845b3b121d502972a6b04d448714253becd2ea662e5691cd5acdd7" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake_ec_connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake_ec_connector.py", + "sha256": "aaebab4711bc00dd0c622dfbfd8639fc41e7ed5d1658d7d68fe33e4d5fbef3ba" + }, + "vllm/distributed/ec_transfer/ec_connector/utils.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/utils.py", + "sha256": "11b9014b9c0697f8846deff1a55a22fa86a15dc2ac3e139442fb6d513ac03059" + }, + "vllm/distributed/ec_transfer/ec_transfer_state.py": { + "path": "/vllm/distributed/ec_transfer/ec_transfer_state.py", + "sha256": "9487a41f23fa1a4fa6dfca8b42b8e97a0ee19d8406ffd1dcf4bef66315180827" + }, + "vllm/distributed/elastic_ep/__init__.py": { + "path": "/vllm/distributed/elastic_ep/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/elastic_ep/elastic_execute.py": { + "path": "/vllm/distributed/elastic_ep/elastic_execute.py", + "sha256": "b8f60a4183c79ff6051095b5f95bb385bc7fea0cffe8cd9ebc9087ab0e9f01b5" + }, + "vllm/distributed/elastic_ep/elastic_state.py": { + "path": "/vllm/distributed/elastic_ep/elastic_state.py", + "sha256": "fbf049199841a086fdf2fc1ab8498ef017ad3bf319db65c3ae61acbb536d2e10" + }, + "vllm/distributed/elastic_ep/standby_state.py": { + "path": "/vllm/distributed/elastic_ep/standby_state.py", + "sha256": "15282597550ebd0e07b8492ff192aea1ec0dcec8f0ad34009123e1002cc140c1" + }, + "vllm/distributed/eplb/__init__.py": { + "path": "/vllm/distributed/eplb/__init__.py", + "sha256": "1b9c2ee22abb5888c354c5aa01f0944f253e5e24e135d019778398bbe495a628" + }, + "vllm/distributed/eplb/async_worker.py": { + "path": "/vllm/distributed/eplb/async_worker.py", + "sha256": "424328600ad1003286fc5dfffa1f9482007314c060947818b2f94a8b97811f5e" + }, + "vllm/distributed/eplb/eplb_communicator.py": { + "path": "/vllm/distributed/eplb/eplb_communicator.py", + "sha256": "ba30d9d40e7b81d3f42aa9041d2f328edca4073cfe2de920285eb68375501ed8" + }, + "vllm/distributed/eplb/eplb_state.py": { + "path": "/vllm/distributed/eplb/eplb_state.py", + "sha256": "2f06bc8c63f3fdf55edb5032ae55c0ffcac3e67720ce74ea312e3d141b12acf4" + }, + "vllm/distributed/eplb/eplb_utils.py": { + "path": "/vllm/distributed/eplb/eplb_utils.py", + "sha256": "058af6104faa6d4085c1dca80bbe60d92bf0a7ec9cd92c775a180546c9d8c9c3" + }, + "vllm/distributed/eplb/policy/__init__.py": { + "path": "/vllm/distributed/eplb/policy/__init__.py", + "sha256": "daeb266c88442832b1ab8c8c4cc064891b38b9e9ba00aea324f926c87dc6d37e" + }, + "vllm/distributed/eplb/policy/abstract.py": { + "path": "/vllm/distributed/eplb/policy/abstract.py", + "sha256": "b9fd34c28bbfdded03360d7f3f6f8fb978e82689190d7ae4501dfe520e958c62" + }, + "vllm/distributed/eplb/policy/default.py": { + "path": "/vllm/distributed/eplb/policy/default.py", + "sha256": "3b54229e6240d050480390f6b29d4744fd38437d23719f78a6decf7002296a29" + }, + "vllm/distributed/eplb/rebalance_execute.py": { + "path": "/vllm/distributed/eplb/rebalance_execute.py", + "sha256": "b387e228791149018536eee96cf955b33ba79d801cdc36849d1b47a580ec2597" + }, + "vllm/distributed/kv_events.py": { + "path": "/vllm/distributed/kv_events.py", + "sha256": "de08f01e8736881560256c350a3b6418999dd4aa30f9c6ec9159527f7ed6899a" + }, + "vllm/distributed/kv_transfer/__init__.py": { + "path": "/vllm/distributed/kv_transfer/__init__.py", + "sha256": "c1be4e58ec6923bae607a355ad22891c740f056a69ff7358b1e10ea3fd2680ea" + }, + "vllm/distributed/kv_transfer/kv_connector/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/base.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/base.py", + "sha256": "2ae2a2c48f5731f3533166a75440fe91e764332305b5d713df840edba970789d" + }, + "vllm/distributed/kv_transfer/kv_connector/factory.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/factory.py", + "sha256": "add99c93c587b0098b90b1f8fd6940bdd1f15c236c5c6f1a258411863cb902d3" + }, + "vllm/distributed/kv_transfer/kv_connector/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/utils.py", + "sha256": "317ed40dc837671ca6e666165222e641a0f9b3992aea63bbf54de7e13d40b3a4" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/__init__.py", + "sha256": "5beb6ccad12fdcfe1581982da6f18321caca50e73a6b3259ebf3c8dc8b3ffcca" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/base.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/base.py", + "sha256": "97af64220475c6c9e8273438d7b5138b105ebe6944beb783facb36a3bb76f31b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/decode_bench_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/decode_bench_connector.py", + "sha256": "b4151c88cdec28f1ff9259047abc17baf23b892f4b68769a93bf26e0442b9017" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/example_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/example_connector.py", + "sha256": "6226876ef52d10d0d284d29c337ab44698e8bac6abdb2e0ece53b5756c55d068" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/example_hidden_states_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/example_hidden_states_connector.py", + "sha256": "58c22534dcad0fb73599a2d70a2fb104d5b612a4723be5e777f56a56fe07892c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/flexkv_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/flexkv_connector.py", + "sha256": "de4f68c3bd565ed898e47e0b2980049b966ff31888f1957050d30995d4953762" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_client.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_client.py", + "sha256": "bea6ecff2be281c7e96c1551c7bf463cbb01f2964696067c0ebdb683844f9aab" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_connector.py", + "sha256": "e67ed58015090e5eea9d499883f2a9422673d07f8bdbe0ccff7db15d2460de13" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_metadata_server.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_metadata_server.py", + "sha256": "6800e5cf37809f8a8e28c469c14a434db288bc3bf83a8b62ee06910a20c2da19" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/common.py", + "sha256": "8f2c02c08227a9093e6aeb183961aba36b7812cfc29b8c047a2b2c9d82f79c15" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/gather_scatter_helper.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/gather_scatter_helper.py", + "sha256": "08c1b43de34fbeca77357d7576ac1d17cba974b59d695562f68bb713061e7b54" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/hf3fs_mock_client.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/hf3fs_mock_client.py", + "sha256": "bec61a9b0c4b9124b2292d7646d76411da44396389349b53cdcbc46353c8780e" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/connector.py", + "sha256": "8c61094ce0a3a702908f9576f69482e6bf314738a2cbe33a7d3b47258fa0ab43" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/stats.py", + "sha256": "d9383a6ad6ab6b8f812d29d90495407b770eeddb79b86e9d0e3216c0bd16e0ed" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/worker.py", + "sha256": "251c0d8e57e4739c03ce3e1c899a95ff5b1752eb27676c28ab88c4ebd62c4776" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py", + "sha256": "5991f9ff8832df32bd421eb67e48237270ea0a408180e523810bb43606acf8f3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/__init__.py", + "sha256": "c53be9796e76cde637514bfc40a525d8c09bb2784b406cb516790d8285dfe433" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/multi_process_adapter.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/multi_process_adapter.py", + "sha256": "6480d67b31ed603027a83edf327880a38aee45eaeee2da9a4efa93e95527c166" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/utils.py", + "sha256": "e204fa6a853ac9c122d7a4e9d146902230f81c48d4321ed5edfdbf979dd49ba2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/vllm_v1_adapter.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/vllm_v1_adapter.py", + "sha256": "e6fe55049c6b007248516d69640e2f3a4809f9d286091a1014ae0949987fa8f1" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_mp_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_mp_connector.py", + "sha256": "c712c386a7c57bf0355a1441ba574232c3aa5498fcb70713a2b3f5d18b64f9c1" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/metrics.py", + "sha256": "de1b1797d0448f74370919dbb0278767f390e8f59e00a0c0528abefb302babc2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_connector.py", + "sha256": "516be01320e64b0110e102eeb69a6ba766dd5ac8cb3036db6b97b7d54413323d" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_utils.py", + "sha256": "26877610463fa8e9d6b092772f2551bcc0c3ac794cbe63996df0414666a8ebba" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/rdma_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/rdma_utils.py", + "sha256": "716e5042edecaba36c7ca763474988f32fa09c2668b8260260149df610af8f83" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/stats.py", + "sha256": "f39b2f0b1db2e4f922e27e684a3f7bbf5bb279b82a0a8c3bb0c7ae69b6d14d24" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/connector.py", + "sha256": "17a350bdb89e17e415d6c52a48684dc15c35a804378daf03e1f3bee1b1b123a3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/coordinator.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/coordinator.py", + "sha256": "a8eb6c2157a96e8d25233b82347ac8409a41d6390b4f2c64242119c05911010c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/data.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/data.py", + "sha256": "d3cfefdb4165a24995749cba452641b318065baa95bb1bae62f922a2f8886e7b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/metrics.py", + "sha256": "f2b9ef8927632d142aad11a374d0725c6e619ea0bb7fea9eda3f3895eb7d277a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/protocol.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/protocol.py", + "sha256": "ccb1cf6a84a932a375215627d2aaac482c351a05df015d636d05373a6845b7c8" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/scheduler.py", + "sha256": "283849ff581ec206444cdf5621622377f1c925e8d7e05cb9294af2f3a5094e79" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py", + "sha256": "55f1682dfd1ed7af689166421337126a0e1d08afa4774a242e098d79e0c1e95b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_common.py", + "sha256": "549bb4fe22dca5095515b9c0712c31cc81a9d4923881e9f112317640fd8c04ab" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_connector.py", + "sha256": "c0f474bc34b579d889fae92eaf43eaca241be51a4697a187a942f0df4e6b6a98" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_engine.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_engine.py", + "sha256": "d842f3772fc6588d5a329a67572324cb74709aa3df4033e64c791a1e706c8e88" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_layout.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_layout.py", + "sha256": "2b4ec046a78897236b0626939bb828b6ec095355097d10bca39e5f3e1c992553" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py", + "sha256": "12d8387239f3194f2cb63ccbd64824648047210323572d66671e6a1eed349fc3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/__init__.py", + "sha256": "cc3145fe3b6d219a267bf40a0f7c0cc9430e4289f94acab2df761b99b671e7ba" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_scheduler.py", + "sha256": "7a1db8c54e4cd846bdac747344f2aea2c2fcf507817928796063225223b7e169" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_worker.py", + "sha256": "49a2e4faf99bef146b5a1d4d18d48f240b1e561c438252274494b359db96ef52" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/connector.py", + "sha256": "b6a0dc916d052f344be72ecfcb111509c13580102c11a860fa726cf0888949a9" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py", + "sha256": "2b23a07c1ec5ac5490c3b818737c7192e344ea9f52cd5623f75939f741ab4e21" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_scheduler.py", + "sha256": "ac3daf8e2246581fec84ab28f2133569421b62c32a120be4923e2f4d0f2f9de9" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_worker.py", + "sha256": "e5060c9b6cf022de35ca3d1da7a369cd6a6a2dea26219af9f7633aaf78af8a76" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_scheduler.py", + "sha256": "2d9008e33937a4d6c5cf9cc2f96160f2bdbc8e987fe37f0798a7fd7eb84c9572" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_worker.py", + "sha256": "87de3ea383dd3aa95fb2c287ea26ded8a330859cc1295f9faa69047e80865c2c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/scheduler.py", + "sha256": "09f1bfe7075b926b26a94529480e33b62c3ac273ff826f6c502084f08b1b2a08" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/stats.py", + "sha256": "3e710654e0b68d1a8592f0c4735c81b22f4bf698fb1a2dfea126d35bf2dd1ef2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/tp_mapping.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/tp_mapping.py", + "sha256": "2d43607f98701b2fad6cc0ac2767619a80b7fc2b3a3c2eb6ed0da4fb05dcd8f6" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/utils.py", + "sha256": "93de863fc8307a61d40b62f1b176b57ae93c363d34b9e9ddc8e666265b6d45dc" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/worker.py", + "sha256": "5134a36ac100ce7a64f5311029a37ac12c38d91093f63100f51f7fe53ea7c3ee" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/canonical_mapping.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/canonical_mapping.py", + "sha256": "e0b3c6f9806a650e0370c43c5068fc31c0fec94615089e15fdf270d7d96f2b64" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/common.py", + "sha256": "9b3f042c6fa1581d10e8f688d2d9bc927bb41b780a9ea01f514d57228e20c978" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/config.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/config.py", + "sha256": "aea82e60889e78dcad8564ec8285b65a6a372824a1545a98ea8e78b6f4fd418a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/events.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/events.py", + "sha256": "d7039b67be95fd444966628184040a94880873c0611c0e6e7525a22650ffdefb" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/metrics.py", + "sha256": "13d76df014e86691f58dc89a879f9808b124690c9267dd5fa3b2d4004d4c5fdf" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/scheduler.py", + "sha256": "2c5282f4a3165cd787fb355e215e3869f1bdd3f2c795b2155fc537c9d135191a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/worker.py", + "sha256": "acc2df53262441dfc6421a3af7f0cbd68cbfaedbd42bbc384d8e1da2d965d194" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py", + "sha256": "cdc16ca7339a10e1993bd6220e6273f86a4e99779f58f25098a24ad31bb0dbd8" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py", + "sha256": "96238ca82ccf07a1eeb59b8f66de17b09034e3eb993ad9a0a836511d3f69706b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/ssm_conv_transfer_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/ssm_conv_transfer_utils.py", + "sha256": "59a949709482e65a007fbe5352fe9b4bb54c2dcc10ad2c1c41f754b6e13299f4" + }, + "vllm/distributed/kv_transfer/kv_transfer_state.py": { + "path": "/vllm/distributed/kv_transfer/kv_transfer_state.py", + "sha256": "2e5fe09438d6e2ee642f8a26cf7dcf632e870d955d30baf002b76a8bfe836d05" + }, + "vllm/distributed/nixl_utils.py": { + "path": "/vllm/distributed/nixl_utils.py", + "sha256": "0bffa3c052c9f67472b1c0bc3816114891b010c968bf4b8a292e7da4d687db53" + }, + "vllm/distributed/parallel_state.py": { + "path": "/vllm/distributed/parallel_state.py", + "sha256": "d9b10ad56833ebc08a753e1a050ef0989c30d4134021b7b7b00150b7bd01adc6" + }, + "vllm/distributed/stateless_coordinator.py": { + "path": "/vllm/distributed/stateless_coordinator.py", + "sha256": "f52848fbe985ed47b1f3e3ca555314736ca06436e8d738ab4390101f0672dcb0" + }, + "vllm/distributed/utils.py": { + "path": "/vllm/distributed/utils.py", + "sha256": "792146b357139e705064a68d3b66858de8a0baaca4dc7db1232fa217d45db231" + }, + "vllm/distributed/weight_transfer/__init__.py": { + "path": "/vllm/distributed/weight_transfer/__init__.py", + "sha256": "3fb9d4712b7c131d522f5e76e73cd8c333f3cc7af86e2d5ecf9b61b57b3b7f5a" + }, + "vllm/distributed/weight_transfer/base.py": { + "path": "/vllm/distributed/weight_transfer/base.py", + "sha256": "8ab06feb04f1379d0558fbdb77fde46bc84f179e0a26742cabab937e88caa38d" + }, + "vllm/distributed/weight_transfer/clients.py": { + "path": "/vllm/distributed/weight_transfer/clients.py", + "sha256": "ff85c79c350241e6d2749ca23c9d295a3289b4b62bfdf0257d32eb94a0151d36" + }, + "vllm/distributed/weight_transfer/factory.py": { + "path": "/vllm/distributed/weight_transfer/factory.py", + "sha256": "4e979eeac8c5bcdbffb10eb4765cfb30120fa7595c6c2561d3fa1a966ced61c8" + }, + "vllm/distributed/weight_transfer/ipc_engine.py": { + "path": "/vllm/distributed/weight_transfer/ipc_engine.py", + "sha256": "1af578293f387a19073c322b24143c3ae4716ce0c5d2bac2a4ef26fe20119330" + }, + "vllm/distributed/weight_transfer/nccl_common.py": { + "path": "/vllm/distributed/weight_transfer/nccl_common.py", + "sha256": "7b2ef7dc7481c3f478f17c49aa36c7bed54142ec5c93d36ed8426c8fdf09e500" + }, + "vllm/distributed/weight_transfer/nccl_engine.py": { + "path": "/vllm/distributed/weight_transfer/nccl_engine.py", + "sha256": "7fd020c919dc7b4723fb78e64da977b180d0fef0cd21df955a037b848dbaa008" + }, + "vllm/distributed/weight_transfer/packed_tensor.py": { + "path": "/vllm/distributed/weight_transfer/packed_tensor.py", + "sha256": "d0a27fb0be1dc029bd5a1d44fdb57a5e54aa4cd74308bedc339e86ac02c7494c" + }, + "vllm/distributed/weight_transfer/sharded_rdt_common.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_common.py", + "sha256": "be0b13801f24e7b62999b19d733c030510353603a2d5320d5dc98ee02daf22a2" + }, + "vllm/distributed/weight_transfer/sharded_rdt_engine.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_engine.py", + "sha256": "2f791970b4815511a7578ef6c957e7da97b071d26a39087a09a17475909791ee" + }, + "vllm/distributed/weight_transfer/sharded_rdt_fake.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_fake.py", + "sha256": "ee11164e17b5f2793252ce77741b8b94e0583046abf896a590131b2008d1fbb9" + }, + "vllm/distributed/weight_transfer/sharded_rdt_trainer.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_trainer.py", + "sha256": "dd413ff461d41826ccd3eb87d3df22f6cd7f24e09aac7644e3e5b40d7beec484" + }, + "vllm/distributed/weight_transfer/sparse_nccl_engine.py": { + "path": "/vllm/distributed/weight_transfer/sparse_nccl_engine.py", + "sha256": "e11b409454dda2b05ea34e8115ac19027c5e65cb2a5e9682c494f16a50e978f4" + }, + "vllm/model_executor/determinism/__init__.py": { + "path": "/vllm/model_executor/determinism/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/determinism/batch_invariant.py": { + "path": "/vllm/model_executor/determinism/batch_invariant.py", + "sha256": "af8f8d256a48fc214edf426fbe891fb15bd8b1d7ae98b811c736ff1eb0fae798" + }, + "vllm/model_executor/determinism/batch_invariant_configs.py": { + "path": "/vllm/model_executor/determinism/batch_invariant_configs.py", + "sha256": "72ea0d4df0ab5ae288abb7df5c203d2ad5f1709c7295d87ec72da775fddc1b7a" + }, + "vllm/model_executor/layers/fused_moe/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/__init__.py", + "sha256": "64a32665be6d5afcfbaf7a0915717267278b66b880b908b0263ea58f08e51b5e" + }, + "vllm/model_executor/layers/fused_moe/activation.py": { + "path": "/vllm/model_executor/layers/fused_moe/activation.py", + "sha256": "78dec0e85e0c040304515f64ccf8f2c6a7a2e5b9f1124a2138a97d9a02585541" + }, + "vllm/model_executor/layers/fused_moe/all2all_utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/all2all_utils.py", + "sha256": "dc4750a446f7de31d09a46034da5fdf479bc169af90f47aa9af8ae15e67b0828" + }, + "vllm/model_executor/layers/fused_moe/b12x.py": { + "path": "/vllm/model_executor/layers/fused_moe/b12x.py", + "sha256": "ee76cc6aa801e24be8ec78a9e8502061ad48667d5ff8711e43f68fba912425bd" + }, + "vllm/model_executor/layers/fused_moe/config.py": { + "path": "/vllm/model_executor/layers/fused_moe/config.py", + "sha256": "a3a87cebcc7ac85d73f471dcfafc2d899c6fc08f264777b74a0e919adac9e03f" + }, + "vllm/model_executor/layers/fused_moe/deep_gemm_utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/deep_gemm_utils.py", + "sha256": "8fdcd857eb333f9c68902105f157568d52067c94ba1e2df6dbfe0474ef1f4c02" + }, + "vllm/model_executor/layers/fused_moe/eep_reconfigure.py": { + "path": "/vllm/model_executor/layers/fused_moe/eep_reconfigure.py", + "sha256": "9d7580265e8563e1140c2bb4c3a81a35ddd54903f5ec0a2720ffc064681f02f9" + }, + "vllm/model_executor/layers/fused_moe/expert_map_manager.py": { + "path": "/vllm/model_executor/layers/fused_moe/expert_map_manager.py", + "sha256": "308c00f63fcb6f44518ec3a56d8f902c7bba75928c2e3aea30fbe1f3f473973b" + }, + "vllm/model_executor/layers/fused_moe/experts/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a16_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a16_moe.py", + "sha256": "53deea255175171971422d14082ad139b5ec7b62e21429a4c7cc0ebbefd29cdc" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a8_moe.py", + "sha256": "f3fc51b95ed89862381908a0134e326228827f44854248db9585a9c4899c34f4" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp8_moe.py", + "sha256": "af6db1760961a5a71234f8b1cdf42e9e30a236e13601b0826a75110b79724948" + }, + "vllm/model_executor/layers/fused_moe/experts/batched_deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/batched_deep_gemm_moe.py", + "sha256": "b0cd4ea706583518dc608fb56f832fc3595f24bd863b03ef1e8c22b36b873508" + }, + "vllm/model_executor/layers/fused_moe/experts/cpu_int4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cpu_int4_moe.py", + "sha256": "67170af3ba9dc4c4f71d78a72efc3fa4e366eac614936a79911dae5c75ac1864" + }, + "vllm/model_executor/layers/fused_moe/experts/cpu_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cpu_moe.py", + "sha256": "0754cd4ff1b28e6d3932a67609d335acefd28f95a841f0492923813356a6d81e" + }, + "vllm/model_executor/layers/fused_moe/experts/cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cutlass_moe.py", + "sha256": "db901bdbcd3fdac23a1d74e39c51e67f14a82be787b2fd704ed1e787372ae868" + }, + "vllm/model_executor/layers/fused_moe/experts/deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/deep_gemm_moe.py", + "sha256": "16911a64a72eafc26a1bcb544a91f90144d85dc41e3ee57cf20e89925227bbb7" + }, + "vllm/model_executor/layers/fused_moe/experts/fallback.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fallback.py", + "sha256": "1bdd0a4f2ebaa40ec96a5aacc07aee61511af59e6324ce456aa65003b6e2991a" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_b12x_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_b12x_moe.py", + "sha256": "e613afe5da2742e42c717c1a0a56bd9e1c7e3e0452a828db0013d81063518954" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_batched_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_batched_moe.py", + "sha256": "295254dfeeec8df3eb8110e6f659a946cb9cded3de1565ecad4d741b3c3f3e00" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_moe.py", + "sha256": "08578bcd0cf72d6a470e40950175e73639efaa6d8d23c6da0869345312b229c9" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutlass_moe.py", + "sha256": "52887cec5fe628e0a4e7793deb546b40f6c29f7362b3b436c10ca36934ab9826" + }, + "vllm/model_executor/layers/fused_moe/experts/fused_batched_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fused_batched_moe.py", + "sha256": "2435587fc7f8fe8ea341ea0eb8f14c11f3f5b31fbbb9b29ce569ad3bace6e6a0" + }, + "vllm/model_executor/layers/fused_moe/experts/fused_humming_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fused_humming_moe.py", + "sha256": "a6830a76ff7f4cd3479b9c8372a30d03e8301604555cbdbcd9ac89a813b7431a" + }, + "vllm/model_executor/layers/fused_moe/experts/gpt_oss_triton_kernels_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/gpt_oss_triton_kernels_moe.py", + "sha256": "1613a7a6b256e8faee6fdcfae84f293492db6229d28ceb3e8a8d6093af480e36" + }, + "vllm/model_executor/layers/fused_moe/experts/int4_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/int4_emulation_moe.py", + "sha256": "f12857caf0671a341687ad3c5f48616b816ed51e1bcbdefa0a7edbecdb81a79d" + }, + "vllm/model_executor/layers/fused_moe/experts/lora_context.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/lora_context.py", + "sha256": "9b41eefaaa57c5dd0dc54217ef95978821b0c52e90ea4db8b0752e08452bd3e5" + }, + "vllm/model_executor/layers/fused_moe/experts/lora_experts_mixin.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/lora_experts_mixin.py", + "sha256": "b2bc55ed6be98b526c6a5698e2d98300650e78555f56b1820e58c04888e2a373" + }, + "vllm/model_executor/layers/fused_moe/experts/marlin_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/marlin_moe.py", + "sha256": "93916b721548e6194dc70cf6cec224b4b1456a0cc0980235e97beba7bf36541d" + }, + "vllm/model_executor/layers/fused_moe/experts/mxfp8_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/mxfp8_emulation_moe.py", + "sha256": "d09c62ad1398c51ff6f515f2a61014ee9e9a9798d0fe9762c47f446efc5edbef" + }, + "vllm/model_executor/layers/fused_moe/experts/mxfp8_native_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/mxfp8_native_moe.py", + "sha256": "01a42cebf18189e566034111b2145573c655319e8af1a56db60d53a319c40613" + }, + "vllm/model_executor/layers/fused_moe/experts/nvfp4_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/nvfp4_emulation_moe.py", + "sha256": "f24467762b60702f0df122ed64786be839a838a9b6cafaecbd04d35fbfedb189" + }, + "vllm/model_executor/layers/fused_moe/experts/ocp_mx_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/ocp_mx_emulation_moe.py", + "sha256": "dcaa60a9ebdb0bd8223b37af41f018ce7f95716ec7cd8526850f4433a579213b" + }, + "vllm/model_executor/layers/fused_moe/experts/rdna3_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/rdna3_moe.py", + "sha256": "e4abd802dc2f0ad9b338ebde397633c761d881c37813e2dc229902c526b597d8" + }, + "vllm/model_executor/layers/fused_moe/experts/rocm_aiter_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/rocm_aiter_moe.py", + "sha256": "bf09a7b783f5752d61cab76221b32b598d8846d801ee39dc9209d636c9659c6f" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_cutlass_moe.py", + "sha256": "ffce5ad627c540940d122d8df7981644b2eb35d07d480995c0f4f30517815fac" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_deep_gemm_moe.py", + "sha256": "c7209fa5e1ccb184a68b37a0706fc571a76696c2ae79802ddc7f889b1c29684d" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_moe.py", + "sha256": "806fbccfe30f5fbd578acf773add99bdf022b12d617958bd6281aef6de369701" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_bf16_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_bf16_moe.py", + "sha256": "76256de96fefece9c41ffb1108487919e24da364cf4412c6c3474498aba59137" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_fp8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_fp8_moe.py", + "sha256": "b54c7ceb45e5d07aa905f42ea44caccf85ca35ba9fb825d4c01947764510f68b" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_lora_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_lora_moe.py", + "sha256": "dd35a9e4242c0dc8d691168813e14bd5543e591f02ee529d0691e07651942c5a" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_mxfp4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_mxfp4_moe.py", + "sha256": "fe780f125a3dc3ba919659e9b85340bd32afcbfe47733a002bfdfb92eadf400c" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_mxint4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_mxint4_moe.py", + "sha256": "2106d67c2951aa690c4656ca58240d09c366cffe8cb4d9fd575df016c377cc30" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_nvfp4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_nvfp4_moe.py", + "sha256": "e938ac9f058f7c90b41c9610513239bec54a95304bfb5ff5f6897ebd54733d7e" + }, + "vllm/model_executor/layers/fused_moe/experts/xpu_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/xpu_moe.py", + "sha256": "2a11bac0cf9274d963315efd6eebdc62978b0b7aa02e8849ff2a562742f0b86d" + }, + "vllm/model_executor/layers/fused_moe/fused_flydsl_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_flydsl_moe.py", + "sha256": "0e74879ee5c72f616ae4064b9dff3b3a0b583b7fc70b8f92f1e8b730ecd5d39b" + }, + "vllm/model_executor/layers/fused_moe/fused_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe.py", + "sha256": "7072eb06237be9d33dcb0ef7101410f886a6363c98cbee70a014c68b70f639cb" + }, + "vllm/model_executor/layers/fused_moe/fused_moe_method_base.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe_method_base.py", + "sha256": "18dcfc469d3252749801bbf943857f58da85de1f2db8fdff5a9f4986a925dc68" + }, + "vllm/model_executor/layers/fused_moe/fused_moe_modular_method.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe_modular_method.py", + "sha256": "321c744eac1fcaffd6b1b2971204c8baa57dfec53e91e5d24140014d72d64f83" + }, + "vllm/model_executor/layers/fused_moe/hpc_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/hpc_moe.py", + "sha256": "2ca9c5d71b6fd91651027905e2b83103a8823845e053e7153e148cb8e0ee666d" + }, + "vllm/model_executor/layers/fused_moe/layer.py": { + "path": "/vllm/model_executor/layers/fused_moe/layer.py", + "sha256": "def0b4e13bcc1e4e21ee10644e647e2eda1acbf0cc01e76d6128abb59ea08224" + }, + "vllm/model_executor/layers/fused_moe/modular_kernel.py": { + "path": "/vllm/model_executor/layers/fused_moe/modular_kernel.py", + "sha256": "8dc4e0dbbf35b3aac8add63ca6f2a7bbfdadaabbd60826e24598b22c7d8e5c22" + }, + "vllm/model_executor/layers/fused_moe/moe_align_block_size.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_align_block_size.py", + "sha256": "c3f7fc2087836f0160a32ab99ceb1d8f6e87c793679da34dd672e225cb7fa31b" + }, + "vllm/model_executor/layers/fused_moe/moe_fused_mul_sum.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_fused_mul_sum.py", + "sha256": "112e72578002c3bff538418dac64b3b56d995994a2fc5e32b18d2cf3b8392a13" + }, + "vllm/model_executor/layers/fused_moe/moe_output.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_output.py", + "sha256": "6ea4cbd78f9efc7f842c5df246f553f08b991c3479b8b04b89902ed08aaf8e8f" + }, + "vllm/model_executor/layers/fused_moe/moe_permute_unpermute.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_permute_unpermute.py", + "sha256": "1adc592c6254d0c877d66be5406afbc822459c18a838f4bbd094a992e7609d06" + }, + "vllm/model_executor/layers/fused_moe/oracle/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/__init__.py", + "sha256": "4dcf941d50d48bb812de0f39e9194bf17a76b8035fe324889c6038f710fdc453" + }, + "vllm/model_executor/layers/fused_moe/oracle/base.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/base.py", + "sha256": "555bbcd18a3744e64eee4e953daabef3bd268a1bd4faf967d4cfd14d6074f685" + }, + "vllm/model_executor/layers/fused_moe/oracle/fp8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/fp8.py", + "sha256": "245bd36c285df1e6f7c51e52dcda31ad247894577a9f8d765613c2c2feae9aee" + }, + "vllm/model_executor/layers/fused_moe/oracle/int8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/int8.py", + "sha256": "c1b67886511bd966b162db5bca8930f04895fb37a969818a4a10f0726c59547f" + }, + "vllm/model_executor/layers/fused_moe/oracle/int_wna16.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/int_wna16.py", + "sha256": "cfffe8b8b290330be9d18ffa07aeecf296484395ff04df3147d99393e48b55c1" + }, + "vllm/model_executor/layers/fused_moe/oracle/mxfp4.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/mxfp4.py", + "sha256": "b7915e6779b5c88e7dcd2d227f003a8e45071d6d86877013067142d4feb64a8c" + }, + "vllm/model_executor/layers/fused_moe/oracle/mxfp8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/mxfp8.py", + "sha256": "9cfdc8102a04bb844dcd7ed88043bba96ec751794bc093da76c69aa8cf88cf48" + }, + "vllm/model_executor/layers/fused_moe/oracle/nvfp4.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/nvfp4.py", + "sha256": "735b4cdeb1258f11fb02320fc0c70cab5edaca468dd60b07b2d369389d2b0313" + }, + "vllm/model_executor/layers/fused_moe/oracle/unquantized.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/unquantized.py", + "sha256": "c8b8203bd0b73bb7f586f703607394d663f14c05711416ad42d45af564382223" + }, + "vllm/model_executor/layers/fused_moe/oracle/w4a8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/w4a8.py", + "sha256": "d7fa6e2982f20b34d5ce9c5ce28a61122762a3fcdd53d249479472a4f2316c6a" + }, + "vllm/model_executor/layers/fused_moe/oracle/w4a8_int8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/w4a8_int8.py", + "sha256": "6d6f9ca2e67b630002873de2f8d8a231d091c5c2f0f3354a9e8209449b481a4c" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/__init__.py", + "sha256": "2800113263a83c2632e522fb22790b29f63384da75d43de32f0ae2f95e8ae4c1" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/batched.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/batched.py", + "sha256": "d52425dd8c08e47cf8d9c3088daf3b1cc721c8667de4c738d04ba997f9a08ccb" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ht.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ht.py", + "sha256": "465cdf1d6cee91b2ee8c2e43abbea6e8408976e3048c10f44c089f34b415bc60" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ll.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ll.py", + "sha256": "f704922b1db680c4c212982a096e09d6b3eb97d89110313f86ed958a00df21b7" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_v2.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_v2.py", + "sha256": "8d690b016bbcfbc9eb599bcc36a6f798b2f1720c828f4347ea742e218c0cc60d" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_one_sided.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_one_sided.py", + "sha256": "acb57d8342af62bb5672036871cd4b27ecc7f37dfa7c894850bb860e6152a1f0" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_two_sided.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_two_sided.py", + "sha256": "cc5b00d6a157b6eca5afaaf7435165dbd1b4524d6d88bf75808cbe074a389f79" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/mori.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/mori.py", + "sha256": "8e9c3b5b1f0de13f467d95bf2f451cba0e4b0d9a1bdcf98da0988a3a9a79a045" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/naive_dp_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/naive_dp_ep.py", + "sha256": "db015e5b18750bbbf5b2bbaceca877dd6f3f3e74c2a94e8dc185f7413b387f91" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/nixl_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/nixl_ep.py", + "sha256": "1f71d70ac509bf5d3d67a8d95a8ee108a50af6bb5d4bde7181ca28e286f6ffce" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/no_dp_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/no_dp_ep.py", + "sha256": "adbbf529cd22059c95b5380952943a70cf11e05e321dcd707f296bebde61a6e7" + }, + "vllm/model_executor/layers/fused_moe/routed_experts.py": { + "path": "/vllm/model_executor/layers/fused_moe/routed_experts.py", + "sha256": "68c48e5df0ea4a7cc1f04436b7b9153eb53802ecd9bb55d38db8738508daac6d" + }, + "vllm/model_executor/layers/fused_moe/routed_experts_capturer.py": { + "path": "/vllm/model_executor/layers/fused_moe/routed_experts_capturer.py", + "sha256": "cd006bc1a1703418cca3b589fafb2abc4268a086fb3db044bbb64348aeac8b13" + }, + "vllm/model_executor/layers/fused_moe/router/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/layers/fused_moe/router/aiter_shared_routed_fused_moe_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/aiter_shared_routed_fused_moe_router.py", + "sha256": "f47046db1275601a2c67c9232afc7b866c9623a19639d5be867e4c7914a35069" + }, + "vllm/model_executor/layers/fused_moe/router/base_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/base_router.py", + "sha256": "47fa2324bcd9b6ebdc138d69ae6b6ecc0f2463d34bda8c5988bdb0a2a76d3fae" + }, + "vllm/model_executor/layers/fused_moe/router/bf16x3_router_gemm_cutedsl.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/bf16x3_router_gemm_cutedsl.py", + "sha256": "d0f1edd1ebc48d88e490bdb3c93db49bdc0a135ff83e7e0b57130e9f8255fc32" + }, + "vllm/model_executor/layers/fused_moe/router/cpu_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/cpu_router.py", + "sha256": "bff36b15818c87bfbb7ee3def7dc7f6396860abbe5893ff6148801fe941a4b92" + }, + "vllm/model_executor/layers/fused_moe/router/custom_routing_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/custom_routing_router.py", + "sha256": "1a40c7054e3c3a1b3ee2e98f6bc9efa9dfdc11f316a8edf7357dd91533487bfe" + }, + "vllm/model_executor/layers/fused_moe/router/dsv4_topk.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/dsv4_topk.py", + "sha256": "14f7c8487b9aef652dd61c91e0e3c3640b643bf9cd0d8a7184157d71f4beb63e" + }, + "vllm/model_executor/layers/fused_moe/router/fused_moe_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_moe_router.py", + "sha256": "0daa0dc05b931d66767feca444a4cd57ecf140f59b40ea0e8ad213eef6da2b36" + }, + "vllm/model_executor/layers/fused_moe/router/fused_topk_bias_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_topk_bias_router.py", + "sha256": "8fdc28cc248180ad4f11bb4bcda3df47926ec12665a0d84bb712fe83fc6b9376" + }, + "vllm/model_executor/layers/fused_moe/router/fused_topk_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_topk_router.py", + "sha256": "1c80f4af4d781fd66b12aa6a7a0fd30082bc521df40f1252987a8ac4c0bef51c" + }, + "vllm/model_executor/layers/fused_moe/router/gate_linear.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/gate_linear.py", + "sha256": "faa43362c2e7c568498a923c682ca18cae75e87f48d00882770821cb19c21198" + }, + "vllm/model_executor/layers/fused_moe/router/grouped_topk_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/grouped_topk_router.py", + "sha256": "048339e1799cdd42c9dae686a6cb891046577fb391b500f0d12eed73c8f61e52" + }, + "vllm/model_executor/layers/fused_moe/router/rocm_fp32_router_gemm.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/rocm_fp32_router_gemm.py", + "sha256": "9c331ef3d0bb2fb6954387d77ac62a99c5c76d2753c7438bfbb5115f68aae5ac" + }, + "vllm/model_executor/layers/fused_moe/router/router_factory.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/router_factory.py", + "sha256": "019bc8adaa7642abab82843efd53cd1a378f62c652521a1de2b781480eb88742" + }, + "vllm/model_executor/layers/fused_moe/router/routing_simulator_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/routing_simulator_router.py", + "sha256": "a7345df5add00cf3bd93024492d6fc1189fd3ecf2754a11cef1b03a295d791f7" + }, + "vllm/model_executor/layers/fused_moe/router/zero_expert_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/zero_expert_router.py", + "sha256": "dea306edd92e2b9c1b43f982ede8e1e10770d2c66220f5a106e0ed0165276e9c" + }, + "vllm/model_executor/layers/fused_moe/runner/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/layers/fused_moe/runner/moe_runner.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/moe_runner.py", + "sha256": "05893188402fe37229bf72d75088d66193c417d5d502daafd3a55e1bfedaa60c" + }, + "vllm/model_executor/layers/fused_moe/runner/moe_runner_interface.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/moe_runner_interface.py", + "sha256": "189cad01611124eb44594713cbf5918d16fc70196dc81a525ae0a7a97a5fcc51" + }, + "vllm/model_executor/layers/fused_moe/runner/shared_experts.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/shared_experts.py", + "sha256": "d89e4c79c46f6fe61262c51f3facf102e71ce1e4eb3db67f72b6bd8470937be9" + }, + "vllm/model_executor/layers/fused_moe/topk_weight_and_reduce.py": { + "path": "/vllm/model_executor/layers/fused_moe/topk_weight_and_reduce.py", + "sha256": "3dfede72d52bf99af40997994704e6c502ee3bab2bd39bfaa8a68d7dae440203" + }, + "vllm/model_executor/layers/fused_moe/unquantized_fused_moe_method.py": { + "path": "/vllm/model_executor/layers/fused_moe/unquantized_fused_moe_method.py", + "sha256": "182a5ec1874ece2091a24c5303f6ab9ea64a9a61adf325b863927f0cdd83e5d3" + }, + "vllm/model_executor/layers/fused_moe/utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/utils.py", + "sha256": "a93a0bded4008db19d8b38370526ae34fafb9c8278e5b4f60acb6acc8fdc1850" + }, + "vllm/model_executor/layers/mamba/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/abstract.py": { + "path": "/vllm/model_executor/layers/mamba/abstract.py", + "sha256": "dfdc8c836894f574e41d93d76ab989cacd3d7ecf59c97a929abfa48d9364e8ad" + }, + "vllm/model_executor/layers/mamba/gdn/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/gdn/base.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/base.py", + "sha256": "7fec748fc74131f5a45bcaf2644b3fa3a0598fd437d7347f8207ea3644a951c5" + }, + "vllm/model_executor/layers/mamba/gdn/kimi_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/kimi_gdn_linear_attn.py", + "sha256": "1cec4da5c9da73557e192bfb36cd540aae51d3e91283b554449c4a97f0f89bd9" + }, + "vllm/model_executor/layers/mamba/gdn/olmo_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/olmo_gdn_linear_attn.py", + "sha256": "60873ca3bb0c4d17c33bd259b62b658db4883cd23138f47dd4ead62cd2ff0605" + }, + "vllm/model_executor/layers/mamba/gdn/qwen_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/qwen_gdn_linear_attn.py", + "sha256": "b80f8e6f3fff442fb880aebb3209c52f814f66490009f4ac4003de603576d10a" + }, + "vllm/model_executor/layers/mamba/linear/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/linear/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py", + "sha256": "3c480ddd6eba0766ed012a1074bbec5f241d868a87b020b0f6312222c32f93eb" + }, + "vllm/model_executor/layers/mamba/linear/base.py": { + "path": "/vllm/model_executor/layers/mamba/linear/base.py", + "sha256": "26125cd427225954e1846ca361cdaf43f2b56f11b1e217cf26e91a80ef0edb6a" + }, + "vllm/model_executor/layers/mamba/linear/minimax_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/linear/minimax_linear_attn.py", + "sha256": "4adc00f54893b5bc6c31c613deda152a19af3b1bba04153ab5924c3bf2a3aaae" + }, + "vllm/model_executor/layers/mamba/mamba_mixer.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_mixer.py", + "sha256": "a485e937ad9db14d3ad03fde5a9fe795cfa863649563e52fc7e6c52ef631164e" + }, + "vllm/model_executor/layers/mamba/mamba_mixer2.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_mixer2.py", + "sha256": "d58d93e90d9eb90bc5133b79f07c7c62d0032b35d6cf916e3fe34367b81c5cd5" + }, + "vllm/model_executor/layers/mamba/mamba_utils.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_utils.py", + "sha256": "ce9845b4a4ef4bc46577a33038ed69d59ceccb52f30e9c5bdaa36e48be3b2ca4" + }, + "vllm/model_executor/layers/mamba/ops/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/ops/causal_conv1d.py": { + "path": "/vllm/model_executor/layers/mamba/ops/causal_conv1d.py", + "sha256": "044d005cfe59fd0818ed421274e04f3e8dd679b8cdb64fca9f4422f2643484b2" + }, + "vllm/model_executor/layers/mamba/ops/cpu/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/ops/cpu/causal_conv1d.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/causal_conv1d.py", + "sha256": "64104672890ac2ef240c20c7f8059beeade707178574809dbca8721dff5ea6fa" + }, + "vllm/model_executor/layers/mamba/ops/cpu/gdn_attention.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/gdn_attention.py", + "sha256": "a50288945bf5b102ad3025ae536638dcc32d84cf7c22aaf3a85326b0c1c56c1f" + }, + "vllm/model_executor/layers/mamba/ops/cpu/mamba_ssm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/mamba_ssm.py", + "sha256": "5839e576172a3246337f5e4fb1bc19eb583b3e2b2f7e35dd060dc3041eb8372d" + }, + "vllm/model_executor/layers/mamba/ops/gather_initial_states.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gather_initial_states.py", + "sha256": "5198bb6de6d91c583a5f65d926412a76ee04a06fa72aaba76eaf156b27cd0523" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/__init__.py", + "sha256": "b88b52e71fcb21bd3fa215ea171dcd2ad2ff17c97788cfe64caa7ba45c7ecf97" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_h.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_h.py", + "sha256": "f50bbe5c0b6382323ec5dfc24a5e0c7971113d59727515e60c9fe3689734e5ba" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_kkt_inv_uw.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_kkt_inv_uw.py", + "sha256": "b4a65dd194907db08865e0596fe254f915e670a9e6b27ffa2933c1026dde9b1e" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_o.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_o.py", + "sha256": "629f7843a7e611efb9390f2ebb7a4b924b2c328d48a317fddfaa96af4d9bc60a" + }, + "vllm/model_executor/layers/mamba/ops/layernorm_gated.py": { + "path": "/vllm/model_executor/layers/mamba/ops/layernorm_gated.py", + "sha256": "3433f2e3b87c2b2ccf8e9794ce40762c86a6da38a94ecee001f439ea0d0373dd" + }, + "vllm/model_executor/layers/mamba/ops/mamba_ssm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/mamba_ssm.py", + "sha256": "a4515ec7895b40ed878cf380445034b25faa61fbaa799d96c49217bbdfd7e400" + }, + "vllm/model_executor/layers/mamba/ops/replayssm_config.py": { + "path": "/vllm/model_executor/layers/mamba/ops/replayssm_config.py", + "sha256": "5fe9d5d7aa2de6a65875b3796a919b22bc435fd76055ba054bbff43aa005bc44" + }, + "vllm/model_executor/layers/mamba/ops/scatter_states.py": { + "path": "/vllm/model_executor/layers/mamba/ops/scatter_states.py", + "sha256": "f3bb004c73edaba56337747893eb07faf29b270dc8bb9c893ee9b1044e4ead9a" + }, + "vllm/model_executor/layers/mamba/ops/selective_state_update_replayssm_output_only.py": { + "path": "/vllm/model_executor/layers/mamba/ops/selective_state_update_replayssm_output_only.py", + "sha256": "cea7fd3063ca9dcc4e33f180d01ea379195ec515cedc9d0b03b11dc67670d695" + }, + "vllm/model_executor/layers/mamba/ops/ssd_bmm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_bmm.py", + "sha256": "26983d97a7f5c5f9197a16a6bee7b1294839b9ae31a14c14aaee38b43523e630" + }, + "vllm/model_executor/layers/mamba/ops/ssd_chunk_scan.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_chunk_scan.py", + "sha256": "d5ef32e8cb47e2ce71984579df78ab69754895f891766394daf327867cfa4f8f" + }, + "vllm/model_executor/layers/mamba/ops/ssd_chunk_state.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_chunk_state.py", + "sha256": "177e3aa7fe72647133bbd86135533e8688a5802678d4d1564aa549410362316f" + }, + "vllm/model_executor/layers/mamba/ops/ssd_combined.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_combined.py", + "sha256": "1317bbb668d3c60dfe0658850f9968614f03fa5eb61196f8ce6ac17dbb31b480" + }, + "vllm/model_executor/layers/mamba/ops/ssd_state_passing.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_state_passing.py", + "sha256": "36b8c8edba437916a5b789717c61fc22077de01e77892cb96dbff3b00a57410e" + }, + "vllm/model_executor/layers/mamba/ops/ssu_dispatch.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssu_dispatch.py", + "sha256": "bbe0f0e61da87f3ddfead19a79ca376516b63f1ea868be3485333c63fa20ef41" + }, + "vllm/model_executor/layers/mamba/ops/triton_helpers.py": { + "path": "/vllm/model_executor/layers/mamba/ops/triton_helpers.py", + "sha256": "a8795532f22c37a93e82c9d8e3fadcb5f4da98673d7b321fe8481305eaafad30" + }, + "vllm/model_executor/layers/mamba/short_conv.py": { + "path": "/vllm/model_executor/layers/mamba/short_conv.py", + "sha256": "228494efab185ee17374f762874f4c8b9a26aac9decfa8c906ce38446e0de51a" + }, + "vllm/model_executor/models/qwen3_next.py": { + "path": "/vllm/model_executor/models/qwen3_next.py", + "sha256": "4fa5112ac2bf7886d41d9e1f6c3da8793620d1ec49c961b31e9609459a6a7f7a" + }, + "vllm/third_party/flash_linear_attention/__init__.py": { + "path": "/vllm/third_party/flash_linear_attention/__init__.py", + "sha256": "5dbbfa3fc286edb2e970e175ef33cee4f6181c89b0784f5a8986201b2312f54e" + }, + "vllm/third_party/flash_linear_attention/ops/__init__.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/__init__.py", + "sha256": "dd738dc1d08045e76455cdbe16052a5b769e0eb11d6e87ff28353994f880cd6c" + }, + "vllm/third_party/flash_linear_attention/ops/chunk.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk.py", + "sha256": "c105ead259e86aedc248c53e7c4cef07034d0ff12da608d80265d1dd0990803f" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_delta_h.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_delta_h.py", + "sha256": "1b3ad391f939d9443c6b7adb19e57fe381bd5dccea064e8417a4f85b0e713b26" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_o.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_o.py", + "sha256": "3b63b836a8cc561723c23db5a528a0b474d9cd78508d610f0b348c585a889a19" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_scaled_dot_kkt.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_scaled_dot_kkt.py", + "sha256": "7ae41df3755acc7e925a134d848f78bb5fc00b90069039d86403c5853323ea42" + }, + "vllm/third_party/flash_linear_attention/ops/cumsum.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/cumsum.py", + "sha256": "d818215669b451868823202ac0bcea77e7a9d75957254c7c1060a73a55dc39b6" + }, + "vllm/third_party/flash_linear_attention/ops/fused_gdn_prefill_post_conv.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_gdn_prefill_post_conv.py", + "sha256": "590717b2107abc90d72548de06b5d315229eb2775c94614f3f545df11cc2b5df" + }, + "vllm/third_party/flash_linear_attention/ops/fused_norm_gate.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_norm_gate.py", + "sha256": "e6eb90467f29d8a0a04f2a364d20a2c3191b6ab857841bfb82076b33a6022d1a" + }, + "vllm/third_party/flash_linear_attention/ops/fused_recurrent.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_recurrent.py", + "sha256": "fe6f1311014809040497aa0a623e7fa97f4b3457cdc7ee1f1f8aed21f326f755" + }, + "vllm/third_party/flash_linear_attention/ops/fused_sigmoid_gating.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_sigmoid_gating.py", + "sha256": "000ab8996af9788fdb8843a6a3b91833e7a14c8acc0e1ea073a536330f64cb6f" + }, + "vllm/third_party/flash_linear_attention/ops/index.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/index.py", + "sha256": "a4f8b2c052635cb519a80099e8a85411d1d5d6880b38f466788259bbe66b154d" + }, + "vllm/third_party/flash_linear_attention/ops/kda.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/kda.py", + "sha256": "e1f31aaa89b91f8e5db6d070b229e2c81c7206e8caec67de41db97d06be0c476" + }, + "vllm/third_party/flash_linear_attention/ops/l2norm.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/l2norm.py", + "sha256": "520f4513ef4fc97e6b88dc07877cca8e29da0d34e44673fe989e3af002d86381" + }, + "vllm/third_party/flash_linear_attention/ops/layernorm_guard.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/layernorm_guard.py", + "sha256": "42af29be26e8fc94a4658e053c095fcdab9ffdc1bc2446a01e787deda2a298c0" + }, + "vllm/third_party/flash_linear_attention/ops/op.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/op.py", + "sha256": "456da84fd12411cf53c96a90dd4f78f49afb454c3d51d2c524ea8e7106fe8ae5" + }, + "vllm/third_party/flash_linear_attention/ops/solve_tril.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/solve_tril.py", + "sha256": "d1a4ff27623a938825052500afa7e2aa24fadd2fa4c9be6376c9128824f86f82" + }, + "vllm/third_party/flash_linear_attention/ops/utils.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/utils.py", + "sha256": "d6c90d36505e02086954c23ca4dd2fea82a69416d68ff1d0501e16b3148b5b0c" + }, + "vllm/third_party/flash_linear_attention/ops/wy_fast.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/wy_fast.py", + "sha256": "c9fc8259db0a8746dc04f1d799cb73333457118cf89a0bdce8dde8a80a28cd96" + }, + "vllm/v1/attention/__init__.py": { + "path": "/vllm/v1/attention/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backend.py": { + "path": "/vllm/v1/attention/backend.py", + "sha256": "01ac364372afa75fdb22486aa3a9c7cf9aebb742e3471dfb9e0f9d9d36b734bc" + }, + "vllm/v1/attention/backends/__init__.py": { + "path": "/vllm/v1/attention/backends/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backends/b12x.py": { + "path": "/vllm/v1/attention/backends/b12x.py", + "sha256": "443f0a98738fdfefe5b9ab151d278bfd43a8ac807eb2b0b9b2a13d51922afbf9" + }, + "vllm/v1/attention/backends/composite.py": { + "path": "/vllm/v1/attention/backends/composite.py", + "sha256": "4cf3d66dca891562709eed4f50aa14b0ae6c8240d9ea86504a3304b2f356cce0" + }, + "vllm/v1/attention/backends/cpu_attn.py": { + "path": "/vllm/v1/attention/backends/cpu_attn.py", + "sha256": "76fb02a6bd725125565d84bf04f627cf16da5f7ff8f31f87c01ed6a1439398c7" + }, + "vllm/v1/attention/backends/fa_utils.py": { + "path": "/vllm/v1/attention/backends/fa_utils.py", + "sha256": "08fa6e231d3af3a71a6e59162dd12328aa8beb28548165ae58f130a92adb5a83" + }, + "vllm/v1/attention/backends/flash_attn.py": { + "path": "/vllm/v1/attention/backends/flash_attn.py", + "sha256": "b170a4789e18104c1bee35bea70df51abe6766693d8f4726a59f2e6f5c4282aa" + }, + "vllm/v1/attention/backends/flash_attn_diffkv.py": { + "path": "/vllm/v1/attention/backends/flash_attn_diffkv.py", + "sha256": "e4627c88c3ba8caee260540e994cc8137fd2ff7cd7813356b36387c6c88ce30a" + }, + "vllm/v1/attention/backends/flashinfer.py": { + "path": "/vllm/v1/attention/backends/flashinfer.py", + "sha256": "8ee541fde43ed92a417b3f01ea1e6fc64af8ab2eb54cbfc28308a49aaca4ed7f" + }, + "vllm/v1/attention/backends/flex_attention.py": { + "path": "/vllm/v1/attention/backends/flex_attention.py", + "sha256": "ad07f0ad73aeeadc3534b3a05c14f88a62cb3638874239ae9823c49b36276dc3" + }, + "vllm/v1/attention/backends/gdn_attn.py": { + "path": "/vllm/v1/attention/backends/gdn_attn.py", + "sha256": "3831019404a92200a38b43571c040cffeb6638bbdc71e4cb5e680dbc6c93d054" + }, + "vllm/v1/attention/backends/hpc_attn.py": { + "path": "/vllm/v1/attention/backends/hpc_attn.py", + "sha256": "af9e2aec1b498f0ee48a2dce3cf5646edf1976466980b2fd927c0e82b875427c" + }, + "vllm/v1/attention/backends/linear_attn.py": { + "path": "/vllm/v1/attention/backends/linear_attn.py", + "sha256": "bc42144fcd027434c6a10dc9f4c5f991db8899d387af5f6485402ce097eb0513" + }, + "vllm/v1/attention/backends/mamba1_attn.py": { + "path": "/vllm/v1/attention/backends/mamba1_attn.py", + "sha256": "32159dae11cab3c8c576b9514ad97d5108c8d1b4cac9fcfe345ec6a76223aee7" + }, + "vllm/v1/attention/backends/mamba2_attn.py": { + "path": "/vllm/v1/attention/backends/mamba2_attn.py", + "sha256": "a5bcdecb7b9547137023e1c77a386003358fa940eaf5f319ed142211dcdba139" + }, + "vllm/v1/attention/backends/mamba_attn.py": { + "path": "/vllm/v1/attention/backends/mamba_attn.py", + "sha256": "5e7b2c4058fc5e6096d001bff6c789b78368b025bbe4600f191aaca2ff59b59f" + }, + "vllm/v1/attention/backends/mla/__init__.py": { + "path": "/vllm/v1/attention/backends/mla/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backends/mla/aiter_triton_mla.py": { + "path": "/vllm/v1/attention/backends/mla/aiter_triton_mla.py", + "sha256": "ed0e285cdae06a019150c41cc958b3c0b5ceb0e4f299d5318d1c90e2c2395390" + }, + "vllm/v1/attention/backends/mla/amx_mla.py": { + "path": "/vllm/v1/attention/backends/mla/amx_mla.py", + "sha256": "7f5cddec30b2dfe22ccdbd3b9da673c879719bf6da4074317bd60add55f5d15f" + }, + "vllm/v1/attention/backends/mla/compressor_utils.py": { + "path": "/vllm/v1/attention/backends/mla/compressor_utils.py", + "sha256": "3589e94105368ea285c40b82db1a0332682ff5d071fe363627cf4c0d10f3facf" + }, + "vllm/v1/attention/backends/mla/cpu_mla.py": { + "path": "/vllm/v1/attention/backends/mla/cpu_mla.py", + "sha256": "ff2110b9f78e92adf6bab294465cbc294ae1ff71cb1780fed158179e134a4ca6" + }, + "vllm/v1/attention/backends/mla/cutlass_mla.py": { + "path": "/vllm/v1/attention/backends/mla/cutlass_mla.py", + "sha256": "211d298680f9bd793cc468281b316d6633c5f4eb6dcec71d3329b034a23ab9b5" + }, + "vllm/v1/attention/backends/mla/flashattn_mla.py": { + "path": "/vllm/v1/attention/backends/mla/flashattn_mla.py", + "sha256": "ac89e0ad75a37e92566d264bafe324735a80f9ab4709241a4454d17b3d38bb63" + }, + "vllm/v1/attention/backends/mla/flashattn_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashattn_mla_sparse.py", + "sha256": "67dd3ead2e8b9d8cda0825ecc93779cb7d670628bc741c759a7d3cd5d474030f" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla.py", + "sha256": "0c24ff016fb6b0bb41d9e7484b6f1af42f37bcc384ed613473fc3e01ad25f664" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse.py", + "sha256": "2116d965b2067134d8afa5878d4d16c0149b061258f50c4106d993aa13b073cc" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm120.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm120.py", + "sha256": "102ca08793d567f95598eefeb34c3f6ec50b3b9d704f162d1402b97b12b5777b" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm90.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm90.py", + "sha256": "df9fe4970aa3f53cf24784b8534b89e0101a2ca20a35a2ebbc9a12a4463d5993" + }, + "vllm/v1/attention/backends/mla/flashmla.py": { + "path": "/vllm/v1/attention/backends/mla/flashmla.py", + "sha256": "c9d8046a853ecbdeff9ebfc738f5bb34c4f272b278231a09a0fbf73708c7c188" + }, + "vllm/v1/attention/backends/mla/flashmla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashmla_sparse.py", + "sha256": "7a379c717adb9667ce94cbc16c0e3a1fb22a169713db6d7941c141fa84077b3f" + }, + "vllm/v1/attention/backends/mla/index_group.py": { + "path": "/vllm/v1/attention/backends/mla/index_group.py", + "sha256": "c24e028c3c160a9bb92e043da5b5b34c805e84745b7c4b8da6fb8702a0ddd641" + }, + "vllm/v1/attention/backends/mla/indexer.py": { + "path": "/vllm/v1/attention/backends/mla/indexer.py", + "sha256": "2acbc1c4fa57c3424ad95e6ecbe76eb7141747773c3e867ce704f4adccba892a" + }, + "vllm/v1/attention/backends/mla/prefill/__init__.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/__init__.py", + "sha256": "903630eb705dd175bf4ae4558a4bcaa07c110056b6a11eb830fdd2fb21b3c48a" + }, + "vllm/v1/attention/backends/mla/prefill/aiter_flash_attn.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/aiter_flash_attn.py", + "sha256": "571b8a9910c4ea3fefda60659026f3bf0d7b542c34553c8c9a4d43bb82077e61" + }, + "vllm/v1/attention/backends/mla/prefill/base.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/base.py", + "sha256": "138bf3ddaf5a94c3cdbc4e08ac676edcae84b32fc76625e546f3b47f7d8b82ec" + }, + "vllm/v1/attention/backends/mla/prefill/cpu_sdpa.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/cpu_sdpa.py", + "sha256": "1bb686395274a8ec0d9fd7327410a527655fe060cbbc263eab138fea988d96de" + }, + "vllm/v1/attention/backends/mla/prefill/flash_attn.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/flash_attn.py", + "sha256": "5e648c82c82e5f81fe11458eb82b9f90b50fc06df2ade3bf111ee6b7a2ee8481" + }, + "vllm/v1/attention/backends/mla/prefill/flashinfer.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/flashinfer.py", + "sha256": "63861219c35b8abc0ebe01e1f51543c5ed40bd46119ca261d927da7c6826b49b" + }, + "vllm/v1/attention/backends/mla/prefill/registry.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/registry.py", + "sha256": "c8c30b92213d594beaa3cab4d5003da26a85870dbb11d1ab73191962d0645b53" + }, + "vllm/v1/attention/backends/mla/prefill/selector.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/selector.py", + "sha256": "101d9fca7924b0c5d7891a17fe8942611bd6759e32b03a571dc87b14c1430f2f" + }, + "vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py", + "sha256": "047cf07bfcc83db3b11a6a54ffe189f6146e6ec9ad33ce2fa7d18860bf4210f0" + }, + "vllm/v1/attention/backends/mla/prefill/trtllm_ragged.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/trtllm_ragged.py", + "sha256": "9e13ea6f6a25accedd918c0de64bbb812ccb20ffb95350ab018a6e76d493789b" + }, + "vllm/v1/attention/backends/mla/rocm_aiter_mla.py": { + "path": "/vllm/v1/attention/backends/mla/rocm_aiter_mla.py", + "sha256": "b489f5830c655bfb6299801a70d69b9821513c69568ecab3689db5a7be867be5" + }, + "vllm/v1/attention/backends/mla/rocm_aiter_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/rocm_aiter_mla_sparse.py", + "sha256": "91b1d9b3d860a9720bc01b8ebe9bbe8649a7d6bca20d4b63939bc100309bca19" + }, + "vllm/v1/attention/backends/mla/sparse_swa.py": { + "path": "/vllm/v1/attention/backends/mla/sparse_swa.py", + "sha256": "a47853ad8a3fe40f24704592581ea323a18041b84610df010a5534da634e311e" + }, + "vllm/v1/attention/backends/mla/sparse_utils.py": { + "path": "/vllm/v1/attention/backends/mla/sparse_utils.py", + "sha256": "c3cdf060288c05542243a9fe8b5ad3a963ad75e9ce399009b5e45c1235a88ce4" + }, + "vllm/v1/attention/backends/mla/tokenspeed_mla.py": { + "path": "/vllm/v1/attention/backends/mla/tokenspeed_mla.py", + "sha256": "b9ba523c606430cecb99a88b28c53d98a99dcf5e76105a80664338110a20f1ad" + }, + "vllm/v1/attention/backends/mla/triton_mla.py": { + "path": "/vllm/v1/attention/backends/mla/triton_mla.py", + "sha256": "21b16b3b34470edcc33d0423e560837c1d37d4bab31c7b3b9cfd7faa47864b51" + }, + "vllm/v1/attention/backends/mla/xpu_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/xpu_mla_sparse.py", + "sha256": "559c6240fe466521a6b2df4c94aea02ddf3f5efa5ba6954fa180c5a51c0f12d2" + }, + "vllm/v1/attention/backends/recoverssm_metadata.py": { + "path": "/vllm/v1/attention/backends/recoverssm_metadata.py", + "sha256": "02896a667db0f0308371ceb50048b18e5866c0235d163c0357e9a05dcedb3394" + }, + "vllm/v1/attention/backends/registry.py": { + "path": "/vllm/v1/attention/backends/registry.py", + "sha256": "378e8ee78734bd8c8adbe287d4c0a4058dcbb553195a09fbcce00a3cc30adc29" + }, + "vllm/v1/attention/backends/rocm_aiter_fa.py": { + "path": "/vllm/v1/attention/backends/rocm_aiter_fa.py", + "sha256": "d1418af03bf58209c850f466b712d3ea22a14ebb758c42dd43e65738281841fd" + }, + "vllm/v1/attention/backends/rocm_aiter_unified_attn.py": { + "path": "/vllm/v1/attention/backends/rocm_aiter_unified_attn.py", + "sha256": "59d2645eb4c91dc0567754a7163d066f4f2faf48f1957b254fcdd5604e9d8c8c" + }, + "vllm/v1/attention/backends/rocm_attn.py": { + "path": "/vllm/v1/attention/backends/rocm_attn.py", + "sha256": "4a8f57067073fbceb784af6c3467487c450d00fa3957928fadb99a79f6036292" + }, + "vllm/v1/attention/backends/short_conv_attn.py": { + "path": "/vllm/v1/attention/backends/short_conv_attn.py", + "sha256": "84fc460ef2fbd09743b069bec0c14b39542af6c2254a403e37a048427e151121" + }, + "vllm/v1/attention/backends/triton_attn.py": { + "path": "/vllm/v1/attention/backends/triton_attn.py", + "sha256": "1057663d110e1d5229495a799027b27277c1eca325d5b6780fa2259afbf58a1a" + }, + "vllm/v1/attention/backends/triton_attn_diffkv.py": { + "path": "/vllm/v1/attention/backends/triton_attn_diffkv.py", + "sha256": "de0357eae005246642140f1ab8842ba5ed8bff5c84b18a6d3a7bbf409c578301" + }, + "vllm/v1/attention/backends/triton_flash_attn.py": { + "path": "/vllm/v1/attention/backends/triton_flash_attn.py", + "sha256": "176e45329aeb28a2008362bb607d1b8c89816eb665859ab908b0385a11acf1c2" + }, + "vllm/v1/attention/backends/triton_flashinfer.py": { + "path": "/vllm/v1/attention/backends/triton_flashinfer.py", + "sha256": "48d5f967e388d4e8d6bbec8d827b44d855346bc2fada28adf65768bf6623527b" + }, + "vllm/v1/attention/backends/turboquant_attn.py": { + "path": "/vllm/v1/attention/backends/turboquant_attn.py", + "sha256": "616d16d608d9d1fbf6c29548037e7e9cf330f4d36a01aa3ffabf42a731eb6e2b" + }, + "vllm/v1/attention/backends/utils.py": { + "path": "/vllm/v1/attention/backends/utils.py", + "sha256": "fbc221360d2d54cb21ef3f625dc8711500de345a355801548b4337bb9b8abee0" + }, + "vllm/v1/attention/ops/__init__.py": { + "path": "/vllm/v1/attention/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/ops/chunked_prefill_paged_decode.py": { + "path": "/vllm/v1/attention/ops/chunked_prefill_paged_decode.py", + "sha256": "973db848a790b2e8d99e728b2fc4f44b501bbe58c62747244ddff04cfcf11a85" + }, + "vllm/v1/attention/ops/common.py": { + "path": "/vllm/v1/attention/ops/common.py", + "sha256": "b4b67e7fc0cce471e337d742c097fba06da7563816e8799e27719714e31e1d5b" + }, + "vllm/v1/attention/ops/cp_common.py": { + "path": "/vllm/v1/attention/ops/cp_common.py", + "sha256": "2369181862e96db64b14ef20c5c2e249ed2ea5f3dea2467a2aa388372bb86d9d" + }, + "vllm/v1/attention/ops/dcp.py": { + "path": "/vllm/v1/attention/ops/dcp.py", + "sha256": "a478bdc781460f0582cfaf74d6431f1a826c201f02f39d882d12a96139bc3f28" + }, + "vllm/v1/attention/ops/flashmla.py": { + "path": "/vllm/v1/attention/ops/flashmla.py", + "sha256": "8a40d6e120e3ab25a95fcfeb32b0b5b4c1ea02b984633866628536dcd26ed2e8" + }, + "vllm/v1/attention/ops/flydsl_kernels/__init__.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/attention/ops/flydsl_kernels/tq_decode.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/tq_decode.py", + "sha256": "cc4b7f82897596e0974b3d3a710a1a8bc58c3d22b72cc7f461dd1c4acd2e451b" + }, + "vllm/v1/attention/ops/flydsl_kernels/tq_decode_gqa6.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/tq_decode_gqa6.py", + "sha256": "a983f6d375c325900955e11696dab1e2665770e83f84d51f93d3ed5e1d8880e0" + }, + "vllm/v1/attention/ops/flydsl_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/flydsl_turboquant_decode.py", + "sha256": "7b1dd0ef7c7fb28a6a8831759e00b939ab844d067657155cc11cf75532a22c63" + }, + "vllm/v1/attention/ops/int4_per_token_head.py": { + "path": "/vllm/v1/attention/ops/int4_per_token_head.py", + "sha256": "d91968f280cd8eaed7570ab255f0276b40e833e18a25066d371d9ca8149425f2" + }, + "vllm/v1/attention/ops/merge_attn_states.py": { + "path": "/vllm/v1/attention/ops/merge_attn_states.py", + "sha256": "ad08403d2843fc892f0b0b4b9f5fabb81884556f89f7170dca46ccef498a3539" + }, + "vllm/v1/attention/ops/metadata.py": { + "path": "/vllm/v1/attention/ops/metadata.py", + "sha256": "ca882b84c5aaefb1f77e4d8ea09a00103fbc53defa8671bba036c961c17fc760" + }, + "vllm/v1/attention/ops/paged_attn.py": { + "path": "/vllm/v1/attention/ops/paged_attn.py", + "sha256": "016a95f892ec751c86b37be1e12171bad9f0b4076bbf2219ff336f4e9c503653" + }, + "vllm/v1/attention/ops/pcp.py": { + "path": "/vllm/v1/attention/ops/pcp.py", + "sha256": "dadeff95fe2df2be8028baabeef01b0d2d628cd67de2176915e737ce096de3dd" + }, + "vllm/v1/attention/ops/prefix_prefill.py": { + "path": "/vllm/v1/attention/ops/prefix_prefill.py", + "sha256": "b08ad92db715fc03c11699de3de463d55e411f42f77548e06b41049a61de692f" + }, + "vllm/v1/attention/ops/rocm_aiter_mla_merge.py": { + "path": "/vllm/v1/attention/ops/rocm_aiter_mla_merge.py", + "sha256": "564c66e4877732e48a6f7d52405c43dc952eec0f0ae4353d34886bca056132b9" + }, + "vllm/v1/attention/ops/rocm_aiter_mla_sparse.py": { + "path": "/vllm/v1/attention/ops/rocm_aiter_mla_sparse.py", + "sha256": "feec664be5045fd1ba13b8f6ef83b52c96910ddc78baca0431bcf610c9e8f5cc" + }, + "vllm/v1/attention/ops/triton_attention_helpers.py": { + "path": "/vllm/v1/attention/ops/triton_attention_helpers.py", + "sha256": "35aa993d01345f535d2641cf9dcabb8b64c51b20a19707bc5987e616aaa87ddd" + }, + "vllm/v1/attention/ops/triton_decode_attention.py": { + "path": "/vllm/v1/attention/ops/triton_decode_attention.py", + "sha256": "b9823c65eba22d76abf64dad7d7d16a950f67471c86d6cb5b3e983aaf14381ac" + }, + "vllm/v1/attention/ops/triton_merge_attn_states.py": { + "path": "/vllm/v1/attention/ops/triton_merge_attn_states.py", + "sha256": "f63229162181ab93198550b73a115f1cc1034cfd60e6f58bc8ab3e22a6e8ce60" + }, + "vllm/v1/attention/ops/triton_prefill_attention.py": { + "path": "/vllm/v1/attention/ops/triton_prefill_attention.py", + "sha256": "352c1a4ac86146580040579fb217c2e288268830d6602b735713e154f36d74fe" + }, + "vllm/v1/attention/ops/triton_reshape_and_cache_flash.py": { + "path": "/vllm/v1/attention/ops/triton_reshape_and_cache_flash.py", + "sha256": "6cac51475b8c656992a21b2d150acd3a16a95a7ab7d49aab151a3ef13c24b80d" + }, + "vllm/v1/attention/ops/triton_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/triton_turboquant_decode.py", + "sha256": "8e52678136449e4bbca2195fbcbb87426c955a2b1b8422e7ab9511e45ee5f5c6" + }, + "vllm/v1/attention/ops/triton_turboquant_store.py": { + "path": "/vllm/v1/attention/ops/triton_turboquant_store.py", + "sha256": "6e6e2fe74a307d40f0be786ccbaea76d989e3c7b5985f3144a5218c61bf6d902" + }, + "vllm/v1/attention/ops/triton_unified_attention.py": { + "path": "/vllm/v1/attention/ops/triton_unified_attention.py", + "sha256": "65d0fbcf33d00789df8ca688c0a1c908e710cfaef53471178747ecae11f05829" + }, + "vllm/v1/attention/ops/triton_unified_attention_diffkv.py": { + "path": "/vllm/v1/attention/ops/triton_unified_attention_diffkv.py", + "sha256": "7fa36d7b7441f1c396e0348eac61d691d2e459e5c4c393c4aa262dfb670e68f7" + }, + "vllm/v1/attention/ops/turboquant_soa/__init__.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/__init__.py", + "sha256": "6b43b6fcb2a71c44ceff4ed1edd417a839f4901251ba15831b09ad979baa4984" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode.py", + "sha256": "bf00634191bba14cbf4a23c1d67dc3dcb244c2b8989f08362757b54435830986" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode_v2.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode_v2.py", + "sha256": "28e7ecc15c450d3591983a50c46a03aa6ca6fa99304c17c333940617d9916485" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_store.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_store.py", + "sha256": "dccf93b9fdd34f9b9eacd468e9de35b9d93378594487c335cf50642aaec681f2" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_unified_attention.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_unified_attention.py", + "sha256": "b4b2b5f3985b3a6126fd052e6ec1ed91c610da8a525a9ae7470ac829405bd85c" + }, + "vllm/v1/attention/ops/vit_attn_wrappers.py": { + "path": "/vllm/v1/attention/ops/vit_attn_wrappers.py", + "sha256": "a99d57b58269c7521fa5d7d47af06551f3bab2b5c7358ef78165a7f6e20a92a6" + }, + "vllm/v1/attention/ops/xpu_mla_sparse.py": { + "path": "/vllm/v1/attention/ops/xpu_mla_sparse.py", + "sha256": "d98d17110577c2b7b4d05e07bfdae15faf83321b6342a5daaaecce45b9503f38" + }, + "vllm/v1/attention/selector.py": { + "path": "/vllm/v1/attention/selector.py", + "sha256": "87f653ded7974875183c920e3e4589c28116bcbc99714d1da7cb51ae77c0b182" + }, + "vllm/v1/core/sched/__init__.py": { + "path": "/vllm/v1/core/sched/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/core/sched/async_scheduler.py": { + "path": "/vllm/v1/core/sched/async_scheduler.py", + "sha256": "e586a0ef3c6778be56a93e7f9bb712d4de9de6e7d7fe7e3e1d51dae83ecfc508" + }, + "vllm/v1/core/sched/interface.py": { + "path": "/vllm/v1/core/sched/interface.py", + "sha256": "be6c008664096c5660a8879de72b315bbe479bf1d688be9b25891063ec53a367" + }, + "vllm/v1/core/sched/output.py": { + "path": "/vllm/v1/core/sched/output.py", + "sha256": "3a66c8efaefe10c572f6f33cf1f8aa4610758c945130cad62eb9f7331005677c" + }, + "vllm/v1/core/sched/request_queue.py": { + "path": "/vllm/v1/core/sched/request_queue.py", + "sha256": "4b8d938e5fb8152fe61030b8aa991f983fcac9a405c37ed8908045e05e82ae5e" + }, + "vllm/v1/core/sched/scheduler.py": { + "path": "/vllm/v1/core/sched/scheduler.py", + "sha256": "c1db45f3bbad3a875dd8638331b8870c4380ac1ab4734265ba5c863833a82884" + }, + "vllm/v1/core/sched/utils.py": { + "path": "/vllm/v1/core/sched/utils.py", + "sha256": "1ed988044eb8028c77ede875bd1a5fd05ff6998b455d61e3997d6a3d7fc1c3a7" + }, + "vllm/v1/sample/__init__.py": { + "path": "/vllm/v1/sample/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/sample/logits_processor/__init__.py": { + "path": "/vllm/v1/sample/logits_processor/__init__.py", + "sha256": "1f9b02dae8cf6d44484638037123d3a2dec6b7b9a2bcc9afceef1a9bf3eaedec" + }, + "vllm/v1/sample/logits_processor/builtin.py": { + "path": "/vllm/v1/sample/logits_processor/builtin.py", + "sha256": "6105816ece77e5b1dbee0d07abc90ce039d650bac2ddb85c93280c48b00f2ebe" + }, + "vllm/v1/sample/logits_processor/interface.py": { + "path": "/vllm/v1/sample/logits_processor/interface.py", + "sha256": "171dfc6ef9b5b53128e8eaecc4bdf1de413a706d64bf5be686048f583c66eee1" + }, + "vllm/v1/sample/logits_processor/state.py": { + "path": "/vllm/v1/sample/logits_processor/state.py", + "sha256": "a96411f14362c45f839e181dcb3ac01d5b880812bccb3552fc17863b219f44ac" + }, + "vllm/v1/sample/metadata.py": { + "path": "/vllm/v1/sample/metadata.py", + "sha256": "6582cfe1a240c7ddb975f0ef6dd7dcd28dcf0fc7670394390250013977aa7ffd" + }, + "vllm/v1/sample/ops/__init__.py": { + "path": "/vllm/v1/sample/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/sample/ops/bad_words.py": { + "path": "/vllm/v1/sample/ops/bad_words.py", + "sha256": "0b1d0a9b13b92ddcae2c83393c07a34c0f107813725700dee794caa7fe7f3b12" + }, + "vllm/v1/sample/ops/logprobs.py": { + "path": "/vllm/v1/sample/ops/logprobs.py", + "sha256": "b286f69012a6758bfe9250038b0697294dbffe0d32c6906f284c39f75ee48be3" + }, + "vllm/v1/sample/ops/penalties.py": { + "path": "/vllm/v1/sample/ops/penalties.py", + "sha256": "4debfcf247b3887478d2b9ec98f108756bbed2805462777ef6b56f3bdf4ce682" + }, + "vllm/v1/sample/ops/topk_topp_sampler.py": { + "path": "/vllm/v1/sample/ops/topk_topp_sampler.py", + "sha256": "13ea4359832bc914492330958ec4f5ac140f408b8f410cc05c6eaf7ddcd70be4" + }, + "vllm/v1/sample/ops/topk_topp_triton.py": { + "path": "/vllm/v1/sample/ops/topk_topp_triton.py", + "sha256": "0b5fc337058e22bc28a8530ccec904d6ccd89b9548b02955c657ac429b1669d2" + }, + "vllm/v1/sample/rejection_sampler.py": { + "path": "/vllm/v1/sample/rejection_sampler.py", + "sha256": "0bb9d224887ccb1355e16199005cc23a4afc6fa75156eca419851b7247d99750" + }, + "vllm/v1/sample/sampler.py": { + "path": "/vllm/v1/sample/sampler.py", + "sha256": "f95805b2c6d06218c724826aa5f881a606e8d0a534a566aee7c85948520dd216" + }, + "vllm/v1/sample/thinking_budget_state.py": { + "path": "/vllm/v1/sample/thinking_budget_state.py", + "sha256": "962f8f55210eb0a431cb9c78b013e35f7a7dd58d06d6fb2e7fcff1b457356f8e" + }, + "vllm/v1/worker/__init__.py": { + "path": "/vllm/v1/worker/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/block_table.py": { + "path": "/vllm/v1/worker/block_table.py", + "sha256": "a09b8819e1417b7a186cf3472224e2138fc5d41a291c6692bb7df711b0c44259" + }, + "vllm/v1/worker/cp_utils.py": { + "path": "/vllm/v1/worker/cp_utils.py", + "sha256": "e32625d83a641b8dd8df82e92d1b6fb20af0cdf2e8fbd2fb131aa3c215415448" + }, + "vllm/v1/worker/cpu/__init__.py": { + "path": "/vllm/v1/worker/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/cpu/buffer_utils.py": { + "path": "/vllm/v1/worker/cpu/buffer_utils.py", + "sha256": "e7313fd8c2c76ebfb98d2fa53008bc9691d0f83a7d7c05e87602b5a29fb79e04" + }, + "vllm/v1/worker/cpu/model_runner.py": { + "path": "/vllm/v1/worker/cpu/model_runner.py", + "sha256": "24a1c916550051327dd5893243a6d4200f3824b91b3af8aa6f6c793fd7c68c3e" + }, + "vllm/v1/worker/cpu/shm.py": { + "path": "/vllm/v1/worker/cpu/shm.py", + "sha256": "08491af8ad341399d1375f2d21ad00414d4c89b0a5c03f55de8704914bbfcbd9" + }, + "vllm/v1/worker/cpu_model_runner.py": { + "path": "/vllm/v1/worker/cpu_model_runner.py", + "sha256": "92111aba92f00571f1a3c4c6e43cf1da6ccb4d2afac2f4d5abc018a4a6e7e8bd" + }, + "vllm/v1/worker/cpu_worker.py": { + "path": "/vllm/v1/worker/cpu_worker.py", + "sha256": "a8051b9e510ef0af9cc34004f2cbe5c0f902bd0cebc32c9464e744344dfdf849" + }, + "vllm/v1/worker/dp_utils.py": { + "path": "/vllm/v1/worker/dp_utils.py", + "sha256": "8cd19f1bfbc5c4f6ec60df89aea7c8a19b400ebc264f372b103014152e92158c" + }, + "vllm/v1/worker/ec_connector_model_runner_mixin.py": { + "path": "/vllm/v1/worker/ec_connector_model_runner_mixin.py", + "sha256": "fe9b11cebb8562f1bfe98b98a5647b2b081a6e424cb60d4ffe2412c91a99215e" + }, + "vllm/v1/worker/encoder_cudagraph.py": { + "path": "/vllm/v1/worker/encoder_cudagraph.py", + "sha256": "6a08d3779bca1b47dbf9daf6eafe2d3c70dbcb8aeb7d63ba7efacc68241ee3bc" + }, + "vllm/v1/worker/encoder_cudagraph_defs.py": { + "path": "/vllm/v1/worker/encoder_cudagraph_defs.py", + "sha256": "bb7be050fcaa8868e7816c84caec875da57050d65fe7eaf00f3d41473df25e3a" + }, + "vllm/v1/worker/gpu/__init__.py": { + "path": "/vllm/v1/worker/gpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/async_utils.py": { + "path": "/vllm/v1/worker/gpu/async_utils.py", + "sha256": "77e17a4570ead2be30ae9b00888cf077a3b873018c12ca0549b853bfda02c1ba" + }, + "vllm/v1/worker/gpu/attn_utils.py": { + "path": "/vllm/v1/worker/gpu/attn_utils.py", + "sha256": "b9b81e59dda2720b1f9c434471381f879228832443e52756e469b4ad4905888f" + }, + "vllm/v1/worker/gpu/block_table.py": { + "path": "/vllm/v1/worker/gpu/block_table.py", + "sha256": "61c004315d5af7e7eae4e2a9e6be92ea82c520327690a7f55a73bb9ce95f520a" + }, + "vllm/v1/worker/gpu/buffer_utils.py": { + "path": "/vllm/v1/worker/gpu/buffer_utils.py", + "sha256": "6597f701a30261bf250e9ad5a29737264624a1caa20527aeea0dad630325b093" + }, + "vllm/v1/worker/gpu/cp_utils.py": { + "path": "/vllm/v1/worker/gpu/cp_utils.py", + "sha256": "456c1bb7e262d99ff555522a4f134e5a9b42aee23290be25455eaef36ee8eaaf" + }, + "vllm/v1/worker/gpu/cudagraph_utils.py": { + "path": "/vllm/v1/worker/gpu/cudagraph_utils.py", + "sha256": "6e9c042890603535e300a40df8ee159dbed1058a64a83ae50ff0329e332e05ff" + }, + "vllm/v1/worker/gpu/dp_utils.py": { + "path": "/vllm/v1/worker/gpu/dp_utils.py", + "sha256": "e26867bc89e6bfc933cabc5ed13e5dc7b8d2d3030118ca1ca64c8785dabc0fc1" + }, + "vllm/v1/worker/gpu/ec_connector.py": { + "path": "/vllm/v1/worker/gpu/ec_connector.py", + "sha256": "2afe6e641f4ae3eb3b8da336c74eaa7479bf617b27cfb39a1fcbe487686f0a08" + }, + "vllm/v1/worker/gpu/eplb_utils.py": { + "path": "/vllm/v1/worker/gpu/eplb_utils.py", + "sha256": "1829fac11464aed4649179b302df198de51b95d0589f4e56bea305a876a63e26" + }, + "vllm/v1/worker/gpu/input_batch.py": { + "path": "/vllm/v1/worker/gpu/input_batch.py", + "sha256": "d5dd956eb319bd69dd9e762047833d81ad40b21fce619fcb2133759e73620694" + }, + "vllm/v1/worker/gpu/kv_connector.py": { + "path": "/vllm/v1/worker/gpu/kv_connector.py", + "sha256": "b89a4333f1e552d86e1815674b59e9f1335f0f49c0a7b46082439076f62c6a81" + }, + "vllm/v1/worker/gpu/lora_utils.py": { + "path": "/vllm/v1/worker/gpu/lora_utils.py", + "sha256": "1e90eddd9ddb4ca55e574bb28e87ae3a6f6750175a62d373102426543f4ccd66" + }, + "vllm/v1/worker/gpu/metrics/__init__.py": { + "path": "/vllm/v1/worker/gpu/metrics/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/metrics/logits.py": { + "path": "/vllm/v1/worker/gpu/metrics/logits.py", + "sha256": "ea058d7510a077a55f8ac7e4c3d596508346244e908cb372865d7159f62edc89" + }, + "vllm/v1/worker/gpu/mm/__init__.py": { + "path": "/vllm/v1/worker/gpu/mm/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/mm/encoder_cache.py": { + "path": "/vllm/v1/worker/gpu/mm/encoder_cache.py", + "sha256": "89c500338fddbeee7c4fca978a3a7c4c566a03e848e399d303fbee3c80631cd2" + }, + "vllm/v1/worker/gpu/mm/encoder_runner.py": { + "path": "/vllm/v1/worker/gpu/mm/encoder_runner.py", + "sha256": "0981e352d70301b7154a217a48665ffe35f215d053ec5740c2515a3e1e11b4e6" + }, + "vllm/v1/worker/gpu/mm/lora.py": { + "path": "/vllm/v1/worker/gpu/mm/lora.py", + "sha256": "a3eddfad6ad64de276964240c28dc080888df4a56dd5eac18f89428f2cbb7a01" + }, + "vllm/v1/worker/gpu/mm/rope.py": { + "path": "/vllm/v1/worker/gpu/mm/rope.py", + "sha256": "0924375bcb367267e783b57dd2ad9de1189d97025ce4313baaa54f2911eaaf1e" + }, + "vllm/v1/worker/gpu/model_runner.py": { + "path": "/vllm/v1/worker/gpu/model_runner.py", + "sha256": "174c93db921c23cf0396eee4764be25b2bd2d4b6a06e9fa41ce3598b884ce8ce" + }, + "vllm/v1/worker/gpu/model_states/__init__.py": { + "path": "/vllm/v1/worker/gpu/model_states/__init__.py", + "sha256": "07815d0b788fc88185772f581bbf892a675259f9288375571f29887622f8d93c" + }, + "vllm/v1/worker/gpu/model_states/default.py": { + "path": "/vllm/v1/worker/gpu/model_states/default.py", + "sha256": "bb614f814780f052e869f9acf31dfbfa68718ee7dc6252eefa901b5730ee8a2a" + }, + "vllm/v1/worker/gpu/model_states/encoder_decoder.py": { + "path": "/vllm/v1/worker/gpu/model_states/encoder_decoder.py", + "sha256": "a5868059d8af672548b41d0e623e884320e6ed61e6aaca2d2828ff5be0356f2f" + }, + "vllm/v1/worker/gpu/model_states/encoder_only.py": { + "path": "/vllm/v1/worker/gpu/model_states/encoder_only.py", + "sha256": "84e96b55a2639e2a73fa4a0308acc89c8d053dc715481180b237e0196dcef99f" + }, + "vllm/v1/worker/gpu/model_states/interface.py": { + "path": "/vllm/v1/worker/gpu/model_states/interface.py", + "sha256": "5675b6fedc7403a9ab410b1e5565974e78fac23c42ab4253ae1da52d6e09b594" + }, + "vllm/v1/worker/gpu/model_states/mamba_hybrid.py": { + "path": "/vllm/v1/worker/gpu/model_states/mamba_hybrid.py", + "sha256": "573e130ac5587d4822fabf97adad1ad0fda02ff83c5e70df879a5bb175ae845c" + }, + "vllm/v1/worker/gpu/model_states/mm_pruning.py": { + "path": "/vllm/v1/worker/gpu/model_states/mm_pruning.py", + "sha256": "b150940b12ae76048f050a8eeb54d532bbdc530a18ffbf320ddeeb0cfaa90f93" + }, + "vllm/v1/worker/gpu/model_states/prompt_embeds.py": { + "path": "/vllm/v1/worker/gpu/model_states/prompt_embeds.py", + "sha256": "11f9e270925c2df6a505557605ac2b859bb145cf3420b0111e7482a1c544f9b1" + }, + "vllm/v1/worker/gpu/model_states/recoverssm.py": { + "path": "/vllm/v1/worker/gpu/model_states/recoverssm.py", + "sha256": "b4b660e62eaf33f4fe8271f83ed1fb6de6bc08f800a8073b27803e42fb29a645" + }, + "vllm/v1/worker/gpu/pcp_manager.py": { + "path": "/vllm/v1/worker/gpu/pcp_manager.py", + "sha256": "2d80df0ed5b18a2069f9d0689cb59923ffe324ba200fcafe242da23da3a6ddaa" + }, + "vllm/v1/worker/gpu/pool/__init__.py": { + "path": "/vllm/v1/worker/gpu/pool/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/pool/pooling_runner.py": { + "path": "/vllm/v1/worker/gpu/pool/pooling_runner.py", + "sha256": "f8463f7648cce0f3f29418a4d9fee61634ead760957cf236d06d61cf8cd986e7" + }, + "vllm/v1/worker/gpu/pp_utils.py": { + "path": "/vllm/v1/worker/gpu/pp_utils.py", + "sha256": "dadeef0bebf61d0ad44a28d06372208ec4e6389224d6017f412683b026bdbb5c" + }, + "vllm/v1/worker/gpu/sample/__init__.py": { + "path": "/vllm/v1/worker/gpu/sample/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/sample/bad_words.py": { + "path": "/vllm/v1/worker/gpu/sample/bad_words.py", + "sha256": "8d3cbd5613398260314d94739d8ee0e1ac0c22abf2f960f541d3c0d4e39d360b" + }, + "vllm/v1/worker/gpu/sample/batch_shard.py": { + "path": "/vllm/v1/worker/gpu/sample/batch_shard.py", + "sha256": "c30274a3a04e6a03e89be9cd7c62de602b1aba4d412f64540ab6201036de3928" + }, + "vllm/v1/worker/gpu/sample/gumbel.py": { + "path": "/vllm/v1/worker/gpu/sample/gumbel.py", + "sha256": "3ec1df510bdad13e8b0a457b5b67c98affdf6e57369e56cb471246cc8f40dd34" + }, + "vllm/v1/worker/gpu/sample/logit_bias.py": { + "path": "/vllm/v1/worker/gpu/sample/logit_bias.py", + "sha256": "9e80a3fe6f3c7474723408cfff52183f4585fdeedd9c2312843ee98d0b12724c" + }, + "vllm/v1/worker/gpu/sample/logprob.py": { + "path": "/vllm/v1/worker/gpu/sample/logprob.py", + "sha256": "f47479a818192acb6b297c79fa67a3b2f9820e3492a394d5adda777e9b7c832e" + }, + "vllm/v1/worker/gpu/sample/min_p.py": { + "path": "/vllm/v1/worker/gpu/sample/min_p.py", + "sha256": "4cb5e2f45e1ced6f9685283a7a5c8cfd7204d9a249822e866cfff756c7f04f62" + }, + "vllm/v1/worker/gpu/sample/output.py": { + "path": "/vllm/v1/worker/gpu/sample/output.py", + "sha256": "d6e298c0f197d487a8faaf7200f500fa83df1d7a4bbf4339cadd6a18008f7f9c" + }, + "vllm/v1/worker/gpu/sample/penalties.py": { + "path": "/vllm/v1/worker/gpu/sample/penalties.py", + "sha256": "46c29434caf5f415129ef4a9bb2b8d4f62d2765596e3e07f73ad2b198c7def1b" + }, + "vllm/v1/worker/gpu/sample/prompt_logprob.py": { + "path": "/vllm/v1/worker/gpu/sample/prompt_logprob.py", + "sha256": "4cf22d390e7bf59e44c458cff7180268db63e95d06af2f1e14d720a2d77c9663" + }, + "vllm/v1/worker/gpu/sample/sampler.py": { + "path": "/vllm/v1/worker/gpu/sample/sampler.py", + "sha256": "832c9945d201a1e730ff9b4b52076aa83bd4a5064e1e4cfea952cf84d4a8d1f0" + }, + "vllm/v1/worker/gpu/sample/states.py": { + "path": "/vllm/v1/worker/gpu/sample/states.py", + "sha256": "4e3671f93695ba5a48fad7d2d13beb231ac8741034904ed5a15d9f7b9b86662e" + }, + "vllm/v1/worker/gpu/sample/thinking_budget.py": { + "path": "/vllm/v1/worker/gpu/sample/thinking_budget.py", + "sha256": "020513e1d3406f367de6ad995a95055008fd0c28f2873647e8283c9870e22404" + }, + "vllm/v1/worker/gpu/sample/trace_replay.py": { + "path": "/vllm/v1/worker/gpu/sample/trace_replay.py", + "sha256": "d2a7d3b3b55379efabe4740a4b7f14030126dc11be36f6ea974164ce42316a50" + }, + "vllm/v1/worker/gpu/sample/watermark.py": { + "path": "/vllm/v1/worker/gpu/sample/watermark.py", + "sha256": "a3581458169dab9153eb09fd67218e0ee5585406537a9de80ad528ae62b030c0" + }, + "vllm/v1/worker/gpu/shutdown.py": { + "path": "/vllm/v1/worker/gpu/shutdown.py", + "sha256": "bb470f14b17c7e52571ef8938b2a9527e7c2846852ae8a3a94b69cd1c30aa4b1" + }, + "vllm/v1/worker/gpu/spec_decode/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/__init__.py", + "sha256": "1f1f84bfe6f4f5af3a7e21a7a8716ecf7b9013da1d03327668a3ee36afc24c32" + }, + "vllm/v1/worker/gpu/spec_decode/acceptance_estimator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/acceptance_estimator.py", + "sha256": "505b843bdd75928b03793b395b47b8be914bd7fe2a3351c8ec04339baeebb1c2" + }, + "vllm/v1/worker/gpu/spec_decode/adaptive_verification.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/adaptive_verification.py", + "sha256": "276b2fec56758a94c71b717f6786b8a6f126db2e20cf964350202feee61a0a39" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/cudagraph_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/cudagraph_utils.py", + "sha256": "13392ef0a9ed59eb9c2b2bad43d7c61beb212a8805849e46b5130c230275d0a5" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/speculator.py", + "sha256": "5b97f54e20ddf65b98e939832d050745f67ef43cfa145786da300f1a8322e3c6" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/cudagraph.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/cudagraph.py", + "sha256": "beab567ae2df6a2ba2cd92fe7ee452c6b959b8a7037a4b5f493993a1824619bb" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/speculator.py", + "sha256": "f9c100f42f9326e48eb84e89281897e859ba761943f54d593523555ccd98dc63" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/utils.py", + "sha256": "53d2c3ad474d290d2c6df027446bbd80ac7447684e5242ab2c3c5337d2abd383" + }, + "vllm/v1/worker/gpu/spec_decode/dflash2/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash2/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/dflash2/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash2/speculator.py", + "sha256": "b70043550938a1df9aecc85d8c8224c38c929ca34f68834572f6e723854d2027" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/speculator.py", + "sha256": "dcf4abdedbd2bddd0d76be198ccf5b4e467c46f645038c35fcab821491a35b03" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/utils.py", + "sha256": "86af2bf30604a184312e8f076097b91ecfec704f409f9d68d634b03d6b318070" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/eagle3_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/eagle3_utils.py", + "sha256": "201ee875fcc3d076a8fc1f3876dcbf85736b221a368555243a8987ff26a1674e" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/speculator.py", + "sha256": "746e318a4f266d75522ff7f3731ea9b4527b7b4824f71364d1a62184ea1f7b3d" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/utils.py", + "sha256": "94de6f55a1761f24f4aa1388cbc3b3763d4ab3ee53260330056ad31ce0b78236" + }, + "vllm/v1/worker/gpu/spec_decode/extract_hidden_states.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/extract_hidden_states.py", + "sha256": "93c4233be7b2d2290b33902ea9b3bb5274c11701830851d03967a22144536e2d" + }, + "vllm/v1/worker/gpu/spec_decode/gemma4/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/gemma4/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/gemma4/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/gemma4/speculator.py", + "sha256": "9991210d7babd2caf2cd10797ca8688543dedeafbc3b86bc7c979c1a6ae9f949" + }, + "vllm/v1/worker/gpu/spec_decode/mtp/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/mtp/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/mtp/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/mtp/speculator.py", + "sha256": "926d6c9ffdb368c971647911a60493820d056ce236fcae9d94a42fa2e006255d" + }, + "vllm/v1/worker/gpu/spec_decode/multi_module_mtp/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/multi_module_mtp/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/multi_module_mtp/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/multi_module_mtp/speculator.py", + "sha256": "d9d4735b9b33829332b0e845b6d3073b2f0436045ed693b25c6434f351644127" + }, + "vllm/v1/worker/gpu/spec_decode/rejection_sampler.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/rejection_sampler.py", + "sha256": "030db5bfca162cc1f305112f299de5d6d61c59d3ed0807fee46575441ca4086d" + }, + "vllm/v1/worker/gpu/spec_decode/rejection_sampler_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/rejection_sampler_utils.py", + "sha256": "214b61fa0abe88573beb779872c035b3954e5651a85bd438d99ee5905d3a62ec" + }, + "vllm/v1/worker/gpu/spec_decode/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/speculator.py", + "sha256": "3a1ab15bf8b20918852eb835fe9755046e99dcbac6ba6ca3d414949fc8bc695a" + }, + "vllm/v1/worker/gpu/spec_decode/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/utils.py", + "sha256": "282f2929eddae9ca7312269f799be07472334b6df9fd91878b5e839ec05e418c" + }, + "vllm/v1/worker/gpu/states.py": { + "path": "/vllm/v1/worker/gpu/states.py", + "sha256": "99418f5df43ca612ded72609fee011620b065b2cab2f249ccb387096bf4ae71a" + }, + "vllm/v1/worker/gpu/structured_outputs.py": { + "path": "/vllm/v1/worker/gpu/structured_outputs.py", + "sha256": "18a10532db7e66b55e334acacd1fd989ad6361adf31dd0de9a9a65e23db25951" + }, + "vllm/v1/worker/gpu/ubatch_utils.py": { + "path": "/vllm/v1/worker/gpu/ubatch_utils.py", + "sha256": "5092e2e58af0561c8dc12e62847cfc6dda9ca20dfbd33e7f0cd77a83fe87f7c5" + }, + "vllm/v1/worker/gpu/warmup.py": { + "path": "/vllm/v1/worker/gpu/warmup.py", + "sha256": "423ac32d58fe008c228cfa223e4fcebfcf87e3463a9dbdf80a083c0578d73723" + }, + "vllm/v1/worker/gpu_input_batch.py": { + "path": "/vllm/v1/worker/gpu_input_batch.py", + "sha256": "18cf455c9d0eea61cc581c7932f2e6cd09786914e82dd35eef1c1430da359a0f" + }, + "vllm/v1/worker/gpu_model_runner.py": { + "path": "/vllm/v1/worker/gpu_model_runner.py", + "sha256": "87c29d08c0bbf66993d8b984811e7325e35e6436242a773feb55ec88f16b2c51" + }, + "vllm/v1/worker/gpu_ubatch_wrapper.py": { + "path": "/vllm/v1/worker/gpu_ubatch_wrapper.py", + "sha256": "4233cfbe8c9884b042c4363890108f616483b694ebe9a6e69578dcf89c6dac5c" + }, + "vllm/v1/worker/gpu_worker.py": { + "path": "/vllm/v1/worker/gpu_worker.py", + "sha256": "6994436e4547c0996ab555b3e814e8ccea26b650dfc1b378b97d640745309347" + }, + "vllm/v1/worker/kv_connector_model_runner_mixin.py": { + "path": "/vllm/v1/worker/kv_connector_model_runner_mixin.py", + "sha256": "e1cc76d065a7e60aacddb190ae795a480b65cd02ba71a1fc699a02a85c1a3de2" + }, + "vllm/v1/worker/lora_model_runner_mixin.py": { + "path": "/vllm/v1/worker/lora_model_runner_mixin.py", + "sha256": "fef6092a15d8d37f6fa22495e6106e2e5280180908d61ce43d9ff5bf4eef3f2f" + }, + "vllm/v1/worker/mamba_utils.py": { + "path": "/vllm/v1/worker/mamba_utils.py", + "sha256": "23fdaa4e8f63ee8f938eaa1a2b39f803cb04fa6ecd69789563254b1a0691413a" + }, + "vllm/v1/worker/mm_encoder_model_runner.py": { + "path": "/vllm/v1/worker/mm_encoder_model_runner.py", + "sha256": "780c41be84ad022205c21c1decb6bb8d5afb03bc7be120c1f7df03b710acc3d7" + }, + "vllm/v1/worker/sentinel/__init__.py": { + "path": "/vllm/v1/worker/sentinel/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/sentinel/gpu_worker_sentinel.py": { + "path": "/vllm/v1/worker/sentinel/gpu_worker_sentinel.py", + "sha256": "3959b8619d052c5dd247815074e03ec21ec9b43cc424ff2d296abc19b227b852" + }, + "vllm/v1/worker/startup_plan.py": { + "path": "/vllm/v1/worker/startup_plan.py", + "sha256": "84bcbb4f7a9fd7c8d10c9c895aadd9673d44c767b9132368d11eb5e017afe86b" + }, + "vllm/v1/worker/ubatch_utils.py": { + "path": "/vllm/v1/worker/ubatch_utils.py", + "sha256": "b34dce551b5195c414e6a3a997c75961cc7a17f24c7c980487fe3d3e2ba7a798" + }, + "vllm/v1/worker/ubatching.py": { + "path": "/vllm/v1/worker/ubatching.py", + "sha256": "40391241c564feb5f16c77898ae6ae152ed6e71a4682e2a406387785d8de02d7" + }, + "vllm/v1/worker/utils.py": { + "path": "/vllm/v1/worker/utils.py", + "sha256": "0ca3ec6bf4d20076145b7fe64e564962adebedc8f75a856b517ba0b2f2d77acf" + }, + "vllm/v1/worker/worker_base.py": { + "path": "/vllm/v1/worker/worker_base.py", + "sha256": "4a1a5266b912fe97991d8dc89d92b923990da9f6cb4b817d00d52e9c0d26dd7c" + }, + "vllm/v1/worker/workspace.py": { + "path": "/vllm/v1/worker/workspace.py", + "sha256": "d21c08167d1d0d1c0cddaa80453a53a0b4dec5d81b5a537c94a21324344976b3" + }, + "vllm/v1/worker/xpu_model_runner.py": { + "path": "/vllm/v1/worker/xpu_model_runner.py", + "sha256": "07fa0390d28f2b8c3c3c0019eb9c3b126e2397aea268ba47c889f06b423deb23" + }, + "vllm/v1/worker/xpu_worker.py": { + "path": "/vllm/v1/worker/xpu_worker.py", + "sha256": "711b56432506b58041cd86e71320c3960413f7bd61061990b66488421d81cfc3" + } + }, + "prefix": "", + "pth": { + "/__editable__.megatron_core-0.16.0rc0.pth": "d55c9b64480b34aae3d4d31e7706b93391c969dec6e0498e50963b03445a57b0", + "/__editable__.rl_kernel-0.1.0.pth": "1454c4987b35762a0d189d4e901c5d077fde62a1944fbaabecea230e57f3923a", + "/__editable__.vime-0.3.2.pth": "77eec5d06d628cb952e65edd813ca88d8db67ccc785083e1b7b29011b92bec4f", + "/distutils-precedence.pth": "2638ce9e2500e572a5e0de7faed6661eb569d1b696fcba07b0dd223da5f5d224", + "/qwen3_next_cuda_runtime.pth": "e0d3ab57dd3ff4f5d55fcf76e83c549cc00b3c813e6f717c540d5ded79fa2f49", + "/qwen3_next_megatron_source.pth": "8556ac057538e82856cb76cbbc954f58312a3f45373daec3eec826031cfd2709", + "/__editable__.rl_kernel-0.1.0.pth": "1454c4987b35762a0d189d4e901c5d077fde62a1944fbaabecea230e57f3923a", + "/distutils-precedence.pth": "2638ce9e2500e572a5e0de7faed6661eb569d1b696fcba07b0dd223da5f5d224", + "/nvidia_cutlass_dsl_packages.pth": "cc710b99ddb3d76361a70461461d274212a979d00c381d821fce5bb3ad9cf246" + }, + "pyvenv_cfg_sha256": "48579f2c6d35c3d535c2690d7d426587c4b8e92021463f0266b38d35dfbbb834", + "sources": { + "/Megatron-LM-training": { + "patch_sha256": "f66035f12501aa1d08e8884e0dea5a22d59825d717aeda73c3e83876e3efd79f", + "path": "/Megatron-LM-training", + "tree": "731fc44a368d6cac8c6171a29d5c687ff0d95bd1" + }, + "/vime": { + "patch_sha256": "66949839d4c18329444f4f9f6dcd702b53ce1b94e9aa15ed111f28743bfaa4b9", + "path": "/vime", + "tree": "f5174e67dbcdaef983eecd45f215fef2d8429dd0" + } + }, + "version": "3.12.14 | packaged by Anaconda, Inc. | (main, Aug 27 2026, 14:46:43) [GCC 14.3.0]" + }, + "sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca" + }, + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "cuda_identity": { + "home": "", + "nvcc_sha256": "b8e2347d9d7fcadf8812a27324d515de99d033d3e48611811ece7e66d7895f8a" + }, + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "operator_requirements": { + "suite": "all", + "case_ids": [ + "tests/check_qwen3_next_attention.py::test_d256_backward_with_cached_prefix_matches_float64_formula", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[1024]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[256]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[64]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[8]", + "tests/check_qwen3_next_attention.py::test_d256_input_device_guard_and_nondefault_stream", + "tests/check_qwen3_next_attention.py::test_native_backward_rejects_malformed_probability_and_gradient_buffers", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[0]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[2]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_target_inputs_do_not_depend_on_companions", + "tests/check_qwen3_next_batch_invariance.py::test_triton_chunked_prefill_is_batch_invariant", + "tests/check_qwen3_next_conv_bridge.py::test_chunked_and_reordered_sequences_match", + "tests/check_qwen3_next_conv_bridge.py::test_empty_sequence_preserves_cache_and_gradients", + "tests/check_qwen3_next_conv_bridge.py::test_response_gradient_reaches_prompt_and_convolution_weight", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths0]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths1]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths2]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-4]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[1]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[4]", + "tests/check_qwen3_next_core_matrix.py::test_variable_lengths_empty_and_mixed_step_match_independent_sequences", + "tests/check_qwen3_next_forward.py::test_combine_has_fixed_route_order_and_differentiable_weights", + "tests/check_qwen3_next_forward.py::test_full_vocabulary_logprob_entropy_modes_and_gradient", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_fail_closed_on_the_tensor_descriptor_path", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[128]", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[512]", + "tests/check_qwen3_next_forward.py::test_logprob_nan_rejected_before_comparison", + "tests/check_qwen3_next_forward.py::test_moe_vjp_matches_independent_double_formula", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[1024-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[128-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-16]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-256]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-3072]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-37984]", + "tests/check_qwen3_next_forward.py::test_qwen_moe_actual_tp4_shapes_and_independent_training_forward", + "tests/check_qwen3_next_forward.py::test_route_weights_are_batch_invariant", + "tests/check_qwen3_next_forward.py::test_shared_linear_vjp_and_empty_tokens", + "tests/check_qwen3_next_forward.py::test_stable_route_tie_boundary_and_router_gradient", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_backward_matches_recomputed_recurrence_vjp", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_forward_is_provider_exact_and_does_not_mutate_inputs", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_keeps_prompt_state_gradient_through_response", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[False]", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[True]", + "tests/check_qwen3_next_gdn_bridge.py::test_initial_state_vjp_matches_provider_directional_difference", + "tests/check_qwen3_next_gdn_sequence.py::test_1024_token_chunk_continuation_is_bitwise_exact", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad0]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad1]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad2]", + "tests/check_qwen3_next_gdn_sequence.py::test_chunk_boundary_retains_prompt_and_initial_state_gradients", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths0]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths1]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths2]", + "tests/check_qwen3_next_gdn_sequence.py::test_reserved_and_duplicate_slots_are_rejected", + "tests/check_qwen3_next_norm_providers.py::test_custom_op_has_distinct_native_and_cuda_paths", + "tests/check_qwen3_next_norm_providers.py::test_gdn_decode_provider_env_defaults_are_recorded", + "tests/check_qwen3_next_norm_providers.py::test_our_gated_op_is_batch_invariant", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_cuda]", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_native]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots0]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots2]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots3]", + "tests/check_qwen3_next_shared_core.py::test_independent_training_forward_matches_inference_and_retains_gradients", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[1024]", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[8]", + "tests/check_qwen3_next_shared_core.py::test_unimplemented_provider_profile_is_rejected", + "tests/test_qwen3_next_norm.py::test_bad_weight_shape_raises", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[16]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[1]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[2]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[32]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[48]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[64]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[8]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[128]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[2048]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_with_padding", + "tests/test_qwen3_next_norm.py::test_call_matches_forward", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[128]", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[2048]", + "tests/test_qwen3_next_norm.py::test_cuda_default_offset_preserves_plain_convention", + "tests/test_qwen3_next_norm.py::test_cuda_gated_backward_matches_autograd_golden", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_matches_golden_within_contract", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_bad_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_mismatched_gate", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_backward_uses_the_sigmoid_derivative", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_swish_is_an_alias_for_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_unit_weight_is_plain_norm_times_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_weight_offset_is_applied_in_fp32", + "tests/test_qwen3_next_norm.py::test_cuda_gated_wrapper_rejects_equal_numel_wrong_shape", + "tests/test_qwen3_next_norm.py::test_cuda_gated_zero_gate_zeroes_output", + "tests/test_qwen3_next_norm.py::test_cuda_offset_equals_explicit_fp32_weight", + "tests/test_qwen3_next_norm.py::test_cuda_offset_is_not_folded_through_bfloat16", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_backward_is_offset_aware", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_within_tolerance_of_golden", + "tests/test_qwen3_next_norm.py::test_deterministic_repeat", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype0]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype1]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype2]", + "tests/test_qwen3_next_norm.py::test_eps_inside_sqrt", + "tests/test_qwen3_next_norm.py::test_gated_batch_invariance_slice", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedHFOp]", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedOp]", + "tests/test_qwen3_next_norm.py::test_gated_conventions_diverge_in_low_precision", + "tests/test_qwen3_next_norm.py::test_gated_cuda_op_rejects_bad_activation_at_construction", + "tests/test_qwen3_next_norm.py::test_gated_extension_handles_empty_batch_and_nondefault_stream", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[dy_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[gate_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[rstd_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_shape]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_matches_hf_formula_fp32", + "tests/test_qwen3_next_norm.py::test_gated_shape_mismatch_raises", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_strict_matches_vllm_formula_fp32", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[128]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[2048]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_offset_applied_in_fp32_not_folded_into_bf16", + "tests/test_qwen3_next_norm.py::test_op_batch_invariance_on_device", + "tests/test_qwen3_next_norm.py::test_plain_reference_is_unchanged_by_the_offset_plumbing", + "tests/test_qwen3_next_norm.py::test_weight_offset_is_one", + "tests/test_qwen3_next_norm.py::test_zero_centred_cuda_constructor_rejects_missing_extension", + "tests/test_qwen3_next_norm.py::test_zero_centred_op_inherits_the_plain_reference", + "tests/test_qwen3_next_norm.py::test_zero_weight_is_identity_scaling" + ], + "case_ids_sha256": "694c931b65f9cfa5db963f2eca6d11bd309546c824a1df52f9da2ab128e83e0f", + "norm_gates": [ + "qwen3_next_rms_norm-forward.json", + "qwen3_next_rms_norm-gradient.json", + "rms_norm_gated-forward.json", + "rms_norm_gated-gradient.json" + ] + }, + "layer_requirements": { + "schema_version": 1, + "gates": { + "gdn": { + "script": "scripts/qwen3_next_tp_gdn_check.py", + "output_option": "--output", + "scope": "tp4_gdn_layer0", + "groups": { + "cases": [ + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "prompt-gradient", + "replicated-norm-gradient", + "hf-load-export" + ] + }, + "script_sha256": "cc4338893f90af004c51c20fc67d1a9a3f4bf8d26775277f72671c02983e4df5" + }, + "attention": { + "script": "scripts/qwen3_next_tp_attention_check.py", + "output_option": "--output", + "scope": "tp4_full_attention_layer3", + "groups": { + "attention.cases": [ + "hf-load-export", + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "batch4-varlen-reorder", + "sixteen-token-decode", + "prompt-gradient", + "kv-pair-gradient", + "qk-norm-gradient" + ] + }, + "script_sha256": "d27d43efb05415a8ef5892c3c2238a2b9744a4821f5466faf46c6510e6e01bec" + }, + "moe": { + "script": "scripts/qwen3_next_tp_moe_check.py", + "output_option": "--output", + "scope": "tp4_moe_block_layer0", + "groups": { + "moe.cases": [ + "hf-load-export-all512experts", + "routes-replicated-8", + "full-chunk-reorder-8", + "routes-replicated-64", + "full-chunk-reorder-64", + "routes-replicated-256", + "full-chunk-reorder-256", + "routes-replicated-1024", + "full-chunk-reorder-1024", + "training-forward", + "all-parameter-gradient", + "replicated-router-gradient" + ] + }, + "script_sha256": "d5c1bbbb82e408b65871b0cb1638d7a6cf8cfe07f0a3315a657b7dc232d544be" + }, + "adapters": { + "script": "scripts/qwen3_next_adapter_check.py", + "output_option": "--out", + "scope": "gdn_engine_adapter_component", + "groups": { + "cases": [ + "batch1-length8", + "batch1-length64", + "batch1-length256", + "batch1-length1024", + "batch4-length8", + "batch4-length64", + "batch4-length256", + "batch4-length1024", + "mixed-prefill-decode16-reorder" + ] + }, + "fields": { + "prompt_gradient": "passed", + "hf_conv_roundtrip": "passed", + "batch_invariance_capability_registered": false + }, + "script_sha256": "3ce45bb317237c1a06533116d65fb77c2a23b6f503ae46406ede543036eb0f20" + }, + "heads": { + "script": "scripts/qwen3_next_tp_head_check.py", + "output_option": "--output", + "scope": "tp4_embedding_lm_head_only", + "groups": { + "cases": [ + "hf-embedding-roundtrip", + "hf-lm-head-roundtrip", + "replicated-norm-gradient", + "nonzero-finite-embedding-head-gradient", + "embedding-repeat-100", + "batch-invariant-prompt8", + "batch-invariant-prompt64", + "batch-invariant-prompt256", + "batch-invariant-prompt1024", + "logprob-original-and-promoted-logits", + "entropy-interface" + ] + }, + "script_sha256": "0504185d21a75405c8e994bc57b016cf4ec357d8b16e7430772c11934f2af876" + } + }, + "scheduler_case_ids": [ + "p0008-b1-full", + "p0008-b1-chunked", + "p0008-b4-full", + "p0008-b4-chunked", + "p0064-b1-full", + "p0064-b1-chunked", + "p0064-b4-full", + "p0064-b4-chunked", + "p0256-b1-full", + "p0256-b1-chunked", + "p0256-b4-full", + "p0256-b4-chunked", + "p1024-b1-full", + "p1024-b1-chunked", + "p1024-b4-full", + "p1024-b4-chunked" + ], + "registry_sha256": "e3949a750cb27c1897a000f3b023f912629906612ae8949c1575d0acc36df5ec", + "case_ids_per_rank": [ + "adapters/cases/batch1-length1024", + "adapters/cases/batch1-length256", + "adapters/cases/batch1-length64", + "adapters/cases/batch1-length8", + "adapters/cases/batch4-length1024", + "adapters/cases/batch4-length256", + "adapters/cases/batch4-length64", + "adapters/cases/batch4-length8", + "adapters/cases/mixed-prefill-decode16-reorder", + "attention/attention.cases/batch4-varlen-reorder", + "attention/attention.cases/full-chunk-1024", + "attention/attention.cases/full-chunk-256", + "attention/attention.cases/full-chunk-64", + "attention/attention.cases/full-chunk-8", + "attention/attention.cases/hf-load-export", + "attention/attention.cases/kv-pair-gradient", + "attention/attention.cases/prompt-gradient", + "attention/attention.cases/qk-norm-gradient", + "attention/attention.cases/sixteen-token-decode", + "gdn/cases/full-chunk-1024", + "gdn/cases/full-chunk-256", + "gdn/cases/full-chunk-64", + "gdn/cases/full-chunk-8", + "gdn/cases/hf-load-export", + "gdn/cases/prompt-gradient", + "gdn/cases/replicated-norm-gradient", + "heads/cases/batch-invariant-prompt1024", + "heads/cases/batch-invariant-prompt256", + "heads/cases/batch-invariant-prompt64", + "heads/cases/batch-invariant-prompt8", + "heads/cases/embedding-repeat-100", + "heads/cases/entropy-interface", + "heads/cases/hf-embedding-roundtrip", + "heads/cases/hf-lm-head-roundtrip", + "heads/cases/logprob-original-and-promoted-logits", + "heads/cases/nonzero-finite-embedding-head-gradient", + "heads/cases/replicated-norm-gradient", + "moe/moe.cases/all-parameter-gradient", + "moe/moe.cases/full-chunk-reorder-1024", + "moe/moe.cases/full-chunk-reorder-256", + "moe/moe.cases/full-chunk-reorder-64", + "moe/moe.cases/full-chunk-reorder-8", + "moe/moe.cases/hf-load-export-all512experts", + "moe/moe.cases/replicated-router-gradient", + "moe/moe.cases/routes-replicated-1024", + "moe/moe.cases/routes-replicated-256", + "moe/moe.cases/routes-replicated-64", + "moe/moe.cases/routes-replicated-8", + "moe/moe.cases/training-forward" + ], + "case_ids_sha256": "be74417dfbd6031ba27978d06d04bb15daaab2aeb57d132c7e0d41176b28b46e" + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + } +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/train1/updates.json b/docs/usage/evidence/qwen3-next-chain-b200/train1/updates.json new file mode 100644 index 000000000..52f6ae717 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/train1/updates.json @@ -0,0 +1,685 @@ +{ + "schema_version": 1, + "status": "passed", + "scope": "qwen3_next_training_update1", + "identity": { + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "checkpoint": "", + "weight_version": "baseline", + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32" + }, + "training_identity": { + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "checkpoint": "", + "weight_version": "baseline", + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32", + "run_id": "20261009T041838Z-train1-c67ec144-39e7db9f", + "execution_id": "39e7db9f488142f4b52872e05728c390", + "fixture_sha256": "7c98e4e17cc24bd0c5f65f6515d58a9dfc947afcdb6d4956bd3fa05f24bb28b6" + }, + "phases": [ + "update1" + ], + "l2_fixture_sha256": "b59298acf5ecbe64abb4639e7596e052f1993ee5e3c7289b63738f1b04463d01", + "l2_reports": { + "baseline": { + "path": "/attempts/0/l2-matrix.json", + "sha256": "bf9da6060e882fb3707df9093e63a4c6e6664e8a75f25e9809020c4f687bf953" + }, + "update1": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/l2-matrix.json", + "sha256": "ad78b78687d2ef725a24b42de908033b36383f69db41d2c754f87acb07cd9870" + } + }, + "workers": { + "update1": { + "path": "/attempts/0/update1-2c4f847affb0420d9622f1b699393898/worker.json", + "sha256": "b2c74ebcb2b5e538bbaf5e50439615722f26876df3cd34610ded097ee6102436" + } + }, + "events": [ + "l2:baseline", + "worker:update1", + "l2:update1" + ], + "recovery": [], + "checkpoint": { + "path": "/training-state/checkpoints/step-00000001-69200066749241628829d9734dbdd5f0", + "sha256": "1fecb76a446f6c37199011fe2348b999f843828379d25d1e5bda4c155a5bb074" + }, + "attempt": "0" +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/train2/environment.json b/docs/usage/evidence/qwen3-next-chain-b200/train2/environment.json new file mode 100644 index 000000000..d034669aa --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/train2/environment.json @@ -0,0 +1,4500 @@ +{ + "environment": { + "identity": { + "base_prefix": "/miniconda3/envs/rlkernel", + "binary": "/python3.12", + "binary_sha256": "6a1eb3ffc29f3a6b0ece607b016b4cfa5ca3ac57b34f17ed3266b404f78d2729", + "build_tools": { + "ninja": { + "path": "/miniconda3/envs/rlkernel/bin/ninja", + "sha256": "08639e194fffa7f08b259fc4abfa4803aff66b64de52549cee42ec527d55cea6" + } + }, + "distributions": [ + { + "direct_url": null, + "metadata_sha256": "6f1038270be40f9b8c0bcf391c627e7d7f41ccdd19aa192d6eac1dbfc3b19abc", + "name": "GitPython", + "version": "3.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "3f71971502087521f123c9daa26bc12d31d3466738b567390b8602acad3be22a", + "name": "Jinja2", + "version": "3.1.6" + }, + { + "direct_url": null, + "metadata_sha256": "818fb343b7b6b99a32771bf4813521ae6440b4c7579b3ae46e32dd02da0afeee", + "name": "Markdown", + "version": "3.11" + }, + { + "direct_url": null, + "metadata_sha256": "dc1ee42cf8ecfeee0ab60b15b21d291833e0732548efcb7bb5b3564dca3e5bf7", + "name": "MarkupSafe", + "version": "3.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "de7389b142450a0014234286b0876f328439b823c355c73d0aed41fd67ec208c", + "name": "PyJWT", + "version": "2.15.1" + }, + { + "direct_url": null, + "metadata_sha256": "ffcad4415cafb22b8b536a61595e9ee13438b51d31b0763c1b273ce3bc58e840", + "name": "PyYAML", + "version": "6.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "8562d701cc52d9cafbb418942b0e072fc087ed8ddcf35cd10224c1b2ed8bdd91", + "name": "Pygments", + "version": "2.21.0" + }, + { + "direct_url": null, + "metadata_sha256": "b6c25fcfdcc495edf248a10ca4ad28327ef2ed6047a6ec5c6346e121414c7f21", + "name": "Werkzeug", + "version": "3.1.9" + }, + { + "direct_url": null, + "metadata_sha256": "55c400d24c71b581d9c0992f71df6047cf6c878bebe61a7d45d6e02dc0e4c510", + "name": "absl-py", + "version": "2.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "13db521f90a6a882027b2388eaa2ebf252945f9c2adb7e7e371da18239da4df0", + "name": "accelerate", + "version": "1.15.0" + }, + { + "direct_url": null, + "metadata_sha256": "86fe44e38e67872dd895c729044942ba2c2f934ae439a899fb83a186206b7fd4", + "name": "agent-detector", + "version": "2.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "afe11fe9f5aa54e734cdd51659bed8c89dc6bcd5aef0ad96f2d20149c8de5456", + "name": "aiohappyeyeballs", + "version": "2.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "570b307bc0b53fbbd3ed2ce0b7eca6bbf2fa73bf75e24a480f1034d8c0b832bf", + "name": "aiohttp", + "version": "3.14.3" + }, + { + "direct_url": null, + "metadata_sha256": "44b7f8e14c4770793e747fad50c9e0a6ee7357651d878554f192d94768dc14a8", + "name": "aiohttp-cors", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "648813a44a9ae0ab2f20ee86d2404dcc38e3f9e80c63316cf6e536735df14e54", + "name": "aiosignal", + "version": "1.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "f6a3f6668bacef7f73a2c19ccb2be910b2363d1731c4725cb04364d99e24935a", + "name": "annotated-doc", + "version": "0.0.5" + }, + { + "direct_url": null, + "metadata_sha256": "fc6d752cde6a6a4bff03474386de750e130b75da3c7815ee909f45b51fea98c8", + "name": "annotated-types", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "4e89d670a4b20029da30e5a9e8ebcbc844deff9c44209552bafd5537249c8b9e", + "name": "anthropic", + "version": "1.9.0" + }, + { + "direct_url": null, + "metadata_sha256": "b5a6f00800956387fcddab1fe1b5aa8502c249b86cfb16d58ed700f282f60142", + "name": "antlr4-python3-runtime", + "version": "4.9.3" + }, + { + "direct_url": null, + "metadata_sha256": "a6008defa9492cd08250217b134782cad1db4580e1d7ddf69cc2a2a48cea24e0", + "name": "anyio", + "version": "4.15.1" + }, + { + "direct_url": null, + "metadata_sha256": "7877c64ce8957237363f2df313819bb07f50752df016d14c5a5a99bec10f5deb", + "name": "apache-tvm-ffi", + "version": "0.1.11" + }, + { + "direct_url": null, + "metadata_sha256": "3543ca8f0e072c00ab111b20eba99ce86dbf93ada28988775bc2677284b3c07a", + "name": "astor", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "d4b328c09c024fe1e4d788a9c7715ad726095131b815cd35fd933268226f6269", + "name": "attrs", + "version": "26.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "4850c4d696a5e2a2ecbb3dd792b060acc1de79e09800669b0b9fc3a22c055e6d", + "name": "av", + "version": "19.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "863ff92208d0a02dabfa008bfe91846a5c401ded301e5687dca7dc63c911865f", + "name": "babel", + "version": "2.18.0" + }, + { + "direct_url": null, + "metadata_sha256": "f32e6df3197f05202e586624d95c5e217003d80cee655c165d533102f628df21", + "name": "backrefs", + "version": "8.0" + }, + { + "direct_url": null, + "metadata_sha256": "905c362f655fbc6d37a24686efc2b3bfbd3123b8ee5a443a43f6750d87455e90", + "name": "blake3", + "version": "1.0.10" + }, + { + "direct_url": null, + "metadata_sha256": "07c85682b6aefd5c9b48890d306c1604311902295704892ede48e5a83219a8d3", + "name": "blobfile", + "version": "3.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "2d582941a7081625a35f35a0c4a2e80f7737312e29c38e5fdb6fc08f9c113077", + "name": "bracex", + "version": "3.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "3b60c55bae0d0340c3a3fd918635bbfa3087579da66e0fd7f6be7a3782c0da3d", + "name": "cachetools", + "version": "7.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "5d11a6878d5bc3f22290281a19ef7b36daa95c910780950608b95cd788c7e12e", + "name": "cbor2", + "version": "6.1.4" + }, + { + "direct_url": null, + "metadata_sha256": "362c9942c48051f168ed2b9f2146266b7792d3c05e164cd6afc3f3b65884fdc9", + "name": "certifi", + "version": "2026.7.22" + }, + { + "direct_url": null, + "metadata_sha256": "b4abf1bcf1c1d8e0272d8007fc974499ea59e5f2a5b98af3c78a5e67515a9d87", + "name": "cffi", + "version": "2.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "766120f13c177446f51929a4d201104bc935b6d5a2a176cd6716edce757d3d95", + "name": "cfgv", + "version": "3.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "610e9a9d03ce837ffe6e42be5e02e70087f73863f7350bf7bb7f0511edcc5ec0", + "name": "charset-normalizer", + "version": "3.5.2" + }, + { + "direct_url": null, + "metadata_sha256": "7ad836b3147c9702546d9c28b4fa5be23b24445439db5d0d2a58d17281c84daa", + "name": "click", + "version": "8.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "4c5f00599ebcbf11d337e48a72784d256ca3d704fa9e9f5daadd60065e6776b7", + "name": "cloudpickle", + "version": "3.1.2" + }, + { + "direct_url": null, + "metadata_sha256": "a0970189e3ab7a596d6902d5f61f93b414f138f03d3cf19029145657bfceb382", + "name": "cmake", + "version": "4.1.2" + }, + { + "direct_url": null, + "metadata_sha256": "94a6ebf9718e55f254a43ce0d2f04e0d6d44e7141b6f3144a84feb6519a77bfd", + "name": "colorama", + "version": "0.4.6" + }, + { + "direct_url": null, + "metadata_sha256": "ca8ec227f406d970a645ec482b20619128dd34b9cf71159cc24e27db461a2711", + "name": "colorful", + "version": "0.5.8" + }, + { + "direct_url": null, + "metadata_sha256": "bbaa51b7e4d8f142bd075d01257c0572c0c844796d51426e35c8096a13e8da76", + "name": "compressed-tensors", + "version": "0.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "6063d8ff7ebc458d63a4332853d7ababf4ee2b86336362c8d2b12be6e998eb6b", + "name": "connectrpc", + "version": "0.11.1" + }, + { + "direct_url": null, + "metadata_sha256": "ac5f4b5a5f68080bd9c3fe77399fe8a1bff2ee5923c49db1df544dd054cbf15b", + "name": "cryptography", + "version": "50.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "f41d2f6b4616accca2f5e1dd47aa9e8937c28076cde698226d93e727751f3099", + "name": "cuda-bindings", + "version": "13.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "e5ca6ed34c687c6f4a4d157ad0a2cf06ec0316fe8c4c0ddeb666ad76dd6f30f4", + "name": "cuda-core", + "version": "1.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "89baadd9da23dce9990481519544115615ba3cbd2d1a41e09feea7756fffb378", + "name": "cuda-pathfinder", + "version": "1.8.2" + }, + { + "direct_url": null, + "metadata_sha256": "1ab914b9a57ca601df2e3cfe9608427b15d8afb78029076ace5d1caf9fd45f08", + "name": "cuda-python", + "version": "13.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "73d97a5eb578223b4895ef4f234574d14219cef9999ff7d0e92a3d0dd057bd3f", + "name": "cuda-tile", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "ae6f957fe66ed63081d1d83ee6e8838f3a0af2c6fce1223629d0dd6264565ead", + "name": "cuda-toolkit", + "version": "13.0.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "1f8e0ae51ad5feea63f58ed2e24f3da6f23ed548043235a14f7623d961dd9b64", + "name": "datasets", + "version": "5.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "153f4a4d6ff03dbe5c8ad7fe54bc2e7b989a4947b70f7aa77fbf652b394f2a2e", + "name": "depyf", + "version": "0.20.0" + }, + { + "direct_url": null, + "metadata_sha256": "ee09fc752d7271aac93079cfd63409957dc6b536c1ffd9355a01bf7297e72aa6", + "name": "detect-installer", + "version": "0.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "a7feab2c4f69fd5f85e5a3cb495a7f1870a6bf8199dcee5339e8118f7acbdc09", + "name": "dill", + "version": "0.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "fef3fde661fe30ba7bd1d78841a797136b2b3461705bb4eb92dc54f8308bbaae", + "name": "distlib", + "version": "0.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "fef3fde661fe30ba7bd1d78841a797136b2b3461705bb4eb92dc54f8308bbaae", + "name": "distlib", + "version": "0.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "a3ca2e39abe76c4a33d5fe4a2a84375ec9f25cdfdb7e1d8ea406bd6f1603205c", + "name": "dnspython", + "version": "2.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "92a07daad5e6ff461199de14e845d9b376e309ef916ce5379f3c9cd4e3b1623f", + "name": "dockerfile-parse", + "version": "2.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "5b566b25f0cbe4955d0b16844a7cc6d2002caa3bde2dfda7f301fd8870cbaa56", + "name": "docstring_parser", + "version": "0.18.0" + }, + { + "direct_url": null, + "metadata_sha256": "5a1080b5768c6c591e1c4f9c9812cafa808781b9eeb198043bf185e22d4a1613", + "name": "e2b", + "version": "2.51.0" + }, + { + "direct_url": null, + "metadata_sha256": "0a63979e0b946e16238e4339e60d9c1eb5a7ce3ea93dae78b5da9c65a6190540", + "name": "einops", + "version": "0.8.2" + }, + { + "direct_url": null, + "metadata_sha256": "16cbe67a57558f1d4bfdbc22a454434ba301750c57a62b1d3f5361c9e5cddc00", + "name": "email-validator", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "0617ddb55b90b42ddc9398dc7e91d61fe928a2504939f76526dc15b22d238caa", + "name": "fastapi", + "version": "0.136.3" + }, + { + "direct_url": null, + "metadata_sha256": "ddd82b9666c21988e234d623e2575e1b89fd4133260eeab43fc9a7c074f7024a", + "name": "fastapi-cli", + "version": "0.0.32" + }, + { + "direct_url": null, + "metadata_sha256": "611602e834d42e10433155ff5f5581358d732fa6b6f6f7820a8f79e74b1ce1f9", + "name": "fastapi-cloud-cli", + "version": "0.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "794524e4a9659bda6043721d848d028ea49996085a33326094fbaaa3f6e6b895", + "name": "fastar", + "version": "0.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "711401d36e60e10e35beb4d0f1bb42bf0c4d86339ae52f32b9aa4a4d790530dd", + "name": "fastsafetensors", + "version": "0.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "efaea9742e348c4c4bdcc6f616a33cc5aa3ae926494a72a46690b7da2f08ed5c", + "name": "filelock", + "version": "4.0.7" + }, + { + "direct_url": null, + "metadata_sha256": "99bd6c3f10781d3d2d350f2c3c9fc4765b55f25de8a6d6dd1f71501802d1255e", + "name": "fla-core", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "0a6ef979b75295cee2b5293ad4942b0cf2682e9e38680203064e0b70249c1a96", + "name": "flash-linear-attention", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "76b70a11ca82ea4606b529e7a8658cb3fe71412afa46f2ed57101dd91ba27558", + "name": "flashinfer-python", + "version": "0.6.18.post1" + }, + { + "direct_url": null, + "metadata_sha256": "ba8ff415192b5cbb90efce046e2271a00c8184afc362d8b47fbbc84d5e558b05", + "name": "frozenlist", + "version": "1.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "e7712831c80eb13b08fb7f7cc33988a8f24654af9eba7c6f5f943b2636e4306a", + "name": "fsspec", + "version": "2026.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "025de85c794878d0caa737869307447595f514ebf9599eacb5b1a501bae479b6", + "name": "fsspec", + "version": "2026.9.0" + }, + { + "direct_url": null, + "metadata_sha256": "ca94883bdeaa3740b45b6994443b445fd67c6e4a8064ac3bf9d92d2a5221eee8", + "name": "ghp-import", + "version": "2.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "a7e90983562a035cf767baa63d8c32bc37e1de7cad71ac7b6b2bc70a95bba4eb", + "name": "gitdb", + "version": "4.0.12" + }, + { + "direct_url": null, + "metadata_sha256": "dd96143ec79178bef685c1f5c0a58a87a66d003b421e605de65697308321d518", + "name": "google-api-core", + "version": "2.40.0" + }, + { + "direct_url": null, + "metadata_sha256": "0735d57088a83df2355e16843107fb0112abe2178fc5bb8132947a7ad962aa41", + "name": "google-auth", + "version": "2.59.1" + }, + { + "direct_url": null, + "metadata_sha256": "2f3aa9d9500d329560440e6a5a152e420aad5f5bbb23701f45b740be721784a1", + "name": "googleapis-common-protos", + "version": "1.75.5" + }, + { + "direct_url": null, + "metadata_sha256": "06d74ab04fdc03fad368868907f0d10e7d9f397aab58d58965c0b78ffaec34cc", + "name": "griffelib", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "7ee1c179e2c68a62968308b2f96f4f3469176ee3ac8bdb494ac80188d4d41271", + "name": "grpcio", + "version": "1.84.0" + }, + { + "direct_url": null, + "metadata_sha256": "04cf3a4a91575850f386f4fcfdedd8e7fbfba08feff038fbc1296d1e854db2dd", + "name": "h11", + "version": "0.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "b954a6ba4739c0cc878bb8ea27ea7c7154a48bb4b7c06dba9e9cf880cf0ec930", + "name": "h2", + "version": "4.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "6f0d7bf86e75d0bda1ceccc82367c0145ad0ec522c4d4f51bb454f467faadcc9", + "name": "hf-xet", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "f991b847550cf8225f69562902b5ccb591b2ce9a08fe07ef6e6d701bdb4694a7", + "name": "hpack", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "314d194165c4700034c1c67cee847d549a6d7091374c71f2cef0186ec56a3eb9", + "name": "httpcore", + "version": "1.0.9" + }, + { + "direct_url": null, + "metadata_sha256": "aed9767360bed1bcbda71e3b1a3c996603f86558bc77a1693ee3d09973d20cad", + "name": "httpcore2", + "version": "2.13.1" + }, + { + "direct_url": null, + "metadata_sha256": "8fa3bf3510c35e2eea9f523a1cace7120079cf51d76c4acea97de95806aaa14a", + "name": "httptools", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "3bf4804c215d111b6a4702cf9000021ab39807d1ed3207dd011b14b2843b2d14", + "name": "httpx", + "version": "0.28.1" + }, + { + "direct_url": null, + "metadata_sha256": "d11dd50813b8914bd9455e8b2b591171cd2b1618883943153afadc8bb9224678", + "name": "httpx2", + "version": "2.13.1" + }, + { + "direct_url": null, + "metadata_sha256": "43b119c34ad2b2aacc032a1a6a8feb142fdb5ca407a3519325d74dd53d8904df", + "name": "huggingface_hub", + "version": "1.33.0" + }, + { + "direct_url": null, + "metadata_sha256": "9ce850d5a6b775e5ef4a335f907e579a878e058213121b6eec567781ea68c585", + "name": "humming-kernels", + "version": "0.1.12" + }, + { + "direct_url": null, + "metadata_sha256": "67aa4f6717d82446a51ce350e7c4769eba0c4a22d2f428255cddd9d24b11a914", + "name": "hyperframe", + "version": "6.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd9511ede42f63b995c3f71944f908cb8f014048b63ecc1c8d420525a3354b59", + "name": "identify", + "version": "2.6.20" + }, + { + "direct_url": null, + "metadata_sha256": "af3c3a62bb5d82d6a43454684e0b1dedde27a21ea90eacfb1bed9814619f06d0", + "name": "idna", + "version": "3.20" + }, + { + "direct_url": null, + "metadata_sha256": "cf71393f3d079ce2e859384573e65aaacd1709bef700701f629df32398b598f0", + "name": "ijson", + "version": "3.5.1" + }, + { + "direct_url": null, + "metadata_sha256": "9305763e93d03df0e36516b1125fa046a6ebe37d44589e200e0593cf4bdfd980", + "name": "importlib_metadata", + "version": "9.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "32860c3c19b2e91f6cb5bd83400b5870cda051bc74a5a08822c8c666af0990db", + "name": "iniconfig", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "560faabb3d45d779e445a74e7e806a786f95f2200fa06d979603b7f0ee1cfb39", + "name": "instanttensor", + "version": "0.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "f6fc1f0d389e4245fc2a1a0fdfee09422e56200cb6f94659668456997ff4f7a9", + "name": "interegular", + "version": "0.3.3" + }, + { + "direct_url": null, + "metadata_sha256": "d10f300731197a4829b77f0c883bb3cf8a37ae8c76a302e095fa95d6427706d0", + "name": "jiter", + "version": "0.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "5b0c8d4b4c535a2432fb206223d774509b6e20af374c6a4b6f98bf72a7de6702", + "name": "jmespath", + "version": "1.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "6c4032c2e74273452cd77399af2ee85198f49c22da897983f26d2ed6f787c4e8", + "name": "jsonschema", + "version": "4.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "aaa6cd66f423729e8da397c9d533b7d731f6b25f3d6371b9338c36bdb9be74a0", + "name": "jsonschema-specifications", + "version": "2025.9.1" + }, + { + "direct_url": null, + "metadata_sha256": "f7c0687c032593106a2e5a3c241cf8043e7e2c222bddb0022b4cb2bf5de67115", + "name": "lark", + "version": "1.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "4511c6b04efc57a5f5333edc1f5f48b9f5412c3923d4bc19b715bdf47977511c", + "name": "linkify-it-py", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "be929870f6ecae18a819c56118f1101f3076e25ac6a4843ca6f4707ebd1e87c6", + "name": "llguidance", + "version": "1.7.6" + }, + { + "direct_url": null, + "metadata_sha256": "cf2b87669bead3e76ec54207f3354c13f73b50c32fcd13c8d627084b3379139e", + "name": "llvmlite", + "version": "0.47.0" + }, + { + "direct_url": null, + "metadata_sha256": "0a416d79c5543d94d2b18807626293d4f47655d1d22724c7ae296e413078aaba", + "name": "lm-format-enforcer", + "version": "0.11.3" + }, + { + "direct_url": null, + "metadata_sha256": "16bc1f59e34fd2a6633bd395276052eacd2c777b2cf72781e76b203f013a8fac", + "name": "loguru", + "version": "0.7.3" + }, + { + "direct_url": null, + "metadata_sha256": "5216d5acfd039a7b581a826186309594b228d37d2c8d56864124ea666689fe4e", + "name": "lxml", + "version": "6.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "f59d772b35315a928672bfcccfb89d82c0aac672c5275c048f7a93b79015bcea", + "name": "markdown-it-py", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "b137367ef0056711cbf5e53015df9168cab80373104e7899b1c0263a21d9c99c", + "name": "mcp", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "38e0b9edaae09e58cd1461fc961ced22672038a697930bedef153a74befb3de1", + "name": "mcp-types", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "799f49685865fd9cc8915fdb92a33e102eeeffad562b03b4aeffb6f422b771c1", + "name": "mdit-py-plugins", + "version": "0.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "481f9cbe08596c6eaba6343e0efa1b13b2362c30dce0610f7c08523f1d98388d", + "name": "mdurl", + "version": "0.1.2" + }, + { + "direct_url": "{\"dir_info\": {\"editable\": true}, \"url\": \"file:///Megatron-LM-training\"}", + "metadata_sha256": "2876c0c760bbfc93bd7d737bf0db2866a937308a7c1707c3a2bb59d4795986ff", + "name": "megatron-core", + "version": "0.16.0rc0" + }, + { + "direct_url": null, + "metadata_sha256": "a6e34d488c879f57ce042bec38f8864ba3ea7d6ecf0ab757fc88fe8dc0a22f26", + "name": "memray", + "version": "1.20.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd26d80dc9676b1fb8c894355bd525fbe7f49a6a86a555c72e9ec6d927247c33", + "name": "mergedeep", + "version": "1.3.4" + }, + { + "direct_url": null, + "metadata_sha256": "dd1b3b89e88d1c65a26e6e72dd075eabbc220bfb138769ec8b64578ee911795c", + "name": "mistral_common", + "version": "1.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "4859847a9f6321daf8849cf7fd1542ff430db6563a2abf9ac0d62a5b21bd951d", + "name": "mkdocs", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "1729fc31479f2582486cdc85397417659dd3b2fb3f920553de66cfe59d5f0b3e", + "name": "mkdocs-awesome-nav", + "version": "3.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "88b4b7b7c0aba5547befdedaf515c8df4867361daf55ff60b72578464d72dcbe", + "name": "mkdocs-get-deps", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "ad33bb33fb16b1f69689c4682550e97232154e367e2c8c8aee9dad0f10d269ce", + "name": "mkdocs-git-revision-date-localized-plugin", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "ed69fbfb9ac00c10c5a383a12ff9d2b9919ae184e408554434199211643d6040", + "name": "mkdocs-material", + "version": "9.7.7" + }, + { + "direct_url": null, + "metadata_sha256": "d1c549b61701148b97f8246bc924b2840e504b37b0ce7a27e78ddf81261e5363", + "name": "mkdocs-material-extensions", + "version": "1.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "4ad6171f3bf6812e4de90670ff0089d445093d4fe1d05d55f17b96a4a192a816", + "name": "ml_dtypes", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "4ad6171f3bf6812e4de90670ff0089d445093d4fe1d05d55f17b96a4a192a816", + "name": "ml_dtypes", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "b0dbdfa30ab6b1ce637a794899c9e43019182b6d1ab2d07b90f647f7331eba6b", + "name": "model-hosting-container-standards", + "version": "0.1.16" + }, + { + "direct_url": null, + "metadata_sha256": "95424470e481cfa8d18b30963b6de3aafe16614b1ea0414e184a008571dde84f", + "name": "mpmath", + "version": "1.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "eb184d83489401903615ce8a78d98d5b933dec0f7246811d396a529915fe797c", + "name": "msgpack", + "version": "1.2.3" + }, + { + "direct_url": null, + "metadata_sha256": "520006303d6a0e859970b83f7d452196e2e8f6dab08f6dcf1ba5823c1230025f", + "name": "msgspec", + "version": "0.22.0" + }, + { + "direct_url": null, + "metadata_sha256": "010d2fe039006070a711a476b171b7b7da5c29ccad3c4eecd77ef3711b07c2d0", + "name": "multidict", + "version": "6.9.1" + }, + { + "direct_url": null, + "metadata_sha256": "235634cc7ebda45f8a84dfdb1b9b35ac1a77a1888b34650c3a616d23e4a7e93f", + "name": "multiprocess", + "version": "0.70.19" + }, + { + "direct_url": null, + "metadata_sha256": "7c545b4b3e5e83d3fde41352272c10cb9deeaba5b7138fbf24383e952af8822e", + "name": "natsort", + "version": "8.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "311ee8cdaeaf9f11acf51cda9c3b5b191f76ce9d98bc3418164c3189bbc37a08", + "name": "nccl4py", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "66360539217852c3b44b37f409eade7e1559baf018bb363bacb2aa3a9759b203", + "name": "networkx", + "version": "3.7" + }, + { + "direct_url": null, + "metadata_sha256": "e8b0b1746808b87816c47e4531780ded7f246bed9575a89e8b40200aa81e9a13", + "name": "ninja", + "version": "1.13.2" + }, + { + "direct_url": null, + "metadata_sha256": "77c1117f0dbc41560ddc6e6b37b542fb4e88afcd4ef82ec06593e5bbd5f37121", + "name": "nodeenv", + "version": "1.11.0" + }, + { + "direct_url": null, + "metadata_sha256": "9af629898406c9eaa69897fe09220dc483270cdba89f6b20bf0165cdf0e1668e", + "name": "numba", + "version": "0.65.0" + }, + { + "direct_url": null, + "metadata_sha256": "0c7281a81cf76e40b27c1385ffd8a215d7227adc219f177ce807ead9e91994a5", + "name": "numpy", + "version": "2.3.5" + }, + { + "direct_url": null, + "metadata_sha256": "0c7281a81cf76e40b27c1385ffd8a215d7227adc219f177ce807ead9e91994a5", + "name": "numpy", + "version": "2.3.5" + }, + { + "direct_url": null, + "metadata_sha256": "bab990ced4537ce74ef5961ca933c4c6fd604fd09a5827a4a428c55bcb0be35b", + "name": "nvdlfw_inspect", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "10f6595146332d35f7f15a000e08b5c81432528c5d026470c1d03f0c1399fb70", + "name": "nvidia-cublas", + "version": "13.1.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "58e933b4ac8e49f098b16ab7480d03bd792afc3d1db10d0aacbdcc2c62e48fa3", + "name": "nvidia-cuda-cccl", + "version": "13.3.4.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "baac937970681d41aa0c3708b3d55d73f8d29e70aceaac0e71fe6d1548e94a09", + "name": "nvidia-cuda-crt", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "8d51e5c76ef5707b0b80d5ec9a791c0f11a480ab721820cf100a3cc566017eef", + "name": "nvidia-cuda-cupti", + "version": "13.0.85" + }, + { + "direct_url": null, + "metadata_sha256": "724bf56e61ddef5d4c2482ff64103a973b911b110b668acaea5373f6c83c1c5c", + "name": "nvidia-cuda-nvcc", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "c54801dbd815d534519a761f1f328325aa0f1d1f1659aa969fa74e7a2c76eee9", + "name": "nvidia-cuda-nvdisasm", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "af51f248363020b9fdfd2743704e901bf3d19a1a1ce1fe44fb98ba148bfc0157", + "name": "nvidia-cuda-nvrtc", + "version": "13.0.88" + }, + { + "direct_url": null, + "metadata_sha256": "055f7fc69a5a2159de82cd0718da02c8852e81c8a71ebb117b8e799badd7167e", + "name": "nvidia-cuda-runtime", + "version": "13.0.96" + }, + { + "direct_url": null, + "metadata_sha256": "df18686dbdb3074ca375a1d6c623a04102fd348950c67a721397349c6d4f0477", + "name": "nvidia-cudnn-cu13", + "version": "9.20.0.48" + }, + { + "direct_url": null, + "metadata_sha256": "abd0ca3f67af19a4d383ff2a012ae0090d4731c6492fd47236615308a50b3981", + "name": "nvidia-cudnn-frontend", + "version": "1.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "4a78545d424d0c5038353f7046a8ae40ceaf312045d71399eac9511f5fc15434", + "name": "nvidia-cufft", + "version": "12.0.0.61" + }, + { + "direct_url": null, + "metadata_sha256": "e49b909195c03ddbe203729d9b31dd88e3f207368333d1909c67c6b130a0c696", + "name": "nvidia-cufile", + "version": "1.15.1.6" + }, + { + "direct_url": null, + "metadata_sha256": "bb15a754c6be32c23aaac13c1cfa7a8ce53d92bc26652ec3b609f7a5cce3e7d1", + "name": "nvidia-curand", + "version": "10.4.0.35" + }, + { + "direct_url": null, + "metadata_sha256": "0dd58f677811eac04901a793740932e5a2a8fff2f5453aa6351614eb18391bb6", + "name": "nvidia-cusolver", + "version": "12.0.4.66" + }, + { + "direct_url": null, + "metadata_sha256": "8aeb284782ef6883095a5d1c110e221cad023a99afcfd5cdb4969a25e146d562", + "name": "nvidia-cusparse", + "version": "12.6.3.3" + }, + { + "direct_url": null, + "metadata_sha256": "09555246122896eaca3b8313eecfca4b339fefd3b597874cb9fe3bf29dab38c9", + "name": "nvidia-cusparselt-cu13", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "ac77bac79fbfb0c52ac6e2e5abc936b1e127be2192f0cbc27b00be3125fa86ae", + "name": "nvidia-cutlass-dsl", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "1ec968ec7c4083f7fe4e1fb8384c7e9b853a81491fef9f4cb1cf755961aaedf6", + "name": "nvidia-cutlass-dsl-libs-base", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "cc6f3846cd820013eaa6e2665c493d70c607be6ce7349b939eb4742888470585", + "name": "nvidia-cutlass-dsl-libs-core", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "2357d0df2d0d17c0b16663b8a89df53f751b19721f66821fd88fa78112c08e55", + "name": "nvidia-cutlass-dsl-libs-cu12", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "244590c25662dcf777b1daae97a858afe1a1aec62e5e6678b217007a459ab552", + "name": "nvidia-cutlass-dsl-libs-cu13", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "c3a25ada01f57418c1b897406c3abab18834e6adc573ab7b060620c453afb6db", + "name": "nvidia-ml-py", + "version": "13.615.71" + }, + { + "direct_url": null, + "metadata_sha256": "56baad4e7f699902b03b17580933f7bd50b6ea97b7df9d7e807750973da7529c", + "name": "nvidia-nccl-cu13", + "version": "2.29.7" + }, + { + "direct_url": null, + "metadata_sha256": "98810ef0ab8badc369e6a46a038f8ee9f412c0c753fb5ad580544f23a0aa7962", + "name": "nvidia-nvjitlink", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "b0f54ee21909d19640a58e05da755c91763eb5725f544fd0d4b84b2f5f94deba", + "name": "nvidia-nvshmem-cu13", + "version": "3.4.5" + }, + { + "direct_url": null, + "metadata_sha256": "06dc1a593c7e8b8c3f29184228c83f8f7ef57787ad91f3e5bcae1d238dd3092a", + "name": "nvidia-nvtx", + "version": "13.0.85" + }, + { + "direct_url": null, + "metadata_sha256": "32ee63450a437b6a6ed227ff6549144aa596197a322993521ec7af826ebd413e", + "name": "nvidia-nvvm", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "32c2efdcd2c673b3b7f35ca9c2cccefaad36f1f0a920648a13cad85f6a5767b2", + "name": "nvtx", + "version": "0.2.15" + }, + { + "direct_url": null, + "metadata_sha256": "3419d80e114a2c19fa9bd3582939a3942f19673055707ba6ca2ca489d58b41e0", + "name": "omegaconf", + "version": "2.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "28971076ce9c279d4b889496b046d55a1e05b02fb9851ceb717e9a10df799572", + "name": "onnx", + "version": "1.23.1" + }, + { + "direct_url": null, + "metadata_sha256": "1246f5a4d8295907a42e809ed9173ede2510ec9d260d2168989d126564897fa5", + "name": "onnx-ir", + "version": "1.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "e14643636835759700dff286f949c5ec34e7eac7ac47f44096414f0e0f1c3101", + "name": "onnxscript", + "version": "0.7.2" + }, + { + "direct_url": null, + "metadata_sha256": "00f847e99939207bd70dfd806428f6b20a3d01074b59325e4c76149a2e19be26", + "name": "openai", + "version": "3.22.1" + }, + { + "direct_url": null, + "metadata_sha256": "598d3ad5a22a14a7c4f1d218b43e345f32b0ba094b753467bae8a3f708fd48cb", + "name": "openai-agents", + "version": "0.22.3" + }, + { + "direct_url": null, + "metadata_sha256": "5a0afcb1ce845e05da12beb1767f5d2749bbc9e9050718c6b9fa3c225713c9eb", + "name": "openai-harmony", + "version": "0.0.8" + }, + { + "direct_url": null, + "metadata_sha256": "e86a6b6fcbbe152805f782c57df321002892e163019574877e9829272e25eb4e", + "name": "opencensus", + "version": "0.11.4" + }, + { + "direct_url": null, + "metadata_sha256": "53d669c8bd3d32d3275153b454e515ca5cc6dec92fae3a98309b5a2b19fe6d2d", + "name": "opencensus-context", + "version": "0.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "19778b6d66b0e45bf73e11fa37a208949d5b393aef914627394d5601455546a6", + "name": "opencv-python-headless", + "version": "5.0.0.93" + }, + { + "direct_url": null, + "metadata_sha256": "19778b6d66b0e45bf73e11fa37a208949d5b393aef914627394d5601455546a6", + "name": "opencv-python-headless", + "version": "5.0.0.93" + }, + { + "direct_url": null, + "metadata_sha256": "a3f5434fa7c80f7f7abc82173da639c8e9c59d30b4027182645562bd3d2f4f97", + "name": "opentelemetry-api", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "8611977ea596e4827874582e86250618444e1c718229dddfc16e5ea437ce5fcb", + "name": "opentelemetry-exporter-http-transport", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "2cfd41e5ca33292d987ba71fa6186d11e16ed66888f3a26f8a3a99060c4b5e90", + "name": "opentelemetry-exporter-otlp", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "3bb4494220732d4bf10e1dba231ea7638cedaa5362e1f23a50d34a14f520fea8", + "name": "opentelemetry-exporter-otlp-common", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "27fb1c8aa5c2cd07776f9f3281fc618cd3feb96017757c33d2b3586fb7fec88b", + "name": "opentelemetry-exporter-otlp-proto-common", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "5cba6098cdd0bfb06853a6c704a2451c4f82c9dea376a30b59ecd279296648ad", + "name": "opentelemetry-exporter-otlp-proto-grpc", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "6f53ef1c172ebf87af69b9ef390aa908506d0cd14bc7811985fdd937a4058808", + "name": "opentelemetry-exporter-otlp-proto-http", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "1910f4e7ebd497e98b6d231e10275288fda2cd1885117575706c62f45e065889", + "name": "opentelemetry-exporter-prometheus", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "fab18b721e30be41448be252e1dca43b48e7f15d971e0bb552492c0ef4b07bee", + "name": "opentelemetry-proto", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "3644a79f55762a646799ff52b9d837e01c8192b7b28f735a383f55c90edb9bc2", + "name": "opentelemetry-sdk", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "add3db481f7f401f65cfbddb058fde3bb4c9dd7b61064a84f8598ad7efe0b11c", + "name": "opentelemetry-semantic-conventions", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "0dfff30e912520a226bcf7a547393484cfcd8c738439c7b48418f61c95109480", + "name": "opentelemetry-semantic-conventions-ai", + "version": "0.5.1" + }, + { + "direct_url": null, + "metadata_sha256": "210ce26bad0a245a72831b4fa029708c245d4d670a88c8d5a69b1446c24a95e4", + "name": "orjson", + "version": "3.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "35ff73511848f5f934ccc39d538014716ec4579e76d54e0e407ff51794a7939c", + "name": "outlines_core", + "version": "0.2.14" + }, + { + "direct_url": null, + "metadata_sha256": "8ee2f7138ade46b6e348a6d099612f5bd6caff13511f3b4144327f37ce50eacf", + "name": "packaging", + "version": "26.3" + }, + { + "direct_url": null, + "metadata_sha256": "a4ab87bf8083001f25ccdc46095f05b678b3569dd58edc2cf941e3e7f64d7c88", + "name": "paginate", + "version": "0.5.7" + }, + { + "direct_url": null, + "metadata_sha256": "1de96a6c28c2e5613c9c87cd4ad9484791001cf58df43cf2ba74d5c4f85f0ad2", + "name": "pandas", + "version": "3.0.6" + }, + { + "direct_url": null, + "metadata_sha256": "d05b8d05da9f78176b2eefaacdfaa5e96708ec4f488daea8bbc52e3ed1bc3954", + "name": "partial-json-parser", + "version": "0.2.1.1.post7" + }, + { + "direct_url": null, + "metadata_sha256": "c1d126edceac2685e29403a8ae3a27c47143dce1f0252fa3931771562f1e2b4f", + "name": "pathspec", + "version": "1.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "30325dc8ce17bc64f9dbc0a449232fd35841a019df22a6f481007c9c5a28c1cb", + "name": "pillow", + "version": "12.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "cbc0b7b6e63b50dcb7c17cf3526a9304f285d9a31353adf3b22acc2059ab23f5", + "name": "pip", + "version": "25.0.1" + }, + { + "direct_url": "{\"dir_info\": {}, \"url\": \"file:///work\"}", + "metadata_sha256": "6ba03b5bc457a2a3d92468729501b5892a0d38ebcc36766c58859449498c5743", + "name": "pip", + "version": "26.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "0421937c4410b61c5325233d5b7671ae933bae8de174f87586ac55aa804851ea", + "name": "platformdirs", + "version": "4.12.2" + }, + { + "direct_url": null, + "metadata_sha256": "2bcffab42626e1fb50d6329765619312d30fe7f4880e98dcee99c92ebd283bb4", + "name": "pluggy", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "7e7562ba7c032f8edd02641ae71b1ac2d8f388103a68d777a7e907d19e75bc17", + "name": "pre_commit", + "version": "4.6.2" + }, + { + "direct_url": null, + "metadata_sha256": "bbe0a7662602ddd23f929fe0ee98e9d04406e138aeee18ce4861af186ea6060d", + "name": "prometheus-fastapi-instrumentator", + "version": "8.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "ece4a61f3ffb92a083fd5e47e180e3e070342e60a3bd93876a879e79a643e821", + "name": "prometheus_client", + "version": "0.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "5feba21a58eaa126e7e7739e57e2572e5bb251fcbf56e439e508acc47d769314", + "name": "propcache", + "version": "0.5.4" + }, + { + "direct_url": null, + "metadata_sha256": "3f136dbf7239c987a7685acd33440cc5efd6c4107b4b11c425201b4de70ae36f", + "name": "proto-plus", + "version": "1.29.0" + }, + { + "direct_url": null, + "metadata_sha256": "118b5ad013120a7a6e24714595ad776bf264d7b0060389133310d18ea1480902", + "name": "protobuf", + "version": "7.36.2" + }, + { + "direct_url": null, + "metadata_sha256": "0849f5a519bf9bc23ef204443fdd8d6d10678863acac7ca9340fc11bfba5a856", + "name": "protobuf-py", + "version": "0.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "eab5f2f4fd98f67a710a8fb1975b64ffa880a4f977566f022c567e08e324ccd6", + "name": "protobuf-py-ext", + "version": "0.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "39009938840de3a8b2a37eb4668d2601aae8c74e4b74743f73e59996b5b7e6e1", + "name": "psutil", + "version": "7.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "df44b58e8a4cfe57f65773ec47f7bdf2a14c8f5f73a7abf331a6b6237d6d691a", + "name": "py-cpuinfo", + "version": "9.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "2fd4a9efc5e5c74ae4c2fcf1970193c524c62ab22af8d5e66ebf7df9e6e46e83", + "name": "py-spy", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "d2ccdeb15cddedc81637a83e40baa6397fe269023b738d0fc3cb2d90722e290b", + "name": "pyarrow", + "version": "25.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "47b9f28e971a56f5adf949e0bcf105b0bf6587946566ecf197a2819d8848cc01", + "name": "pyasn1", + "version": "0.6.4" + }, + { + "direct_url": null, + "metadata_sha256": "82ce4c01c6d36841b9801fcdabab9bfe61d0b5e4e440c275941d8a2d4a790730", + "name": "pyasn1_modules", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "45cb345e4c12f63bc843b8c88902cc44c4d624a55aaef8cd5ffbc0ad16356fbe", + "name": "pybase64", + "version": "1.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "d311ae661edeac8ff029ab2960d065a7e792ebf8f79af682daa53109fe81318b", + "name": "pybind11", + "version": "3.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "cce9c0d440d065d4cdfb0d00004b8ddd65cf363a740efc5b0920b29201a59cd9", + "name": "pycountry", + "version": "26.2.16" + }, + { + "direct_url": null, + "metadata_sha256": "a1e33542883c249bf6c263b0023b9ea8a6131a77d9cb2cbc88316968e5eada83", + "name": "pycparser", + "version": "3.0" + }, + { + "direct_url": null, + "metadata_sha256": "faffcc4d7d359cb1047a9f67f7c65096b838c6db6c62852ef20fb27d55649a95", + "name": "pycryptodomex", + "version": "3.23.0" + }, + { + "direct_url": null, + "metadata_sha256": "98929f4cb80451dc3c6c8cd541a3081dccf0dee94afe7d9fa5c214a18ff236ce", + "name": "pydantic", + "version": "2.13.5" + }, + { + "direct_url": null, + "metadata_sha256": "8eccadbe707db97c397fb79073fe791b7998ef3a85f04f817f8991f7697b190b", + "name": "pydantic-extra-types", + "version": "2.11.1" + }, + { + "direct_url": null, + "metadata_sha256": "8f00c91deb34399316a5386eb2e76fe09f14a08dc3045f2e7dce9bf8573796bd", + "name": "pydantic-settings", + "version": "2.15.0" + }, + { + "direct_url": null, + "metadata_sha256": "66c729edddc20bf2764bb18bd87d907b08690e50355f39b97acc737b26d1d164", + "name": "pydantic_core", + "version": "2.46.5" + }, + { + "direct_url": null, + "metadata_sha256": "394500d78a0c1a433ae8ca3693152c08f6a901121d4b069cf1540a19759e2950", + "name": "pylatexenc", + "version": "2.11" + }, + { + "direct_url": null, + "metadata_sha256": "df2e9e9847a2aea0ae6e20fd325aeb16cf3ce7f8913462db6c2398363cd0c0bf", + "name": "pymdown-extensions", + "version": "12.1" + }, + { + "direct_url": null, + "metadata_sha256": "82fcfe724db9f0b51348da89f4f5cdc0b08d08882b1bbc0ca4913d3a0a93bcb9", + "name": "pynvvideocodec", + "version": "2.0.4" + }, + { + "direct_url": null, + "metadata_sha256": "3722422cc1478b175879143dfb78f98b7a5f53f4f684d71b7054fe2e8acd3b89", + "name": "pyqwest", + "version": "0.10.0" + }, + { + "direct_url": null, + "metadata_sha256": "7d1d1c276b7c372d55d17ac7d30f0a4b80a746e147347b8510d1355eea7f80c8", + "name": "pytest", + "version": "9.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "89e7c1c932e52b74bdcaf504389d2d1a2d7ca559b02bf5a09fc80ebd58ad10f7", + "name": "python-dateutil", + "version": "2.9.0.post0" + }, + { + "direct_url": null, + "metadata_sha256": "54f30f811841b6d772f31715712c85bfe0041839cb071f78daf41c700a98642b", + "name": "python-discovery", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "54f30f811841b6d772f31715712c85bfe0041839cb071f78daf41c700a98642b", + "name": "python-discovery", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "0cc19efd76cfbf3bcb2cb0d3ab82191036855859455aa3812c5e9e591e3f34e8", + "name": "python-dotenv", + "version": "1.2.3" + }, + { + "direct_url": null, + "metadata_sha256": "1d866c6124631b9ce1797ad412fff298ab53fc2d95210281d7c8f20e920753fa", + "name": "python-json-logger", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "2d18a1e7286d92a656ead5ec6f83d5ae6dc858634624f6b264703ae88d24d718", + "name": "python-multipart", + "version": "0.0.32" + }, + { + "direct_url": null, + "metadata_sha256": "beaa0efe9ba4b34843f5a0fc7379a73f10e95adb8cc0c31f359ab6f3a42b4def", + "name": "pyyaml_env_tag", + "version": "1.1" + }, + { + "direct_url": null, + "metadata_sha256": "238dc769e22d4f5626750cdff36e920e4a8d69c10d88de6d79b40a59cc13d873", + "name": "pyzmq", + "version": "27.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "de0a5e855bb5bb78b7acdcd2ca60619c6a0c109814881589caf158ec07155662", + "name": "quack-kernels", + "version": "0.6.5" + }, + { + "direct_url": null, + "metadata_sha256": "961ffef199b876fb4d7b10903d78e79f359d703b1638834c61d70b9879932918", + "name": "qwen-vl-utils", + "version": "0.0.14" + }, + { + "direct_url": null, + "metadata_sha256": "faf6ab9027d12de992827a2d8a224996fe6747a8c5f7d31ae495983dc73eefe9", + "name": "ray", + "version": "2.54.0" + }, + { + "direct_url": null, + "metadata_sha256": "c50d8b3ff4d113925b60dc47d1d28e87248a3338024241b0a3a66c8794fbce0c", + "name": "referencing", + "version": "0.37.0" + }, + { + "direct_url": null, + "metadata_sha256": "02acdc52d6f21d5f4b172254daaa94edfaa44c9ebe14d1c00cc4c8fe99b0e1df", + "name": "regex", + "version": "2026.9.29" + }, + { + "direct_url": null, + "metadata_sha256": "ac08207697217d1ffde8a161b424d77d6e2af6b62630fa26d75d08f11076cdca", + "name": "requests", + "version": "2.34.2" + }, + { + "direct_url": null, + "metadata_sha256": "f1abd635c3dff607a4fd654c62a88d9d4c21843cfc9176116c156f4269ca21b5", + "name": "rich", + "version": "15.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "932ff7743a756d0efcc45528d64c275ac3cb40a8dd1787ea10cb303907f0ae4f", + "name": "rich-toolkit", + "version": "0.20.5" + }, + { + "direct_url": null, + "metadata_sha256": "294a1405c0fa34b5f735bcb46459050436849a1e584c643544de99c07c529fb7", + "name": "rignore", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "5e54dd00b4ad336c5161d47de2a5c2212090c44629c28b6538b156256e49282d", + "name": "rpds-py", + "version": "2026.6.3" + }, + { + "direct_url": null, + "metadata_sha256": "0d5895abd80bfc0027c02943abaea4547061b9004bd134950d640d619a697835", + "name": "safetensors", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "91d5de3f641f33a8fbb4b6e91772da68d50b68686971d7b66af2068f2e77b694", + "name": "scipy", + "version": "1.17.1" + }, + { + "direct_url": null, + "metadata_sha256": "297fb30f701a800489c12893a951da3e5bd1f80061a1f43f0d3e9f1d4c6bc6fd", + "name": "sentencepiece", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "4245e0388ddf2048a38ae2a24a3d2c583408b2454aadc680d3c3beede639db3f", + "name": "sentry-sdk", + "version": "2.71.0" + }, + { + "direct_url": null, + "metadata_sha256": "ae8a9e6feec1a76e954d65ea48ac57842c9a7bfb5ac6e5ea82400a5ba9f71a98", + "name": "setproctitle", + "version": "1.3.7" + }, + { + "direct_url": null, + "metadata_sha256": "341d00772017437d0f6e3c943ae353f243c39fedfba403aea47cced927a76516", + "name": "setuptools", + "version": "79.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "ff4bcfb192bd542ed8f1794fb32ffc9eabd932d6e03cb00a4ad5e35a2469af88", + "name": "setuptools", + "version": "80.10.2" + }, + { + "direct_url": null, + "metadata_sha256": "f1e5a532fb8cda0bbc370e3db6cb9cea72a065d12ddd6a14976ba3cf66264221", + "name": "shellingham", + "version": "1.5.4" + }, + { + "direct_url": null, + "metadata_sha256": "2aba2cfd9c2ad7625a5d374d141af317d8f92d3534997bf98d127e52848dfc81", + "name": "six", + "version": "1.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "69ae2dfe547624be97fae348e1cfa3793f8854eed32cc1603badedc7d48fb36e", + "name": "smart_open", + "version": "8.0.2" + }, + { + "direct_url": null, + "metadata_sha256": "d415e6c6de7dee117d254a342668c489931bc88eac7ec8678b452078e366da6e", + "name": "smmap", + "version": "5.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "093bc4f0740a6fc28692e616aa8fe68d7e1d76426cc5a5faf9ea722a8ee7aaae", + "name": "sniffio", + "version": "1.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "b3cef071eb1dbeaa76a1273fe2ca2cc8ef36e835165253952d93780962529ac1", + "name": "sse-starlette", + "version": "3.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "3c01ca830e213f0311fe37bc3b46b8ab230a5e7acb894bf0fc8785cb7ccfed48", + "name": "starlette", + "version": "1.7.0" + }, + { + "direct_url": null, + "metadata_sha256": "6017ca508a293cf47a88a78cb330e9cbd131d74ec3c7fbf89bd4300ed3129d30", + "name": "supervisor", + "version": "4.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "fd5eb4925b04f9bffbc6c4f92bf8aea7243b918b43cd359493fce48a7dd3b336", + "name": "sympy", + "version": "1.14.0" + }, + { + "direct_url": null, + "metadata_sha256": "f09f0e24282c5a86346bcd5b10ae5ff81869fa8ef69c3ba524bd0a817a87dda9", + "name": "tabulate", + "version": "0.10.0" + }, + { + "direct_url": null, + "metadata_sha256": "519fa19c146fd58a0a75ecf1461e4bd98f9c06d01800c37d4a80f5fef095f4e1", + "name": "tensorboard", + "version": "2.21.0" + }, + { + "direct_url": null, + "metadata_sha256": "1af7ad76e4073b01ab147eb3c1d8e38b95d38062c6c9bc63890150738642e8eb", + "name": "tensorboard-data-server", + "version": "0.7.2" + }, + { + "direct_url": null, + "metadata_sha256": "9e597f62fc07e3b931d5c8fb0e90706fb6d45465cfb5d01dbd27ba7fc135c02c", + "name": "tensorstore", + "version": "0.1.80" + }, + { + "direct_url": null, + "metadata_sha256": "0da993d16ef6326f471796fcb065622f309c5c1aae6c6295b488ea64bb5c880c", + "name": "textual", + "version": "8.2.8" + }, + { + "direct_url": null, + "metadata_sha256": "52ca6148d4fd1497254855fa610cfdde99191cd42bce7a452fd3a68855504ac0", + "name": "tiktoken", + "version": "0.14.0" + }, + { + "direct_url": null, + "metadata_sha256": "0df9eb495cfb477dcbdfbdcd8c04d952d3eb00d77831630760571e13545398e5", + "name": "tilelang", + "version": "0.1.12" + }, + { + "direct_url": null, + "metadata_sha256": "802b576e011dc61bd2681593e8d802714b6c4ce636a9cf87035026db32ce6262", + "name": "tokenizers", + "version": "0.23.2" + }, + { + "direct_url": null, + "metadata_sha256": "4e1631b2164a49ff9a848d86ce504fdcc15e3540dbb262df8f33a2681a8de513", + "name": "tokenspeed-mla", + "version": "0.1.8" + }, + { + "direct_url": null, + "metadata_sha256": "05086095a775c5dca70998dcf442a848c13f9c68b54a54c510c3542c5abb6563", + "name": "tokenspeed-triton", + "version": "3.8.10.post20260920" + }, + { + "direct_url": null, + "metadata_sha256": "71daba472d0c5ffc25c0231dc29688ab0cb13d5bc7e7d93f6c4cce4169c50048", + "name": "torch", + "version": "2.13.0" + }, + { + "direct_url": null, + "metadata_sha256": "cccd2f1c0e5866e63732f58798c8d642ee6d10cd560d6f691e7981b908c246c9", + "name": "torch_c_dlpack_ext", + "version": "0.1.5" + }, + { + "direct_url": "{\"dir_info\": {}, \"url\": \"file:///torch_memory_saver\"}", + "metadata_sha256": "6276cef17dedbb5ee0d6157bbf63b832e916026281328d995ad3d488c2539618", + "name": "torch_memory_saver", + "version": "0.0.9.post1+slime" + }, + { + "direct_url": null, + "metadata_sha256": "29809ca2c86dda5079654f1f70564a64435e9d08f1964a2412b6f514e1b5ff64", + "name": "torchaudio", + "version": "2.11.0" + }, + { + "direct_url": null, + "metadata_sha256": "7e9be0f3a290e3fd9370d8fe010c7ffd006d5d3d05ab8bdf7df8f92f0fca9c39", + "name": "torchcodec", + "version": "0.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "181fa5e6b399c378711eddcdacd756d3c51317916f8eb160ee36cae7fae9589f", + "name": "torchvision", + "version": "0.28.0" + }, + { + "direct_url": null, + "metadata_sha256": "43d1261aff90cf3d5b1b40cf1f94234d61409b14e59f3766f457c1eec7f7ac15", + "name": "tqdm", + "version": "4.70.1" + }, + { + "direct_url": "{\"archive_info\": {\"hash\": \"sha256=3e1d9f534781c8e608240da0b495b8246317a36382f7609017cbaa7fb1d53f7b\", \"hashes\": {\"sha256\": \"3e1d9f534781c8e608240da0b495b8246317a36382f7609017cbaa7fb1d53f7b\"}}, \"url\": \"file:///wheels/transformer_engine-2.16.1%2Bc9877beb-cp312-cp312-linux_x86_64.whl\"}", + "metadata_sha256": "d882f743161d9d9f35dee4e1a8cc9136fa495f7c660caace01ab8f5602d76aa7", + "name": "transformer_engine", + "version": "2.16.1+c9877beb" + }, + { + "direct_url": null, + "metadata_sha256": "465797a59706d83b45c93fde750b228c3b6e1addc44115de2c4c02ad66d9c5ea", + "name": "transformers", + "version": "5.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "a91982ca086667c592a951973434f7c5a9f27a8300bc97af78dfb496afe53e71", + "name": "triton", + "version": "3.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "d26fbb244532c4051e715f9047cd943e2cc4abb0ac6f2a517fa2986eb1ea726a", + "name": "truststore", + "version": "0.10.4" + }, + { + "direct_url": null, + "metadata_sha256": "c84af1a069084b1b440b3594068dec29200d52d4c1a9b652030448717f270158", + "name": "typer", + "version": "0.27.2" + }, + { + "direct_url": null, + "metadata_sha256": "0ad6653b7439f4bb6a596cb7b01ed1b716458467525c4dc40b75d62bdb943c98", + "name": "typing-inspection", + "version": "0.4.4" + }, + { + "direct_url": null, + "metadata_sha256": "d005280aa13b334ac942d20219102865e559f69ffd06c35c248b2f0d0da3b933", + "name": "typing_extensions", + "version": "4.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "fba2930e9030a18965d243f8d330748db2e67572a81b3b68710462fb5110332a", + "name": "urllib3", + "version": "2.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "bc5717bd6524a33838f285261868bcc8e311e8c29fdb19e41d56c38b04890e84", + "name": "uvicorn", + "version": "0.54.0" + }, + { + "direct_url": null, + "metadata_sha256": "741c006d8441f562aa853a5430df236fbb4af923445491f396bf09943bd30258", + "name": "uvloop", + "version": "0.22.1" + }, + { + "direct_url": "{\"dir_info\": {\"editable\": true}, \"url\": \"file:///vime\"}", + "metadata_sha256": "f85aa01dfdc868756a6583434bbff040f29eb511d47d5b25ada063a84353aac6", + "name": "vime", + "version": "0.3.2" + }, + { + "direct_url": null, + "metadata_sha256": "c25431aaf1950971fe96292f395a41a55b403127bfca0d0b8f7dc9cff5dab75d", + "name": "virtualenv", + "version": "21.14.1" + }, + { + "direct_url": null, + "metadata_sha256": "4e3ee0a31d85e56268640aae853bcee4794dfe8c0483c5c6370517e480c81ae0", + "name": "virtualenv", + "version": "21.14.5" + }, + { + "direct_url": null, + "metadata_sha256": "d4ed5c7551cddb8c1aeff2f9f27b3491f6ad2c9afda8e7bb9779c33fa12a536c", + "name": "vllm", + "version": "0.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "84b482e09bac949e992594757214a1920c667a5d898ee320e309250697f6d26e", + "name": "vllm-router", + "version": "0.1.15" + }, + { + "direct_url": null, + "metadata_sha256": "9b16c871eb1060a5218e9b9a9ad33288d94844cfaf43f08dbb6c32423bde8fe3", + "name": "wandb", + "version": "0.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "8e4f2be437dfe4eb3c6c959e517ac20b75d06525563f1ebcbf06f9ec648bd7c1", + "name": "watchdog", + "version": "6.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "15218afb42938907c2ca74c54e3d8e3a5406493c4761e29e38e82bfec0f84296", + "name": "watchfiles", + "version": "1.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "8863af96e88b7db9990da99aa6c46816eacc3d2f9ae1297b53381b033cd70119", + "name": "wcmatch", + "version": "11.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "f46e6bd6cfafb2b684c29587b017b7096fd9155b74eda25a22eca784b9803ab7", + "name": "websockets", + "version": "16.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "ce82db5ccfefa4bfbe4e25a36e1f91e8e7d51fcaeb31586c4d48e1c69f99168b", + "name": "websockets", + "version": "17.1" + }, + { + "direct_url": null, + "metadata_sha256": "0f142a2c09eac643c7d0bfe77f3f121184c0b17914afbd32af669ed19b2b02ef", + "name": "wheel", + "version": "0.47.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd58938e51a3c5cb363f6f22eaa2a8a7accc1ce373388de167a82f77d3e5783f", + "name": "wrapt", + "version": "2.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "b0b72c1941f04499ca7e1a3a6e479aee8df902c3d49979624b59dba8c3228d37", + "name": "xgrammar", + "version": "0.2.8" + }, + { + "direct_url": null, + "metadata_sha256": "ef8861f39e5c36255966a36032651f937d890d55f31f1c26304b488f1ba34332", + "name": "xxhash", + "version": "4.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "740c08057b6eb69c58402c87d652af0a471e46325d811f2c605632a18817152f", + "name": "yarl", + "version": "1.25.1" + }, + { + "direct_url": null, + "metadata_sha256": "7b060e4d24394b5431875e2f74fec8e6bffa79d2e6b4cb8c7e2a5187dd2d8d69", + "name": "z3-solver", + "version": "4.15.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "3d76d4fbc95f0851191147db12300938c67a6f8fb1df884886d9601272ccc4e8", + "name": "zipp", + "version": "4.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "d3de2651e4e908dbb7c9d80508e5179590217dfac4993dc8b04381c5b9718c4c", + "name": "zstandard", + "version": "0.25.0" + } + ], + "executable": "", + "installed_provider_sources": { + "vllm/compilation/__init__.py": { + "path": "/vllm/compilation/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/backends.py": { + "path": "/vllm/compilation/backends.py", + "sha256": "fa4bff8920b363efbbde9456f135fa9d2c004a5bde1898877f177418b2d8b008" + }, + "vllm/compilation/base_static_graph.py": { + "path": "/vllm/compilation/base_static_graph.py", + "sha256": "5cfe8e06db84aa42cd41cdd93ebe93af00b3a242c8011042057530e2922b523a" + }, + "vllm/compilation/breakable_cudagraph.py": { + "path": "/vllm/compilation/breakable_cudagraph.py", + "sha256": "3cc427612a08e2b9b3fee47548026400c1d0776e2d4747535e59ef5512bdf1e8" + }, + "vllm/compilation/caching.py": { + "path": "/vllm/compilation/caching.py", + "sha256": "71d212452dde742fbf28b8a01ed29d3c08a7457ff7f8da2a20ce9d17e902c2cf" + }, + "vllm/compilation/codegen.py": { + "path": "/vllm/compilation/codegen.py", + "sha256": "e04833bec88cf9d1a13aa7341e30e3233d1138bfe23424e0fd34d664b3fedb9f" + }, + "vllm/compilation/compiler_interface.py": { + "path": "/vllm/compilation/compiler_interface.py", + "sha256": "8d84e2864bf83f754bae9e9f77119e0287cca9f97f5fa5ec2535e07b5ad88944" + }, + "vllm/compilation/counter.py": { + "path": "/vllm/compilation/counter.py", + "sha256": "d8158c54dd36a357bf24f6f84dc22f572d3a27f4875f3d5779b12bc5d454ff76" + }, + "vllm/compilation/cuda_graph.py": { + "path": "/vllm/compilation/cuda_graph.py", + "sha256": "05c86392d7fae967ac73076dba7e01990a0e3ae619e4866450a0c1be56bd1192" + }, + "vllm/compilation/decorators.py": { + "path": "/vllm/compilation/decorators.py", + "sha256": "cab6962e8a1fead59c75f5ed8cb4732f9e5441ff972030c2f4b1c4ba0c58de3c" + }, + "vllm/compilation/monitor.py": { + "path": "/vllm/compilation/monitor.py", + "sha256": "43b24c5cb1bc4d32dc979f3222596905c7b3acc58415328a234402e6edc76abf" + }, + "vllm/compilation/partition_rules.py": { + "path": "/vllm/compilation/partition_rules.py", + "sha256": "857d2fb06dc871ea1d3717cd01fbd4e5205984100d98b7b72a2933d6ff1cfa4d" + }, + "vllm/compilation/passes/__init__.py": { + "path": "/vllm/compilation/passes/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/fusion/__init__.py": { + "path": "/vllm/compilation/passes/fusion/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/fusion/act_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/act_quant_fusion.py", + "sha256": "1fa9c3ca4fb424685b7053c3dda89dda16c98dc5645d85f0f28dca58429792b3" + }, + "vllm/compilation/passes/fusion/add_rms_fusion.py": { + "path": "/vllm/compilation/passes/fusion/add_rms_fusion.py", + "sha256": "e46998552628aa5cd5962fc39ea39ae824fd97e6aeba1d176e9cc7cade39837b" + }, + "vllm/compilation/passes/fusion/allreduce_rms_fusion.py": { + "path": "/vllm/compilation/passes/fusion/allreduce_rms_fusion.py", + "sha256": "0af193505880cec0f6ffa224c688bce3c9ddc318dccdf04a696b4e4b4506a963" + }, + "vllm/compilation/passes/fusion/attn_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/attn_quant_fusion.py", + "sha256": "ecc64e82be4481954c9cac6c23d7794846ab19486b570f2dda07ab5ad67c5a49" + }, + "vllm/compilation/passes/fusion/collective_fusion.py": { + "path": "/vllm/compilation/passes/fusion/collective_fusion.py", + "sha256": "1e2c8539d6960b45907fb3bf0482441ea7250e97c56ffdea1500514efa0b164d" + }, + "vllm/compilation/passes/fusion/matcher_utils.py": { + "path": "/vllm/compilation/passes/fusion/matcher_utils.py", + "sha256": "50ac5714ce1bb113520de769ea6234316acc470a8cdf2537a996ce9a9d54337d" + }, + "vllm/compilation/passes/fusion/mla_attn_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/mla_attn_quant_fusion.py", + "sha256": "a966fe7f58bf9228379f793f5fd851735a97f9639722766b2a20cb79a9e4baec" + }, + "vllm/compilation/passes/fusion/mla_rope_kvcache_cat_fusion.py": { + "path": "/vllm/compilation/passes/fusion/mla_rope_kvcache_cat_fusion.py", + "sha256": "1602cc28055ffa8d1123ddb1d256bf0bd12006fd06ea7e16a986c55746dbe0dc" + }, + "vllm/compilation/passes/fusion/qk_norm_rope_fusion.py": { + "path": "/vllm/compilation/passes/fusion/qk_norm_rope_fusion.py", + "sha256": "aebc7d1a5189b65ac665afcc169e7baebd53efe719c48e35e7c5babe85af0d39" + }, + "vllm/compilation/passes/fusion/qk_norm_rope_kvcache_fusion.py": { + "path": "/vllm/compilation/passes/fusion/qk_norm_rope_kvcache_fusion.py", + "sha256": "f0cfd0d83ec4acb09f9bf91d199b114e9d4995e3059c13eb23a6978ce7c07eb2" + }, + "vllm/compilation/passes/fusion/rms_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rms_quant_fusion.py", + "sha256": "4852aa44e0e2087043fdac271bda9b8d9bfe3201bb84ce3919b8ed454d8083c4" + }, + "vllm/compilation/passes/fusion/rocm_aiter_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rocm_aiter_fusion.py", + "sha256": "372e76c68c75209a085deec6dd22b3816be633613ca82f6f2925c1b3773d61a0" + }, + "vllm/compilation/passes/fusion/rope_kvcache_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rope_kvcache_fusion.py", + "sha256": "3a756e9049593537143b5a56ab9185a6bc83f57ed81d84226d7791a46a984b53" + }, + "vllm/compilation/passes/fusion/sequence_parallelism.py": { + "path": "/vllm/compilation/passes/fusion/sequence_parallelism.py", + "sha256": "3af7e420dcb35fff0bae0f8f599d0f1bda34445ebe194059892a434b2976d654" + }, + "vllm/compilation/passes/fx_utils.py": { + "path": "/vllm/compilation/passes/fx_utils.py", + "sha256": "730708213acf9d1b5f3176b433dfc197a5f3c81b5ce443f0923c526924833003" + }, + "vllm/compilation/passes/inductor_pass.py": { + "path": "/vllm/compilation/passes/inductor_pass.py", + "sha256": "1f380aacf7adabb8bf8b7d41c0a93473947f0716f7445bd910fd448f6c08e672" + }, + "vllm/compilation/passes/ir/__init__.py": { + "path": "/vllm/compilation/passes/ir/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/ir/clone_elimination.py": { + "path": "/vllm/compilation/passes/ir/clone_elimination.py", + "sha256": "5297078f5cddce081faba5215814275381d2083b32318fcfeb2bf9d69fedb7c7" + }, + "vllm/compilation/passes/ir/inplace_functionalization.py": { + "path": "/vllm/compilation/passes/ir/inplace_functionalization.py", + "sha256": "2dc4f22c6f05224828c2941479185b1452d4490f488b7f0bfd124334e7809fed" + }, + "vllm/compilation/passes/ir/lowering_pass.py": { + "path": "/vllm/compilation/passes/ir/lowering_pass.py", + "sha256": "d9c3d90f63138420f0e5489447b5996573fcfbbab939da2efccd00848492b172" + }, + "vllm/compilation/passes/ir/utils.py": { + "path": "/vllm/compilation/passes/ir/utils.py", + "sha256": "f59d33a6c7d0616cbeec1e9fb1d6c948881bf81fe124caeb906eac2e2197ea21" + }, + "vllm/compilation/passes/pass_manager.py": { + "path": "/vllm/compilation/passes/pass_manager.py", + "sha256": "486979a058aa2e20ebedcbb6e039f7a59f38d2efd2cda11219fae4067be0968d" + }, + "vllm/compilation/passes/utility/__init__.py": { + "path": "/vllm/compilation/passes/utility/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/utility/fix_functionalization.py": { + "path": "/vllm/compilation/passes/utility/fix_functionalization.py", + "sha256": "ad5b504a05ccee023869b0c8df70ec2fff9a4a80d25fd903e2b532f470e7203f" + }, + "vllm/compilation/passes/utility/noop_elimination.py": { + "path": "/vllm/compilation/passes/utility/noop_elimination.py", + "sha256": "8abf85d28c13f95059f2acbc0275b9b9ed2ad4990f7c5763bbe3067a4aa629ce" + }, + "vllm/compilation/passes/utility/post_cleanup.py": { + "path": "/vllm/compilation/passes/utility/post_cleanup.py", + "sha256": "1c38b14fc209165cbcf8ca763a17ac4e528b97f59b573e5d52df2cce7d758de3" + }, + "vllm/compilation/passes/utility/scatter_split_replace.py": { + "path": "/vllm/compilation/passes/utility/scatter_split_replace.py", + "sha256": "138402cc3097768a32e9e5b8d1a054b6176e494bddc8684e23ca2dc5fdc3fdda" + }, + "vllm/compilation/passes/utility/split_coalescing.py": { + "path": "/vllm/compilation/passes/utility/split_coalescing.py", + "sha256": "0b02acd9e1ad43d7b3e128b914e969b9580773f2818078846dfbf163a8bd0871" + }, + "vllm/compilation/passes/vllm_inductor_pass.py": { + "path": "/vllm/compilation/passes/vllm_inductor_pass.py", + "sha256": "4f83ffb67f834a214221d810c7843a8e41eb4e5930eb40adbd8cf054ff6fb9c6" + }, + "vllm/compilation/piecewise_backend.py": { + "path": "/vllm/compilation/piecewise_backend.py", + "sha256": "6525318ff3ca2e4978e24dd9232a7ae0a02e920e19604b83db6f6043d1f8a54d" + }, + "vllm/compilation/wrapper.py": { + "path": "/vllm/compilation/wrapper.py", + "sha256": "c1b1fca679ea16aa07a696831a810c0d531da2bb0ea32dd6f1a95cdaef36de07" + }, + "vllm/config/__init__.py": { + "path": "/vllm/config/__init__.py", + "sha256": "56fb0cb1598d297e4f95a97e5d86dc624145d1532f5faa432b7d2834d7155bd5" + }, + "vllm/config/attention.py": { + "path": "/vllm/config/attention.py", + "sha256": "c41f345b512d9b7df882328257eb3a6381f41088c11ae83b5ecd8a9e8265d1bc" + }, + "vllm/config/cache.py": { + "path": "/vllm/config/cache.py", + "sha256": "f1c226ba679c884930dbfcaf41a57248b137a9a20d3ed8e3d3b31752bb484c07" + }, + "vllm/config/compilation.py": { + "path": "/vllm/config/compilation.py", + "sha256": "c9cec5c7200e8e559810ec8c30113ad61dab6780f9f7fb3c116bd0d9b5a43065" + }, + "vllm/config/device.py": { + "path": "/vllm/config/device.py", + "sha256": "7b82eee02ceb5842337451a27a3d5729920c47e25e8f6bf3997f5146f9330a9c" + }, + "vllm/config/diffusion.py": { + "path": "/vllm/config/diffusion.py", + "sha256": "1fa9fd2478a866098a28a3586b55af2f9738656b7813a55d76539c10dd99fe8d" + }, + "vllm/config/ec_manager_config.py": { + "path": "/vllm/config/ec_manager_config.py", + "sha256": "418b387dbe7bdf67deddce331c205768a2d42aea37141f59fb02a8a1528e3552" + }, + "vllm/config/ec_transfer.py": { + "path": "/vllm/config/ec_transfer.py", + "sha256": "0eabb2c25194676d23c6acf59562672a1dd24415043ac5737d621ce0d681ec70" + }, + "vllm/config/engram.py": { + "path": "/vllm/config/engram.py", + "sha256": "34043a22385a041d4e9be8857f64174c990c2ca8308b97b6a952b5ab96c20ee5" + }, + "vllm/config/fault_tolerance.py": { + "path": "/vllm/config/fault_tolerance.py", + "sha256": "b166b24373d599fb15ddc575e3061cf0dcb42174d0369d8468008e7ffbb2a4e2" + }, + "vllm/config/kernel.py": { + "path": "/vllm/config/kernel.py", + "sha256": "27e23c584cf862f4091858db6dc85bbc2a01f4baf9dca3f232ae6f3bac02390e" + }, + "vllm/config/kv_events.py": { + "path": "/vllm/config/kv_events.py", + "sha256": "b1dbaee3e6830e381e9157fe3bab0d65c357da88ff7cdf8b1e4b3a4e75c82a87" + }, + "vllm/config/kv_transfer.py": { + "path": "/vllm/config/kv_transfer.py", + "sha256": "506fae7a9d7f32cb3646156cf9249a856f6317dff6c4c85db70efd34418c429b" + }, + "vllm/config/load.py": { + "path": "/vllm/config/load.py", + "sha256": "bd6431c22e078362d749a56a2c84145432ebf2605d8bcfa2ac679182d18ed630" + }, + "vllm/config/lora.py": { + "path": "/vllm/config/lora.py", + "sha256": "ed6cf6575f5950f079a62f904caeae93d1a4745dd8c21788b74367883bcd4b08" + }, + "vllm/config/mamba.py": { + "path": "/vllm/config/mamba.py", + "sha256": "2090f791201ca45dd4f1d72b8651268890eb07574b6084721194eb8fdf612c48" + }, + "vllm/config/model.py": { + "path": "/vllm/config/model.py", + "sha256": "f4168b67cc93ce72ff2a6d4c66974223e32fd0f1fab4c05e44bd68a275e18d69" + }, + "vllm/config/model_arch.py": { + "path": "/vllm/config/model_arch.py", + "sha256": "2babe28329d7b60b4e205f6d72c687f0f66e6535aa2f20411469e5ec362f6b5f" + }, + "vllm/config/multimodal.py": { + "path": "/vllm/config/multimodal.py", + "sha256": "271911aee151f17f092228cecee82af0713e9a47340ffdf66834ca7638a50d22" + }, + "vllm/config/observability.py": { + "path": "/vllm/config/observability.py", + "sha256": "d57c59ec776477ab0a20e9f2b945bc954d8ea3737c869259480e9aa10dfb9f6d" + }, + "vllm/config/offload.py": { + "path": "/vllm/config/offload.py", + "sha256": "6f2db3d9a2730588473d5155811690c6241b167a21dcb62fbbd9ebb6386de42c" + }, + "vllm/config/parallel.py": { + "path": "/vllm/config/parallel.py", + "sha256": "f012ace89e3fb730a467f729f602679bc145c49f0d10721811c9d818570e7b2b" + }, + "vllm/config/pooler.py": { + "path": "/vllm/config/pooler.py", + "sha256": "9f01913dcb7bccbf9b672b16643f18471ae202455992e8afaf0725a17f2b3d08" + }, + "vllm/config/profiler.py": { + "path": "/vllm/config/profiler.py", + "sha256": "04d24fa1dc7cfedca6b5c7d9115f7f7021722fc46a5b15234a1e3b3a506c93e5" + }, + "vllm/config/quantization.py": { + "path": "/vllm/config/quantization.py", + "sha256": "acffc52f525b39a88efd656f1ed705ce3a1b758298bb0684fac7694776bc10b4" + }, + "vllm/config/reasoning.py": { + "path": "/vllm/config/reasoning.py", + "sha256": "2c4f7bdee48a9fb3d93787c4c32361c2411417cce452cfde86808d8759977861" + }, + "vllm/config/scheduler.py": { + "path": "/vllm/config/scheduler.py", + "sha256": "822179da62be4bca0619c8590082ae09123f5c4415f9cc2037be673748239edb" + }, + "vllm/config/speculative.py": { + "path": "/vllm/config/speculative.py", + "sha256": "9c642a87264339c0dbc1d0b57330572149df0f9d5e16c6893b9895e50a619e19" + }, + "vllm/config/speech_to_text.py": { + "path": "/vllm/config/speech_to_text.py", + "sha256": "bf4a566fbde6a1cec1e209070b739650c3302c12696739c88049cb8f723a4c3f" + }, + "vllm/config/structured_outputs.py": { + "path": "/vllm/config/structured_outputs.py", + "sha256": "55649776594349b8b4aa3e08fc4c88068366732a486d6fb235079188044aa829" + }, + "vllm/config/utils.py": { + "path": "/vllm/config/utils.py", + "sha256": "d035e9e488ba92b6c47a96cf05d9b2a850d53eda8a05115b22ff9af8dbc2fc64" + }, + "vllm/config/vllm.py": { + "path": "/vllm/config/vllm.py", + "sha256": "956b812e5a719bcbfa3a3958801361b38b9c928c96b8c073311bbb96376dfb7a" + }, + "vllm/config/watermarking.py": { + "path": "/vllm/config/watermarking.py", + "sha256": "30e6620a3cd7529f0736ad55e38bc326a6a78dee4552f0722208400041c94a1f" + }, + "vllm/config/weight_transfer.py": { + "path": "/vllm/config/weight_transfer.py", + "sha256": "92edd9e5ea90c97a8f3c5f20abf1734a105ee1f3f89e306e7ba87e758f1f767e" + }, + "vllm/distributed/__init__.py": { + "path": "/vllm/distributed/__init__.py", + "sha256": "97f28c30b32662af8cab163939e4ee423037f11630752e13b55cbc25a7d0ab71" + }, + "vllm/distributed/communication_op.py": { + "path": "/vllm/distributed/communication_op.py", + "sha256": "3c3f8ac60db38ece891d39dc1e2f6f1947ad438685893d2e5777d072320bd1b8" + }, + "vllm/distributed/device_communicators/__init__.py": { + "path": "/vllm/distributed/device_communicators/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/device_communicators/aiter_custom_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/aiter_custom_all_reduce.py", + "sha256": "f8eb027ce7a85d94af6260960ceb7f36fc6f1406c9af9c9b6285fddb3f178009" + }, + "vllm/distributed/device_communicators/all2all.py": { + "path": "/vllm/distributed/device_communicators/all2all.py", + "sha256": "1f1b69236acd3cd7bd94520fd6d591bfd31b57c4bc7c9f9f4161ea8bbd0c5f26" + }, + "vllm/distributed/device_communicators/all_reduce_utils.py": { + "path": "/vllm/distributed/device_communicators/all_reduce_utils.py", + "sha256": "ed0ab4dd05b2519a6313892e68824c97b540034664d7f8c3d031b322e33e1bfc" + }, + "vllm/distributed/device_communicators/base_device_communicator.py": { + "path": "/vllm/distributed/device_communicators/base_device_communicator.py", + "sha256": "4a7670f12ed7c7621b25d476e2687c24ca01f3be183fff4a6a25337596fe506b" + }, + "vllm/distributed/device_communicators/cpu_communicator.py": { + "path": "/vllm/distributed/device_communicators/cpu_communicator.py", + "sha256": "e1856c8e91cfbbb4d9ce990c1236e258ba4021e226afcbab645653380b38d64b" + }, + "vllm/distributed/device_communicators/cuda_communicator.py": { + "path": "/vllm/distributed/device_communicators/cuda_communicator.py", + "sha256": "102d95c67ec798cf352b817ba92e8abc9da37f30d1bbdf3aab45d3927b627b93" + }, + "vllm/distributed/device_communicators/cuda_wrapper.py": { + "path": "/vllm/distributed/device_communicators/cuda_wrapper.py", + "sha256": "333b6d9ed173e7a18c7f2b6627a3c9c9ed88892ce52015f05e29d6d245e48ee3" + }, + "vllm/distributed/device_communicators/custom_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/custom_all_reduce.py", + "sha256": "a048c1327c23580805600c0c951831bec333b1ffc4eb26a0e3d34119c4f0c445" + }, + "vllm/distributed/device_communicators/flashinfer_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/flashinfer_all_reduce.py", + "sha256": "b4359760e9b55963676109a5c3a015fb82e190d4df1d021de9ee01e7814cbdda" + }, + "vllm/distributed/device_communicators/flashinfer_pcie_ipc_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/flashinfer_pcie_ipc_all_reduce.py", + "sha256": "8b67b0fc356a565095f56b475cc89c513e3a5eff051ab1c52e5beb0c1a79e9f2" + }, + "vllm/distributed/device_communicators/mnnvl_compat.py": { + "path": "/vllm/distributed/device_communicators/mnnvl_compat.py", + "sha256": "72ee1e6f9571b4c8ecbd9f60cd469d1b565cb79cab519a688a93f290906a2615" + }, + "vllm/distributed/device_communicators/pynccl.py": { + "path": "/vllm/distributed/device_communicators/pynccl.py", + "sha256": "882fb83c5a3c565a3f8fd664b79f5ceae566dca180019ecafd74bc8c11d9f8cf" + }, + "vllm/distributed/device_communicators/pynccl_allocator.py": { + "path": "/vllm/distributed/device_communicators/pynccl_allocator.py", + "sha256": "390e2576cbf4ae06341ca4dab24fc7e4d4f7c24dd444329ed05d828a9ce91460" + }, + "vllm/distributed/device_communicators/pynccl_wrapper.py": { + "path": "/vllm/distributed/device_communicators/pynccl_wrapper.py", + "sha256": "ce63c8da57bb88d4cf89956bd70bb63f0f44bfad468ddb37b765611551f6d99f" + }, + "vllm/distributed/device_communicators/quick_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/quick_all_reduce.py", + "sha256": "8aacb23e7c297b0ae2f80d99c5affd2e7517115d7874be51069d14a44db7b5f2" + }, + "vllm/distributed/device_communicators/ray_communicator.py": { + "path": "/vllm/distributed/device_communicators/ray_communicator.py", + "sha256": "332c37f65495b60564d61db59bc2d30ca0236adc33442d01464790bde9aec897" + }, + "vllm/distributed/device_communicators/shm_broadcast.py": { + "path": "/vllm/distributed/device_communicators/shm_broadcast.py", + "sha256": "f3e7a3f3ff713fccbd535e0d41650ee05bdf8677e83d4b90519910645022c30b" + }, + "vllm/distributed/device_communicators/shm_object_storage.py": { + "path": "/vllm/distributed/device_communicators/shm_object_storage.py", + "sha256": "e097bf7ac0141fe8db4131e8fd553ca2ad5b0600b22a56f3924af6b795e7207c" + }, + "vllm/distributed/device_communicators/symm_mem.py": { + "path": "/vllm/distributed/device_communicators/symm_mem.py", + "sha256": "b06e3ddb9ae880a30ec4a103ce32eb9794223bb0293832e89572af28adaaa544" + }, + "vllm/distributed/device_communicators/xpu_communicator.py": { + "path": "/vllm/distributed/device_communicators/xpu_communicator.py", + "sha256": "527cbfb250760abc62096ee7cd612307b821f21b72dee1687ad866620ec89b6d" + }, + "vllm/distributed/ec_transfer/__init__.py": { + "path": "/vllm/distributed/ec_transfer/__init__.py", + "sha256": "061405bb51df7409c9938b62e25caa8bd6ebf85da6d1700dbd4affe2a0825135" + }, + "vllm/distributed/ec_transfer/ec_connector/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/base.py", + "sha256": "22d4913375bb622473fbe1a77f9376b804949cd8a7e31e9518208f9561d161e2" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/common.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/common.py", + "sha256": "e2267abd8d00a6d2605e1a82ea5c73396a71b427452eab469fcca0134c334e7c" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/connector.py", + "sha256": "72cd35d9fd754a2992dd090a8af13c91e0789b4038ac29276750d823120235db" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/base.py", + "sha256": "19e8df88b0fa831997896355ecdd49e0d86cb074cd7ae28aed0b328b0bb3ab2e" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/zmq.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/zmq.py", + "sha256": "435641c0e37551ab4937855abd067be26905b91215e759cbd9d28a419a34ff9a" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/base.py", + "sha256": "3be698aeb67d32ee3741e76b2fb71806941c587578583acf8fbc42fbf22b46a5" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/nixl.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/nixl.py", + "sha256": "03af8f6549a6027b7262a482907af591e45f28b9b1c5a3408bbc6600e38797e5" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/ec_shared_region.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/ec_shared_region.py", + "sha256": "e40607952c9920024455eca2f419e8c3ef1de9a4d8b27c147a33bb941b8c08b1" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/protocol.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/protocol.py", + "sha256": "05878336884396bfbef77b96b0fa6359f6fa0aba912961f14a84f5a436f27038" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/__init__.py", + "sha256": "01c42385bf3a55cff09cc05ba956f6dd4b8b6b986bf4d6eca4e566cb045b48e0" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/embedding_cache.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/embedding_cache.py", + "sha256": "7359fb980af1fc30b3253681310ef636e2b4a19134e04a93270c9c45de2572d8" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/session.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/session.py", + "sha256": "5973548a919e13c866222b91d502686a6757a31e5a5664b879bf2887ed9fb212" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/utils.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/utils.py", + "sha256": "160ac665f20f2c75b343c1e784084f2b0b4d1cf8fdb28ee15deee4dc8ed0ce45" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/worker/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/worker/__init__.py", + "sha256": "f08d296d3560c42173ae8af961af4a768033ccf1e36e9c17c0cdd53013d0c52e" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/worker/descriptor_buffers.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/worker/descriptor_buffers.py", + "sha256": "be7c81be214e995da8499105ba485854d9c19d6f8e905f8f1b87b83694ca0864" + }, + "vllm/distributed/ec_transfer/ec_connector/example_connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/example_connector.py", + "sha256": "09022ce07a89114bb65d9befd2e60873453aed11bbac8c0a75c1e6084e785a5f" + }, + "vllm/distributed/ec_transfer/ec_connector/factory.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/factory.py", + "sha256": "d6cedca0a99c3dd2b03cd1c15d17472b983e3f7d8f5baf4a12eecaf6abedb817" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/__init__.py", + "sha256": "1cbfc2f95f8f4d48a9253056eb1fd4b562062884e3fd5cb6571583c352fc16f3" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/config.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/config.py", + "sha256": "98c60696f79d1de67d2364cd9e8a42a393b5c8e17ed9af2f971368e47891d7b3" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/control.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/control.py", + "sha256": "58e0d1a423fbe958bfa586ac26a17107e08d0b31d044b4c74ab4dde880e7ca9b" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/memory.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/memory.py", + "sha256": "d5e90b1348de670a70f110d58eedcbdbd053db72c21dd007c3f5275c53951149" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/metadata.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/metadata.py", + "sha256": "497a7e6dfffb7fce80a41d5989f96119b970c143df77bb9d0f9c91d7a46e8c42" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/producer.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/producer.py", + "sha256": "97fa4d0b19475574778eab02f55fad73db9642beb9156da890314fd53fa1a7ab" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/reservation.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/reservation.py", + "sha256": "4790bc65cde4db5f17733ca2c2910980ba594a8a9b79ee27c5b957dffd4c1113" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/scheduler.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/scheduler.py", + "sha256": "53004b62529a31fdd80dfb2e6026610b95041a77e91f731ae526fefd84e7968d" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/state.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/state.py", + "sha256": "92f375d6c5cc9c83dbe95a7977ad8eb0f1b5629ccee92968bcacdc94eee15d65" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/transfer.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/transfer.py", + "sha256": "ada2113a5402054f1149d3edc2537f4e5e1bd696c9b17291c9f2b4cbf6b59753" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/worker.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/worker.py", + "sha256": "89eb91bb64845b3b121d502972a6b04d448714253becd2ea662e5691cd5acdd7" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake_ec_connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake_ec_connector.py", + "sha256": "aaebab4711bc00dd0c622dfbfd8639fc41e7ed5d1658d7d68fe33e4d5fbef3ba" + }, + "vllm/distributed/ec_transfer/ec_connector/utils.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/utils.py", + "sha256": "11b9014b9c0697f8846deff1a55a22fa86a15dc2ac3e139442fb6d513ac03059" + }, + "vllm/distributed/ec_transfer/ec_transfer_state.py": { + "path": "/vllm/distributed/ec_transfer/ec_transfer_state.py", + "sha256": "9487a41f23fa1a4fa6dfca8b42b8e97a0ee19d8406ffd1dcf4bef66315180827" + }, + "vllm/distributed/elastic_ep/__init__.py": { + "path": "/vllm/distributed/elastic_ep/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/elastic_ep/elastic_execute.py": { + "path": "/vllm/distributed/elastic_ep/elastic_execute.py", + "sha256": "b8f60a4183c79ff6051095b5f95bb385bc7fea0cffe8cd9ebc9087ab0e9f01b5" + }, + "vllm/distributed/elastic_ep/elastic_state.py": { + "path": "/vllm/distributed/elastic_ep/elastic_state.py", + "sha256": "fbf049199841a086fdf2fc1ab8498ef017ad3bf319db65c3ae61acbb536d2e10" + }, + "vllm/distributed/elastic_ep/standby_state.py": { + "path": "/vllm/distributed/elastic_ep/standby_state.py", + "sha256": "15282597550ebd0e07b8492ff192aea1ec0dcec8f0ad34009123e1002cc140c1" + }, + "vllm/distributed/eplb/__init__.py": { + "path": "/vllm/distributed/eplb/__init__.py", + "sha256": "1b9c2ee22abb5888c354c5aa01f0944f253e5e24e135d019778398bbe495a628" + }, + "vllm/distributed/eplb/async_worker.py": { + "path": "/vllm/distributed/eplb/async_worker.py", + "sha256": "424328600ad1003286fc5dfffa1f9482007314c060947818b2f94a8b97811f5e" + }, + "vllm/distributed/eplb/eplb_communicator.py": { + "path": "/vllm/distributed/eplb/eplb_communicator.py", + "sha256": "ba30d9d40e7b81d3f42aa9041d2f328edca4073cfe2de920285eb68375501ed8" + }, + "vllm/distributed/eplb/eplb_state.py": { + "path": "/vllm/distributed/eplb/eplb_state.py", + "sha256": "2f06bc8c63f3fdf55edb5032ae55c0ffcac3e67720ce74ea312e3d141b12acf4" + }, + "vllm/distributed/eplb/eplb_utils.py": { + "path": "/vllm/distributed/eplb/eplb_utils.py", + "sha256": "058af6104faa6d4085c1dca80bbe60d92bf0a7ec9cd92c775a180546c9d8c9c3" + }, + "vllm/distributed/eplb/policy/__init__.py": { + "path": "/vllm/distributed/eplb/policy/__init__.py", + "sha256": "daeb266c88442832b1ab8c8c4cc064891b38b9e9ba00aea324f926c87dc6d37e" + }, + "vllm/distributed/eplb/policy/abstract.py": { + "path": "/vllm/distributed/eplb/policy/abstract.py", + "sha256": "b9fd34c28bbfdded03360d7f3f6f8fb978e82689190d7ae4501dfe520e958c62" + }, + "vllm/distributed/eplb/policy/default.py": { + "path": "/vllm/distributed/eplb/policy/default.py", + "sha256": "3b54229e6240d050480390f6b29d4744fd38437d23719f78a6decf7002296a29" + }, + "vllm/distributed/eplb/rebalance_execute.py": { + "path": "/vllm/distributed/eplb/rebalance_execute.py", + "sha256": "b387e228791149018536eee96cf955b33ba79d801cdc36849d1b47a580ec2597" + }, + "vllm/distributed/kv_events.py": { + "path": "/vllm/distributed/kv_events.py", + "sha256": "de08f01e8736881560256c350a3b6418999dd4aa30f9c6ec9159527f7ed6899a" + }, + "vllm/distributed/kv_transfer/__init__.py": { + "path": "/vllm/distributed/kv_transfer/__init__.py", + "sha256": "c1be4e58ec6923bae607a355ad22891c740f056a69ff7358b1e10ea3fd2680ea" + }, + "vllm/distributed/kv_transfer/kv_connector/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/base.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/base.py", + "sha256": "2ae2a2c48f5731f3533166a75440fe91e764332305b5d713df840edba970789d" + }, + "vllm/distributed/kv_transfer/kv_connector/factory.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/factory.py", + "sha256": "add99c93c587b0098b90b1f8fd6940bdd1f15c236c5c6f1a258411863cb902d3" + }, + "vllm/distributed/kv_transfer/kv_connector/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/utils.py", + "sha256": "317ed40dc837671ca6e666165222e641a0f9b3992aea63bbf54de7e13d40b3a4" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/__init__.py", + "sha256": "5beb6ccad12fdcfe1581982da6f18321caca50e73a6b3259ebf3c8dc8b3ffcca" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/base.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/base.py", + "sha256": "97af64220475c6c9e8273438d7b5138b105ebe6944beb783facb36a3bb76f31b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/decode_bench_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/decode_bench_connector.py", + "sha256": "b4151c88cdec28f1ff9259047abc17baf23b892f4b68769a93bf26e0442b9017" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/example_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/example_connector.py", + "sha256": "6226876ef52d10d0d284d29c337ab44698e8bac6abdb2e0ece53b5756c55d068" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/example_hidden_states_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/example_hidden_states_connector.py", + "sha256": "58c22534dcad0fb73599a2d70a2fb104d5b612a4723be5e777f56a56fe07892c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/flexkv_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/flexkv_connector.py", + "sha256": "de4f68c3bd565ed898e47e0b2980049b966ff31888f1957050d30995d4953762" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_client.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_client.py", + "sha256": "bea6ecff2be281c7e96c1551c7bf463cbb01f2964696067c0ebdb683844f9aab" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_connector.py", + "sha256": "e67ed58015090e5eea9d499883f2a9422673d07f8bdbe0ccff7db15d2460de13" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_metadata_server.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_metadata_server.py", + "sha256": "6800e5cf37809f8a8e28c469c14a434db288bc3bf83a8b62ee06910a20c2da19" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/common.py", + "sha256": "8f2c02c08227a9093e6aeb183961aba36b7812cfc29b8c047a2b2c9d82f79c15" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/gather_scatter_helper.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/gather_scatter_helper.py", + "sha256": "08c1b43de34fbeca77357d7576ac1d17cba974b59d695562f68bb713061e7b54" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/hf3fs_mock_client.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/hf3fs_mock_client.py", + "sha256": "bec61a9b0c4b9124b2292d7646d76411da44396389349b53cdcbc46353c8780e" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/connector.py", + "sha256": "8c61094ce0a3a702908f9576f69482e6bf314738a2cbe33a7d3b47258fa0ab43" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/stats.py", + "sha256": "d9383a6ad6ab6b8f812d29d90495407b770eeddb79b86e9d0e3216c0bd16e0ed" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/worker.py", + "sha256": "251c0d8e57e4739c03ce3e1c899a95ff5b1752eb27676c28ab88c4ebd62c4776" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py", + "sha256": "5991f9ff8832df32bd421eb67e48237270ea0a408180e523810bb43606acf8f3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/__init__.py", + "sha256": "c53be9796e76cde637514bfc40a525d8c09bb2784b406cb516790d8285dfe433" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/multi_process_adapter.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/multi_process_adapter.py", + "sha256": "6480d67b31ed603027a83edf327880a38aee45eaeee2da9a4efa93e95527c166" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/utils.py", + "sha256": "e204fa6a853ac9c122d7a4e9d146902230f81c48d4321ed5edfdbf979dd49ba2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/vllm_v1_adapter.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/vllm_v1_adapter.py", + "sha256": "e6fe55049c6b007248516d69640e2f3a4809f9d286091a1014ae0949987fa8f1" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_mp_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_mp_connector.py", + "sha256": "c712c386a7c57bf0355a1441ba574232c3aa5498fcb70713a2b3f5d18b64f9c1" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/metrics.py", + "sha256": "de1b1797d0448f74370919dbb0278767f390e8f59e00a0c0528abefb302babc2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_connector.py", + "sha256": "516be01320e64b0110e102eeb69a6ba766dd5ac8cb3036db6b97b7d54413323d" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_utils.py", + "sha256": "26877610463fa8e9d6b092772f2551bcc0c3ac794cbe63996df0414666a8ebba" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/rdma_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/rdma_utils.py", + "sha256": "716e5042edecaba36c7ca763474988f32fa09c2668b8260260149df610af8f83" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/stats.py", + "sha256": "f39b2f0b1db2e4f922e27e684a3f7bbf5bb279b82a0a8c3bb0c7ae69b6d14d24" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/connector.py", + "sha256": "17a350bdb89e17e415d6c52a48684dc15c35a804378daf03e1f3bee1b1b123a3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/coordinator.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/coordinator.py", + "sha256": "a8eb6c2157a96e8d25233b82347ac8409a41d6390b4f2c64242119c05911010c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/data.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/data.py", + "sha256": "d3cfefdb4165a24995749cba452641b318065baa95bb1bae62f922a2f8886e7b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/metrics.py", + "sha256": "f2b9ef8927632d142aad11a374d0725c6e619ea0bb7fea9eda3f3895eb7d277a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/protocol.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/protocol.py", + "sha256": "ccb1cf6a84a932a375215627d2aaac482c351a05df015d636d05373a6845b7c8" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/scheduler.py", + "sha256": "283849ff581ec206444cdf5621622377f1c925e8d7e05cb9294af2f3a5094e79" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py", + "sha256": "55f1682dfd1ed7af689166421337126a0e1d08afa4774a242e098d79e0c1e95b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_common.py", + "sha256": "549bb4fe22dca5095515b9c0712c31cc81a9d4923881e9f112317640fd8c04ab" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_connector.py", + "sha256": "c0f474bc34b579d889fae92eaf43eaca241be51a4697a187a942f0df4e6b6a98" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_engine.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_engine.py", + "sha256": "d842f3772fc6588d5a329a67572324cb74709aa3df4033e64c791a1e706c8e88" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_layout.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_layout.py", + "sha256": "2b4ec046a78897236b0626939bb828b6ec095355097d10bca39e5f3e1c992553" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py", + "sha256": "12d8387239f3194f2cb63ccbd64824648047210323572d66671e6a1eed349fc3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/__init__.py", + "sha256": "cc3145fe3b6d219a267bf40a0f7c0cc9430e4289f94acab2df761b99b671e7ba" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_scheduler.py", + "sha256": "7a1db8c54e4cd846bdac747344f2aea2c2fcf507817928796063225223b7e169" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_worker.py", + "sha256": "49a2e4faf99bef146b5a1d4d18d48f240b1e561c438252274494b359db96ef52" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/connector.py", + "sha256": "b6a0dc916d052f344be72ecfcb111509c13580102c11a860fa726cf0888949a9" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py", + "sha256": "2b23a07c1ec5ac5490c3b818737c7192e344ea9f52cd5623f75939f741ab4e21" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_scheduler.py", + "sha256": "ac3daf8e2246581fec84ab28f2133569421b62c32a120be4923e2f4d0f2f9de9" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_worker.py", + "sha256": "e5060c9b6cf022de35ca3d1da7a369cd6a6a2dea26219af9f7633aaf78af8a76" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_scheduler.py", + "sha256": "2d9008e33937a4d6c5cf9cc2f96160f2bdbc8e987fe37f0798a7fd7eb84c9572" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_worker.py", + "sha256": "87de3ea383dd3aa95fb2c287ea26ded8a330859cc1295f9faa69047e80865c2c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/scheduler.py", + "sha256": "09f1bfe7075b926b26a94529480e33b62c3ac273ff826f6c502084f08b1b2a08" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/stats.py", + "sha256": "3e710654e0b68d1a8592f0c4735c81b22f4bf698fb1a2dfea126d35bf2dd1ef2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/tp_mapping.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/tp_mapping.py", + "sha256": "2d43607f98701b2fad6cc0ac2767619a80b7fc2b3a3c2eb6ed0da4fb05dcd8f6" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/utils.py", + "sha256": "93de863fc8307a61d40b62f1b176b57ae93c363d34b9e9ddc8e666265b6d45dc" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/worker.py", + "sha256": "5134a36ac100ce7a64f5311029a37ac12c38d91093f63100f51f7fe53ea7c3ee" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/canonical_mapping.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/canonical_mapping.py", + "sha256": "e0b3c6f9806a650e0370c43c5068fc31c0fec94615089e15fdf270d7d96f2b64" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/common.py", + "sha256": "9b3f042c6fa1581d10e8f688d2d9bc927bb41b780a9ea01f514d57228e20c978" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/config.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/config.py", + "sha256": "aea82e60889e78dcad8564ec8285b65a6a372824a1545a98ea8e78b6f4fd418a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/events.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/events.py", + "sha256": "d7039b67be95fd444966628184040a94880873c0611c0e6e7525a22650ffdefb" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/metrics.py", + "sha256": "13d76df014e86691f58dc89a879f9808b124690c9267dd5fa3b2d4004d4c5fdf" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/scheduler.py", + "sha256": "2c5282f4a3165cd787fb355e215e3869f1bdd3f2c795b2155fc537c9d135191a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/worker.py", + "sha256": "acc2df53262441dfc6421a3af7f0cbd68cbfaedbd42bbc384d8e1da2d965d194" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py", + "sha256": "cdc16ca7339a10e1993bd6220e6273f86a4e99779f58f25098a24ad31bb0dbd8" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py", + "sha256": "96238ca82ccf07a1eeb59b8f66de17b09034e3eb993ad9a0a836511d3f69706b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/ssm_conv_transfer_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/ssm_conv_transfer_utils.py", + "sha256": "59a949709482e65a007fbe5352fe9b4bb54c2dcc10ad2c1c41f754b6e13299f4" + }, + "vllm/distributed/kv_transfer/kv_transfer_state.py": { + "path": "/vllm/distributed/kv_transfer/kv_transfer_state.py", + "sha256": "2e5fe09438d6e2ee642f8a26cf7dcf632e870d955d30baf002b76a8bfe836d05" + }, + "vllm/distributed/nixl_utils.py": { + "path": "/vllm/distributed/nixl_utils.py", + "sha256": "0bffa3c052c9f67472b1c0bc3816114891b010c968bf4b8a292e7da4d687db53" + }, + "vllm/distributed/parallel_state.py": { + "path": "/vllm/distributed/parallel_state.py", + "sha256": "d9b10ad56833ebc08a753e1a050ef0989c30d4134021b7b7b00150b7bd01adc6" + }, + "vllm/distributed/stateless_coordinator.py": { + "path": "/vllm/distributed/stateless_coordinator.py", + "sha256": "f52848fbe985ed47b1f3e3ca555314736ca06436e8d738ab4390101f0672dcb0" + }, + "vllm/distributed/utils.py": { + "path": "/vllm/distributed/utils.py", + "sha256": "792146b357139e705064a68d3b66858de8a0baaca4dc7db1232fa217d45db231" + }, + "vllm/distributed/weight_transfer/__init__.py": { + "path": "/vllm/distributed/weight_transfer/__init__.py", + "sha256": "3fb9d4712b7c131d522f5e76e73cd8c333f3cc7af86e2d5ecf9b61b57b3b7f5a" + }, + "vllm/distributed/weight_transfer/base.py": { + "path": "/vllm/distributed/weight_transfer/base.py", + "sha256": "8ab06feb04f1379d0558fbdb77fde46bc84f179e0a26742cabab937e88caa38d" + }, + "vllm/distributed/weight_transfer/clients.py": { + "path": "/vllm/distributed/weight_transfer/clients.py", + "sha256": "ff85c79c350241e6d2749ca23c9d295a3289b4b62bfdf0257d32eb94a0151d36" + }, + "vllm/distributed/weight_transfer/factory.py": { + "path": "/vllm/distributed/weight_transfer/factory.py", + "sha256": "4e979eeac8c5bcdbffb10eb4765cfb30120fa7595c6c2561d3fa1a966ced61c8" + }, + "vllm/distributed/weight_transfer/ipc_engine.py": { + "path": "/vllm/distributed/weight_transfer/ipc_engine.py", + "sha256": "1af578293f387a19073c322b24143c3ae4716ce0c5d2bac2a4ef26fe20119330" + }, + "vllm/distributed/weight_transfer/nccl_common.py": { + "path": "/vllm/distributed/weight_transfer/nccl_common.py", + "sha256": "7b2ef7dc7481c3f478f17c49aa36c7bed54142ec5c93d36ed8426c8fdf09e500" + }, + "vllm/distributed/weight_transfer/nccl_engine.py": { + "path": "/vllm/distributed/weight_transfer/nccl_engine.py", + "sha256": "7fd020c919dc7b4723fb78e64da977b180d0fef0cd21df955a037b848dbaa008" + }, + "vllm/distributed/weight_transfer/packed_tensor.py": { + "path": "/vllm/distributed/weight_transfer/packed_tensor.py", + "sha256": "d0a27fb0be1dc029bd5a1d44fdb57a5e54aa4cd74308bedc339e86ac02c7494c" + }, + "vllm/distributed/weight_transfer/sharded_rdt_common.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_common.py", + "sha256": "be0b13801f24e7b62999b19d733c030510353603a2d5320d5dc98ee02daf22a2" + }, + "vllm/distributed/weight_transfer/sharded_rdt_engine.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_engine.py", + "sha256": "2f791970b4815511a7578ef6c957e7da97b071d26a39087a09a17475909791ee" + }, + "vllm/distributed/weight_transfer/sharded_rdt_fake.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_fake.py", + "sha256": "ee11164e17b5f2793252ce77741b8b94e0583046abf896a590131b2008d1fbb9" + }, + "vllm/distributed/weight_transfer/sharded_rdt_trainer.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_trainer.py", + "sha256": "dd413ff461d41826ccd3eb87d3df22f6cd7f24e09aac7644e3e5b40d7beec484" + }, + "vllm/distributed/weight_transfer/sparse_nccl_engine.py": { + "path": "/vllm/distributed/weight_transfer/sparse_nccl_engine.py", + "sha256": "e11b409454dda2b05ea34e8115ac19027c5e65cb2a5e9682c494f16a50e978f4" + }, + "vllm/model_executor/determinism/__init__.py": { + "path": "/vllm/model_executor/determinism/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/determinism/batch_invariant.py": { + "path": "/vllm/model_executor/determinism/batch_invariant.py", + "sha256": "af8f8d256a48fc214edf426fbe891fb15bd8b1d7ae98b811c736ff1eb0fae798" + }, + "vllm/model_executor/determinism/batch_invariant_configs.py": { + "path": "/vllm/model_executor/determinism/batch_invariant_configs.py", + "sha256": "72ea0d4df0ab5ae288abb7df5c203d2ad5f1709c7295d87ec72da775fddc1b7a" + }, + "vllm/model_executor/layers/fused_moe/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/__init__.py", + "sha256": "64a32665be6d5afcfbaf7a0915717267278b66b880b908b0263ea58f08e51b5e" + }, + "vllm/model_executor/layers/fused_moe/activation.py": { + "path": "/vllm/model_executor/layers/fused_moe/activation.py", + "sha256": "78dec0e85e0c040304515f64ccf8f2c6a7a2e5b9f1124a2138a97d9a02585541" + }, + "vllm/model_executor/layers/fused_moe/all2all_utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/all2all_utils.py", + "sha256": "dc4750a446f7de31d09a46034da5fdf479bc169af90f47aa9af8ae15e67b0828" + }, + "vllm/model_executor/layers/fused_moe/b12x.py": { + "path": "/vllm/model_executor/layers/fused_moe/b12x.py", + "sha256": "ee76cc6aa801e24be8ec78a9e8502061ad48667d5ff8711e43f68fba912425bd" + }, + "vllm/model_executor/layers/fused_moe/config.py": { + "path": "/vllm/model_executor/layers/fused_moe/config.py", + "sha256": "a3a87cebcc7ac85d73f471dcfafc2d899c6fc08f264777b74a0e919adac9e03f" + }, + "vllm/model_executor/layers/fused_moe/deep_gemm_utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/deep_gemm_utils.py", + "sha256": "8fdcd857eb333f9c68902105f157568d52067c94ba1e2df6dbfe0474ef1f4c02" + }, + "vllm/model_executor/layers/fused_moe/eep_reconfigure.py": { + "path": "/vllm/model_executor/layers/fused_moe/eep_reconfigure.py", + "sha256": "9d7580265e8563e1140c2bb4c3a81a35ddd54903f5ec0a2720ffc064681f02f9" + }, + "vllm/model_executor/layers/fused_moe/expert_map_manager.py": { + "path": "/vllm/model_executor/layers/fused_moe/expert_map_manager.py", + "sha256": "308c00f63fcb6f44518ec3a56d8f902c7bba75928c2e3aea30fbe1f3f473973b" + }, + "vllm/model_executor/layers/fused_moe/experts/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a16_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a16_moe.py", + "sha256": "53deea255175171971422d14082ad139b5ec7b62e21429a4c7cc0ebbefd29cdc" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a8_moe.py", + "sha256": "f3fc51b95ed89862381908a0134e326228827f44854248db9585a9c4899c34f4" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp8_moe.py", + "sha256": "af6db1760961a5a71234f8b1cdf42e9e30a236e13601b0826a75110b79724948" + }, + "vllm/model_executor/layers/fused_moe/experts/batched_deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/batched_deep_gemm_moe.py", + "sha256": "b0cd4ea706583518dc608fb56f832fc3595f24bd863b03ef1e8c22b36b873508" + }, + "vllm/model_executor/layers/fused_moe/experts/cpu_int4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cpu_int4_moe.py", + "sha256": "67170af3ba9dc4c4f71d78a72efc3fa4e366eac614936a79911dae5c75ac1864" + }, + "vllm/model_executor/layers/fused_moe/experts/cpu_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cpu_moe.py", + "sha256": "0754cd4ff1b28e6d3932a67609d335acefd28f95a841f0492923813356a6d81e" + }, + "vllm/model_executor/layers/fused_moe/experts/cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cutlass_moe.py", + "sha256": "db901bdbcd3fdac23a1d74e39c51e67f14a82be787b2fd704ed1e787372ae868" + }, + "vllm/model_executor/layers/fused_moe/experts/deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/deep_gemm_moe.py", + "sha256": "16911a64a72eafc26a1bcb544a91f90144d85dc41e3ee57cf20e89925227bbb7" + }, + "vllm/model_executor/layers/fused_moe/experts/fallback.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fallback.py", + "sha256": "1bdd0a4f2ebaa40ec96a5aacc07aee61511af59e6324ce456aa65003b6e2991a" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_b12x_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_b12x_moe.py", + "sha256": "e613afe5da2742e42c717c1a0a56bd9e1c7e3e0452a828db0013d81063518954" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_batched_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_batched_moe.py", + "sha256": "295254dfeeec8df3eb8110e6f659a946cb9cded3de1565ecad4d741b3c3f3e00" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_moe.py", + "sha256": "08578bcd0cf72d6a470e40950175e73639efaa6d8d23c6da0869345312b229c9" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutlass_moe.py", + "sha256": "52887cec5fe628e0a4e7793deb546b40f6c29f7362b3b436c10ca36934ab9826" + }, + "vllm/model_executor/layers/fused_moe/experts/fused_batched_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fused_batched_moe.py", + "sha256": "2435587fc7f8fe8ea341ea0eb8f14c11f3f5b31fbbb9b29ce569ad3bace6e6a0" + }, + "vllm/model_executor/layers/fused_moe/experts/fused_humming_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fused_humming_moe.py", + "sha256": "a6830a76ff7f4cd3479b9c8372a30d03e8301604555cbdbcd9ac89a813b7431a" + }, + "vllm/model_executor/layers/fused_moe/experts/gpt_oss_triton_kernels_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/gpt_oss_triton_kernels_moe.py", + "sha256": "1613a7a6b256e8faee6fdcfae84f293492db6229d28ceb3e8a8d6093af480e36" + }, + "vllm/model_executor/layers/fused_moe/experts/int4_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/int4_emulation_moe.py", + "sha256": "f12857caf0671a341687ad3c5f48616b816ed51e1bcbdefa0a7edbecdb81a79d" + }, + "vllm/model_executor/layers/fused_moe/experts/lora_context.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/lora_context.py", + "sha256": "9b41eefaaa57c5dd0dc54217ef95978821b0c52e90ea4db8b0752e08452bd3e5" + }, + "vllm/model_executor/layers/fused_moe/experts/lora_experts_mixin.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/lora_experts_mixin.py", + "sha256": "b2bc55ed6be98b526c6a5698e2d98300650e78555f56b1820e58c04888e2a373" + }, + "vllm/model_executor/layers/fused_moe/experts/marlin_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/marlin_moe.py", + "sha256": "93916b721548e6194dc70cf6cec224b4b1456a0cc0980235e97beba7bf36541d" + }, + "vllm/model_executor/layers/fused_moe/experts/mxfp8_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/mxfp8_emulation_moe.py", + "sha256": "d09c62ad1398c51ff6f515f2a61014ee9e9a9798d0fe9762c47f446efc5edbef" + }, + "vllm/model_executor/layers/fused_moe/experts/mxfp8_native_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/mxfp8_native_moe.py", + "sha256": "01a42cebf18189e566034111b2145573c655319e8af1a56db60d53a319c40613" + }, + "vllm/model_executor/layers/fused_moe/experts/nvfp4_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/nvfp4_emulation_moe.py", + "sha256": "f24467762b60702f0df122ed64786be839a838a9b6cafaecbd04d35fbfedb189" + }, + "vllm/model_executor/layers/fused_moe/experts/ocp_mx_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/ocp_mx_emulation_moe.py", + "sha256": "dcaa60a9ebdb0bd8223b37af41f018ce7f95716ec7cd8526850f4433a579213b" + }, + "vllm/model_executor/layers/fused_moe/experts/rdna3_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/rdna3_moe.py", + "sha256": "e4abd802dc2f0ad9b338ebde397633c761d881c37813e2dc229902c526b597d8" + }, + "vllm/model_executor/layers/fused_moe/experts/rocm_aiter_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/rocm_aiter_moe.py", + "sha256": "bf09a7b783f5752d61cab76221b32b598d8846d801ee39dc9209d636c9659c6f" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_cutlass_moe.py", + "sha256": "ffce5ad627c540940d122d8df7981644b2eb35d07d480995c0f4f30517815fac" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_deep_gemm_moe.py", + "sha256": "c7209fa5e1ccb184a68b37a0706fc571a76696c2ae79802ddc7f889b1c29684d" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_moe.py", + "sha256": "806fbccfe30f5fbd578acf773add99bdf022b12d617958bd6281aef6de369701" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_bf16_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_bf16_moe.py", + "sha256": "76256de96fefece9c41ffb1108487919e24da364cf4412c6c3474498aba59137" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_fp8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_fp8_moe.py", + "sha256": "b54c7ceb45e5d07aa905f42ea44caccf85ca35ba9fb825d4c01947764510f68b" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_lora_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_lora_moe.py", + "sha256": "dd35a9e4242c0dc8d691168813e14bd5543e591f02ee529d0691e07651942c5a" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_mxfp4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_mxfp4_moe.py", + "sha256": "fe780f125a3dc3ba919659e9b85340bd32afcbfe47733a002bfdfb92eadf400c" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_mxint4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_mxint4_moe.py", + "sha256": "2106d67c2951aa690c4656ca58240d09c366cffe8cb4d9fd575df016c377cc30" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_nvfp4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_nvfp4_moe.py", + "sha256": "e938ac9f058f7c90b41c9610513239bec54a95304bfb5ff5f6897ebd54733d7e" + }, + "vllm/model_executor/layers/fused_moe/experts/xpu_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/xpu_moe.py", + "sha256": "2a11bac0cf9274d963315efd6eebdc62978b0b7aa02e8849ff2a562742f0b86d" + }, + "vllm/model_executor/layers/fused_moe/fused_flydsl_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_flydsl_moe.py", + "sha256": "0e74879ee5c72f616ae4064b9dff3b3a0b583b7fc70b8f92f1e8b730ecd5d39b" + }, + "vllm/model_executor/layers/fused_moe/fused_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe.py", + "sha256": "7072eb06237be9d33dcb0ef7101410f886a6363c98cbee70a014c68b70f639cb" + }, + "vllm/model_executor/layers/fused_moe/fused_moe_method_base.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe_method_base.py", + "sha256": "18dcfc469d3252749801bbf943857f58da85de1f2db8fdff5a9f4986a925dc68" + }, + "vllm/model_executor/layers/fused_moe/fused_moe_modular_method.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe_modular_method.py", + "sha256": "321c744eac1fcaffd6b1b2971204c8baa57dfec53e91e5d24140014d72d64f83" + }, + "vllm/model_executor/layers/fused_moe/hpc_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/hpc_moe.py", + "sha256": "2ca9c5d71b6fd91651027905e2b83103a8823845e053e7153e148cb8e0ee666d" + }, + "vllm/model_executor/layers/fused_moe/layer.py": { + "path": "/vllm/model_executor/layers/fused_moe/layer.py", + "sha256": "def0b4e13bcc1e4e21ee10644e647e2eda1acbf0cc01e76d6128abb59ea08224" + }, + "vllm/model_executor/layers/fused_moe/modular_kernel.py": { + "path": "/vllm/model_executor/layers/fused_moe/modular_kernel.py", + "sha256": "8dc4e0dbbf35b3aac8add63ca6f2a7bbfdadaabbd60826e24598b22c7d8e5c22" + }, + "vllm/model_executor/layers/fused_moe/moe_align_block_size.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_align_block_size.py", + "sha256": "c3f7fc2087836f0160a32ab99ceb1d8f6e87c793679da34dd672e225cb7fa31b" + }, + "vllm/model_executor/layers/fused_moe/moe_fused_mul_sum.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_fused_mul_sum.py", + "sha256": "112e72578002c3bff538418dac64b3b56d995994a2fc5e32b18d2cf3b8392a13" + }, + "vllm/model_executor/layers/fused_moe/moe_output.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_output.py", + "sha256": "6ea4cbd78f9efc7f842c5df246f553f08b991c3479b8b04b89902ed08aaf8e8f" + }, + "vllm/model_executor/layers/fused_moe/moe_permute_unpermute.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_permute_unpermute.py", + "sha256": "1adc592c6254d0c877d66be5406afbc822459c18a838f4bbd094a992e7609d06" + }, + "vllm/model_executor/layers/fused_moe/oracle/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/__init__.py", + "sha256": "4dcf941d50d48bb812de0f39e9194bf17a76b8035fe324889c6038f710fdc453" + }, + "vllm/model_executor/layers/fused_moe/oracle/base.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/base.py", + "sha256": "555bbcd18a3744e64eee4e953daabef3bd268a1bd4faf967d4cfd14d6074f685" + }, + "vllm/model_executor/layers/fused_moe/oracle/fp8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/fp8.py", + "sha256": "245bd36c285df1e6f7c51e52dcda31ad247894577a9f8d765613c2c2feae9aee" + }, + "vllm/model_executor/layers/fused_moe/oracle/int8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/int8.py", + "sha256": "c1b67886511bd966b162db5bca8930f04895fb37a969818a4a10f0726c59547f" + }, + "vllm/model_executor/layers/fused_moe/oracle/int_wna16.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/int_wna16.py", + "sha256": "cfffe8b8b290330be9d18ffa07aeecf296484395ff04df3147d99393e48b55c1" + }, + "vllm/model_executor/layers/fused_moe/oracle/mxfp4.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/mxfp4.py", + "sha256": "b7915e6779b5c88e7dcd2d227f003a8e45071d6d86877013067142d4feb64a8c" + }, + "vllm/model_executor/layers/fused_moe/oracle/mxfp8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/mxfp8.py", + "sha256": "9cfdc8102a04bb844dcd7ed88043bba96ec751794bc093da76c69aa8cf88cf48" + }, + "vllm/model_executor/layers/fused_moe/oracle/nvfp4.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/nvfp4.py", + "sha256": "735b4cdeb1258f11fb02320fc0c70cab5edaca468dd60b07b2d369389d2b0313" + }, + "vllm/model_executor/layers/fused_moe/oracle/unquantized.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/unquantized.py", + "sha256": "c8b8203bd0b73bb7f586f703607394d663f14c05711416ad42d45af564382223" + }, + "vllm/model_executor/layers/fused_moe/oracle/w4a8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/w4a8.py", + "sha256": "d7fa6e2982f20b34d5ce9c5ce28a61122762a3fcdd53d249479472a4f2316c6a" + }, + "vllm/model_executor/layers/fused_moe/oracle/w4a8_int8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/w4a8_int8.py", + "sha256": "6d6f9ca2e67b630002873de2f8d8a231d091c5c2f0f3354a9e8209449b481a4c" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/__init__.py", + "sha256": "2800113263a83c2632e522fb22790b29f63384da75d43de32f0ae2f95e8ae4c1" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/batched.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/batched.py", + "sha256": "d52425dd8c08e47cf8d9c3088daf3b1cc721c8667de4c738d04ba997f9a08ccb" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ht.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ht.py", + "sha256": "465cdf1d6cee91b2ee8c2e43abbea6e8408976e3048c10f44c089f34b415bc60" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ll.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ll.py", + "sha256": "f704922b1db680c4c212982a096e09d6b3eb97d89110313f86ed958a00df21b7" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_v2.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_v2.py", + "sha256": "8d690b016bbcfbc9eb599bcc36a6f798b2f1720c828f4347ea742e218c0cc60d" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_one_sided.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_one_sided.py", + "sha256": "acb57d8342af62bb5672036871cd4b27ecc7f37dfa7c894850bb860e6152a1f0" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_two_sided.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_two_sided.py", + "sha256": "cc5b00d6a157b6eca5afaaf7435165dbd1b4524d6d88bf75808cbe074a389f79" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/mori.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/mori.py", + "sha256": "8e9c3b5b1f0de13f467d95bf2f451cba0e4b0d9a1bdcf98da0988a3a9a79a045" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/naive_dp_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/naive_dp_ep.py", + "sha256": "db015e5b18750bbbf5b2bbaceca877dd6f3f3e74c2a94e8dc185f7413b387f91" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/nixl_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/nixl_ep.py", + "sha256": "1f71d70ac509bf5d3d67a8d95a8ee108a50af6bb5d4bde7181ca28e286f6ffce" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/no_dp_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/no_dp_ep.py", + "sha256": "adbbf529cd22059c95b5380952943a70cf11e05e321dcd707f296bebde61a6e7" + }, + "vllm/model_executor/layers/fused_moe/routed_experts.py": { + "path": "/vllm/model_executor/layers/fused_moe/routed_experts.py", + "sha256": "68c48e5df0ea4a7cc1f04436b7b9153eb53802ecd9bb55d38db8738508daac6d" + }, + "vllm/model_executor/layers/fused_moe/routed_experts_capturer.py": { + "path": "/vllm/model_executor/layers/fused_moe/routed_experts_capturer.py", + "sha256": "cd006bc1a1703418cca3b589fafb2abc4268a086fb3db044bbb64348aeac8b13" + }, + "vllm/model_executor/layers/fused_moe/router/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/layers/fused_moe/router/aiter_shared_routed_fused_moe_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/aiter_shared_routed_fused_moe_router.py", + "sha256": "f47046db1275601a2c67c9232afc7b866c9623a19639d5be867e4c7914a35069" + }, + "vllm/model_executor/layers/fused_moe/router/base_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/base_router.py", + "sha256": "47fa2324bcd9b6ebdc138d69ae6b6ecc0f2463d34bda8c5988bdb0a2a76d3fae" + }, + "vllm/model_executor/layers/fused_moe/router/bf16x3_router_gemm_cutedsl.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/bf16x3_router_gemm_cutedsl.py", + "sha256": "d0f1edd1ebc48d88e490bdb3c93db49bdc0a135ff83e7e0b57130e9f8255fc32" + }, + "vllm/model_executor/layers/fused_moe/router/cpu_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/cpu_router.py", + "sha256": "bff36b15818c87bfbb7ee3def7dc7f6396860abbe5893ff6148801fe941a4b92" + }, + "vllm/model_executor/layers/fused_moe/router/custom_routing_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/custom_routing_router.py", + "sha256": "1a40c7054e3c3a1b3ee2e98f6bc9efa9dfdc11f316a8edf7357dd91533487bfe" + }, + "vllm/model_executor/layers/fused_moe/router/dsv4_topk.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/dsv4_topk.py", + "sha256": "14f7c8487b9aef652dd61c91e0e3c3640b643bf9cd0d8a7184157d71f4beb63e" + }, + "vllm/model_executor/layers/fused_moe/router/fused_moe_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_moe_router.py", + "sha256": "0daa0dc05b931d66767feca444a4cd57ecf140f59b40ea0e8ad213eef6da2b36" + }, + "vllm/model_executor/layers/fused_moe/router/fused_topk_bias_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_topk_bias_router.py", + "sha256": "8fdc28cc248180ad4f11bb4bcda3df47926ec12665a0d84bb712fe83fc6b9376" + }, + "vllm/model_executor/layers/fused_moe/router/fused_topk_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_topk_router.py", + "sha256": "1c80f4af4d781fd66b12aa6a7a0fd30082bc521df40f1252987a8ac4c0bef51c" + }, + "vllm/model_executor/layers/fused_moe/router/gate_linear.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/gate_linear.py", + "sha256": "faa43362c2e7c568498a923c682ca18cae75e87f48d00882770821cb19c21198" + }, + "vllm/model_executor/layers/fused_moe/router/grouped_topk_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/grouped_topk_router.py", + "sha256": "048339e1799cdd42c9dae686a6cb891046577fb391b500f0d12eed73c8f61e52" + }, + "vllm/model_executor/layers/fused_moe/router/rocm_fp32_router_gemm.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/rocm_fp32_router_gemm.py", + "sha256": "9c331ef3d0bb2fb6954387d77ac62a99c5c76d2753c7438bfbb5115f68aae5ac" + }, + "vllm/model_executor/layers/fused_moe/router/router_factory.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/router_factory.py", + "sha256": "019bc8adaa7642abab82843efd53cd1a378f62c652521a1de2b781480eb88742" + }, + "vllm/model_executor/layers/fused_moe/router/routing_simulator_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/routing_simulator_router.py", + "sha256": "a7345df5add00cf3bd93024492d6fc1189fd3ecf2754a11cef1b03a295d791f7" + }, + "vllm/model_executor/layers/fused_moe/router/zero_expert_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/zero_expert_router.py", + "sha256": "dea306edd92e2b9c1b43f982ede8e1e10770d2c66220f5a106e0ed0165276e9c" + }, + "vllm/model_executor/layers/fused_moe/runner/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/layers/fused_moe/runner/moe_runner.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/moe_runner.py", + "sha256": "05893188402fe37229bf72d75088d66193c417d5d502daafd3a55e1bfedaa60c" + }, + "vllm/model_executor/layers/fused_moe/runner/moe_runner_interface.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/moe_runner_interface.py", + "sha256": "189cad01611124eb44594713cbf5918d16fc70196dc81a525ae0a7a97a5fcc51" + }, + "vllm/model_executor/layers/fused_moe/runner/shared_experts.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/shared_experts.py", + "sha256": "d89e4c79c46f6fe61262c51f3facf102e71ce1e4eb3db67f72b6bd8470937be9" + }, + "vllm/model_executor/layers/fused_moe/topk_weight_and_reduce.py": { + "path": "/vllm/model_executor/layers/fused_moe/topk_weight_and_reduce.py", + "sha256": "3dfede72d52bf99af40997994704e6c502ee3bab2bd39bfaa8a68d7dae440203" + }, + "vllm/model_executor/layers/fused_moe/unquantized_fused_moe_method.py": { + "path": "/vllm/model_executor/layers/fused_moe/unquantized_fused_moe_method.py", + "sha256": "182a5ec1874ece2091a24c5303f6ab9ea64a9a61adf325b863927f0cdd83e5d3" + }, + "vllm/model_executor/layers/fused_moe/utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/utils.py", + "sha256": "a93a0bded4008db19d8b38370526ae34fafb9c8278e5b4f60acb6acc8fdc1850" + }, + "vllm/model_executor/layers/mamba/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/abstract.py": { + "path": "/vllm/model_executor/layers/mamba/abstract.py", + "sha256": "dfdc8c836894f574e41d93d76ab989cacd3d7ecf59c97a929abfa48d9364e8ad" + }, + "vllm/model_executor/layers/mamba/gdn/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/gdn/base.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/base.py", + "sha256": "7fec748fc74131f5a45bcaf2644b3fa3a0598fd437d7347f8207ea3644a951c5" + }, + "vllm/model_executor/layers/mamba/gdn/kimi_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/kimi_gdn_linear_attn.py", + "sha256": "1cec4da5c9da73557e192bfb36cd540aae51d3e91283b554449c4a97f0f89bd9" + }, + "vllm/model_executor/layers/mamba/gdn/olmo_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/olmo_gdn_linear_attn.py", + "sha256": "60873ca3bb0c4d17c33bd259b62b658db4883cd23138f47dd4ead62cd2ff0605" + }, + "vllm/model_executor/layers/mamba/gdn/qwen_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/qwen_gdn_linear_attn.py", + "sha256": "b80f8e6f3fff442fb880aebb3209c52f814f66490009f4ac4003de603576d10a" + }, + "vllm/model_executor/layers/mamba/linear/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/linear/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py", + "sha256": "3c480ddd6eba0766ed012a1074bbec5f241d868a87b020b0f6312222c32f93eb" + }, + "vllm/model_executor/layers/mamba/linear/base.py": { + "path": "/vllm/model_executor/layers/mamba/linear/base.py", + "sha256": "26125cd427225954e1846ca361cdaf43f2b56f11b1e217cf26e91a80ef0edb6a" + }, + "vllm/model_executor/layers/mamba/linear/minimax_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/linear/minimax_linear_attn.py", + "sha256": "4adc00f54893b5bc6c31c613deda152a19af3b1bba04153ab5924c3bf2a3aaae" + }, + "vllm/model_executor/layers/mamba/mamba_mixer.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_mixer.py", + "sha256": "a485e937ad9db14d3ad03fde5a9fe795cfa863649563e52fc7e6c52ef631164e" + }, + "vllm/model_executor/layers/mamba/mamba_mixer2.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_mixer2.py", + "sha256": "d58d93e90d9eb90bc5133b79f07c7c62d0032b35d6cf916e3fe34367b81c5cd5" + }, + "vllm/model_executor/layers/mamba/mamba_utils.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_utils.py", + "sha256": "ce9845b4a4ef4bc46577a33038ed69d59ceccb52f30e9c5bdaa36e48be3b2ca4" + }, + "vllm/model_executor/layers/mamba/ops/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/ops/causal_conv1d.py": { + "path": "/vllm/model_executor/layers/mamba/ops/causal_conv1d.py", + "sha256": "044d005cfe59fd0818ed421274e04f3e8dd679b8cdb64fca9f4422f2643484b2" + }, + "vllm/model_executor/layers/mamba/ops/cpu/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/ops/cpu/causal_conv1d.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/causal_conv1d.py", + "sha256": "64104672890ac2ef240c20c7f8059beeade707178574809dbca8721dff5ea6fa" + }, + "vllm/model_executor/layers/mamba/ops/cpu/gdn_attention.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/gdn_attention.py", + "sha256": "a50288945bf5b102ad3025ae536638dcc32d84cf7c22aaf3a85326b0c1c56c1f" + }, + "vllm/model_executor/layers/mamba/ops/cpu/mamba_ssm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/mamba_ssm.py", + "sha256": "5839e576172a3246337f5e4fb1bc19eb583b3e2b2f7e35dd060dc3041eb8372d" + }, + "vllm/model_executor/layers/mamba/ops/gather_initial_states.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gather_initial_states.py", + "sha256": "5198bb6de6d91c583a5f65d926412a76ee04a06fa72aaba76eaf156b27cd0523" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/__init__.py", + "sha256": "b88b52e71fcb21bd3fa215ea171dcd2ad2ff17c97788cfe64caa7ba45c7ecf97" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_h.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_h.py", + "sha256": "f50bbe5c0b6382323ec5dfc24a5e0c7971113d59727515e60c9fe3689734e5ba" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_kkt_inv_uw.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_kkt_inv_uw.py", + "sha256": "b4a65dd194907db08865e0596fe254f915e670a9e6b27ffa2933c1026dde9b1e" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_o.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_o.py", + "sha256": "629f7843a7e611efb9390f2ebb7a4b924b2c328d48a317fddfaa96af4d9bc60a" + }, + "vllm/model_executor/layers/mamba/ops/layernorm_gated.py": { + "path": "/vllm/model_executor/layers/mamba/ops/layernorm_gated.py", + "sha256": "3433f2e3b87c2b2ccf8e9794ce40762c86a6da38a94ecee001f439ea0d0373dd" + }, + "vllm/model_executor/layers/mamba/ops/mamba_ssm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/mamba_ssm.py", + "sha256": "a4515ec7895b40ed878cf380445034b25faa61fbaa799d96c49217bbdfd7e400" + }, + "vllm/model_executor/layers/mamba/ops/replayssm_config.py": { + "path": "/vllm/model_executor/layers/mamba/ops/replayssm_config.py", + "sha256": "5fe9d5d7aa2de6a65875b3796a919b22bc435fd76055ba054bbff43aa005bc44" + }, + "vllm/model_executor/layers/mamba/ops/scatter_states.py": { + "path": "/vllm/model_executor/layers/mamba/ops/scatter_states.py", + "sha256": "f3bb004c73edaba56337747893eb07faf29b270dc8bb9c893ee9b1044e4ead9a" + }, + "vllm/model_executor/layers/mamba/ops/selective_state_update_replayssm_output_only.py": { + "path": "/vllm/model_executor/layers/mamba/ops/selective_state_update_replayssm_output_only.py", + "sha256": "cea7fd3063ca9dcc4e33f180d01ea379195ec515cedc9d0b03b11dc67670d695" + }, + "vllm/model_executor/layers/mamba/ops/ssd_bmm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_bmm.py", + "sha256": "26983d97a7f5c5f9197a16a6bee7b1294839b9ae31a14c14aaee38b43523e630" + }, + "vllm/model_executor/layers/mamba/ops/ssd_chunk_scan.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_chunk_scan.py", + "sha256": "d5ef32e8cb47e2ce71984579df78ab69754895f891766394daf327867cfa4f8f" + }, + "vllm/model_executor/layers/mamba/ops/ssd_chunk_state.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_chunk_state.py", + "sha256": "177e3aa7fe72647133bbd86135533e8688a5802678d4d1564aa549410362316f" + }, + "vllm/model_executor/layers/mamba/ops/ssd_combined.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_combined.py", + "sha256": "1317bbb668d3c60dfe0658850f9968614f03fa5eb61196f8ce6ac17dbb31b480" + }, + "vllm/model_executor/layers/mamba/ops/ssd_state_passing.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_state_passing.py", + "sha256": "36b8c8edba437916a5b789717c61fc22077de01e77892cb96dbff3b00a57410e" + }, + "vllm/model_executor/layers/mamba/ops/ssu_dispatch.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssu_dispatch.py", + "sha256": "bbe0f0e61da87f3ddfead19a79ca376516b63f1ea868be3485333c63fa20ef41" + }, + "vllm/model_executor/layers/mamba/ops/triton_helpers.py": { + "path": "/vllm/model_executor/layers/mamba/ops/triton_helpers.py", + "sha256": "a8795532f22c37a93e82c9d8e3fadcb5f4da98673d7b321fe8481305eaafad30" + }, + "vllm/model_executor/layers/mamba/short_conv.py": { + "path": "/vllm/model_executor/layers/mamba/short_conv.py", + "sha256": "228494efab185ee17374f762874f4c8b9a26aac9decfa8c906ce38446e0de51a" + }, + "vllm/model_executor/models/qwen3_next.py": { + "path": "/vllm/model_executor/models/qwen3_next.py", + "sha256": "4fa5112ac2bf7886d41d9e1f6c3da8793620d1ec49c961b31e9609459a6a7f7a" + }, + "vllm/third_party/flash_linear_attention/__init__.py": { + "path": "/vllm/third_party/flash_linear_attention/__init__.py", + "sha256": "5dbbfa3fc286edb2e970e175ef33cee4f6181c89b0784f5a8986201b2312f54e" + }, + "vllm/third_party/flash_linear_attention/ops/__init__.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/__init__.py", + "sha256": "dd738dc1d08045e76455cdbe16052a5b769e0eb11d6e87ff28353994f880cd6c" + }, + "vllm/third_party/flash_linear_attention/ops/chunk.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk.py", + "sha256": "c105ead259e86aedc248c53e7c4cef07034d0ff12da608d80265d1dd0990803f" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_delta_h.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_delta_h.py", + "sha256": "1b3ad391f939d9443c6b7adb19e57fe381bd5dccea064e8417a4f85b0e713b26" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_o.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_o.py", + "sha256": "3b63b836a8cc561723c23db5a528a0b474d9cd78508d610f0b348c585a889a19" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_scaled_dot_kkt.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_scaled_dot_kkt.py", + "sha256": "7ae41df3755acc7e925a134d848f78bb5fc00b90069039d86403c5853323ea42" + }, + "vllm/third_party/flash_linear_attention/ops/cumsum.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/cumsum.py", + "sha256": "d818215669b451868823202ac0bcea77e7a9d75957254c7c1060a73a55dc39b6" + }, + "vllm/third_party/flash_linear_attention/ops/fused_gdn_prefill_post_conv.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_gdn_prefill_post_conv.py", + "sha256": "590717b2107abc90d72548de06b5d315229eb2775c94614f3f545df11cc2b5df" + }, + "vllm/third_party/flash_linear_attention/ops/fused_norm_gate.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_norm_gate.py", + "sha256": "e6eb90467f29d8a0a04f2a364d20a2c3191b6ab857841bfb82076b33a6022d1a" + }, + "vllm/third_party/flash_linear_attention/ops/fused_recurrent.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_recurrent.py", + "sha256": "fe6f1311014809040497aa0a623e7fa97f4b3457cdc7ee1f1f8aed21f326f755" + }, + "vllm/third_party/flash_linear_attention/ops/fused_sigmoid_gating.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_sigmoid_gating.py", + "sha256": "000ab8996af9788fdb8843a6a3b91833e7a14c8acc0e1ea073a536330f64cb6f" + }, + "vllm/third_party/flash_linear_attention/ops/index.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/index.py", + "sha256": "a4f8b2c052635cb519a80099e8a85411d1d5d6880b38f466788259bbe66b154d" + }, + "vllm/third_party/flash_linear_attention/ops/kda.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/kda.py", + "sha256": "e1f31aaa89b91f8e5db6d070b229e2c81c7206e8caec67de41db97d06be0c476" + }, + "vllm/third_party/flash_linear_attention/ops/l2norm.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/l2norm.py", + "sha256": "520f4513ef4fc97e6b88dc07877cca8e29da0d34e44673fe989e3af002d86381" + }, + "vllm/third_party/flash_linear_attention/ops/layernorm_guard.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/layernorm_guard.py", + "sha256": "42af29be26e8fc94a4658e053c095fcdab9ffdc1bc2446a01e787deda2a298c0" + }, + "vllm/third_party/flash_linear_attention/ops/op.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/op.py", + "sha256": "456da84fd12411cf53c96a90dd4f78f49afb454c3d51d2c524ea8e7106fe8ae5" + }, + "vllm/third_party/flash_linear_attention/ops/solve_tril.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/solve_tril.py", + "sha256": "d1a4ff27623a938825052500afa7e2aa24fadd2fa4c9be6376c9128824f86f82" + }, + "vllm/third_party/flash_linear_attention/ops/utils.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/utils.py", + "sha256": "d6c90d36505e02086954c23ca4dd2fea82a69416d68ff1d0501e16b3148b5b0c" + }, + "vllm/third_party/flash_linear_attention/ops/wy_fast.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/wy_fast.py", + "sha256": "c9fc8259db0a8746dc04f1d799cb73333457118cf89a0bdce8dde8a80a28cd96" + }, + "vllm/v1/attention/__init__.py": { + "path": "/vllm/v1/attention/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backend.py": { + "path": "/vllm/v1/attention/backend.py", + "sha256": "01ac364372afa75fdb22486aa3a9c7cf9aebb742e3471dfb9e0f9d9d36b734bc" + }, + "vllm/v1/attention/backends/__init__.py": { + "path": "/vllm/v1/attention/backends/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backends/b12x.py": { + "path": "/vllm/v1/attention/backends/b12x.py", + "sha256": "443f0a98738fdfefe5b9ab151d278bfd43a8ac807eb2b0b9b2a13d51922afbf9" + }, + "vllm/v1/attention/backends/composite.py": { + "path": "/vllm/v1/attention/backends/composite.py", + "sha256": "4cf3d66dca891562709eed4f50aa14b0ae6c8240d9ea86504a3304b2f356cce0" + }, + "vllm/v1/attention/backends/cpu_attn.py": { + "path": "/vllm/v1/attention/backends/cpu_attn.py", + "sha256": "76fb02a6bd725125565d84bf04f627cf16da5f7ff8f31f87c01ed6a1439398c7" + }, + "vllm/v1/attention/backends/fa_utils.py": { + "path": "/vllm/v1/attention/backends/fa_utils.py", + "sha256": "08fa6e231d3af3a71a6e59162dd12328aa8beb28548165ae58f130a92adb5a83" + }, + "vllm/v1/attention/backends/flash_attn.py": { + "path": "/vllm/v1/attention/backends/flash_attn.py", + "sha256": "b170a4789e18104c1bee35bea70df51abe6766693d8f4726a59f2e6f5c4282aa" + }, + "vllm/v1/attention/backends/flash_attn_diffkv.py": { + "path": "/vllm/v1/attention/backends/flash_attn_diffkv.py", + "sha256": "e4627c88c3ba8caee260540e994cc8137fd2ff7cd7813356b36387c6c88ce30a" + }, + "vllm/v1/attention/backends/flashinfer.py": { + "path": "/vllm/v1/attention/backends/flashinfer.py", + "sha256": "8ee541fde43ed92a417b3f01ea1e6fc64af8ab2eb54cbfc28308a49aaca4ed7f" + }, + "vllm/v1/attention/backends/flex_attention.py": { + "path": "/vllm/v1/attention/backends/flex_attention.py", + "sha256": "ad07f0ad73aeeadc3534b3a05c14f88a62cb3638874239ae9823c49b36276dc3" + }, + "vllm/v1/attention/backends/gdn_attn.py": { + "path": "/vllm/v1/attention/backends/gdn_attn.py", + "sha256": "3831019404a92200a38b43571c040cffeb6638bbdc71e4cb5e680dbc6c93d054" + }, + "vllm/v1/attention/backends/hpc_attn.py": { + "path": "/vllm/v1/attention/backends/hpc_attn.py", + "sha256": "af9e2aec1b498f0ee48a2dce3cf5646edf1976466980b2fd927c0e82b875427c" + }, + "vllm/v1/attention/backends/linear_attn.py": { + "path": "/vllm/v1/attention/backends/linear_attn.py", + "sha256": "bc42144fcd027434c6a10dc9f4c5f991db8899d387af5f6485402ce097eb0513" + }, + "vllm/v1/attention/backends/mamba1_attn.py": { + "path": "/vllm/v1/attention/backends/mamba1_attn.py", + "sha256": "32159dae11cab3c8c576b9514ad97d5108c8d1b4cac9fcfe345ec6a76223aee7" + }, + "vllm/v1/attention/backends/mamba2_attn.py": { + "path": "/vllm/v1/attention/backends/mamba2_attn.py", + "sha256": "a5bcdecb7b9547137023e1c77a386003358fa940eaf5f319ed142211dcdba139" + }, + "vllm/v1/attention/backends/mamba_attn.py": { + "path": "/vllm/v1/attention/backends/mamba_attn.py", + "sha256": "5e7b2c4058fc5e6096d001bff6c789b78368b025bbe4600f191aaca2ff59b59f" + }, + "vllm/v1/attention/backends/mla/__init__.py": { + "path": "/vllm/v1/attention/backends/mla/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backends/mla/aiter_triton_mla.py": { + "path": "/vllm/v1/attention/backends/mla/aiter_triton_mla.py", + "sha256": "ed0e285cdae06a019150c41cc958b3c0b5ceb0e4f299d5318d1c90e2c2395390" + }, + "vllm/v1/attention/backends/mla/amx_mla.py": { + "path": "/vllm/v1/attention/backends/mla/amx_mla.py", + "sha256": "7f5cddec30b2dfe22ccdbd3b9da673c879719bf6da4074317bd60add55f5d15f" + }, + "vllm/v1/attention/backends/mla/compressor_utils.py": { + "path": "/vllm/v1/attention/backends/mla/compressor_utils.py", + "sha256": "3589e94105368ea285c40b82db1a0332682ff5d071fe363627cf4c0d10f3facf" + }, + "vllm/v1/attention/backends/mla/cpu_mla.py": { + "path": "/vllm/v1/attention/backends/mla/cpu_mla.py", + "sha256": "ff2110b9f78e92adf6bab294465cbc294ae1ff71cb1780fed158179e134a4ca6" + }, + "vllm/v1/attention/backends/mla/cutlass_mla.py": { + "path": "/vllm/v1/attention/backends/mla/cutlass_mla.py", + "sha256": "211d298680f9bd793cc468281b316d6633c5f4eb6dcec71d3329b034a23ab9b5" + }, + "vllm/v1/attention/backends/mla/flashattn_mla.py": { + "path": "/vllm/v1/attention/backends/mla/flashattn_mla.py", + "sha256": "ac89e0ad75a37e92566d264bafe324735a80f9ab4709241a4454d17b3d38bb63" + }, + "vllm/v1/attention/backends/mla/flashattn_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashattn_mla_sparse.py", + "sha256": "67dd3ead2e8b9d8cda0825ecc93779cb7d670628bc741c759a7d3cd5d474030f" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla.py", + "sha256": "0c24ff016fb6b0bb41d9e7484b6f1af42f37bcc384ed613473fc3e01ad25f664" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse.py", + "sha256": "2116d965b2067134d8afa5878d4d16c0149b061258f50c4106d993aa13b073cc" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm120.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm120.py", + "sha256": "102ca08793d567f95598eefeb34c3f6ec50b3b9d704f162d1402b97b12b5777b" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm90.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm90.py", + "sha256": "df9fe4970aa3f53cf24784b8534b89e0101a2ca20a35a2ebbc9a12a4463d5993" + }, + "vllm/v1/attention/backends/mla/flashmla.py": { + "path": "/vllm/v1/attention/backends/mla/flashmla.py", + "sha256": "c9d8046a853ecbdeff9ebfc738f5bb34c4f272b278231a09a0fbf73708c7c188" + }, + "vllm/v1/attention/backends/mla/flashmla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashmla_sparse.py", + "sha256": "7a379c717adb9667ce94cbc16c0e3a1fb22a169713db6d7941c141fa84077b3f" + }, + "vllm/v1/attention/backends/mla/index_group.py": { + "path": "/vllm/v1/attention/backends/mla/index_group.py", + "sha256": "c24e028c3c160a9bb92e043da5b5b34c805e84745b7c4b8da6fb8702a0ddd641" + }, + "vllm/v1/attention/backends/mla/indexer.py": { + "path": "/vllm/v1/attention/backends/mla/indexer.py", + "sha256": "2acbc1c4fa57c3424ad95e6ecbe76eb7141747773c3e867ce704f4adccba892a" + }, + "vllm/v1/attention/backends/mla/prefill/__init__.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/__init__.py", + "sha256": "903630eb705dd175bf4ae4558a4bcaa07c110056b6a11eb830fdd2fb21b3c48a" + }, + "vllm/v1/attention/backends/mla/prefill/aiter_flash_attn.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/aiter_flash_attn.py", + "sha256": "571b8a9910c4ea3fefda60659026f3bf0d7b542c34553c8c9a4d43bb82077e61" + }, + "vllm/v1/attention/backends/mla/prefill/base.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/base.py", + "sha256": "138bf3ddaf5a94c3cdbc4e08ac676edcae84b32fc76625e546f3b47f7d8b82ec" + }, + "vllm/v1/attention/backends/mla/prefill/cpu_sdpa.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/cpu_sdpa.py", + "sha256": "1bb686395274a8ec0d9fd7327410a527655fe060cbbc263eab138fea988d96de" + }, + "vllm/v1/attention/backends/mla/prefill/flash_attn.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/flash_attn.py", + "sha256": "5e648c82c82e5f81fe11458eb82b9f90b50fc06df2ade3bf111ee6b7a2ee8481" + }, + "vllm/v1/attention/backends/mla/prefill/flashinfer.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/flashinfer.py", + "sha256": "63861219c35b8abc0ebe01e1f51543c5ed40bd46119ca261d927da7c6826b49b" + }, + "vllm/v1/attention/backends/mla/prefill/registry.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/registry.py", + "sha256": "c8c30b92213d594beaa3cab4d5003da26a85870dbb11d1ab73191962d0645b53" + }, + "vllm/v1/attention/backends/mla/prefill/selector.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/selector.py", + "sha256": "101d9fca7924b0c5d7891a17fe8942611bd6759e32b03a571dc87b14c1430f2f" + }, + "vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py", + "sha256": "047cf07bfcc83db3b11a6a54ffe189f6146e6ec9ad33ce2fa7d18860bf4210f0" + }, + "vllm/v1/attention/backends/mla/prefill/trtllm_ragged.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/trtllm_ragged.py", + "sha256": "9e13ea6f6a25accedd918c0de64bbb812ccb20ffb95350ab018a6e76d493789b" + }, + "vllm/v1/attention/backends/mla/rocm_aiter_mla.py": { + "path": "/vllm/v1/attention/backends/mla/rocm_aiter_mla.py", + "sha256": "b489f5830c655bfb6299801a70d69b9821513c69568ecab3689db5a7be867be5" + }, + "vllm/v1/attention/backends/mla/rocm_aiter_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/rocm_aiter_mla_sparse.py", + "sha256": "91b1d9b3d860a9720bc01b8ebe9bbe8649a7d6bca20d4b63939bc100309bca19" + }, + "vllm/v1/attention/backends/mla/sparse_swa.py": { + "path": "/vllm/v1/attention/backends/mla/sparse_swa.py", + "sha256": "a47853ad8a3fe40f24704592581ea323a18041b84610df010a5534da634e311e" + }, + "vllm/v1/attention/backends/mla/sparse_utils.py": { + "path": "/vllm/v1/attention/backends/mla/sparse_utils.py", + "sha256": "c3cdf060288c05542243a9fe8b5ad3a963ad75e9ce399009b5e45c1235a88ce4" + }, + "vllm/v1/attention/backends/mla/tokenspeed_mla.py": { + "path": "/vllm/v1/attention/backends/mla/tokenspeed_mla.py", + "sha256": "b9ba523c606430cecb99a88b28c53d98a99dcf5e76105a80664338110a20f1ad" + }, + "vllm/v1/attention/backends/mla/triton_mla.py": { + "path": "/vllm/v1/attention/backends/mla/triton_mla.py", + "sha256": "21b16b3b34470edcc33d0423e560837c1d37d4bab31c7b3b9cfd7faa47864b51" + }, + "vllm/v1/attention/backends/mla/xpu_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/xpu_mla_sparse.py", + "sha256": "559c6240fe466521a6b2df4c94aea02ddf3f5efa5ba6954fa180c5a51c0f12d2" + }, + "vllm/v1/attention/backends/recoverssm_metadata.py": { + "path": "/vllm/v1/attention/backends/recoverssm_metadata.py", + "sha256": "02896a667db0f0308371ceb50048b18e5866c0235d163c0357e9a05dcedb3394" + }, + "vllm/v1/attention/backends/registry.py": { + "path": "/vllm/v1/attention/backends/registry.py", + "sha256": "378e8ee78734bd8c8adbe287d4c0a4058dcbb553195a09fbcce00a3cc30adc29" + }, + "vllm/v1/attention/backends/rocm_aiter_fa.py": { + "path": "/vllm/v1/attention/backends/rocm_aiter_fa.py", + "sha256": "d1418af03bf58209c850f466b712d3ea22a14ebb758c42dd43e65738281841fd" + }, + "vllm/v1/attention/backends/rocm_aiter_unified_attn.py": { + "path": "/vllm/v1/attention/backends/rocm_aiter_unified_attn.py", + "sha256": "59d2645eb4c91dc0567754a7163d066f4f2faf48f1957b254fcdd5604e9d8c8c" + }, + "vllm/v1/attention/backends/rocm_attn.py": { + "path": "/vllm/v1/attention/backends/rocm_attn.py", + "sha256": "4a8f57067073fbceb784af6c3467487c450d00fa3957928fadb99a79f6036292" + }, + "vllm/v1/attention/backends/short_conv_attn.py": { + "path": "/vllm/v1/attention/backends/short_conv_attn.py", + "sha256": "84fc460ef2fbd09743b069bec0c14b39542af6c2254a403e37a048427e151121" + }, + "vllm/v1/attention/backends/triton_attn.py": { + "path": "/vllm/v1/attention/backends/triton_attn.py", + "sha256": "1057663d110e1d5229495a799027b27277c1eca325d5b6780fa2259afbf58a1a" + }, + "vllm/v1/attention/backends/triton_attn_diffkv.py": { + "path": "/vllm/v1/attention/backends/triton_attn_diffkv.py", + "sha256": "de0357eae005246642140f1ab8842ba5ed8bff5c84b18a6d3a7bbf409c578301" + }, + "vllm/v1/attention/backends/triton_flash_attn.py": { + "path": "/vllm/v1/attention/backends/triton_flash_attn.py", + "sha256": "176e45329aeb28a2008362bb607d1b8c89816eb665859ab908b0385a11acf1c2" + }, + "vllm/v1/attention/backends/triton_flashinfer.py": { + "path": "/vllm/v1/attention/backends/triton_flashinfer.py", + "sha256": "48d5f967e388d4e8d6bbec8d827b44d855346bc2fada28adf65768bf6623527b" + }, + "vllm/v1/attention/backends/turboquant_attn.py": { + "path": "/vllm/v1/attention/backends/turboquant_attn.py", + "sha256": "616d16d608d9d1fbf6c29548037e7e9cf330f4d36a01aa3ffabf42a731eb6e2b" + }, + "vllm/v1/attention/backends/utils.py": { + "path": "/vllm/v1/attention/backends/utils.py", + "sha256": "fbc221360d2d54cb21ef3f625dc8711500de345a355801548b4337bb9b8abee0" + }, + "vllm/v1/attention/ops/__init__.py": { + "path": "/vllm/v1/attention/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/ops/chunked_prefill_paged_decode.py": { + "path": "/vllm/v1/attention/ops/chunked_prefill_paged_decode.py", + "sha256": "973db848a790b2e8d99e728b2fc4f44b501bbe58c62747244ddff04cfcf11a85" + }, + "vllm/v1/attention/ops/common.py": { + "path": "/vllm/v1/attention/ops/common.py", + "sha256": "b4b67e7fc0cce471e337d742c097fba06da7563816e8799e27719714e31e1d5b" + }, + "vllm/v1/attention/ops/cp_common.py": { + "path": "/vllm/v1/attention/ops/cp_common.py", + "sha256": "2369181862e96db64b14ef20c5c2e249ed2ea5f3dea2467a2aa388372bb86d9d" + }, + "vllm/v1/attention/ops/dcp.py": { + "path": "/vllm/v1/attention/ops/dcp.py", + "sha256": "a478bdc781460f0582cfaf74d6431f1a826c201f02f39d882d12a96139bc3f28" + }, + "vllm/v1/attention/ops/flashmla.py": { + "path": "/vllm/v1/attention/ops/flashmla.py", + "sha256": "8a40d6e120e3ab25a95fcfeb32b0b5b4c1ea02b984633866628536dcd26ed2e8" + }, + "vllm/v1/attention/ops/flydsl_kernels/__init__.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/attention/ops/flydsl_kernels/tq_decode.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/tq_decode.py", + "sha256": "cc4b7f82897596e0974b3d3a710a1a8bc58c3d22b72cc7f461dd1c4acd2e451b" + }, + "vllm/v1/attention/ops/flydsl_kernels/tq_decode_gqa6.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/tq_decode_gqa6.py", + "sha256": "a983f6d375c325900955e11696dab1e2665770e83f84d51f93d3ed5e1d8880e0" + }, + "vllm/v1/attention/ops/flydsl_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/flydsl_turboquant_decode.py", + "sha256": "7b1dd0ef7c7fb28a6a8831759e00b939ab844d067657155cc11cf75532a22c63" + }, + "vllm/v1/attention/ops/int4_per_token_head.py": { + "path": "/vllm/v1/attention/ops/int4_per_token_head.py", + "sha256": "d91968f280cd8eaed7570ab255f0276b40e833e18a25066d371d9ca8149425f2" + }, + "vllm/v1/attention/ops/merge_attn_states.py": { + "path": "/vllm/v1/attention/ops/merge_attn_states.py", + "sha256": "ad08403d2843fc892f0b0b4b9f5fabb81884556f89f7170dca46ccef498a3539" + }, + "vllm/v1/attention/ops/metadata.py": { + "path": "/vllm/v1/attention/ops/metadata.py", + "sha256": "ca882b84c5aaefb1f77e4d8ea09a00103fbc53defa8671bba036c961c17fc760" + }, + "vllm/v1/attention/ops/paged_attn.py": { + "path": "/vllm/v1/attention/ops/paged_attn.py", + "sha256": "016a95f892ec751c86b37be1e12171bad9f0b4076bbf2219ff336f4e9c503653" + }, + "vllm/v1/attention/ops/pcp.py": { + "path": "/vllm/v1/attention/ops/pcp.py", + "sha256": "dadeff95fe2df2be8028baabeef01b0d2d628cd67de2176915e737ce096de3dd" + }, + "vllm/v1/attention/ops/prefix_prefill.py": { + "path": "/vllm/v1/attention/ops/prefix_prefill.py", + "sha256": "b08ad92db715fc03c11699de3de463d55e411f42f77548e06b41049a61de692f" + }, + "vllm/v1/attention/ops/rocm_aiter_mla_merge.py": { + "path": "/vllm/v1/attention/ops/rocm_aiter_mla_merge.py", + "sha256": "564c66e4877732e48a6f7d52405c43dc952eec0f0ae4353d34886bca056132b9" + }, + "vllm/v1/attention/ops/rocm_aiter_mla_sparse.py": { + "path": "/vllm/v1/attention/ops/rocm_aiter_mla_sparse.py", + "sha256": "feec664be5045fd1ba13b8f6ef83b52c96910ddc78baca0431bcf610c9e8f5cc" + }, + "vllm/v1/attention/ops/triton_attention_helpers.py": { + "path": "/vllm/v1/attention/ops/triton_attention_helpers.py", + "sha256": "35aa993d01345f535d2641cf9dcabb8b64c51b20a19707bc5987e616aaa87ddd" + }, + "vllm/v1/attention/ops/triton_decode_attention.py": { + "path": "/vllm/v1/attention/ops/triton_decode_attention.py", + "sha256": "b9823c65eba22d76abf64dad7d7d16a950f67471c86d6cb5b3e983aaf14381ac" + }, + "vllm/v1/attention/ops/triton_merge_attn_states.py": { + "path": "/vllm/v1/attention/ops/triton_merge_attn_states.py", + "sha256": "f63229162181ab93198550b73a115f1cc1034cfd60e6f58bc8ab3e22a6e8ce60" + }, + "vllm/v1/attention/ops/triton_prefill_attention.py": { + "path": "/vllm/v1/attention/ops/triton_prefill_attention.py", + "sha256": "352c1a4ac86146580040579fb217c2e288268830d6602b735713e154f36d74fe" + }, + "vllm/v1/attention/ops/triton_reshape_and_cache_flash.py": { + "path": "/vllm/v1/attention/ops/triton_reshape_and_cache_flash.py", + "sha256": "6cac51475b8c656992a21b2d150acd3a16a95a7ab7d49aab151a3ef13c24b80d" + }, + "vllm/v1/attention/ops/triton_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/triton_turboquant_decode.py", + "sha256": "8e52678136449e4bbca2195fbcbb87426c955a2b1b8422e7ab9511e45ee5f5c6" + }, + "vllm/v1/attention/ops/triton_turboquant_store.py": { + "path": "/vllm/v1/attention/ops/triton_turboquant_store.py", + "sha256": "6e6e2fe74a307d40f0be786ccbaea76d989e3c7b5985f3144a5218c61bf6d902" + }, + "vllm/v1/attention/ops/triton_unified_attention.py": { + "path": "/vllm/v1/attention/ops/triton_unified_attention.py", + "sha256": "65d0fbcf33d00789df8ca688c0a1c908e710cfaef53471178747ecae11f05829" + }, + "vllm/v1/attention/ops/triton_unified_attention_diffkv.py": { + "path": "/vllm/v1/attention/ops/triton_unified_attention_diffkv.py", + "sha256": "7fa36d7b7441f1c396e0348eac61d691d2e459e5c4c393c4aa262dfb670e68f7" + }, + "vllm/v1/attention/ops/turboquant_soa/__init__.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/__init__.py", + "sha256": "6b43b6fcb2a71c44ceff4ed1edd417a839f4901251ba15831b09ad979baa4984" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode.py", + "sha256": "bf00634191bba14cbf4a23c1d67dc3dcb244c2b8989f08362757b54435830986" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode_v2.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode_v2.py", + "sha256": "28e7ecc15c450d3591983a50c46a03aa6ca6fa99304c17c333940617d9916485" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_store.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_store.py", + "sha256": "dccf93b9fdd34f9b9eacd468e9de35b9d93378594487c335cf50642aaec681f2" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_unified_attention.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_unified_attention.py", + "sha256": "b4b2b5f3985b3a6126fd052e6ec1ed91c610da8a525a9ae7470ac829405bd85c" + }, + "vllm/v1/attention/ops/vit_attn_wrappers.py": { + "path": "/vllm/v1/attention/ops/vit_attn_wrappers.py", + "sha256": "a99d57b58269c7521fa5d7d47af06551f3bab2b5c7358ef78165a7f6e20a92a6" + }, + "vllm/v1/attention/ops/xpu_mla_sparse.py": { + "path": "/vllm/v1/attention/ops/xpu_mla_sparse.py", + "sha256": "d98d17110577c2b7b4d05e07bfdae15faf83321b6342a5daaaecce45b9503f38" + }, + "vllm/v1/attention/selector.py": { + "path": "/vllm/v1/attention/selector.py", + "sha256": "87f653ded7974875183c920e3e4589c28116bcbc99714d1da7cb51ae77c0b182" + }, + "vllm/v1/core/sched/__init__.py": { + "path": "/vllm/v1/core/sched/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/core/sched/async_scheduler.py": { + "path": "/vllm/v1/core/sched/async_scheduler.py", + "sha256": "e586a0ef3c6778be56a93e7f9bb712d4de9de6e7d7fe7e3e1d51dae83ecfc508" + }, + "vllm/v1/core/sched/interface.py": { + "path": "/vllm/v1/core/sched/interface.py", + "sha256": "be6c008664096c5660a8879de72b315bbe479bf1d688be9b25891063ec53a367" + }, + "vllm/v1/core/sched/output.py": { + "path": "/vllm/v1/core/sched/output.py", + "sha256": "3a66c8efaefe10c572f6f33cf1f8aa4610758c945130cad62eb9f7331005677c" + }, + "vllm/v1/core/sched/request_queue.py": { + "path": "/vllm/v1/core/sched/request_queue.py", + "sha256": "4b8d938e5fb8152fe61030b8aa991f983fcac9a405c37ed8908045e05e82ae5e" + }, + "vllm/v1/core/sched/scheduler.py": { + "path": "/vllm/v1/core/sched/scheduler.py", + "sha256": "c1db45f3bbad3a875dd8638331b8870c4380ac1ab4734265ba5c863833a82884" + }, + "vllm/v1/core/sched/utils.py": { + "path": "/vllm/v1/core/sched/utils.py", + "sha256": "1ed988044eb8028c77ede875bd1a5fd05ff6998b455d61e3997d6a3d7fc1c3a7" + }, + "vllm/v1/sample/__init__.py": { + "path": "/vllm/v1/sample/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/sample/logits_processor/__init__.py": { + "path": "/vllm/v1/sample/logits_processor/__init__.py", + "sha256": "1f9b02dae8cf6d44484638037123d3a2dec6b7b9a2bcc9afceef1a9bf3eaedec" + }, + "vllm/v1/sample/logits_processor/builtin.py": { + "path": "/vllm/v1/sample/logits_processor/builtin.py", + "sha256": "6105816ece77e5b1dbee0d07abc90ce039d650bac2ddb85c93280c48b00f2ebe" + }, + "vllm/v1/sample/logits_processor/interface.py": { + "path": "/vllm/v1/sample/logits_processor/interface.py", + "sha256": "171dfc6ef9b5b53128e8eaecc4bdf1de413a706d64bf5be686048f583c66eee1" + }, + "vllm/v1/sample/logits_processor/state.py": { + "path": "/vllm/v1/sample/logits_processor/state.py", + "sha256": "a96411f14362c45f839e181dcb3ac01d5b880812bccb3552fc17863b219f44ac" + }, + "vllm/v1/sample/metadata.py": { + "path": "/vllm/v1/sample/metadata.py", + "sha256": "6582cfe1a240c7ddb975f0ef6dd7dcd28dcf0fc7670394390250013977aa7ffd" + }, + "vllm/v1/sample/ops/__init__.py": { + "path": "/vllm/v1/sample/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/sample/ops/bad_words.py": { + "path": "/vllm/v1/sample/ops/bad_words.py", + "sha256": "0b1d0a9b13b92ddcae2c83393c07a34c0f107813725700dee794caa7fe7f3b12" + }, + "vllm/v1/sample/ops/logprobs.py": { + "path": "/vllm/v1/sample/ops/logprobs.py", + "sha256": "b286f69012a6758bfe9250038b0697294dbffe0d32c6906f284c39f75ee48be3" + }, + "vllm/v1/sample/ops/penalties.py": { + "path": "/vllm/v1/sample/ops/penalties.py", + "sha256": "4debfcf247b3887478d2b9ec98f108756bbed2805462777ef6b56f3bdf4ce682" + }, + "vllm/v1/sample/ops/topk_topp_sampler.py": { + "path": "/vllm/v1/sample/ops/topk_topp_sampler.py", + "sha256": "13ea4359832bc914492330958ec4f5ac140f408b8f410cc05c6eaf7ddcd70be4" + }, + "vllm/v1/sample/ops/topk_topp_triton.py": { + "path": "/vllm/v1/sample/ops/topk_topp_triton.py", + "sha256": "0b5fc337058e22bc28a8530ccec904d6ccd89b9548b02955c657ac429b1669d2" + }, + "vllm/v1/sample/rejection_sampler.py": { + "path": "/vllm/v1/sample/rejection_sampler.py", + "sha256": "0bb9d224887ccb1355e16199005cc23a4afc6fa75156eca419851b7247d99750" + }, + "vllm/v1/sample/sampler.py": { + "path": "/vllm/v1/sample/sampler.py", + "sha256": "f95805b2c6d06218c724826aa5f881a606e8d0a534a566aee7c85948520dd216" + }, + "vllm/v1/sample/thinking_budget_state.py": { + "path": "/vllm/v1/sample/thinking_budget_state.py", + "sha256": "962f8f55210eb0a431cb9c78b013e35f7a7dd58d06d6fb2e7fcff1b457356f8e" + }, + "vllm/v1/worker/__init__.py": { + "path": "/vllm/v1/worker/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/block_table.py": { + "path": "/vllm/v1/worker/block_table.py", + "sha256": "a09b8819e1417b7a186cf3472224e2138fc5d41a291c6692bb7df711b0c44259" + }, + "vllm/v1/worker/cp_utils.py": { + "path": "/vllm/v1/worker/cp_utils.py", + "sha256": "e32625d83a641b8dd8df82e92d1b6fb20af0cdf2e8fbd2fb131aa3c215415448" + }, + "vllm/v1/worker/cpu/__init__.py": { + "path": "/vllm/v1/worker/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/cpu/buffer_utils.py": { + "path": "/vllm/v1/worker/cpu/buffer_utils.py", + "sha256": "e7313fd8c2c76ebfb98d2fa53008bc9691d0f83a7d7c05e87602b5a29fb79e04" + }, + "vllm/v1/worker/cpu/model_runner.py": { + "path": "/vllm/v1/worker/cpu/model_runner.py", + "sha256": "24a1c916550051327dd5893243a6d4200f3824b91b3af8aa6f6c793fd7c68c3e" + }, + "vllm/v1/worker/cpu/shm.py": { + "path": "/vllm/v1/worker/cpu/shm.py", + "sha256": "08491af8ad341399d1375f2d21ad00414d4c89b0a5c03f55de8704914bbfcbd9" + }, + "vllm/v1/worker/cpu_model_runner.py": { + "path": "/vllm/v1/worker/cpu_model_runner.py", + "sha256": "92111aba92f00571f1a3c4c6e43cf1da6ccb4d2afac2f4d5abc018a4a6e7e8bd" + }, + "vllm/v1/worker/cpu_worker.py": { + "path": "/vllm/v1/worker/cpu_worker.py", + "sha256": "a8051b9e510ef0af9cc34004f2cbe5c0f902bd0cebc32c9464e744344dfdf849" + }, + "vllm/v1/worker/dp_utils.py": { + "path": "/vllm/v1/worker/dp_utils.py", + "sha256": "8cd19f1bfbc5c4f6ec60df89aea7c8a19b400ebc264f372b103014152e92158c" + }, + "vllm/v1/worker/ec_connector_model_runner_mixin.py": { + "path": "/vllm/v1/worker/ec_connector_model_runner_mixin.py", + "sha256": "fe9b11cebb8562f1bfe98b98a5647b2b081a6e424cb60d4ffe2412c91a99215e" + }, + "vllm/v1/worker/encoder_cudagraph.py": { + "path": "/vllm/v1/worker/encoder_cudagraph.py", + "sha256": "6a08d3779bca1b47dbf9daf6eafe2d3c70dbcb8aeb7d63ba7efacc68241ee3bc" + }, + "vllm/v1/worker/encoder_cudagraph_defs.py": { + "path": "/vllm/v1/worker/encoder_cudagraph_defs.py", + "sha256": "bb7be050fcaa8868e7816c84caec875da57050d65fe7eaf00f3d41473df25e3a" + }, + "vllm/v1/worker/gpu/__init__.py": { + "path": "/vllm/v1/worker/gpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/async_utils.py": { + "path": "/vllm/v1/worker/gpu/async_utils.py", + "sha256": "77e17a4570ead2be30ae9b00888cf077a3b873018c12ca0549b853bfda02c1ba" + }, + "vllm/v1/worker/gpu/attn_utils.py": { + "path": "/vllm/v1/worker/gpu/attn_utils.py", + "sha256": "b9b81e59dda2720b1f9c434471381f879228832443e52756e469b4ad4905888f" + }, + "vllm/v1/worker/gpu/block_table.py": { + "path": "/vllm/v1/worker/gpu/block_table.py", + "sha256": "61c004315d5af7e7eae4e2a9e6be92ea82c520327690a7f55a73bb9ce95f520a" + }, + "vllm/v1/worker/gpu/buffer_utils.py": { + "path": "/vllm/v1/worker/gpu/buffer_utils.py", + "sha256": "6597f701a30261bf250e9ad5a29737264624a1caa20527aeea0dad630325b093" + }, + "vllm/v1/worker/gpu/cp_utils.py": { + "path": "/vllm/v1/worker/gpu/cp_utils.py", + "sha256": "456c1bb7e262d99ff555522a4f134e5a9b42aee23290be25455eaef36ee8eaaf" + }, + "vllm/v1/worker/gpu/cudagraph_utils.py": { + "path": "/vllm/v1/worker/gpu/cudagraph_utils.py", + "sha256": "6e9c042890603535e300a40df8ee159dbed1058a64a83ae50ff0329e332e05ff" + }, + "vllm/v1/worker/gpu/dp_utils.py": { + "path": "/vllm/v1/worker/gpu/dp_utils.py", + "sha256": "e26867bc89e6bfc933cabc5ed13e5dc7b8d2d3030118ca1ca64c8785dabc0fc1" + }, + "vllm/v1/worker/gpu/ec_connector.py": { + "path": "/vllm/v1/worker/gpu/ec_connector.py", + "sha256": "2afe6e641f4ae3eb3b8da336c74eaa7479bf617b27cfb39a1fcbe487686f0a08" + }, + "vllm/v1/worker/gpu/eplb_utils.py": { + "path": "/vllm/v1/worker/gpu/eplb_utils.py", + "sha256": "1829fac11464aed4649179b302df198de51b95d0589f4e56bea305a876a63e26" + }, + "vllm/v1/worker/gpu/input_batch.py": { + "path": "/vllm/v1/worker/gpu/input_batch.py", + "sha256": "d5dd956eb319bd69dd9e762047833d81ad40b21fce619fcb2133759e73620694" + }, + "vllm/v1/worker/gpu/kv_connector.py": { + "path": "/vllm/v1/worker/gpu/kv_connector.py", + "sha256": "b89a4333f1e552d86e1815674b59e9f1335f0f49c0a7b46082439076f62c6a81" + }, + "vllm/v1/worker/gpu/lora_utils.py": { + "path": "/vllm/v1/worker/gpu/lora_utils.py", + "sha256": "1e90eddd9ddb4ca55e574bb28e87ae3a6f6750175a62d373102426543f4ccd66" + }, + "vllm/v1/worker/gpu/metrics/__init__.py": { + "path": "/vllm/v1/worker/gpu/metrics/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/metrics/logits.py": { + "path": "/vllm/v1/worker/gpu/metrics/logits.py", + "sha256": "ea058d7510a077a55f8ac7e4c3d596508346244e908cb372865d7159f62edc89" + }, + "vllm/v1/worker/gpu/mm/__init__.py": { + "path": "/vllm/v1/worker/gpu/mm/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/mm/encoder_cache.py": { + "path": "/vllm/v1/worker/gpu/mm/encoder_cache.py", + "sha256": "89c500338fddbeee7c4fca978a3a7c4c566a03e848e399d303fbee3c80631cd2" + }, + "vllm/v1/worker/gpu/mm/encoder_runner.py": { + "path": "/vllm/v1/worker/gpu/mm/encoder_runner.py", + "sha256": "0981e352d70301b7154a217a48665ffe35f215d053ec5740c2515a3e1e11b4e6" + }, + "vllm/v1/worker/gpu/mm/lora.py": { + "path": "/vllm/v1/worker/gpu/mm/lora.py", + "sha256": "a3eddfad6ad64de276964240c28dc080888df4a56dd5eac18f89428f2cbb7a01" + }, + "vllm/v1/worker/gpu/mm/rope.py": { + "path": "/vllm/v1/worker/gpu/mm/rope.py", + "sha256": "0924375bcb367267e783b57dd2ad9de1189d97025ce4313baaa54f2911eaaf1e" + }, + "vllm/v1/worker/gpu/model_runner.py": { + "path": "/vllm/v1/worker/gpu/model_runner.py", + "sha256": "174c93db921c23cf0396eee4764be25b2bd2d4b6a06e9fa41ce3598b884ce8ce" + }, + "vllm/v1/worker/gpu/model_states/__init__.py": { + "path": "/vllm/v1/worker/gpu/model_states/__init__.py", + "sha256": "07815d0b788fc88185772f581bbf892a675259f9288375571f29887622f8d93c" + }, + "vllm/v1/worker/gpu/model_states/default.py": { + "path": "/vllm/v1/worker/gpu/model_states/default.py", + "sha256": "bb614f814780f052e869f9acf31dfbfa68718ee7dc6252eefa901b5730ee8a2a" + }, + "vllm/v1/worker/gpu/model_states/encoder_decoder.py": { + "path": "/vllm/v1/worker/gpu/model_states/encoder_decoder.py", + "sha256": "a5868059d8af672548b41d0e623e884320e6ed61e6aaca2d2828ff5be0356f2f" + }, + "vllm/v1/worker/gpu/model_states/encoder_only.py": { + "path": "/vllm/v1/worker/gpu/model_states/encoder_only.py", + "sha256": "84e96b55a2639e2a73fa4a0308acc89c8d053dc715481180b237e0196dcef99f" + }, + "vllm/v1/worker/gpu/model_states/interface.py": { + "path": "/vllm/v1/worker/gpu/model_states/interface.py", + "sha256": "5675b6fedc7403a9ab410b1e5565974e78fac23c42ab4253ae1da52d6e09b594" + }, + "vllm/v1/worker/gpu/model_states/mamba_hybrid.py": { + "path": "/vllm/v1/worker/gpu/model_states/mamba_hybrid.py", + "sha256": "573e130ac5587d4822fabf97adad1ad0fda02ff83c5e70df879a5bb175ae845c" + }, + "vllm/v1/worker/gpu/model_states/mm_pruning.py": { + "path": "/vllm/v1/worker/gpu/model_states/mm_pruning.py", + "sha256": "b150940b12ae76048f050a8eeb54d532bbdc530a18ffbf320ddeeb0cfaa90f93" + }, + "vllm/v1/worker/gpu/model_states/prompt_embeds.py": { + "path": "/vllm/v1/worker/gpu/model_states/prompt_embeds.py", + "sha256": "11f9e270925c2df6a505557605ac2b859bb145cf3420b0111e7482a1c544f9b1" + }, + "vllm/v1/worker/gpu/model_states/recoverssm.py": { + "path": "/vllm/v1/worker/gpu/model_states/recoverssm.py", + "sha256": "b4b660e62eaf33f4fe8271f83ed1fb6de6bc08f800a8073b27803e42fb29a645" + }, + "vllm/v1/worker/gpu/pcp_manager.py": { + "path": "/vllm/v1/worker/gpu/pcp_manager.py", + "sha256": "2d80df0ed5b18a2069f9d0689cb59923ffe324ba200fcafe242da23da3a6ddaa" + }, + "vllm/v1/worker/gpu/pool/__init__.py": { + "path": "/vllm/v1/worker/gpu/pool/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/pool/pooling_runner.py": { + "path": "/vllm/v1/worker/gpu/pool/pooling_runner.py", + "sha256": "f8463f7648cce0f3f29418a4d9fee61634ead760957cf236d06d61cf8cd986e7" + }, + "vllm/v1/worker/gpu/pp_utils.py": { + "path": "/vllm/v1/worker/gpu/pp_utils.py", + "sha256": "dadeef0bebf61d0ad44a28d06372208ec4e6389224d6017f412683b026bdbb5c" + }, + "vllm/v1/worker/gpu/sample/__init__.py": { + "path": "/vllm/v1/worker/gpu/sample/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/sample/bad_words.py": { + "path": "/vllm/v1/worker/gpu/sample/bad_words.py", + "sha256": "8d3cbd5613398260314d94739d8ee0e1ac0c22abf2f960f541d3c0d4e39d360b" + }, + "vllm/v1/worker/gpu/sample/batch_shard.py": { + "path": "/vllm/v1/worker/gpu/sample/batch_shard.py", + "sha256": "c30274a3a04e6a03e89be9cd7c62de602b1aba4d412f64540ab6201036de3928" + }, + "vllm/v1/worker/gpu/sample/gumbel.py": { + "path": "/vllm/v1/worker/gpu/sample/gumbel.py", + "sha256": "3ec1df510bdad13e8b0a457b5b67c98affdf6e57369e56cb471246cc8f40dd34" + }, + "vllm/v1/worker/gpu/sample/logit_bias.py": { + "path": "/vllm/v1/worker/gpu/sample/logit_bias.py", + "sha256": "9e80a3fe6f3c7474723408cfff52183f4585fdeedd9c2312843ee98d0b12724c" + }, + "vllm/v1/worker/gpu/sample/logprob.py": { + "path": "/vllm/v1/worker/gpu/sample/logprob.py", + "sha256": "f47479a818192acb6b297c79fa67a3b2f9820e3492a394d5adda777e9b7c832e" + }, + "vllm/v1/worker/gpu/sample/min_p.py": { + "path": "/vllm/v1/worker/gpu/sample/min_p.py", + "sha256": "4cb5e2f45e1ced6f9685283a7a5c8cfd7204d9a249822e866cfff756c7f04f62" + }, + "vllm/v1/worker/gpu/sample/output.py": { + "path": "/vllm/v1/worker/gpu/sample/output.py", + "sha256": "d6e298c0f197d487a8faaf7200f500fa83df1d7a4bbf4339cadd6a18008f7f9c" + }, + "vllm/v1/worker/gpu/sample/penalties.py": { + "path": "/vllm/v1/worker/gpu/sample/penalties.py", + "sha256": "46c29434caf5f415129ef4a9bb2b8d4f62d2765596e3e07f73ad2b198c7def1b" + }, + "vllm/v1/worker/gpu/sample/prompt_logprob.py": { + "path": "/vllm/v1/worker/gpu/sample/prompt_logprob.py", + "sha256": "4cf22d390e7bf59e44c458cff7180268db63e95d06af2f1e14d720a2d77c9663" + }, + "vllm/v1/worker/gpu/sample/sampler.py": { + "path": "/vllm/v1/worker/gpu/sample/sampler.py", + "sha256": "832c9945d201a1e730ff9b4b52076aa83bd4a5064e1e4cfea952cf84d4a8d1f0" + }, + "vllm/v1/worker/gpu/sample/states.py": { + "path": "/vllm/v1/worker/gpu/sample/states.py", + "sha256": "4e3671f93695ba5a48fad7d2d13beb231ac8741034904ed5a15d9f7b9b86662e" + }, + "vllm/v1/worker/gpu/sample/thinking_budget.py": { + "path": "/vllm/v1/worker/gpu/sample/thinking_budget.py", + "sha256": "020513e1d3406f367de6ad995a95055008fd0c28f2873647e8283c9870e22404" + }, + "vllm/v1/worker/gpu/sample/trace_replay.py": { + "path": "/vllm/v1/worker/gpu/sample/trace_replay.py", + "sha256": "d2a7d3b3b55379efabe4740a4b7f14030126dc11be36f6ea974164ce42316a50" + }, + "vllm/v1/worker/gpu/sample/watermark.py": { + "path": "/vllm/v1/worker/gpu/sample/watermark.py", + "sha256": "a3581458169dab9153eb09fd67218e0ee5585406537a9de80ad528ae62b030c0" + }, + "vllm/v1/worker/gpu/shutdown.py": { + "path": "/vllm/v1/worker/gpu/shutdown.py", + "sha256": "bb470f14b17c7e52571ef8938b2a9527e7c2846852ae8a3a94b69cd1c30aa4b1" + }, + "vllm/v1/worker/gpu/spec_decode/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/__init__.py", + "sha256": "1f1f84bfe6f4f5af3a7e21a7a8716ecf7b9013da1d03327668a3ee36afc24c32" + }, + "vllm/v1/worker/gpu/spec_decode/acceptance_estimator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/acceptance_estimator.py", + "sha256": "505b843bdd75928b03793b395b47b8be914bd7fe2a3351c8ec04339baeebb1c2" + }, + "vllm/v1/worker/gpu/spec_decode/adaptive_verification.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/adaptive_verification.py", + "sha256": "276b2fec56758a94c71b717f6786b8a6f126db2e20cf964350202feee61a0a39" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/cudagraph_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/cudagraph_utils.py", + "sha256": "13392ef0a9ed59eb9c2b2bad43d7c61beb212a8805849e46b5130c230275d0a5" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/speculator.py", + "sha256": "5b97f54e20ddf65b98e939832d050745f67ef43cfa145786da300f1a8322e3c6" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/cudagraph.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/cudagraph.py", + "sha256": "beab567ae2df6a2ba2cd92fe7ee452c6b959b8a7037a4b5f493993a1824619bb" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/speculator.py", + "sha256": "f9c100f42f9326e48eb84e89281897e859ba761943f54d593523555ccd98dc63" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/utils.py", + "sha256": "53d2c3ad474d290d2c6df027446bbd80ac7447684e5242ab2c3c5337d2abd383" + }, + "vllm/v1/worker/gpu/spec_decode/dflash2/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash2/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/dflash2/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash2/speculator.py", + "sha256": "b70043550938a1df9aecc85d8c8224c38c929ca34f68834572f6e723854d2027" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/speculator.py", + "sha256": "dcf4abdedbd2bddd0d76be198ccf5b4e467c46f645038c35fcab821491a35b03" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/utils.py", + "sha256": "86af2bf30604a184312e8f076097b91ecfec704f409f9d68d634b03d6b318070" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/eagle3_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/eagle3_utils.py", + "sha256": "201ee875fcc3d076a8fc1f3876dcbf85736b221a368555243a8987ff26a1674e" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/speculator.py", + "sha256": "746e318a4f266d75522ff7f3731ea9b4527b7b4824f71364d1a62184ea1f7b3d" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/utils.py", + "sha256": "94de6f55a1761f24f4aa1388cbc3b3763d4ab3ee53260330056ad31ce0b78236" + }, + "vllm/v1/worker/gpu/spec_decode/extract_hidden_states.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/extract_hidden_states.py", + "sha256": "93c4233be7b2d2290b33902ea9b3bb5274c11701830851d03967a22144536e2d" + }, + "vllm/v1/worker/gpu/spec_decode/gemma4/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/gemma4/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/gemma4/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/gemma4/speculator.py", + "sha256": "9991210d7babd2caf2cd10797ca8688543dedeafbc3b86bc7c979c1a6ae9f949" + }, + "vllm/v1/worker/gpu/spec_decode/mtp/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/mtp/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/mtp/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/mtp/speculator.py", + "sha256": "926d6c9ffdb368c971647911a60493820d056ce236fcae9d94a42fa2e006255d" + }, + "vllm/v1/worker/gpu/spec_decode/multi_module_mtp/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/multi_module_mtp/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/multi_module_mtp/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/multi_module_mtp/speculator.py", + "sha256": "d9d4735b9b33829332b0e845b6d3073b2f0436045ed693b25c6434f351644127" + }, + "vllm/v1/worker/gpu/spec_decode/rejection_sampler.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/rejection_sampler.py", + "sha256": "030db5bfca162cc1f305112f299de5d6d61c59d3ed0807fee46575441ca4086d" + }, + "vllm/v1/worker/gpu/spec_decode/rejection_sampler_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/rejection_sampler_utils.py", + "sha256": "214b61fa0abe88573beb779872c035b3954e5651a85bd438d99ee5905d3a62ec" + }, + "vllm/v1/worker/gpu/spec_decode/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/speculator.py", + "sha256": "3a1ab15bf8b20918852eb835fe9755046e99dcbac6ba6ca3d414949fc8bc695a" + }, + "vllm/v1/worker/gpu/spec_decode/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/utils.py", + "sha256": "282f2929eddae9ca7312269f799be07472334b6df9fd91878b5e839ec05e418c" + }, + "vllm/v1/worker/gpu/states.py": { + "path": "/vllm/v1/worker/gpu/states.py", + "sha256": "99418f5df43ca612ded72609fee011620b065b2cab2f249ccb387096bf4ae71a" + }, + "vllm/v1/worker/gpu/structured_outputs.py": { + "path": "/vllm/v1/worker/gpu/structured_outputs.py", + "sha256": "18a10532db7e66b55e334acacd1fd989ad6361adf31dd0de9a9a65e23db25951" + }, + "vllm/v1/worker/gpu/ubatch_utils.py": { + "path": "/vllm/v1/worker/gpu/ubatch_utils.py", + "sha256": "5092e2e58af0561c8dc12e62847cfc6dda9ca20dfbd33e7f0cd77a83fe87f7c5" + }, + "vllm/v1/worker/gpu/warmup.py": { + "path": "/vllm/v1/worker/gpu/warmup.py", + "sha256": "423ac32d58fe008c228cfa223e4fcebfcf87e3463a9dbdf80a083c0578d73723" + }, + "vllm/v1/worker/gpu_input_batch.py": { + "path": "/vllm/v1/worker/gpu_input_batch.py", + "sha256": "18cf455c9d0eea61cc581c7932f2e6cd09786914e82dd35eef1c1430da359a0f" + }, + "vllm/v1/worker/gpu_model_runner.py": { + "path": "/vllm/v1/worker/gpu_model_runner.py", + "sha256": "87c29d08c0bbf66993d8b984811e7325e35e6436242a773feb55ec88f16b2c51" + }, + "vllm/v1/worker/gpu_ubatch_wrapper.py": { + "path": "/vllm/v1/worker/gpu_ubatch_wrapper.py", + "sha256": "4233cfbe8c9884b042c4363890108f616483b694ebe9a6e69578dcf89c6dac5c" + }, + "vllm/v1/worker/gpu_worker.py": { + "path": "/vllm/v1/worker/gpu_worker.py", + "sha256": "6994436e4547c0996ab555b3e814e8ccea26b650dfc1b378b97d640745309347" + }, + "vllm/v1/worker/kv_connector_model_runner_mixin.py": { + "path": "/vllm/v1/worker/kv_connector_model_runner_mixin.py", + "sha256": "e1cc76d065a7e60aacddb190ae795a480b65cd02ba71a1fc699a02a85c1a3de2" + }, + "vllm/v1/worker/lora_model_runner_mixin.py": { + "path": "/vllm/v1/worker/lora_model_runner_mixin.py", + "sha256": "fef6092a15d8d37f6fa22495e6106e2e5280180908d61ce43d9ff5bf4eef3f2f" + }, + "vllm/v1/worker/mamba_utils.py": { + "path": "/vllm/v1/worker/mamba_utils.py", + "sha256": "23fdaa4e8f63ee8f938eaa1a2b39f803cb04fa6ecd69789563254b1a0691413a" + }, + "vllm/v1/worker/mm_encoder_model_runner.py": { + "path": "/vllm/v1/worker/mm_encoder_model_runner.py", + "sha256": "780c41be84ad022205c21c1decb6bb8d5afb03bc7be120c1f7df03b710acc3d7" + }, + "vllm/v1/worker/sentinel/__init__.py": { + "path": "/vllm/v1/worker/sentinel/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/sentinel/gpu_worker_sentinel.py": { + "path": "/vllm/v1/worker/sentinel/gpu_worker_sentinel.py", + "sha256": "3959b8619d052c5dd247815074e03ec21ec9b43cc424ff2d296abc19b227b852" + }, + "vllm/v1/worker/startup_plan.py": { + "path": "/vllm/v1/worker/startup_plan.py", + "sha256": "84bcbb4f7a9fd7c8d10c9c895aadd9673d44c767b9132368d11eb5e017afe86b" + }, + "vllm/v1/worker/ubatch_utils.py": { + "path": "/vllm/v1/worker/ubatch_utils.py", + "sha256": "b34dce551b5195c414e6a3a997c75961cc7a17f24c7c980487fe3d3e2ba7a798" + }, + "vllm/v1/worker/ubatching.py": { + "path": "/vllm/v1/worker/ubatching.py", + "sha256": "40391241c564feb5f16c77898ae6ae152ed6e71a4682e2a406387785d8de02d7" + }, + "vllm/v1/worker/utils.py": { + "path": "/vllm/v1/worker/utils.py", + "sha256": "0ca3ec6bf4d20076145b7fe64e564962adebedc8f75a856b517ba0b2f2d77acf" + }, + "vllm/v1/worker/worker_base.py": { + "path": "/vllm/v1/worker/worker_base.py", + "sha256": "4a1a5266b912fe97991d8dc89d92b923990da9f6cb4b817d00d52e9c0d26dd7c" + }, + "vllm/v1/worker/workspace.py": { + "path": "/vllm/v1/worker/workspace.py", + "sha256": "d21c08167d1d0d1c0cddaa80453a53a0b4dec5d81b5a537c94a21324344976b3" + }, + "vllm/v1/worker/xpu_model_runner.py": { + "path": "/vllm/v1/worker/xpu_model_runner.py", + "sha256": "07fa0390d28f2b8c3c3c0019eb9c3b126e2397aea268ba47c889f06b423deb23" + }, + "vllm/v1/worker/xpu_worker.py": { + "path": "/vllm/v1/worker/xpu_worker.py", + "sha256": "711b56432506b58041cd86e71320c3960413f7bd61061990b66488421d81cfc3" + } + }, + "prefix": "", + "pth": { + "/__editable__.megatron_core-0.16.0rc0.pth": "d55c9b64480b34aae3d4d31e7706b93391c969dec6e0498e50963b03445a57b0", + "/__editable__.rl_kernel-0.1.0.pth": "1454c4987b35762a0d189d4e901c5d077fde62a1944fbaabecea230e57f3923a", + "/__editable__.vime-0.3.2.pth": "77eec5d06d628cb952e65edd813ca88d8db67ccc785083e1b7b29011b92bec4f", + "/distutils-precedence.pth": "2638ce9e2500e572a5e0de7faed6661eb569d1b696fcba07b0dd223da5f5d224", + "/qwen3_next_cuda_runtime.pth": "e0d3ab57dd3ff4f5d55fcf76e83c549cc00b3c813e6f717c540d5ded79fa2f49", + "/qwen3_next_megatron_source.pth": "8556ac057538e82856cb76cbbc954f58312a3f45373daec3eec826031cfd2709", + "/__editable__.rl_kernel-0.1.0.pth": "1454c4987b35762a0d189d4e901c5d077fde62a1944fbaabecea230e57f3923a", + "/distutils-precedence.pth": "2638ce9e2500e572a5e0de7faed6661eb569d1b696fcba07b0dd223da5f5d224", + "/nvidia_cutlass_dsl_packages.pth": "cc710b99ddb3d76361a70461461d274212a979d00c381d821fce5bb3ad9cf246" + }, + "pyvenv_cfg_sha256": "48579f2c6d35c3d535c2690d7d426587c4b8e92021463f0266b38d35dfbbb834", + "sources": { + "/Megatron-LM-training": { + "patch_sha256": "f66035f12501aa1d08e8884e0dea5a22d59825d717aeda73c3e83876e3efd79f", + "path": "/Megatron-LM-training", + "tree": "731fc44a368d6cac8c6171a29d5c687ff0d95bd1" + }, + "/vime": { + "patch_sha256": "66949839d4c18329444f4f9f6dcd702b53ce1b94e9aa15ed111f28743bfaa4b9", + "path": "/vime", + "tree": "f5174e67dbcdaef983eecd45f215fef2d8429dd0" + } + }, + "version": "3.12.14 | packaged by Anaconda, Inc. | (main, Aug 27 2026, 14:46:43) [GCC 14.3.0]" + }, + "sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca" + }, + "gpu_uuids": [ + "b9d15c77-041c-2191-4a17-f979be328e39", + "c95a4fa0-c623-658e-cee7-d1faa63fbddd", + "d5d8fb0c-c4b9-3df4-c19a-da5bdbd78154", + "8c5af87f-f2c2-8d91-7457-b9fb6052b969" + ], + "execution_gpus": 4 +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/train2/l2_matrix.json b/docs/usage/evidence/qwen3-next-chain-b200/train2/l2_matrix.json new file mode 100644 index 000000000..149f97305 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/train2/l2_matrix.json @@ -0,0 +1,2236 @@ +{ + "schema_version": 1, + "status": "passed", + "scope": "qwen3_next_full_model_l2", + "identity": { + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "checkpoint": "/training-state/exports/update-2-a6d7b63a7fdb43889f1e78812b3ef774", + "weight_version": "update-2", + "checkpoint_identity": { + "schema_version": 1, + "kind": "qwen3_next_native_hf_export", + "status": "complete", + "weight_version": "update-2", + "step": 2, + "export_id": "update-2-a6d7b63a7fdb43889f1e78812b3ef774", + "base_checkpoint": "", + "base_checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "training_identity": { + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "checkpoint": "", + "weight_version": "baseline", + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32", + "run_id": "20261009T041838Z-train1-c67ec144-39e7db9f", + "execution_id": "39e7db9f488142f4b52872e05728c390", + "fixture_sha256": "7c98e4e17cc24bd0c5f65f6515d58a9dfc947afcdb6d4956bd3fa05f24bb28b6" + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "model_rank_sha256": [ + "3ddc69fe7e5d977eab4514fa425840b8d398dbec82995091af644724ed19955a", + "e5d5c59ad91481f00b6e76ed8df3e937ec4178a7abc3a40e0d48c1ae6635e388", + "85886f4d00ebf1bf986f6091273d3fa5d6476f7a82866a95c1263abe541f7293", + "f2b03aad2e898c1ee33d8b1e3a146f98a9bf13253a42efd36adc38ba30e35f19" + ], + "model_identity_method": "native_parameter_hashes_after", + "base_passthrough": { + "prefixes": [ + "mtp." + ], + "tensor_count": 1553, + "shards": { + "model-base-passthrough-00001-of-00001.safetensors": { + "source": "model-00041-of-00041.safetensors", + "tensor_count": 1553 + } + }, + "names_sha256": "622080f1d1b3060957aab28c98f5a728d0c1e9b44d624474a752d0dc9a90566d" + }, + "files": { + "STAGING.json": { + "size": 27893, + "sha256": "7ed7cdf14a0e3d8a7e96e6d1ca2b1c6fbb676664945e1149c9c219c9fd5eb4e7" + }, + "config.json": { + "size": 1154, + "sha256": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303" + }, + "generation_config.json": { + "size": 221, + "sha256": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217" + }, + "merges.txt": { + "size": 1671839, + "sha256": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3" + }, + "model-00001-of-00147.safetensors": { + "size": 4216, + "sha256": "f297513e1c5e05a652b167b82a9e2c48ab5eab9ccc489d9b0db6da892675adbe" + }, + "model-00002-of-00147.safetensors": { + "size": 1073804696, + "sha256": "56881cb4b2774e84ed201d596f5ee3d0e515976cc183ae2e4b0dab1f309bf980" + }, + "model-00003-of-00147.safetensors": { + "size": 2147609384, + "sha256": "3805458f753d090f874a9fb2f128e88b06eb9dc76f89720d340417d707baef4e" + }, + "model-00004-of-00147.safetensors": { + "size": 75839416, + "sha256": "535bc45077380c0bc5e64d3ee680579260f01800e632a159446fde56be2a24bb" + }, + "model-00005-of-00147.safetensors": { + "size": 1073804696, + "sha256": "7a0a70e0683b2b2ae9c9e1b1f6530d71d903f72c5d0e728fde0349a677d4388d" + }, + "model-00006-of-00147.safetensors": { + "size": 2147609384, + "sha256": "11627fc124219e2e2041820dd8c8fab475fb95e1a19095ec052d547395bc8459" + }, + "model-00007-of-00147.safetensors": { + "size": 75839416, + "sha256": "85d06e89815967e1c6081416e1da1523240d09f10b361274b94f8bee365e4a02" + }, + "model-00008-of-00147.safetensors": { + "size": 1073805208, + "sha256": "f7b904408310cfa22313136dafc90a1ecb17c01f1557e06085110df8e49b9a32" + }, + "model-00009-of-00147.safetensors": { + "size": 2147610408, + "sha256": "b22eac5700f7355e6729edc22a939c4eb3786967ec4ab2bd7fb89b5c4bdff01f" + }, + "model-00010-of-00147.safetensors": { + "size": 75839432, + "sha256": "d0db6c52125b5e88bd8aa7034376b27e07a2e591fa76d19229cfe9edaf526c84" + }, + "model-00011-of-00147.safetensors": { + "size": 1073805208, + "sha256": "a69e00b276ce389a78cc587f34a80256ef5712fc532884d034be582255172597" + }, + "model-00012-of-00147.safetensors": { + "size": 2147610408, + "sha256": "6643fdcf4755fef08cab5dfae1d01c108f11b8fc9b921c3014ccb3444f967105" + }, + "model-00013-of-00147.safetensors": { + "size": 62929376, + "sha256": "01827703e357b4ea1426be9f2f268eff5fa2384a94dc4c04126f675d35f1a3fe" + }, + "model-00014-of-00147.safetensors": { + "size": 1073805208, + "sha256": "98f07959e99fafbd601d1df580206a9c8e9672712952a4035e249fbc5a48633c" + }, + "model-00015-of-00147.safetensors": { + "size": 2147610408, + "sha256": "9f35e066490cf90c50d292c2ebaef51de2aba88624af697146150fe8b4b91c58" + }, + "model-00016-of-00147.safetensors": { + "size": 75839432, + "sha256": "99a93a96a4fb7652205192801d5216b5d53354277291ac3cf3044606d078b182" + }, + "model-00017-of-00147.safetensors": { + "size": 1073805208, + "sha256": "216473c456f94f0879da9a8efeff8171fa6a77811c6a494673432f9b37c012cf" + }, + "model-00018-of-00147.safetensors": { + "size": 2147610408, + "sha256": "088aa59119e7f515a4d6a07a262b1140a9635f72133653c0b856974702462515" + }, + "model-00019-of-00147.safetensors": { + "size": 75839432, + "sha256": "2d19a7adf6c05b9469fe1aa08187ec546a2a8e0eca975af7da2e11aabd7f649e" + }, + "model-00020-of-00147.safetensors": { + "size": 1073805208, + "sha256": "c644ae04c5bec2dcfcf09464070df79653c589ed48f8ee78f702cd1bf70474c7" + }, + "model-00021-of-00147.safetensors": { + "size": 2147610408, + "sha256": "db106e82b8c8a145ba3d9d6bae5e318ae860f6ea860e63dfd2027fb316364525" + }, + "model-00022-of-00147.safetensors": { + "size": 75839432, + "sha256": "c64486f83d99c17d6c6a331db6ddfa4331bc4813632ddef6b2ae59a4e680d85a" + }, + "model-00023-of-00147.safetensors": { + "size": 1073805208, + "sha256": "aad4a11beb3623a55b265333cae9a4395b14e0e656e7486e150f17fa8f5239a2" + }, + "model-00024-of-00147.safetensors": { + "size": 2147610408, + "sha256": "a04b9e322dd70e5d164817abc04965862f6b349ea462fece6824b0ea85712e5f" + }, + "model-00025-of-00147.safetensors": { + "size": 62929376, + "sha256": "f17df1ae7ecdcb115bcf455b194aa6aec5d2c2972c85df40602bec6def10d53b" + }, + "model-00026-of-00147.safetensors": { + "size": 1073805208, + "sha256": "9891b4cb4bd0bd1d7613a00c944b1bdfa6b0d5151f4c167de81c30a81fabc246" + }, + "model-00027-of-00147.safetensors": { + "size": 2147610408, + "sha256": "894627b6268e9f8e11e9c6e2c9ded846de49bc43647711d4a94973e0ed14592e" + }, + "model-00028-of-00147.safetensors": { + "size": 75839432, + "sha256": "8a10198a44c6ca8ae0c2da8fd8483fa330fd26f97f895a3ddf7c5bc067d1b8f2" + }, + "model-00029-of-00147.safetensors": { + "size": 1073805208, + "sha256": "8830d3312aeefd6185dea0d3b183da38752253e74da566f4a584aabe1c4cde8a" + }, + "model-00030-of-00147.safetensors": { + "size": 2147610408, + "sha256": "09de4461ab691e78fbcd12b0a26a3e0265453d7cc4d8cfcf9570d9384ffde628" + }, + "model-00031-of-00147.safetensors": { + "size": 75839432, + "sha256": "5e884110ce4902dde296ce50b8948df4eaf3b29d77867ad18e51ea0c78f12ff0" + }, + "model-00032-of-00147.safetensors": { + "size": 1073805208, + "sha256": "47687781ad775d52c445e37a652c48f49a713e07c83f4e55d55384c0a430f0bd" + }, + "model-00033-of-00147.safetensors": { + "size": 2147610408, + "sha256": "81c5d8f4a625703491a13bf41b74eec774e497ae6ee0ef6d5fa49da36a176b66" + }, + "model-00034-of-00147.safetensors": { + "size": 75839432, + "sha256": "1df86f533833ecc51fa637f972f646f91f98308a2b60f0b405a3ee9a228369f4" + }, + "model-00035-of-00147.safetensors": { + "size": 1073805208, + "sha256": "26004a40c3457943df9cbb956196f9157a0521eabe0f9aa196e09f4844ac5f58" + }, + "model-00036-of-00147.safetensors": { + "size": 2147610408, + "sha256": "50c843cc950c3e826d703b325d2a8ec52b3eb79f232e24a95512b3054dfe985d" + }, + "model-00037-of-00147.safetensors": { + "size": 62929376, + "sha256": "a1bd257fe63bad0b11031eb2dc2cf9b2070f2dcecfbaf92768b956aac49f0693" + }, + "model-00038-of-00147.safetensors": { + "size": 1073804696, + "sha256": "ff122722e465d4524182f07fa95588f037aa5bbfa8296ecabce06bffd1a87aa8" + }, + "model-00039-of-00147.safetensors": { + "size": 2147609384, + "sha256": "3f705b190a003935be1d474d7fb4a39464f70a4cc1f0f126d44230bd73f23074" + }, + "model-00040-of-00147.safetensors": { + "size": 75839416, + "sha256": "9483528c5e1f807a19a84b4a5feed4504e362490839dc42378220d86281c5342" + }, + "model-00041-of-00147.safetensors": { + "size": 1073805208, + "sha256": "d44259c0e7fed809da9cf5a02648a8d0130984883ad8ca3a399aaf886aba0a52" + }, + "model-00042-of-00147.safetensors": { + "size": 2147610408, + "sha256": "c25f45e246e5ff464ffbaa70cd4a19feaf7fd1242224d9654e8bc488d746a284" + }, + "model-00043-of-00147.safetensors": { + "size": 75839432, + "sha256": "8bb12d6b340c195e447bc5035c1f74383dd8b0058c579c3b3678037dc3825c88" + }, + "model-00044-of-00147.safetensors": { + "size": 1073805208, + "sha256": "b97d4ff50b85c7ef0510dd801647c93a31b24047c674ab301f525a548afbd5f3" + }, + "model-00045-of-00147.safetensors": { + "size": 2147610408, + "sha256": "89966461fda186e0a059165fa059fc5838ea7a039776edd0c8c2d0f8cf5e2d11" + }, + "model-00046-of-00147.safetensors": { + "size": 75839432, + "sha256": "03a2a3ebb73479c76aa6201db8e26824cf71cc8f2a061e99b11595f59f294e27" + }, + "model-00047-of-00147.safetensors": { + "size": 1073805208, + "sha256": "021ce840d030045a041f36bfb4ba5d77517de923798532726e30e765cc822386" + }, + "model-00048-of-00147.safetensors": { + "size": 2147610408, + "sha256": "50ed385d8799e9aeb8dc58fe8c77a0c70a6b466b6193be85bf953bd80e956ee4" + }, + "model-00049-of-00147.safetensors": { + "size": 75839432, + "sha256": "953d3bf23e3ce26cf8ee377c77b39a1e1e9dc96c383d50886e37b6eda32ca7d9" + }, + "model-00050-of-00147.safetensors": { + "size": 1073805208, + "sha256": "872868c1f4fe074bd7c42e482371c90f474fea0bdcc7a4b6dce9beaafc80c211" + }, + "model-00051-of-00147.safetensors": { + "size": 2147610408, + "sha256": "97f2f15656b20fe6b5f65b42fbf5a2fd18c02bbeec6be98ef9cd044a8e526b1a" + }, + "model-00052-of-00147.safetensors": { + "size": 62929376, + "sha256": "02ff26a993fc1b42d292bca75dfcb4aa453dba596be9752100908bb3509b5121" + }, + "model-00053-of-00147.safetensors": { + "size": 1073805208, + "sha256": "e63cc29a1e3f5f4a5d6177a7f5d955488eace98e55ffc7500de8dfac8147254c" + }, + "model-00054-of-00147.safetensors": { + "size": 2147610408, + "sha256": "8a3fd7b47f9c8e1fb068f58c2b17800e87cd739eb8ea5b47b46681ee823c0bb8" + }, + "model-00055-of-00147.safetensors": { + "size": 75839432, + "sha256": "df0f64fcf66c85d8c3c34b5e67852a32e75ff7b5e48b8a41291fa9fbc1fec397" + }, + "model-00056-of-00147.safetensors": { + "size": 1073805208, + "sha256": "cdefac69a06a5ffecc88fe1866dbb531780bc49fb9fade70e763f16e155ccafe" + }, + "model-00057-of-00147.safetensors": { + "size": 2147610408, + "sha256": "d4bf2b27d828387ec2c95ac8f4b104833b35f6c6e9b7d28a06988c3d9a2ba51e" + }, + "model-00058-of-00147.safetensors": { + "size": 75839432, + "sha256": "392fbe091c5f119ca697d90da73d482291a04685a62149873f49ff7cebfa8796" + }, + "model-00059-of-00147.safetensors": { + "size": 1073805208, + "sha256": "bc682c3d69a69a6259f9ad49e54f3f71e6e717ebbb0df52443ce2ced974af8be" + }, + "model-00060-of-00147.safetensors": { + "size": 2147610408, + "sha256": "4d84ffb6af885eedf2e9ff37c9d0a96537a29c801dcf42d4c1b40d5d77e99464" + }, + "model-00061-of-00147.safetensors": { + "size": 75839432, + "sha256": "23bc528d11c85388fb232c08e376960569798a500e4e81632708a60b9f0248a7" + }, + "model-00062-of-00147.safetensors": { + "size": 1073805208, + "sha256": "aa15b425d646da3f9cfa6c2876f0e1d3574b7f0ea284152d45a043f82a5f7d57" + }, + "model-00063-of-00147.safetensors": { + "size": 2147610408, + "sha256": "18effaab66190034674f71e31f1654ce2897bd22b8e45a12688524c05986c924" + }, + "model-00064-of-00147.safetensors": { + "size": 62929376, + "sha256": "9502c8f8f0accced237be3b397d9e23761080232f7a71d041da0f232179dd607" + }, + "model-00065-of-00147.safetensors": { + "size": 1073805208, + "sha256": "d723746600e84ae5ea8c064bdcbb3923cca64027f5f1d2ceb83ff3fafa3da4a6" + }, + "model-00066-of-00147.safetensors": { + "size": 2147610408, + "sha256": "b73771ae80dbb4265e0bdacfba7e9bce0c2554842b7334982c052b99e07a7aa6" + }, + "model-00067-of-00147.safetensors": { + "size": 75839432, + "sha256": "25e6f603127ba5786697e12628e6ab24db4fcf987e941a19e43be66d38c64d0b" + }, + "model-00068-of-00147.safetensors": { + "size": 1073805208, + "sha256": "785746042bec39462abc260e78968f167e13e4f6739fe6d86b0f995f5d9c76c4" + }, + "model-00069-of-00147.safetensors": { + "size": 2147610408, + "sha256": "f0fc1ba7762a54a62454e78023b167e4c4067ee89d0a6a528a7c814c08ebe6b3" + }, + "model-00070-of-00147.safetensors": { + "size": 75839432, + "sha256": "efc4e36db6185a142ee7b40e517580ae1b8f8e7bb035941a2fb3bff72284a5e6" + }, + "model-00071-of-00147.safetensors": { + "size": 1073804696, + "sha256": "33ce05c567cc4a0bce1fa06e826a39010fdbbc4a4b7b28996a713fe8d7e6defc" + }, + "model-00072-of-00147.safetensors": { + "size": 2147609384, + "sha256": "7a636dc20b5d69453fa4971a2dda321d7927d1de3c47dd0321a8629647bc6c68" + }, + "model-00073-of-00147.safetensors": { + "size": 62929360, + "sha256": "09813f9151c294d521c007dab5980d6bda78b5482f77b91befcdec5923681423" + }, + "model-00074-of-00147.safetensors": { + "size": 1073805208, + "sha256": "572a99f9012e204e21a9bbd46afcc6cd787e099edf65842434ef7e31d0dfdeee" + }, + "model-00075-of-00147.safetensors": { + "size": 2147610408, + "sha256": "ddce5418736fb559a9f498c33b1bc41f142ba34f748cbea7f8198c789f97bcb9" + }, + "model-00076-of-00147.safetensors": { + "size": 75839432, + "sha256": "eb1634ecee78247811b1f8a72eb3d81f8a0b228fb693ba034d9849d59824b452" + }, + "model-00077-of-00147.safetensors": { + "size": 1073805208, + "sha256": "17e147dadf2cc0da2d6ef90cce282304df91a2f1445b8583ddfc776120dd8a73" + }, + "model-00078-of-00147.safetensors": { + "size": 2147610408, + "sha256": "148611aa0fa6e194b13f3de18430ac19a6d2451f5ae8e34938d5d37b419889c3" + }, + "model-00079-of-00147.safetensors": { + "size": 62929376, + "sha256": "ab527b1965121f75e1fa1a5861ce012ce553014176b41ae027074e432cbe88bf" + }, + "model-00080-of-00147.safetensors": { + "size": 1073805208, + "sha256": "2482e15ffe51e77fef00be5f19c874a01b8b6285566ee242685e76f5aa348d97" + }, + "model-00081-of-00147.safetensors": { + "size": 2147610408, + "sha256": "e4efe93a896f3641e117893d145cb63f3cc399a45c25c0357cffadb66421765c" + }, + "model-00082-of-00147.safetensors": { + "size": 75839432, + "sha256": "0c61eb6411df279aff23928f22adccb6bfaa80aec01dbc018942480e059146b7" + }, + "model-00083-of-00147.safetensors": { + "size": 1073805208, + "sha256": "c28e48ff12af6c5b573ddcdc58f77075d2c0fd673e4b1f06582a277ce09cb983" + }, + "model-00084-of-00147.safetensors": { + "size": 2147610408, + "sha256": "718d34a56fc917b71e447f82c4341dae49ed30438f9cf47611b1969d6582bca6" + }, + "model-00085-of-00147.safetensors": { + "size": 75839432, + "sha256": "f36e2b0ca5fd4bc49b7750d23a1c8c5513cafca9e2033ce0ed17ff4e4e9a8a33" + }, + "model-00086-of-00147.safetensors": { + "size": 1073805208, + "sha256": "51057f373efef2130d78079a23c1de9bca838c8b0ae0e13ad0f2c00af908392a" + }, + "model-00087-of-00147.safetensors": { + "size": 2147610408, + "sha256": "dbf26ad3ee227eeab019d64a37d2663b958ef75a443a855ca73b06cb17232737" + }, + "model-00088-of-00147.safetensors": { + "size": 75839432, + "sha256": "e1da79a6406b6d424be747d5cc4361e3a6d7fefbd62d94c6782cbe1a10bc7df4" + }, + "model-00089-of-00147.safetensors": { + "size": 1073805208, + "sha256": "3abbc5d28bf28181f7deb0a0f79d465137b56cf7b40b09aed8fbebb1721f81f8" + }, + "model-00090-of-00147.safetensors": { + "size": 2147610408, + "sha256": "6416617a8cff14af8fa3e6791375883cd2e3c809ef8cfe478e2869e725e5a89a" + }, + "model-00091-of-00147.safetensors": { + "size": 62929376, + "sha256": "4b0e6a5d07831e7e37e73533e677ddb0de9a705778fe5020962d492815a319b6" + }, + "model-00092-of-00147.safetensors": { + "size": 1073805208, + "sha256": "4c5539f8d1194a4b3d957b7f61e6587666c02215765521db933163a367a18391" + }, + "model-00093-of-00147.safetensors": { + "size": 2147610408, + "sha256": "0551ef70a150027e6e123d6e333ba7b45686353c5a7a3be34a9398e01d3e9b5e" + }, + "model-00094-of-00147.safetensors": { + "size": 75839432, + "sha256": "11d96bb282a8015844aee7b3d3d554bc7f7460b22a1a7515215bf86e157047f6" + }, + "model-00095-of-00147.safetensors": { + "size": 1073805208, + "sha256": "ca97e1b71f188cc965ec3ed85d63731819673b22ba903084668791df15a6a1f5" + }, + "model-00096-of-00147.safetensors": { + "size": 2147610408, + "sha256": "d57bdf698cc01b981fa0abddd2a44810543ecfe06890122ee45206dae8467fa0" + }, + "model-00097-of-00147.safetensors": { + "size": 75839432, + "sha256": "8c8fb90ae052525e0a6a529c4fa5ed3b5966b154c4cb6cc2204c7ac460a37ff0" + }, + "model-00098-of-00147.safetensors": { + "size": 1073805208, + "sha256": "45dec9b8a286c801bb21a29e31f9cdd31e7228d6c88558930108b4fa556962e7" + }, + "model-00099-of-00147.safetensors": { + "size": 2147610408, + "sha256": "b7ab1cb4ff2ee1fed08c9d0ed649ae5a886ae46fef694ae86caff933ebdd29cc" + }, + "model-00100-of-00147.safetensors": { + "size": 75839432, + "sha256": "4bb412842e727a1af4aae5ae628f1ce84f013c0fcf43cc9f2d0990f251c33073" + }, + "model-00101-of-00147.safetensors": { + "size": 1073805208, + "sha256": "cda8d307f76761533db21535e863b8fed7989acd728b8f24fbcffc075215d443" + }, + "model-00102-of-00147.safetensors": { + "size": 2147610408, + "sha256": "9143dc00c62f94f4774d895dcd9cba4372acfdda985172ac26a987aaf2fa3c1b" + }, + "model-00103-of-00147.safetensors": { + "size": 62929376, + "sha256": "bb2d588029386f6ca471b45ae726f9e85115732205797b024d033b4560f5b6f6" + }, + "model-00104-of-00147.safetensors": { + "size": 1073804696, + "sha256": "f73356ee3f2c07d21d9bf15ed0e59a106fb223bd6b5d65cbf8ff59d3cb87543a" + }, + "model-00105-of-00147.safetensors": { + "size": 2147609384, + "sha256": "20248a45cc956fde36e4c2d48c391eb4b6d24b272e7ae517d30f1cc759d2b0b6" + }, + "model-00106-of-00147.safetensors": { + "size": 75839416, + "sha256": "908a1d845a7b100a41b9ca9d66fb3d6af7583b75533ae5404bc536ffc7588cea" + }, + "model-00107-of-00147.safetensors": { + "size": 1073805208, + "sha256": "abd0f481fc628a5f6b8749d98cae5a94917bb7113f77b44312a87b788a1ab870" + }, + "model-00108-of-00147.safetensors": { + "size": 2147610408, + "sha256": "abbb9012f71cca747aaf1e0ea6798a2217485ed7095d93d3c2b2fbace45f327b" + }, + "model-00109-of-00147.safetensors": { + "size": 75839432, + "sha256": "5a1dbfa37fdf522c34cb8dd3428d7e6099288be38b6e0d3cf722a5af230bca48" + }, + "model-00110-of-00147.safetensors": { + "size": 1073805208, + "sha256": "ac1334476058a5513aacae4e3a81a6cc752a62d33542bfb0869ca5d3ec06a4fb" + }, + "model-00111-of-00147.safetensors": { + "size": 2147610408, + "sha256": "5e96ed4391dd06b7a146b8e2c02cf9ca37f0ccbd874f8c6926546c8f09e8be8e" + }, + "model-00112-of-00147.safetensors": { + "size": 75839432, + "sha256": "415862be771ff036cb90e963bcb1158d8c0130259c0e32e42a0d5057ca084b18" + }, + "model-00113-of-00147.safetensors": { + "size": 1073805208, + "sha256": "5309f7425fd4d426d4a4c8391436ba135c14ef54f7d78bf4673591967773647c" + }, + "model-00114-of-00147.safetensors": { + "size": 2147610408, + "sha256": "64598a8fceb64b3c05d322691507a35d40284de3c3a79211f6701369fb00535a" + }, + "model-00115-of-00147.safetensors": { + "size": 75839432, + "sha256": "018fcfa76c565623d1ef0e70d83e95e2bfda7b562855403675276756c1c9f925" + }, + "model-00116-of-00147.safetensors": { + "size": 1073805208, + "sha256": "1e33b897d362a2176c1db65b180dc6896e272763aa3299988c1a2a98500b5c16" + }, + "model-00117-of-00147.safetensors": { + "size": 2147610408, + "sha256": "a5d5945eca3855b43e530eee2cf6520135cd4a81902d0e65b57b399c8b411892" + }, + "model-00118-of-00147.safetensors": { + "size": 62929376, + "sha256": "82d22ba211128a60b00e7d3ac8e50f6cb5a0c6bdd38464c76a63921deda4acf3" + }, + "model-00119-of-00147.safetensors": { + "size": 1073805208, + "sha256": "811677ccea68be57c43f443e479eeac1dc40403089104867d7cdca0910fabf17" + }, + "model-00120-of-00147.safetensors": { + "size": 2147610408, + "sha256": "ee2e3cf412bfaad9f3135b6bce6d2b62f8538a6a27ce6bbcf9e6ef9cc72fadb6" + }, + "model-00121-of-00147.safetensors": { + "size": 75839432, + "sha256": "3f609b8675962061c8e77f887e08ca1ee521603f13a6a4b48443f4f63b38b3d6" + }, + "model-00122-of-00147.safetensors": { + "size": 1073805208, + "sha256": "ff803e36f9e4091ad01e6f9349289237e03783071b79dcfa00d91bbe0a382f2a" + }, + "model-00123-of-00147.safetensors": { + "size": 2147610408, + "sha256": "823b463ed443427b61fbdb37cac12afb29360660d9824428f752439cacbac743" + }, + "model-00124-of-00147.safetensors": { + "size": 75839432, + "sha256": "725b2c23ca2d3bee691afa2da4fff278780b9fd92f6c455b1cc7f2e7a972d1bc" + }, + "model-00125-of-00147.safetensors": { + "size": 1073805208, + "sha256": "37d53a1c01af0909ef4b5f54936a3decce53c326bdf306e1d29bfe0bc7a14ea6" + }, + "model-00126-of-00147.safetensors": { + "size": 2147610408, + "sha256": "9daeab452813435db248f768a0dc46bea96bce2389f92ebb4eb493464182ae69" + }, + "model-00127-of-00147.safetensors": { + "size": 75839432, + "sha256": "c3c9d3a05923a5cbb31df6e600e7bb7a3c06e3d023581c8d2c75d440e1ee7701" + }, + "model-00128-of-00147.safetensors": { + "size": 1073805208, + "sha256": "056e682db0ab6ae584f48ab553a2f2568cf73c5a2accf41a6909ebb20ced765d" + }, + "model-00129-of-00147.safetensors": { + "size": 2147610408, + "sha256": "262a2fd8dcd88ebc84c548a77b807c41dc314ebbca71888e25576792033e767b" + }, + "model-00130-of-00147.safetensors": { + "size": 62929376, + "sha256": "e34e22a2b0130e060487ad6224efd7d25567d73412b2a02ee3f615a6b98fef68" + }, + "model-00131-of-00147.safetensors": { + "size": 1073804696, + "sha256": "ec834d03238c9fd9b610de95c4dfe082ed9199a5c7c2edb772c81f9b91d3f4f6" + }, + "model-00132-of-00147.safetensors": { + "size": 2147609384, + "sha256": "535b686df09b832b039cd37c57d177e24e06e8c3b98564cf94a434c0b197d6bc" + }, + "model-00133-of-00147.safetensors": { + "size": 75839416, + "sha256": "e63a4efbb4c25edadfe0223c65314f1ffb611d5dd596e4ae1a678ee4a43bfff3" + }, + "model-00134-of-00147.safetensors": { + "size": 1073804696, + "sha256": "cf651ad3cecdcf8808ef041aff5eb622ed480007b936c801570008467b29610d" + }, + "model-00135-of-00147.safetensors": { + "size": 2147609384, + "sha256": "dcbe086aa112a81494dea3e41e9074c87559739bda76ca08710be82d60620fc1" + }, + "model-00136-of-00147.safetensors": { + "size": 75839416, + "sha256": "89e8fa27220b6c155d9b2020891c60eab1188eb4a0d980ccbf24c48b05c36bdf" + }, + "model-00137-of-00147.safetensors": { + "size": 1073804696, + "sha256": "b1d8f68c8214a510e2d8453dbfb155468ea1eb9459b765556779d69017d7491f" + }, + "model-00138-of-00147.safetensors": { + "size": 2147609384, + "sha256": "e933c180865b8b17b730984169a2587e9ac415e322525f23b8142e1e9da08525" + }, + "model-00139-of-00147.safetensors": { + "size": 62929360, + "sha256": "e1aeeefbaa6bbc9761c9beb88365972a56c6e871e359dca6a89c6d0a04c9169d" + }, + "model-00140-of-00147.safetensors": { + "size": 1073804696, + "sha256": "158bc9a21d875b145ff7eae574e016aa55602a866ec33521ab0d66faf284c3a9" + }, + "model-00141-of-00147.safetensors": { + "size": 2147609384, + "sha256": "03e1383a9a707cb3192341815b320b1d404b3398da473a16b91545c53c3a09be" + }, + "model-00142-of-00147.safetensors": { + "size": 75839416, + "sha256": "0bf27292f331dde74acdac6c3cbbd793d613f981b7356b45431018b4c5f35a74" + }, + "model-00143-of-00147.safetensors": { + "size": 1073804696, + "sha256": "94ee318952036a9d05849c115b392a513f3f970d00e0801200081a2006661e12" + }, + "model-00144-of-00147.safetensors": { + "size": 2147609384, + "sha256": "07226c34b635325a941df32196cc623fdea90ab4d34d96b19f18dca973ab4526" + }, + "model-00145-of-00147.safetensors": { + "size": 75839416, + "sha256": "118d57769561149f012aa99bb24e0615643eb3067a7baea436896eaf51347ff4" + }, + "model-00146-of-00147.safetensors": { + "size": 622329992, + "sha256": "2e4b51e71f585ae837f03c4236d911241a24c665be7a86f8368f36b5ccfe3c39" + }, + "model-00147-of-00147.safetensors": { + "size": 622329984, + "sha256": "5beb2069dff6c8e4bb8963b8e956b8e6db4f822c4e186ffeaf898ba0d2681cd2" + }, + "model-base-passthrough-00001-of-00001.safetensors": { + "size": 3301131328, + "sha256": "65190abf2f9cc7597a3e72c464f1f184d5e11820582a40b7ebd6977ae5273d2f" + }, + "model.safetensors.index.json": { + "size": 6922711, + "sha256": "f7a1d9a95b13a01cd482df0d992abb643b1ca4e3218acf22bd4795dc5a9d8661" + }, + "tokenizer.json": { + "size": 11422654, + "sha256": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4" + }, + "tokenizer_config.json": { + "size": 9377, + "sha256": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3" + }, + "vocab.json": { + "size": 2776833, + "sha256": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + } + }, + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "f7a1d9a95b13a01cd482df0d992abb643b1ca4e3218acf22bd4795dc5a9d8661", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "weight_schema_sha256": "babe9f7e7cf398ad6a8607ee03bb6549139b26fcdd919bb65e9d22b059536361", + "tensor_count": 75944, + "weights_content_sha256": "fd988d83f4741a74b43f642fb6f2f21a984b998694b20bf05964422a260b68db" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32", + "base_checkpoint": "", + "base_checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + } + }, + "fixture": { + "path": "/inputs/frozen.pt", + "sha256": "a8fc79cea6c76e5989743429b76811b3a93b6b85e1eb7f03164c9850c50f1ca8", + "content_sha256": "b59298acf5ecbe64abb4639e7596e052f1993ee5e3c7289b63738f1b04463d01" + }, + "case_ids": [ + "p0008-b1-full", + "p0008-b1-chunked", + "p0008-b4-full", + "p0008-b4-chunked", + "p0064-b1-full", + "p0064-b1-chunked", + "p0064-b4-full", + "p0064-b4-chunked", + "p0256-b1-full", + "p0256-b1-chunked", + "p0256-b4-full", + "p0256-b4-chunked", + "p1024-b1-full", + "p1024-b1-chunked", + "p1024-b4-full", + "p1024-b4-chunked" + ], + "cases": { + "p0008-b1-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/rollout/p0008-b1-full.pt", + "sha256": "97e40f375dc7fc91bf46fa13d826bd938dc19c3e2a5901886f626b048db6bb9e" + }, + "recompute": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/recompute/p0008-b1-full.pt", + "sha256": "981aeb3d654a14ef044c48a2584bc2e7596fa6cc7b7f058121cf0d9ad51d1285" + } + } + }, + "p0008-b1-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/rollout/p0008-b1-chunked.pt", + "sha256": "7625078f7a836a26a3725ca5697d06b880b55d7eeb31a56b1ef25806cb927c1b" + }, + "recompute": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/recompute/p0008-b1-chunked.pt", + "sha256": "b75fee7d8fcc9aead38165e4d8b6c792934446271f77fd08e6e602e019b4cd4e" + } + } + }, + "p0008-b4-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/rollout/p0008-b4-full.pt", + "sha256": "53c9ed71c6cfdb52309fe86c453b35374e84023c6b69c381c1488a046570385b" + }, + "recompute": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/recompute/p0008-b4-full.pt", + "sha256": "f4868648f5c3c4243507608263a2faa22790f517e5cc51d46f66a567fe32cbb1" + } + } + }, + "p0008-b4-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/rollout/p0008-b4-chunked.pt", + "sha256": "fc93291c15cd8c14b639239e17fcb0816902cb5704923b3da33d1a27d08b46db" + }, + "recompute": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/recompute/p0008-b4-chunked.pt", + "sha256": "132e6bad249bee31718560f7b3941bba52eec8e70ef4c9562f21f7ad21a23730" + } + } + }, + "p0064-b1-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/rollout/p0064-b1-full.pt", + "sha256": "cfceacebe1b6163081c665633e3de817a70eafd0611b864d07ecd9b4737e23ee" + }, + "recompute": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/recompute/p0064-b1-full.pt", + "sha256": "e4b79468ae17a45fba676326102686fc6bb42d68e1383323a85f2e99d232665d" + } + } + }, + "p0064-b1-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/rollout/p0064-b1-chunked.pt", + "sha256": "830fec472303df523eeaeed7083b92e69ddff716645beed4c30a995bf8c976dc" + }, + "recompute": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/recompute/p0064-b1-chunked.pt", + "sha256": "00b0e9e59a9e5456345226c71a7f52ae379be37f9856fac1361725cccc6bc477" + } + } + }, + "p0064-b4-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/rollout/p0064-b4-full.pt", + "sha256": "d4dc0b7de95210645686d5ef3916ecbc2dd98f129388dfeec966d66ed7e73e68" + }, + "recompute": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/recompute/p0064-b4-full.pt", + "sha256": "ca2c37dec93b8f52a1e04e85a58790aab9c987a51d03db8183eca23b59b1cd9e" + } + } + }, + "p0064-b4-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/rollout/p0064-b4-chunked.pt", + "sha256": "dca9c90d640fa2ee7dbbc1b7fa161346e7bdce8be89e0842e847224a2983bbc6" + }, + "recompute": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/recompute/p0064-b4-chunked.pt", + "sha256": "a182e1efe136a367e40bdecce6a1e1f416748ceedb18a7f895ce74fa2eceac0c" + } + } + }, + "p0256-b1-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/rollout/p0256-b1-full.pt", + "sha256": "f3db9e08839ee19e3f9890bdb23af8b6b32452a7f0b18e836029d3caf401a156" + }, + "recompute": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/recompute/p0256-b1-full.pt", + "sha256": "34a85c111519d7f2ceff50d7312aa09d30203af9f02a8d8dfaf8417a9dcf0bf0" + } + } + }, + "p0256-b1-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/rollout/p0256-b1-chunked.pt", + "sha256": "07f0cfcd75861447a2c5625b7393673d11193c8f8fe522d965146f3c4dd32fbc" + }, + "recompute": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/recompute/p0256-b1-chunked.pt", + "sha256": "f9a313fc6c94240071b244833f660eafa31f702f552119b97b3672b32596fed0" + } + } + }, + "p0256-b4-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/rollout/p0256-b4-full.pt", + "sha256": "81d525bc53bc8eee0430db7c3167ae5ebb395649f33918ac49fe95831334432f" + }, + "recompute": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/recompute/p0256-b4-full.pt", + "sha256": "d9e67783adf6c26031ed9af4095eba0e849d2be9ef0361a3f455fa5fadf219d7" + } + } + }, + "p0256-b4-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/rollout/p0256-b4-chunked.pt", + "sha256": "548868302127fde800cfa5d579988e81420773d0a0789e3fd762c5e936b30feb" + }, + "recompute": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/recompute/p0256-b4-chunked.pt", + "sha256": "4fca20f54562fa733cd140134e390841d7ba0e45d43bfe6e6b205165aaf5cc2c" + } + } + }, + "p1024-b1-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/rollout/p1024-b1-full.pt", + "sha256": "08e13b2c344b6e0714aaf2e2f7c8c8171e50e120e4a52d00e7afaa7672b59ffb" + }, + "recompute": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/recompute/p1024-b1-full.pt", + "sha256": "da49d3b9c0e4f9ce2e54d5ce27fd4f9ea0932c10f891b95157c8df5c0eec1ea7" + } + } + }, + "p1024-b1-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/rollout/p1024-b1-chunked.pt", + "sha256": "093ffee1d07d9dbf4e2252d405c23fb5113ae9805419b2ee863e57c19cc52d19" + }, + "recompute": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/recompute/p1024-b1-chunked.pt", + "sha256": "d559fa8b87791bb16800bcf8e8f3a6aeb983c2c1302eecc956cad6270c3c6036" + } + } + }, + "p1024-b4-full": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/rollout/p1024-b4-full.pt", + "sha256": "8a7ffa2153d4a50fda1f2fb635cd24caa93fa63336e9224125d3250777657cf4" + }, + "recompute": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/recompute/p1024-b4-full.pt", + "sha256": "0d1bba6adc80e88542a471c8b3500d1ca4bced3abe711505d743233be1016617" + } + } + }, + "p1024-b4-chunked": { + "passed": true, + "comparisons": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "first_divergent_layer": null, + "first_divergent_node": null, + "first_difference": null, + "batch_prefill": { + "rollout": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + }, + "recompute": { + "response_tokens": true, + "logits": true, + "logprobs": true, + "layer_states": true + } + }, + "baseline_generation": {}, + "artifacts": { + "rollout": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/rollout/p1024-b4-chunked.pt", + "sha256": "045e180d61360f62a68b58eae4c5b3c514cfc49d7b4a0ebaf391d01c0a0c86c7" + }, + "recompute": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/recompute/p1024-b4-chunked.pt", + "sha256": "335f003f341d1f1e2c121d506dddb84d4801cf88fa60c5bc6e8c5bf16b0edad7" + } + } + } + }, + "processes": { + "rollout": { + "pid": 2945802, + "exit_code": 0, + "log": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/rollout.log", + "gpu_release_verified": true + }, + "recompute": { + "pid": 2970801, + "exit_code": 0, + "log": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/recompute.log", + "gpu_release_verified": true + } + }, + "worker_results": { + "rollout": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/rollout/worker-result.json", + "sha256": "d35053958fdecdead196a31c27adfec4d3ded9f638d3051ecf04821837bc2950" + }, + "recompute": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/recompute/worker-result.json", + "sha256": "13856b773dcb5f23c30481fc1010e3168e888efc37ec125eeb22fdfe8795ad30" + } + }, + "raw_bit_comparison": true, + "logits_dtype": "bfloat16", + "logprobs_dtype": "float32", + "response_length": 16, + "vocab_size": 151936, + "provider_binary": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/provider-binary.json", + "sha256": "d0fed834cf6fbb3f425c6c3e45c7a05b797555253c8985231c8ea185a1b62a5e" + } +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/train2/operators.json b/docs/usage/evidence/qwen3-next-chain-b200/train2/operators.json new file mode 100644 index 000000000..500251cce --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/train2/operators.json @@ -0,0 +1,304 @@ +{ + "scope": "qwen3_next_operators_only", + "status": "passed", + "suite": "all", + "diagnostic_only": false, + "full_model_l2": "not_evaluated", + "git_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "git_dirty": false, + "versions": { + "torch": "2.13.0", + "vllm": "0.30.0", + "transformers": "5.17.0", + "triton": "3.7.1" + }, + "mandatory_case_ids": [ + "tests/check_qwen3_next_attention.py::test_d256_backward_with_cached_prefix_matches_float64_formula", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[1024]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[256]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[64]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[8]", + "tests/check_qwen3_next_attention.py::test_d256_input_device_guard_and_nondefault_stream", + "tests/check_qwen3_next_attention.py::test_native_backward_rejects_malformed_probability_and_gradient_buffers", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[0]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[2]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_target_inputs_do_not_depend_on_companions", + "tests/check_qwen3_next_batch_invariance.py::test_triton_chunked_prefill_is_batch_invariant", + "tests/check_qwen3_next_conv_bridge.py::test_chunked_and_reordered_sequences_match", + "tests/check_qwen3_next_conv_bridge.py::test_empty_sequence_preserves_cache_and_gradients", + "tests/check_qwen3_next_conv_bridge.py::test_response_gradient_reaches_prompt_and_convolution_weight", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths0]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths1]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths2]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-4]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[1]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[4]", + "tests/check_qwen3_next_core_matrix.py::test_variable_lengths_empty_and_mixed_step_match_independent_sequences", + "tests/check_qwen3_next_forward.py::test_combine_has_fixed_route_order_and_differentiable_weights", + "tests/check_qwen3_next_forward.py::test_full_vocabulary_logprob_entropy_modes_and_gradient", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_fail_closed_on_the_tensor_descriptor_path", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[128]", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[512]", + "tests/check_qwen3_next_forward.py::test_logprob_nan_rejected_before_comparison", + "tests/check_qwen3_next_forward.py::test_moe_vjp_matches_independent_double_formula", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[1024-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[128-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-16]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-256]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-3072]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-37984]", + "tests/check_qwen3_next_forward.py::test_qwen_moe_actual_tp4_shapes_and_independent_training_forward", + "tests/check_qwen3_next_forward.py::test_route_weights_are_batch_invariant", + "tests/check_qwen3_next_forward.py::test_shared_linear_vjp_and_empty_tokens", + "tests/check_qwen3_next_forward.py::test_stable_route_tie_boundary_and_router_gradient", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_backward_matches_recomputed_recurrence_vjp", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_forward_is_provider_exact_and_does_not_mutate_inputs", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_keeps_prompt_state_gradient_through_response", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[False]", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[True]", + "tests/check_qwen3_next_gdn_bridge.py::test_initial_state_vjp_matches_provider_directional_difference", + "tests/check_qwen3_next_gdn_sequence.py::test_1024_token_chunk_continuation_is_bitwise_exact", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad0]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad1]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad2]", + "tests/check_qwen3_next_gdn_sequence.py::test_chunk_boundary_retains_prompt_and_initial_state_gradients", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths0]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths1]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths2]", + "tests/check_qwen3_next_gdn_sequence.py::test_reserved_and_duplicate_slots_are_rejected", + "tests/check_qwen3_next_norm_providers.py::test_custom_op_has_distinct_native_and_cuda_paths", + "tests/check_qwen3_next_norm_providers.py::test_gdn_decode_provider_env_defaults_are_recorded", + "tests/check_qwen3_next_norm_providers.py::test_our_gated_op_is_batch_invariant", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_cuda]", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_native]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots0]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots2]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots3]", + "tests/check_qwen3_next_shared_core.py::test_independent_training_forward_matches_inference_and_retains_gradients", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[1024]", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[8]", + "tests/check_qwen3_next_shared_core.py::test_unimplemented_provider_profile_is_rejected", + "tests/test_qwen3_next_norm.py::test_bad_weight_shape_raises", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[16]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[1]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[2]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[32]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[48]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[64]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[8]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[128]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[2048]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_with_padding", + "tests/test_qwen3_next_norm.py::test_call_matches_forward", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[128]", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[2048]", + "tests/test_qwen3_next_norm.py::test_cuda_default_offset_preserves_plain_convention", + "tests/test_qwen3_next_norm.py::test_cuda_gated_backward_matches_autograd_golden", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_matches_golden_within_contract", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_bad_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_mismatched_gate", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_backward_uses_the_sigmoid_derivative", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_swish_is_an_alias_for_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_unit_weight_is_plain_norm_times_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_weight_offset_is_applied_in_fp32", + "tests/test_qwen3_next_norm.py::test_cuda_gated_wrapper_rejects_equal_numel_wrong_shape", + "tests/test_qwen3_next_norm.py::test_cuda_gated_zero_gate_zeroes_output", + "tests/test_qwen3_next_norm.py::test_cuda_offset_equals_explicit_fp32_weight", + "tests/test_qwen3_next_norm.py::test_cuda_offset_is_not_folded_through_bfloat16", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_backward_is_offset_aware", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_within_tolerance_of_golden", + "tests/test_qwen3_next_norm.py::test_deterministic_repeat", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype0]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype1]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype2]", + "tests/test_qwen3_next_norm.py::test_eps_inside_sqrt", + "tests/test_qwen3_next_norm.py::test_gated_batch_invariance_slice", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedHFOp]", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedOp]", + "tests/test_qwen3_next_norm.py::test_gated_conventions_diverge_in_low_precision", + "tests/test_qwen3_next_norm.py::test_gated_cuda_op_rejects_bad_activation_at_construction", + "tests/test_qwen3_next_norm.py::test_gated_extension_handles_empty_batch_and_nondefault_stream", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[dy_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[gate_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[rstd_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_shape]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_matches_hf_formula_fp32", + "tests/test_qwen3_next_norm.py::test_gated_shape_mismatch_raises", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_strict_matches_vllm_formula_fp32", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[128]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[2048]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_offset_applied_in_fp32_not_folded_into_bf16", + "tests/test_qwen3_next_norm.py::test_op_batch_invariance_on_device", + "tests/test_qwen3_next_norm.py::test_plain_reference_is_unchanged_by_the_offset_plumbing", + "tests/test_qwen3_next_norm.py::test_weight_offset_is_one", + "tests/test_qwen3_next_norm.py::test_zero_centred_cuda_constructor_rejects_missing_extension", + "tests/test_qwen3_next_norm.py::test_zero_centred_op_inherits_the_plain_reference", + "tests/test_qwen3_next_norm.py::test_zero_weight_is_identity_scaling" + ], + "case_ids_sha256": "694c931b65f9cfa5db963f2eca6d11bd309546c824a1df52f9da2ab128e83e0f", + "pytest_exit_code": 0, + "provider_tests": { + "tests": 233, + "failures": 0, + "errors": 0, + "skipped": 0 + }, + "norm_gates": { + "qwen3_next_rms_norm-forward.json": { + "passed": true, + "exit_code": 0, + "workload": { + "workload_id": "qwen3-next-80b-a3b-norm-c3-c4-v1", + "scope": "qwen3_next_norm_operators", + "fixture_identity_sha256": "3ac9490ffbb1486edac6ea509811fd4d5affbe880b208bd7d9b052b0ce418442", + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "full_model_evidence": false + } + }, + "qwen3_next_rms_norm-gradient.json": { + "passed": true, + "exit_code": 0, + "workload": { + "workload_id": "qwen3-next-80b-a3b-norm-c3-c4-v1", + "scope": "qwen3_next_norm_operators", + "fixture_identity_sha256": "3ac9490ffbb1486edac6ea509811fd4d5affbe880b208bd7d9b052b0ce418442", + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "full_model_evidence": false + } + }, + "rms_norm_gated-forward.json": { + "passed": true, + "exit_code": 0, + "workload": { + "workload_id": "qwen3-next-80b-a3b-norm-c3-c4-v1", + "scope": "qwen3_next_norm_operators", + "fixture_identity_sha256": "3ac9490ffbb1486edac6ea509811fd4d5affbe880b208bd7d9b052b0ce418442", + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "full_model_evidence": false + } + }, + "rms_norm_gated-gradient.json": { + "passed": true, + "exit_code": 0, + "workload": { + "workload_id": "qwen3-next-80b-a3b-norm-c3-c4-v1", + "scope": "qwen3_next_norm_operators", + "fixture_identity_sha256": "3ac9490ffbb1486edac6ea509811fd4d5affbe880b208bd7d9b052b0ce418442", + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "full_model_evidence": false + } + } + } +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/train2/result.json b/docs/usage/evidence/qwen3-next-chain-b200/train2/result.json new file mode 100644 index 000000000..cc69a99db --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/train2/result.json @@ -0,0 +1,775 @@ +{ + "contract_version": 4, + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "cuda_identity": { + "home": "", + "nvcc_sha256": "b8e2347d9d7fcadf8812a27324d515de99d033d3e48611811ece7e66d7895f8a" + }, + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "operator_requirements": { + "suite": "all", + "case_ids": [ + "tests/check_qwen3_next_attention.py::test_d256_backward_with_cached_prefix_matches_float64_formula", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[1024]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[256]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[64]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[8]", + "tests/check_qwen3_next_attention.py::test_d256_input_device_guard_and_nondefault_stream", + "tests/check_qwen3_next_attention.py::test_native_backward_rejects_malformed_probability_and_gradient_buffers", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[0]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[2]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_target_inputs_do_not_depend_on_companions", + "tests/check_qwen3_next_batch_invariance.py::test_triton_chunked_prefill_is_batch_invariant", + "tests/check_qwen3_next_conv_bridge.py::test_chunked_and_reordered_sequences_match", + "tests/check_qwen3_next_conv_bridge.py::test_empty_sequence_preserves_cache_and_gradients", + "tests/check_qwen3_next_conv_bridge.py::test_response_gradient_reaches_prompt_and_convolution_weight", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths0]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths1]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths2]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-4]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[1]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[4]", + "tests/check_qwen3_next_core_matrix.py::test_variable_lengths_empty_and_mixed_step_match_independent_sequences", + "tests/check_qwen3_next_forward.py::test_combine_has_fixed_route_order_and_differentiable_weights", + "tests/check_qwen3_next_forward.py::test_full_vocabulary_logprob_entropy_modes_and_gradient", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_fail_closed_on_the_tensor_descriptor_path", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[128]", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[512]", + "tests/check_qwen3_next_forward.py::test_logprob_nan_rejected_before_comparison", + "tests/check_qwen3_next_forward.py::test_moe_vjp_matches_independent_double_formula", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[1024-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[128-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-16]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-256]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-3072]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-37984]", + "tests/check_qwen3_next_forward.py::test_qwen_moe_actual_tp4_shapes_and_independent_training_forward", + "tests/check_qwen3_next_forward.py::test_route_weights_are_batch_invariant", + "tests/check_qwen3_next_forward.py::test_shared_linear_vjp_and_empty_tokens", + "tests/check_qwen3_next_forward.py::test_stable_route_tie_boundary_and_router_gradient", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_backward_matches_recomputed_recurrence_vjp", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_forward_is_provider_exact_and_does_not_mutate_inputs", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_keeps_prompt_state_gradient_through_response", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[False]", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[True]", + "tests/check_qwen3_next_gdn_bridge.py::test_initial_state_vjp_matches_provider_directional_difference", + "tests/check_qwen3_next_gdn_sequence.py::test_1024_token_chunk_continuation_is_bitwise_exact", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad0]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad1]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad2]", + "tests/check_qwen3_next_gdn_sequence.py::test_chunk_boundary_retains_prompt_and_initial_state_gradients", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths0]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths1]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths2]", + "tests/check_qwen3_next_gdn_sequence.py::test_reserved_and_duplicate_slots_are_rejected", + "tests/check_qwen3_next_norm_providers.py::test_custom_op_has_distinct_native_and_cuda_paths", + "tests/check_qwen3_next_norm_providers.py::test_gdn_decode_provider_env_defaults_are_recorded", + "tests/check_qwen3_next_norm_providers.py::test_our_gated_op_is_batch_invariant", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_cuda]", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_native]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots0]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots2]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots3]", + "tests/check_qwen3_next_shared_core.py::test_independent_training_forward_matches_inference_and_retains_gradients", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[1024]", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[8]", + "tests/check_qwen3_next_shared_core.py::test_unimplemented_provider_profile_is_rejected", + "tests/test_qwen3_next_norm.py::test_bad_weight_shape_raises", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[16]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[1]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[2]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[32]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[48]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[64]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[8]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[128]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[2048]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_with_padding", + "tests/test_qwen3_next_norm.py::test_call_matches_forward", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[128]", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[2048]", + "tests/test_qwen3_next_norm.py::test_cuda_default_offset_preserves_plain_convention", + "tests/test_qwen3_next_norm.py::test_cuda_gated_backward_matches_autograd_golden", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_matches_golden_within_contract", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_bad_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_mismatched_gate", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_backward_uses_the_sigmoid_derivative", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_swish_is_an_alias_for_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_unit_weight_is_plain_norm_times_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_weight_offset_is_applied_in_fp32", + "tests/test_qwen3_next_norm.py::test_cuda_gated_wrapper_rejects_equal_numel_wrong_shape", + "tests/test_qwen3_next_norm.py::test_cuda_gated_zero_gate_zeroes_output", + "tests/test_qwen3_next_norm.py::test_cuda_offset_equals_explicit_fp32_weight", + "tests/test_qwen3_next_norm.py::test_cuda_offset_is_not_folded_through_bfloat16", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_backward_is_offset_aware", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_within_tolerance_of_golden", + "tests/test_qwen3_next_norm.py::test_deterministic_repeat", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype0]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype1]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype2]", + "tests/test_qwen3_next_norm.py::test_eps_inside_sqrt", + "tests/test_qwen3_next_norm.py::test_gated_batch_invariance_slice", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedHFOp]", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedOp]", + "tests/test_qwen3_next_norm.py::test_gated_conventions_diverge_in_low_precision", + "tests/test_qwen3_next_norm.py::test_gated_cuda_op_rejects_bad_activation_at_construction", + "tests/test_qwen3_next_norm.py::test_gated_extension_handles_empty_batch_and_nondefault_stream", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[dy_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[gate_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[rstd_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_shape]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_matches_hf_formula_fp32", + "tests/test_qwen3_next_norm.py::test_gated_shape_mismatch_raises", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_strict_matches_vllm_formula_fp32", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[128]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[2048]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_offset_applied_in_fp32_not_folded_into_bf16", + "tests/test_qwen3_next_norm.py::test_op_batch_invariance_on_device", + "tests/test_qwen3_next_norm.py::test_plain_reference_is_unchanged_by_the_offset_plumbing", + "tests/test_qwen3_next_norm.py::test_weight_offset_is_one", + "tests/test_qwen3_next_norm.py::test_zero_centred_cuda_constructor_rejects_missing_extension", + "tests/test_qwen3_next_norm.py::test_zero_centred_op_inherits_the_plain_reference", + "tests/test_qwen3_next_norm.py::test_zero_weight_is_identity_scaling" + ], + "case_ids_sha256": "694c931b65f9cfa5db963f2eca6d11bd309546c824a1df52f9da2ab128e83e0f", + "norm_gates": [ + "qwen3_next_rms_norm-forward.json", + "qwen3_next_rms_norm-gradient.json", + "rms_norm_gated-forward.json", + "rms_norm_gated-gradient.json" + ] + }, + "layer_requirements": { + "schema_version": 1, + "gates": { + "gdn": { + "script": "scripts/qwen3_next_tp_gdn_check.py", + "output_option": "--output", + "scope": "tp4_gdn_layer0", + "groups": { + "cases": [ + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "prompt-gradient", + "replicated-norm-gradient", + "hf-load-export" + ] + }, + "script_sha256": "cc4338893f90af004c51c20fc67d1a9a3f4bf8d26775277f72671c02983e4df5" + }, + "attention": { + "script": "scripts/qwen3_next_tp_attention_check.py", + "output_option": "--output", + "scope": "tp4_full_attention_layer3", + "groups": { + "attention.cases": [ + "hf-load-export", + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "batch4-varlen-reorder", + "sixteen-token-decode", + "prompt-gradient", + "kv-pair-gradient", + "qk-norm-gradient" + ] + }, + "script_sha256": "d27d43efb05415a8ef5892c3c2238a2b9744a4821f5466faf46c6510e6e01bec" + }, + "moe": { + "script": "scripts/qwen3_next_tp_moe_check.py", + "output_option": "--output", + "scope": "tp4_moe_block_layer0", + "groups": { + "moe.cases": [ + "hf-load-export-all512experts", + "routes-replicated-8", + "full-chunk-reorder-8", + "routes-replicated-64", + "full-chunk-reorder-64", + "routes-replicated-256", + "full-chunk-reorder-256", + "routes-replicated-1024", + "full-chunk-reorder-1024", + "training-forward", + "all-parameter-gradient", + "replicated-router-gradient" + ] + }, + "script_sha256": "d5c1bbbb82e408b65871b0cb1638d7a6cf8cfe07f0a3315a657b7dc232d544be" + }, + "adapters": { + "script": "scripts/qwen3_next_adapter_check.py", + "output_option": "--out", + "scope": "gdn_engine_adapter_component", + "groups": { + "cases": [ + "batch1-length8", + "batch1-length64", + "batch1-length256", + "batch1-length1024", + "batch4-length8", + "batch4-length64", + "batch4-length256", + "batch4-length1024", + "mixed-prefill-decode16-reorder" + ] + }, + "fields": { + "prompt_gradient": "passed", + "hf_conv_roundtrip": "passed", + "batch_invariance_capability_registered": false + }, + "script_sha256": "3ce45bb317237c1a06533116d65fb77c2a23b6f503ae46406ede543036eb0f20" + }, + "heads": { + "script": "scripts/qwen3_next_tp_head_check.py", + "output_option": "--output", + "scope": "tp4_embedding_lm_head_only", + "groups": { + "cases": [ + "hf-embedding-roundtrip", + "hf-lm-head-roundtrip", + "replicated-norm-gradient", + "nonzero-finite-embedding-head-gradient", + "embedding-repeat-100", + "batch-invariant-prompt8", + "batch-invariant-prompt64", + "batch-invariant-prompt256", + "batch-invariant-prompt1024", + "logprob-original-and-promoted-logits", + "entropy-interface" + ] + }, + "script_sha256": "0504185d21a75405c8e994bc57b016cf4ec357d8b16e7430772c11934f2af876" + } + }, + "scheduler_case_ids": [ + "p0008-b1-full", + "p0008-b1-chunked", + "p0008-b4-full", + "p0008-b4-chunked", + "p0064-b1-full", + "p0064-b1-chunked", + "p0064-b4-full", + "p0064-b4-chunked", + "p0256-b1-full", + "p0256-b1-chunked", + "p0256-b4-full", + "p0256-b4-chunked", + "p1024-b1-full", + "p1024-b1-chunked", + "p1024-b4-full", + "p1024-b4-chunked" + ], + "registry_sha256": "e3949a750cb27c1897a000f3b023f912629906612ae8949c1575d0acc36df5ec", + "case_ids_per_rank": [ + "adapters/cases/batch1-length1024", + "adapters/cases/batch1-length256", + "adapters/cases/batch1-length64", + "adapters/cases/batch1-length8", + "adapters/cases/batch4-length1024", + "adapters/cases/batch4-length256", + "adapters/cases/batch4-length64", + "adapters/cases/batch4-length8", + "adapters/cases/mixed-prefill-decode16-reorder", + "attention/attention.cases/batch4-varlen-reorder", + "attention/attention.cases/full-chunk-1024", + "attention/attention.cases/full-chunk-256", + "attention/attention.cases/full-chunk-64", + "attention/attention.cases/full-chunk-8", + "attention/attention.cases/hf-load-export", + "attention/attention.cases/kv-pair-gradient", + "attention/attention.cases/prompt-gradient", + "attention/attention.cases/qk-norm-gradient", + "attention/attention.cases/sixteen-token-decode", + "gdn/cases/full-chunk-1024", + "gdn/cases/full-chunk-256", + "gdn/cases/full-chunk-64", + "gdn/cases/full-chunk-8", + "gdn/cases/hf-load-export", + "gdn/cases/prompt-gradient", + "gdn/cases/replicated-norm-gradient", + "heads/cases/batch-invariant-prompt1024", + "heads/cases/batch-invariant-prompt256", + "heads/cases/batch-invariant-prompt64", + "heads/cases/batch-invariant-prompt8", + "heads/cases/embedding-repeat-100", + "heads/cases/entropy-interface", + "heads/cases/hf-embedding-roundtrip", + "heads/cases/hf-lm-head-roundtrip", + "heads/cases/logprob-original-and-promoted-logits", + "heads/cases/nonzero-finite-embedding-head-gradient", + "heads/cases/replicated-norm-gradient", + "moe/moe.cases/all-parameter-gradient", + "moe/moe.cases/full-chunk-reorder-1024", + "moe/moe.cases/full-chunk-reorder-256", + "moe/moe.cases/full-chunk-reorder-64", + "moe/moe.cases/full-chunk-reorder-8", + "moe/moe.cases/hf-load-export-all512experts", + "moe/moe.cases/replicated-router-gradient", + "moe/moe.cases/routes-replicated-1024", + "moe/moe.cases/routes-replicated-256", + "moe/moe.cases/routes-replicated-64", + "moe/moe.cases/routes-replicated-8", + "moe/moe.cases/training-forward" + ], + "case_ids_sha256": "be74417dfbd6031ba27978d06d04bb15daaab2aeb57d132c7e0d41176b28b46e" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "run_id": "20261009T113535Z-train2-c67ec144-bfa88ef7", + "stage": "train2", + "suite": "all", + "execution_id": "bfa88ef71fde400abf6f017ca59d7486", + "attempt": "0", + "status": "passed", + "phase": "complete", + "scope": "qwen3_next_training_update2", + "full_model_l2": "passed", + "evidence": { + "updates": { + "path": "attempts/0/training-progress.json", + "sha256": "a9e2440b41620f9ca0a3146540e895e87d783995f37c9766bb2fcab22d1d7ca2" + }, + "l2_matrix": { + "path": "attempts/0/l2-matrix.json", + "sha256": "e8b9ee250133e40cf2f28134bb4b77f6ec18bb970c37a9702590284e2c570893" + }, + "operators": { + "path": "attempts/0/operators.json", + "sha256": "dedb24b6ac2a01d37eb795a001376ca0b200a03e417f8131688aac67c19c2ebd" + }, + "environment": { + "path": "attempts/0/environment.json", + "sha256": "48a6f6fdaa6e396d03f2094c9deef8b3280b8b1a62eb26d22d7e2e4c6034b120" + } + }, + "training_phases": [ + "update1", + "update2" + ] +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/train2/run.json b/docs/usage/evidence/qwen3-next-chain-b200/train2/run.json new file mode 100644 index 000000000..e4a4b124f --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/train2/run.json @@ -0,0 +1,5252 @@ +{ + "run_id": "20261009T113535Z-train2-c67ec144-bfa88ef7", + "execution_id": "bfa88ef71fde400abf6f017ca59d7486", + "contract_version": 4, + "suite": "all", + "execution_gpus": 4, + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "stage": "train2", + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source": "/source", + "python": "", + "cuda_home": "", + "checkpoint": "", + "memory": "1280G", + "previous": "", + "status": "prepared", + "full_model_l2": "not_evaluated", + "environment": { + "identity": { + "base_prefix": "/miniconda3/envs/rlkernel", + "binary": "/python3.12", + "binary_sha256": "6a1eb3ffc29f3a6b0ece607b016b4cfa5ca3ac57b34f17ed3266b404f78d2729", + "build_tools": { + "ninja": { + "path": "/miniconda3/envs/rlkernel/bin/ninja", + "sha256": "08639e194fffa7f08b259fc4abfa4803aff66b64de52549cee42ec527d55cea6" + } + }, + "distributions": [ + { + "direct_url": null, + "metadata_sha256": "6f1038270be40f9b8c0bcf391c627e7d7f41ccdd19aa192d6eac1dbfc3b19abc", + "name": "GitPython", + "version": "3.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "3f71971502087521f123c9daa26bc12d31d3466738b567390b8602acad3be22a", + "name": "Jinja2", + "version": "3.1.6" + }, + { + "direct_url": null, + "metadata_sha256": "818fb343b7b6b99a32771bf4813521ae6440b4c7579b3ae46e32dd02da0afeee", + "name": "Markdown", + "version": "3.11" + }, + { + "direct_url": null, + "metadata_sha256": "dc1ee42cf8ecfeee0ab60b15b21d291833e0732548efcb7bb5b3564dca3e5bf7", + "name": "MarkupSafe", + "version": "3.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "de7389b142450a0014234286b0876f328439b823c355c73d0aed41fd67ec208c", + "name": "PyJWT", + "version": "2.15.1" + }, + { + "direct_url": null, + "metadata_sha256": "ffcad4415cafb22b8b536a61595e9ee13438b51d31b0763c1b273ce3bc58e840", + "name": "PyYAML", + "version": "6.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "8562d701cc52d9cafbb418942b0e072fc087ed8ddcf35cd10224c1b2ed8bdd91", + "name": "Pygments", + "version": "2.21.0" + }, + { + "direct_url": null, + "metadata_sha256": "b6c25fcfdcc495edf248a10ca4ad28327ef2ed6047a6ec5c6346e121414c7f21", + "name": "Werkzeug", + "version": "3.1.9" + }, + { + "direct_url": null, + "metadata_sha256": "55c400d24c71b581d9c0992f71df6047cf6c878bebe61a7d45d6e02dc0e4c510", + "name": "absl-py", + "version": "2.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "13db521f90a6a882027b2388eaa2ebf252945f9c2adb7e7e371da18239da4df0", + "name": "accelerate", + "version": "1.15.0" + }, + { + "direct_url": null, + "metadata_sha256": "86fe44e38e67872dd895c729044942ba2c2f934ae439a899fb83a186206b7fd4", + "name": "agent-detector", + "version": "2.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "afe11fe9f5aa54e734cdd51659bed8c89dc6bcd5aef0ad96f2d20149c8de5456", + "name": "aiohappyeyeballs", + "version": "2.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "570b307bc0b53fbbd3ed2ce0b7eca6bbf2fa73bf75e24a480f1034d8c0b832bf", + "name": "aiohttp", + "version": "3.14.3" + }, + { + "direct_url": null, + "metadata_sha256": "44b7f8e14c4770793e747fad50c9e0a6ee7357651d878554f192d94768dc14a8", + "name": "aiohttp-cors", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "648813a44a9ae0ab2f20ee86d2404dcc38e3f9e80c63316cf6e536735df14e54", + "name": "aiosignal", + "version": "1.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "f6a3f6668bacef7f73a2c19ccb2be910b2363d1731c4725cb04364d99e24935a", + "name": "annotated-doc", + "version": "0.0.5" + }, + { + "direct_url": null, + "metadata_sha256": "fc6d752cde6a6a4bff03474386de750e130b75da3c7815ee909f45b51fea98c8", + "name": "annotated-types", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "4e89d670a4b20029da30e5a9e8ebcbc844deff9c44209552bafd5537249c8b9e", + "name": "anthropic", + "version": "1.9.0" + }, + { + "direct_url": null, + "metadata_sha256": "b5a6f00800956387fcddab1fe1b5aa8502c249b86cfb16d58ed700f282f60142", + "name": "antlr4-python3-runtime", + "version": "4.9.3" + }, + { + "direct_url": null, + "metadata_sha256": "a6008defa9492cd08250217b134782cad1db4580e1d7ddf69cc2a2a48cea24e0", + "name": "anyio", + "version": "4.15.1" + }, + { + "direct_url": null, + "metadata_sha256": "7877c64ce8957237363f2df313819bb07f50752df016d14c5a5a99bec10f5deb", + "name": "apache-tvm-ffi", + "version": "0.1.11" + }, + { + "direct_url": null, + "metadata_sha256": "3543ca8f0e072c00ab111b20eba99ce86dbf93ada28988775bc2677284b3c07a", + "name": "astor", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "d4b328c09c024fe1e4d788a9c7715ad726095131b815cd35fd933268226f6269", + "name": "attrs", + "version": "26.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "4850c4d696a5e2a2ecbb3dd792b060acc1de79e09800669b0b9fc3a22c055e6d", + "name": "av", + "version": "19.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "863ff92208d0a02dabfa008bfe91846a5c401ded301e5687dca7dc63c911865f", + "name": "babel", + "version": "2.18.0" + }, + { + "direct_url": null, + "metadata_sha256": "f32e6df3197f05202e586624d95c5e217003d80cee655c165d533102f628df21", + "name": "backrefs", + "version": "8.0" + }, + { + "direct_url": null, + "metadata_sha256": "905c362f655fbc6d37a24686efc2b3bfbd3123b8ee5a443a43f6750d87455e90", + "name": "blake3", + "version": "1.0.10" + }, + { + "direct_url": null, + "metadata_sha256": "07c85682b6aefd5c9b48890d306c1604311902295704892ede48e5a83219a8d3", + "name": "blobfile", + "version": "3.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "2d582941a7081625a35f35a0c4a2e80f7737312e29c38e5fdb6fc08f9c113077", + "name": "bracex", + "version": "3.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "3b60c55bae0d0340c3a3fd918635bbfa3087579da66e0fd7f6be7a3782c0da3d", + "name": "cachetools", + "version": "7.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "5d11a6878d5bc3f22290281a19ef7b36daa95c910780950608b95cd788c7e12e", + "name": "cbor2", + "version": "6.1.4" + }, + { + "direct_url": null, + "metadata_sha256": "362c9942c48051f168ed2b9f2146266b7792d3c05e164cd6afc3f3b65884fdc9", + "name": "certifi", + "version": "2026.7.22" + }, + { + "direct_url": null, + "metadata_sha256": "b4abf1bcf1c1d8e0272d8007fc974499ea59e5f2a5b98af3c78a5e67515a9d87", + "name": "cffi", + "version": "2.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "766120f13c177446f51929a4d201104bc935b6d5a2a176cd6716edce757d3d95", + "name": "cfgv", + "version": "3.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "610e9a9d03ce837ffe6e42be5e02e70087f73863f7350bf7bb7f0511edcc5ec0", + "name": "charset-normalizer", + "version": "3.5.2" + }, + { + "direct_url": null, + "metadata_sha256": "7ad836b3147c9702546d9c28b4fa5be23b24445439db5d0d2a58d17281c84daa", + "name": "click", + "version": "8.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "4c5f00599ebcbf11d337e48a72784d256ca3d704fa9e9f5daadd60065e6776b7", + "name": "cloudpickle", + "version": "3.1.2" + }, + { + "direct_url": null, + "metadata_sha256": "a0970189e3ab7a596d6902d5f61f93b414f138f03d3cf19029145657bfceb382", + "name": "cmake", + "version": "4.1.2" + }, + { + "direct_url": null, + "metadata_sha256": "94a6ebf9718e55f254a43ce0d2f04e0d6d44e7141b6f3144a84feb6519a77bfd", + "name": "colorama", + "version": "0.4.6" + }, + { + "direct_url": null, + "metadata_sha256": "ca8ec227f406d970a645ec482b20619128dd34b9cf71159cc24e27db461a2711", + "name": "colorful", + "version": "0.5.8" + }, + { + "direct_url": null, + "metadata_sha256": "bbaa51b7e4d8f142bd075d01257c0572c0c844796d51426e35c8096a13e8da76", + "name": "compressed-tensors", + "version": "0.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "6063d8ff7ebc458d63a4332853d7ababf4ee2b86336362c8d2b12be6e998eb6b", + "name": "connectrpc", + "version": "0.11.1" + }, + { + "direct_url": null, + "metadata_sha256": "ac5f4b5a5f68080bd9c3fe77399fe8a1bff2ee5923c49db1df544dd054cbf15b", + "name": "cryptography", + "version": "50.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "f41d2f6b4616accca2f5e1dd47aa9e8937c28076cde698226d93e727751f3099", + "name": "cuda-bindings", + "version": "13.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "e5ca6ed34c687c6f4a4d157ad0a2cf06ec0316fe8c4c0ddeb666ad76dd6f30f4", + "name": "cuda-core", + "version": "1.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "89baadd9da23dce9990481519544115615ba3cbd2d1a41e09feea7756fffb378", + "name": "cuda-pathfinder", + "version": "1.8.2" + }, + { + "direct_url": null, + "metadata_sha256": "1ab914b9a57ca601df2e3cfe9608427b15d8afb78029076ace5d1caf9fd45f08", + "name": "cuda-python", + "version": "13.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "73d97a5eb578223b4895ef4f234574d14219cef9999ff7d0e92a3d0dd057bd3f", + "name": "cuda-tile", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "ae6f957fe66ed63081d1d83ee6e8838f3a0af2c6fce1223629d0dd6264565ead", + "name": "cuda-toolkit", + "version": "13.0.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "1f8e0ae51ad5feea63f58ed2e24f3da6f23ed548043235a14f7623d961dd9b64", + "name": "datasets", + "version": "5.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "153f4a4d6ff03dbe5c8ad7fe54bc2e7b989a4947b70f7aa77fbf652b394f2a2e", + "name": "depyf", + "version": "0.20.0" + }, + { + "direct_url": null, + "metadata_sha256": "ee09fc752d7271aac93079cfd63409957dc6b536c1ffd9355a01bf7297e72aa6", + "name": "detect-installer", + "version": "0.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "a7feab2c4f69fd5f85e5a3cb495a7f1870a6bf8199dcee5339e8118f7acbdc09", + "name": "dill", + "version": "0.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "fef3fde661fe30ba7bd1d78841a797136b2b3461705bb4eb92dc54f8308bbaae", + "name": "distlib", + "version": "0.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "fef3fde661fe30ba7bd1d78841a797136b2b3461705bb4eb92dc54f8308bbaae", + "name": "distlib", + "version": "0.4.3" + }, + { + "direct_url": null, + "metadata_sha256": "a3ca2e39abe76c4a33d5fe4a2a84375ec9f25cdfdb7e1d8ea406bd6f1603205c", + "name": "dnspython", + "version": "2.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "92a07daad5e6ff461199de14e845d9b376e309ef916ce5379f3c9cd4e3b1623f", + "name": "dockerfile-parse", + "version": "2.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "5b566b25f0cbe4955d0b16844a7cc6d2002caa3bde2dfda7f301fd8870cbaa56", + "name": "docstring_parser", + "version": "0.18.0" + }, + { + "direct_url": null, + "metadata_sha256": "5a1080b5768c6c591e1c4f9c9812cafa808781b9eeb198043bf185e22d4a1613", + "name": "e2b", + "version": "2.51.0" + }, + { + "direct_url": null, + "metadata_sha256": "0a63979e0b946e16238e4339e60d9c1eb5a7ce3ea93dae78b5da9c65a6190540", + "name": "einops", + "version": "0.8.2" + }, + { + "direct_url": null, + "metadata_sha256": "16cbe67a57558f1d4bfdbc22a454434ba301750c57a62b1d3f5361c9e5cddc00", + "name": "email-validator", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "0617ddb55b90b42ddc9398dc7e91d61fe928a2504939f76526dc15b22d238caa", + "name": "fastapi", + "version": "0.136.3" + }, + { + "direct_url": null, + "metadata_sha256": "ddd82b9666c21988e234d623e2575e1b89fd4133260eeab43fc9a7c074f7024a", + "name": "fastapi-cli", + "version": "0.0.32" + }, + { + "direct_url": null, + "metadata_sha256": "611602e834d42e10433155ff5f5581358d732fa6b6f6f7820a8f79e74b1ce1f9", + "name": "fastapi-cloud-cli", + "version": "0.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "794524e4a9659bda6043721d848d028ea49996085a33326094fbaaa3f6e6b895", + "name": "fastar", + "version": "0.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "711401d36e60e10e35beb4d0f1bb42bf0c4d86339ae52f32b9aa4a4d790530dd", + "name": "fastsafetensors", + "version": "0.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "efaea9742e348c4c4bdcc6f616a33cc5aa3ae926494a72a46690b7da2f08ed5c", + "name": "filelock", + "version": "4.0.7" + }, + { + "direct_url": null, + "metadata_sha256": "99bd6c3f10781d3d2d350f2c3c9fc4765b55f25de8a6d6dd1f71501802d1255e", + "name": "fla-core", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "0a6ef979b75295cee2b5293ad4942b0cf2682e9e38680203064e0b70249c1a96", + "name": "flash-linear-attention", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "76b70a11ca82ea4606b529e7a8658cb3fe71412afa46f2ed57101dd91ba27558", + "name": "flashinfer-python", + "version": "0.6.18.post1" + }, + { + "direct_url": null, + "metadata_sha256": "ba8ff415192b5cbb90efce046e2271a00c8184afc362d8b47fbbc84d5e558b05", + "name": "frozenlist", + "version": "1.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "e7712831c80eb13b08fb7f7cc33988a8f24654af9eba7c6f5f943b2636e4306a", + "name": "fsspec", + "version": "2026.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "025de85c794878d0caa737869307447595f514ebf9599eacb5b1a501bae479b6", + "name": "fsspec", + "version": "2026.9.0" + }, + { + "direct_url": null, + "metadata_sha256": "ca94883bdeaa3740b45b6994443b445fd67c6e4a8064ac3bf9d92d2a5221eee8", + "name": "ghp-import", + "version": "2.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "a7e90983562a035cf767baa63d8c32bc37e1de7cad71ac7b6b2bc70a95bba4eb", + "name": "gitdb", + "version": "4.0.12" + }, + { + "direct_url": null, + "metadata_sha256": "dd96143ec79178bef685c1f5c0a58a87a66d003b421e605de65697308321d518", + "name": "google-api-core", + "version": "2.40.0" + }, + { + "direct_url": null, + "metadata_sha256": "0735d57088a83df2355e16843107fb0112abe2178fc5bb8132947a7ad962aa41", + "name": "google-auth", + "version": "2.59.1" + }, + { + "direct_url": null, + "metadata_sha256": "2f3aa9d9500d329560440e6a5a152e420aad5f5bbb23701f45b740be721784a1", + "name": "googleapis-common-protos", + "version": "1.75.5" + }, + { + "direct_url": null, + "metadata_sha256": "06d74ab04fdc03fad368868907f0d10e7d9f397aab58d58965c0b78ffaec34cc", + "name": "griffelib", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "7ee1c179e2c68a62968308b2f96f4f3469176ee3ac8bdb494ac80188d4d41271", + "name": "grpcio", + "version": "1.84.0" + }, + { + "direct_url": null, + "metadata_sha256": "04cf3a4a91575850f386f4fcfdedd8e7fbfba08feff038fbc1296d1e854db2dd", + "name": "h11", + "version": "0.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "b954a6ba4739c0cc878bb8ea27ea7c7154a48bb4b7c06dba9e9cf880cf0ec930", + "name": "h2", + "version": "4.4.1" + }, + { + "direct_url": null, + "metadata_sha256": "6f0d7bf86e75d0bda1ceccc82367c0145ad0ec522c4d4f51bb454f467faadcc9", + "name": "hf-xet", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "f991b847550cf8225f69562902b5ccb591b2ce9a08fe07ef6e6d701bdb4694a7", + "name": "hpack", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "314d194165c4700034c1c67cee847d549a6d7091374c71f2cef0186ec56a3eb9", + "name": "httpcore", + "version": "1.0.9" + }, + { + "direct_url": null, + "metadata_sha256": "aed9767360bed1bcbda71e3b1a3c996603f86558bc77a1693ee3d09973d20cad", + "name": "httpcore2", + "version": "2.13.1" + }, + { + "direct_url": null, + "metadata_sha256": "8fa3bf3510c35e2eea9f523a1cace7120079cf51d76c4acea97de95806aaa14a", + "name": "httptools", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "3bf4804c215d111b6a4702cf9000021ab39807d1ed3207dd011b14b2843b2d14", + "name": "httpx", + "version": "0.28.1" + }, + { + "direct_url": null, + "metadata_sha256": "d11dd50813b8914bd9455e8b2b591171cd2b1618883943153afadc8bb9224678", + "name": "httpx2", + "version": "2.13.1" + }, + { + "direct_url": null, + "metadata_sha256": "43b119c34ad2b2aacc032a1a6a8feb142fdb5ca407a3519325d74dd53d8904df", + "name": "huggingface_hub", + "version": "1.33.0" + }, + { + "direct_url": null, + "metadata_sha256": "9ce850d5a6b775e5ef4a335f907e579a878e058213121b6eec567781ea68c585", + "name": "humming-kernels", + "version": "0.1.12" + }, + { + "direct_url": null, + "metadata_sha256": "67aa4f6717d82446a51ce350e7c4769eba0c4a22d2f428255cddd9d24b11a914", + "name": "hyperframe", + "version": "6.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd9511ede42f63b995c3f71944f908cb8f014048b63ecc1c8d420525a3354b59", + "name": "identify", + "version": "2.6.20" + }, + { + "direct_url": null, + "metadata_sha256": "af3c3a62bb5d82d6a43454684e0b1dedde27a21ea90eacfb1bed9814619f06d0", + "name": "idna", + "version": "3.20" + }, + { + "direct_url": null, + "metadata_sha256": "cf71393f3d079ce2e859384573e65aaacd1709bef700701f629df32398b598f0", + "name": "ijson", + "version": "3.5.1" + }, + { + "direct_url": null, + "metadata_sha256": "9305763e93d03df0e36516b1125fa046a6ebe37d44589e200e0593cf4bdfd980", + "name": "importlib_metadata", + "version": "9.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "32860c3c19b2e91f6cb5bd83400b5870cda051bc74a5a08822c8c666af0990db", + "name": "iniconfig", + "version": "2.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "560faabb3d45d779e445a74e7e806a786f95f2200fa06d979603b7f0ee1cfb39", + "name": "instanttensor", + "version": "0.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "f6fc1f0d389e4245fc2a1a0fdfee09422e56200cb6f94659668456997ff4f7a9", + "name": "interegular", + "version": "0.3.3" + }, + { + "direct_url": null, + "metadata_sha256": "d10f300731197a4829b77f0c883bb3cf8a37ae8c76a302e095fa95d6427706d0", + "name": "jiter", + "version": "0.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "5b0c8d4b4c535a2432fb206223d774509b6e20af374c6a4b6f98bf72a7de6702", + "name": "jmespath", + "version": "1.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "6c4032c2e74273452cd77399af2ee85198f49c22da897983f26d2ed6f787c4e8", + "name": "jsonschema", + "version": "4.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "aaa6cd66f423729e8da397c9d533b7d731f6b25f3d6371b9338c36bdb9be74a0", + "name": "jsonschema-specifications", + "version": "2025.9.1" + }, + { + "direct_url": null, + "metadata_sha256": "f7c0687c032593106a2e5a3c241cf8043e7e2c222bddb0022b4cb2bf5de67115", + "name": "lark", + "version": "1.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "4511c6b04efc57a5f5333edc1f5f48b9f5412c3923d4bc19b715bdf47977511c", + "name": "linkify-it-py", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "be929870f6ecae18a819c56118f1101f3076e25ac6a4843ca6f4707ebd1e87c6", + "name": "llguidance", + "version": "1.7.6" + }, + { + "direct_url": null, + "metadata_sha256": "cf2b87669bead3e76ec54207f3354c13f73b50c32fcd13c8d627084b3379139e", + "name": "llvmlite", + "version": "0.47.0" + }, + { + "direct_url": null, + "metadata_sha256": "0a416d79c5543d94d2b18807626293d4f47655d1d22724c7ae296e413078aaba", + "name": "lm-format-enforcer", + "version": "0.11.3" + }, + { + "direct_url": null, + "metadata_sha256": "16bc1f59e34fd2a6633bd395276052eacd2c777b2cf72781e76b203f013a8fac", + "name": "loguru", + "version": "0.7.3" + }, + { + "direct_url": null, + "metadata_sha256": "5216d5acfd039a7b581a826186309594b228d37d2c8d56864124ea666689fe4e", + "name": "lxml", + "version": "6.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "f59d772b35315a928672bfcccfb89d82c0aac672c5275c048f7a93b79015bcea", + "name": "markdown-it-py", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "b137367ef0056711cbf5e53015df9168cab80373104e7899b1c0263a21d9c99c", + "name": "mcp", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "38e0b9edaae09e58cd1461fc961ced22672038a697930bedef153a74befb3de1", + "name": "mcp-types", + "version": "2.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "799f49685865fd9cc8915fdb92a33e102eeeffad562b03b4aeffb6f422b771c1", + "name": "mdit-py-plugins", + "version": "0.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "481f9cbe08596c6eaba6343e0efa1b13b2362c30dce0610f7c08523f1d98388d", + "name": "mdurl", + "version": "0.1.2" + }, + { + "direct_url": "{\"dir_info\": {\"editable\": true}, \"url\": \"file:///Megatron-LM-training\"}", + "metadata_sha256": "2876c0c760bbfc93bd7d737bf0db2866a937308a7c1707c3a2bb59d4795986ff", + "name": "megatron-core", + "version": "0.16.0rc0" + }, + { + "direct_url": null, + "metadata_sha256": "a6e34d488c879f57ce042bec38f8864ba3ea7d6ecf0ab757fc88fe8dc0a22f26", + "name": "memray", + "version": "1.20.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd26d80dc9676b1fb8c894355bd525fbe7f49a6a86a555c72e9ec6d927247c33", + "name": "mergedeep", + "version": "1.3.4" + }, + { + "direct_url": null, + "metadata_sha256": "dd1b3b89e88d1c65a26e6e72dd075eabbc220bfb138769ec8b64578ee911795c", + "name": "mistral_common", + "version": "1.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "4859847a9f6321daf8849cf7fd1542ff430db6563a2abf9ac0d62a5b21bd951d", + "name": "mkdocs", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "1729fc31479f2582486cdc85397417659dd3b2fb3f920553de66cfe59d5f0b3e", + "name": "mkdocs-awesome-nav", + "version": "3.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "88b4b7b7c0aba5547befdedaf515c8df4867361daf55ff60b72578464d72dcbe", + "name": "mkdocs-get-deps", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "ad33bb33fb16b1f69689c4682550e97232154e367e2c8c8aee9dad0f10d269ce", + "name": "mkdocs-git-revision-date-localized-plugin", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "ed69fbfb9ac00c10c5a383a12ff9d2b9919ae184e408554434199211643d6040", + "name": "mkdocs-material", + "version": "9.7.7" + }, + { + "direct_url": null, + "metadata_sha256": "d1c549b61701148b97f8246bc924b2840e504b37b0ce7a27e78ddf81261e5363", + "name": "mkdocs-material-extensions", + "version": "1.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "4ad6171f3bf6812e4de90670ff0089d445093d4fe1d05d55f17b96a4a192a816", + "name": "ml_dtypes", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "4ad6171f3bf6812e4de90670ff0089d445093d4fe1d05d55f17b96a4a192a816", + "name": "ml_dtypes", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "b0dbdfa30ab6b1ce637a794899c9e43019182b6d1ab2d07b90f647f7331eba6b", + "name": "model-hosting-container-standards", + "version": "0.1.16" + }, + { + "direct_url": null, + "metadata_sha256": "95424470e481cfa8d18b30963b6de3aafe16614b1ea0414e184a008571dde84f", + "name": "mpmath", + "version": "1.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "eb184d83489401903615ce8a78d98d5b933dec0f7246811d396a529915fe797c", + "name": "msgpack", + "version": "1.2.3" + }, + { + "direct_url": null, + "metadata_sha256": "520006303d6a0e859970b83f7d452196e2e8f6dab08f6dcf1ba5823c1230025f", + "name": "msgspec", + "version": "0.22.0" + }, + { + "direct_url": null, + "metadata_sha256": "010d2fe039006070a711a476b171b7b7da5c29ccad3c4eecd77ef3711b07c2d0", + "name": "multidict", + "version": "6.9.1" + }, + { + "direct_url": null, + "metadata_sha256": "235634cc7ebda45f8a84dfdb1b9b35ac1a77a1888b34650c3a616d23e4a7e93f", + "name": "multiprocess", + "version": "0.70.19" + }, + { + "direct_url": null, + "metadata_sha256": "7c545b4b3e5e83d3fde41352272c10cb9deeaba5b7138fbf24383e952af8822e", + "name": "natsort", + "version": "8.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "311ee8cdaeaf9f11acf51cda9c3b5b191f76ce9d98bc3418164c3189bbc37a08", + "name": "nccl4py", + "version": "0.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "66360539217852c3b44b37f409eade7e1559baf018bb363bacb2aa3a9759b203", + "name": "networkx", + "version": "3.7" + }, + { + "direct_url": null, + "metadata_sha256": "e8b0b1746808b87816c47e4531780ded7f246bed9575a89e8b40200aa81e9a13", + "name": "ninja", + "version": "1.13.2" + }, + { + "direct_url": null, + "metadata_sha256": "77c1117f0dbc41560ddc6e6b37b542fb4e88afcd4ef82ec06593e5bbd5f37121", + "name": "nodeenv", + "version": "1.11.0" + }, + { + "direct_url": null, + "metadata_sha256": "9af629898406c9eaa69897fe09220dc483270cdba89f6b20bf0165cdf0e1668e", + "name": "numba", + "version": "0.65.0" + }, + { + "direct_url": null, + "metadata_sha256": "0c7281a81cf76e40b27c1385ffd8a215d7227adc219f177ce807ead9e91994a5", + "name": "numpy", + "version": "2.3.5" + }, + { + "direct_url": null, + "metadata_sha256": "0c7281a81cf76e40b27c1385ffd8a215d7227adc219f177ce807ead9e91994a5", + "name": "numpy", + "version": "2.3.5" + }, + { + "direct_url": null, + "metadata_sha256": "bab990ced4537ce74ef5961ca933c4c6fd604fd09a5827a4a428c55bcb0be35b", + "name": "nvdlfw_inspect", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "10f6595146332d35f7f15a000e08b5c81432528c5d026470c1d03f0c1399fb70", + "name": "nvidia-cublas", + "version": "13.1.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "58e933b4ac8e49f098b16ab7480d03bd792afc3d1db10d0aacbdcc2c62e48fa3", + "name": "nvidia-cuda-cccl", + "version": "13.3.4.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "baac937970681d41aa0c3708b3d55d73f8d29e70aceaac0e71fe6d1548e94a09", + "name": "nvidia-cuda-crt", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "8d51e5c76ef5707b0b80d5ec9a791c0f11a480ab721820cf100a3cc566017eef", + "name": "nvidia-cuda-cupti", + "version": "13.0.85" + }, + { + "direct_url": null, + "metadata_sha256": "724bf56e61ddef5d4c2482ff64103a973b911b110b668acaea5373f6c83c1c5c", + "name": "nvidia-cuda-nvcc", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "c54801dbd815d534519a761f1f328325aa0f1d1f1659aa969fa74e7a2c76eee9", + "name": "nvidia-cuda-nvdisasm", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "af51f248363020b9fdfd2743704e901bf3d19a1a1ce1fe44fb98ba148bfc0157", + "name": "nvidia-cuda-nvrtc", + "version": "13.0.88" + }, + { + "direct_url": null, + "metadata_sha256": "055f7fc69a5a2159de82cd0718da02c8852e81c8a71ebb117b8e799badd7167e", + "name": "nvidia-cuda-runtime", + "version": "13.0.96" + }, + { + "direct_url": null, + "metadata_sha256": "df18686dbdb3074ca375a1d6c623a04102fd348950c67a721397349c6d4f0477", + "name": "nvidia-cudnn-cu13", + "version": "9.20.0.48" + }, + { + "direct_url": null, + "metadata_sha256": "abd0ca3f67af19a4d383ff2a012ae0090d4731c6492fd47236615308a50b3981", + "name": "nvidia-cudnn-frontend", + "version": "1.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "4a78545d424d0c5038353f7046a8ae40ceaf312045d71399eac9511f5fc15434", + "name": "nvidia-cufft", + "version": "12.0.0.61" + }, + { + "direct_url": null, + "metadata_sha256": "e49b909195c03ddbe203729d9b31dd88e3f207368333d1909c67c6b130a0c696", + "name": "nvidia-cufile", + "version": "1.15.1.6" + }, + { + "direct_url": null, + "metadata_sha256": "bb15a754c6be32c23aaac13c1cfa7a8ce53d92bc26652ec3b609f7a5cce3e7d1", + "name": "nvidia-curand", + "version": "10.4.0.35" + }, + { + "direct_url": null, + "metadata_sha256": "0dd58f677811eac04901a793740932e5a2a8fff2f5453aa6351614eb18391bb6", + "name": "nvidia-cusolver", + "version": "12.0.4.66" + }, + { + "direct_url": null, + "metadata_sha256": "8aeb284782ef6883095a5d1c110e221cad023a99afcfd5cdb4969a25e146d562", + "name": "nvidia-cusparse", + "version": "12.6.3.3" + }, + { + "direct_url": null, + "metadata_sha256": "09555246122896eaca3b8313eecfca4b339fefd3b597874cb9fe3bf29dab38c9", + "name": "nvidia-cusparselt-cu13", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "ac77bac79fbfb0c52ac6e2e5abc936b1e127be2192f0cbc27b00be3125fa86ae", + "name": "nvidia-cutlass-dsl", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "1ec968ec7c4083f7fe4e1fb8384c7e9b853a81491fef9f4cb1cf755961aaedf6", + "name": "nvidia-cutlass-dsl-libs-base", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "cc6f3846cd820013eaa6e2665c493d70c607be6ce7349b939eb4742888470585", + "name": "nvidia-cutlass-dsl-libs-core", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "2357d0df2d0d17c0b16663b8a89df53f751b19721f66821fd88fa78112c08e55", + "name": "nvidia-cutlass-dsl-libs-cu12", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "244590c25662dcf777b1daae97a858afe1a1aec62e5e6678b217007a459ab552", + "name": "nvidia-cutlass-dsl-libs-cu13", + "version": "4.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "c3a25ada01f57418c1b897406c3abab18834e6adc573ab7b060620c453afb6db", + "name": "nvidia-ml-py", + "version": "13.615.71" + }, + { + "direct_url": null, + "metadata_sha256": "56baad4e7f699902b03b17580933f7bd50b6ea97b7df9d7e807750973da7529c", + "name": "nvidia-nccl-cu13", + "version": "2.29.7" + }, + { + "direct_url": null, + "metadata_sha256": "98810ef0ab8badc369e6a46a038f8ee9f412c0c753fb5ad580544f23a0aa7962", + "name": "nvidia-nvjitlink", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "b0f54ee21909d19640a58e05da755c91763eb5725f544fd0d4b84b2f5f94deba", + "name": "nvidia-nvshmem-cu13", + "version": "3.4.5" + }, + { + "direct_url": null, + "metadata_sha256": "06dc1a593c7e8b8c3f29184228c83f8f7ef57787ad91f3e5bcae1d238dd3092a", + "name": "nvidia-nvtx", + "version": "13.0.85" + }, + { + "direct_url": null, + "metadata_sha256": "32ee63450a437b6a6ed227ff6549144aa596197a322993521ec7af826ebd413e", + "name": "nvidia-nvvm", + "version": "13.4.92" + }, + { + "direct_url": null, + "metadata_sha256": "32c2efdcd2c673b3b7f35ca9c2cccefaad36f1f0a920648a13cad85f6a5767b2", + "name": "nvtx", + "version": "0.2.15" + }, + { + "direct_url": null, + "metadata_sha256": "3419d80e114a2c19fa9bd3582939a3942f19673055707ba6ca2ca489d58b41e0", + "name": "omegaconf", + "version": "2.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "28971076ce9c279d4b889496b046d55a1e05b02fb9851ceb717e9a10df799572", + "name": "onnx", + "version": "1.23.1" + }, + { + "direct_url": null, + "metadata_sha256": "1246f5a4d8295907a42e809ed9173ede2510ec9d260d2168989d126564897fa5", + "name": "onnx-ir", + "version": "1.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "e14643636835759700dff286f949c5ec34e7eac7ac47f44096414f0e0f1c3101", + "name": "onnxscript", + "version": "0.7.2" + }, + { + "direct_url": null, + "metadata_sha256": "00f847e99939207bd70dfd806428f6b20a3d01074b59325e4c76149a2e19be26", + "name": "openai", + "version": "3.22.1" + }, + { + "direct_url": null, + "metadata_sha256": "598d3ad5a22a14a7c4f1d218b43e345f32b0ba094b753467bae8a3f708fd48cb", + "name": "openai-agents", + "version": "0.22.3" + }, + { + "direct_url": null, + "metadata_sha256": "5a0afcb1ce845e05da12beb1767f5d2749bbc9e9050718c6b9fa3c225713c9eb", + "name": "openai-harmony", + "version": "0.0.8" + }, + { + "direct_url": null, + "metadata_sha256": "e86a6b6fcbbe152805f782c57df321002892e163019574877e9829272e25eb4e", + "name": "opencensus", + "version": "0.11.4" + }, + { + "direct_url": null, + "metadata_sha256": "53d669c8bd3d32d3275153b454e515ca5cc6dec92fae3a98309b5a2b19fe6d2d", + "name": "opencensus-context", + "version": "0.1.3" + }, + { + "direct_url": null, + "metadata_sha256": "19778b6d66b0e45bf73e11fa37a208949d5b393aef914627394d5601455546a6", + "name": "opencv-python-headless", + "version": "5.0.0.93" + }, + { + "direct_url": null, + "metadata_sha256": "19778b6d66b0e45bf73e11fa37a208949d5b393aef914627394d5601455546a6", + "name": "opencv-python-headless", + "version": "5.0.0.93" + }, + { + "direct_url": null, + "metadata_sha256": "a3f5434fa7c80f7f7abc82173da639c8e9c59d30b4027182645562bd3d2f4f97", + "name": "opentelemetry-api", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "8611977ea596e4827874582e86250618444e1c718229dddfc16e5ea437ce5fcb", + "name": "opentelemetry-exporter-http-transport", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "2cfd41e5ca33292d987ba71fa6186d11e16ed66888f3a26f8a3a99060c4b5e90", + "name": "opentelemetry-exporter-otlp", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "3bb4494220732d4bf10e1dba231ea7638cedaa5362e1f23a50d34a14f520fea8", + "name": "opentelemetry-exporter-otlp-common", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "27fb1c8aa5c2cd07776f9f3281fc618cd3feb96017757c33d2b3586fb7fec88b", + "name": "opentelemetry-exporter-otlp-proto-common", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "5cba6098cdd0bfb06853a6c704a2451c4f82c9dea376a30b59ecd279296648ad", + "name": "opentelemetry-exporter-otlp-proto-grpc", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "6f53ef1c172ebf87af69b9ef390aa908506d0cd14bc7811985fdd937a4058808", + "name": "opentelemetry-exporter-otlp-proto-http", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "1910f4e7ebd497e98b6d231e10275288fda2cd1885117575706c62f45e065889", + "name": "opentelemetry-exporter-prometheus", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "fab18b721e30be41448be252e1dca43b48e7f15d971e0bb552492c0ef4b07bee", + "name": "opentelemetry-proto", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "3644a79f55762a646799ff52b9d837e01c8192b7b28f735a383f55c90edb9bc2", + "name": "opentelemetry-sdk", + "version": "1.45.0" + }, + { + "direct_url": null, + "metadata_sha256": "add3db481f7f401f65cfbddb058fde3bb4c9dd7b61064a84f8598ad7efe0b11c", + "name": "opentelemetry-semantic-conventions", + "version": "0.66b0" + }, + { + "direct_url": null, + "metadata_sha256": "0dfff30e912520a226bcf7a547393484cfcd8c738439c7b48418f61c95109480", + "name": "opentelemetry-semantic-conventions-ai", + "version": "0.5.1" + }, + { + "direct_url": null, + "metadata_sha256": "210ce26bad0a245a72831b4fa029708c245d4d670a88c8d5a69b1446c24a95e4", + "name": "orjson", + "version": "3.12.0" + }, + { + "direct_url": null, + "metadata_sha256": "35ff73511848f5f934ccc39d538014716ec4579e76d54e0e407ff51794a7939c", + "name": "outlines_core", + "version": "0.2.14" + }, + { + "direct_url": null, + "metadata_sha256": "8ee2f7138ade46b6e348a6d099612f5bd6caff13511f3b4144327f37ce50eacf", + "name": "packaging", + "version": "26.3" + }, + { + "direct_url": null, + "metadata_sha256": "a4ab87bf8083001f25ccdc46095f05b678b3569dd58edc2cf941e3e7f64d7c88", + "name": "paginate", + "version": "0.5.7" + }, + { + "direct_url": null, + "metadata_sha256": "1de96a6c28c2e5613c9c87cd4ad9484791001cf58df43cf2ba74d5c4f85f0ad2", + "name": "pandas", + "version": "3.0.6" + }, + { + "direct_url": null, + "metadata_sha256": "d05b8d05da9f78176b2eefaacdfaa5e96708ec4f488daea8bbc52e3ed1bc3954", + "name": "partial-json-parser", + "version": "0.2.1.1.post7" + }, + { + "direct_url": null, + "metadata_sha256": "c1d126edceac2685e29403a8ae3a27c47143dce1f0252fa3931771562f1e2b4f", + "name": "pathspec", + "version": "1.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "30325dc8ce17bc64f9dbc0a449232fd35841a019df22a6f481007c9c5a28c1cb", + "name": "pillow", + "version": "12.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "cbc0b7b6e63b50dcb7c17cf3526a9304f285d9a31353adf3b22acc2059ab23f5", + "name": "pip", + "version": "25.0.1" + }, + { + "direct_url": "{\"dir_info\": {}, \"url\": \"file:///work\"}", + "metadata_sha256": "6ba03b5bc457a2a3d92468729501b5892a0d38ebcc36766c58859449498c5743", + "name": "pip", + "version": "26.2.1" + }, + { + "direct_url": null, + "metadata_sha256": "0421937c4410b61c5325233d5b7671ae933bae8de174f87586ac55aa804851ea", + "name": "platformdirs", + "version": "4.12.2" + }, + { + "direct_url": null, + "metadata_sha256": "2bcffab42626e1fb50d6329765619312d30fe7f4880e98dcee99c92ebd283bb4", + "name": "pluggy", + "version": "1.6.0" + }, + { + "direct_url": null, + "metadata_sha256": "7e7562ba7c032f8edd02641ae71b1ac2d8f388103a68d777a7e907d19e75bc17", + "name": "pre_commit", + "version": "4.6.2" + }, + { + "direct_url": null, + "metadata_sha256": "bbe0a7662602ddd23f929fe0ee98e9d04406e138aeee18ce4861af186ea6060d", + "name": "prometheus-fastapi-instrumentator", + "version": "8.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "ece4a61f3ffb92a083fd5e47e180e3e070342e60a3bd93876a879e79a643e821", + "name": "prometheus_client", + "version": "0.26.0" + }, + { + "direct_url": null, + "metadata_sha256": "5feba21a58eaa126e7e7739e57e2572e5bb251fcbf56e439e508acc47d769314", + "name": "propcache", + "version": "0.5.4" + }, + { + "direct_url": null, + "metadata_sha256": "3f136dbf7239c987a7685acd33440cc5efd6c4107b4b11c425201b4de70ae36f", + "name": "proto-plus", + "version": "1.29.0" + }, + { + "direct_url": null, + "metadata_sha256": "118b5ad013120a7a6e24714595ad776bf264d7b0060389133310d18ea1480902", + "name": "protobuf", + "version": "7.36.2" + }, + { + "direct_url": null, + "metadata_sha256": "0849f5a519bf9bc23ef204443fdd8d6d10678863acac7ca9340fc11bfba5a856", + "name": "protobuf-py", + "version": "0.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "eab5f2f4fd98f67a710a8fb1975b64ffa880a4f977566f022c567e08e324ccd6", + "name": "protobuf-py-ext", + "version": "0.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "39009938840de3a8b2a37eb4668d2601aae8c74e4b74743f73e59996b5b7e6e1", + "name": "psutil", + "version": "7.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "df44b58e8a4cfe57f65773ec47f7bdf2a14c8f5f73a7abf331a6b6237d6d691a", + "name": "py-cpuinfo", + "version": "9.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "2fd4a9efc5e5c74ae4c2fcf1970193c524c62ab22af8d5e66ebf7df9e6e46e83", + "name": "py-spy", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "d2ccdeb15cddedc81637a83e40baa6397fe269023b738d0fc3cb2d90722e290b", + "name": "pyarrow", + "version": "25.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "47b9f28e971a56f5adf949e0bcf105b0bf6587946566ecf197a2819d8848cc01", + "name": "pyasn1", + "version": "0.6.4" + }, + { + "direct_url": null, + "metadata_sha256": "82ce4c01c6d36841b9801fcdabab9bfe61d0b5e4e440c275941d8a2d4a790730", + "name": "pyasn1_modules", + "version": "0.4.2" + }, + { + "direct_url": null, + "metadata_sha256": "45cb345e4c12f63bc843b8c88902cc44c4d624a55aaef8cd5ffbc0ad16356fbe", + "name": "pybase64", + "version": "1.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "d311ae661edeac8ff029ab2960d065a7e792ebf8f79af682daa53109fe81318b", + "name": "pybind11", + "version": "3.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "cce9c0d440d065d4cdfb0d00004b8ddd65cf363a740efc5b0920b29201a59cd9", + "name": "pycountry", + "version": "26.2.16" + }, + { + "direct_url": null, + "metadata_sha256": "a1e33542883c249bf6c263b0023b9ea8a6131a77d9cb2cbc88316968e5eada83", + "name": "pycparser", + "version": "3.0" + }, + { + "direct_url": null, + "metadata_sha256": "faffcc4d7d359cb1047a9f67f7c65096b838c6db6c62852ef20fb27d55649a95", + "name": "pycryptodomex", + "version": "3.23.0" + }, + { + "direct_url": null, + "metadata_sha256": "98929f4cb80451dc3c6c8cd541a3081dccf0dee94afe7d9fa5c214a18ff236ce", + "name": "pydantic", + "version": "2.13.5" + }, + { + "direct_url": null, + "metadata_sha256": "8eccadbe707db97c397fb79073fe791b7998ef3a85f04f817f8991f7697b190b", + "name": "pydantic-extra-types", + "version": "2.11.1" + }, + { + "direct_url": null, + "metadata_sha256": "8f00c91deb34399316a5386eb2e76fe09f14a08dc3045f2e7dce9bf8573796bd", + "name": "pydantic-settings", + "version": "2.15.0" + }, + { + "direct_url": null, + "metadata_sha256": "66c729edddc20bf2764bb18bd87d907b08690e50355f39b97acc737b26d1d164", + "name": "pydantic_core", + "version": "2.46.5" + }, + { + "direct_url": null, + "metadata_sha256": "394500d78a0c1a433ae8ca3693152c08f6a901121d4b069cf1540a19759e2950", + "name": "pylatexenc", + "version": "2.11" + }, + { + "direct_url": null, + "metadata_sha256": "df2e9e9847a2aea0ae6e20fd325aeb16cf3ce7f8913462db6c2398363cd0c0bf", + "name": "pymdown-extensions", + "version": "12.1" + }, + { + "direct_url": null, + "metadata_sha256": "82fcfe724db9f0b51348da89f4f5cdc0b08d08882b1bbc0ca4913d3a0a93bcb9", + "name": "pynvvideocodec", + "version": "2.0.4" + }, + { + "direct_url": null, + "metadata_sha256": "3722422cc1478b175879143dfb78f98b7a5f53f4f684d71b7054fe2e8acd3b89", + "name": "pyqwest", + "version": "0.10.0" + }, + { + "direct_url": null, + "metadata_sha256": "7d1d1c276b7c372d55d17ac7d30f0a4b80a746e147347b8510d1355eea7f80c8", + "name": "pytest", + "version": "9.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "89e7c1c932e52b74bdcaf504389d2d1a2d7ca559b02bf5a09fc80ebd58ad10f7", + "name": "python-dateutil", + "version": "2.9.0.post0" + }, + { + "direct_url": null, + "metadata_sha256": "54f30f811841b6d772f31715712c85bfe0041839cb071f78daf41c700a98642b", + "name": "python-discovery", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "54f30f811841b6d772f31715712c85bfe0041839cb071f78daf41c700a98642b", + "name": "python-discovery", + "version": "1.6.1" + }, + { + "direct_url": null, + "metadata_sha256": "0cc19efd76cfbf3bcb2cb0d3ab82191036855859455aa3812c5e9e591e3f34e8", + "name": "python-dotenv", + "version": "1.2.3" + }, + { + "direct_url": null, + "metadata_sha256": "1d866c6124631b9ce1797ad412fff298ab53fc2d95210281d7c8f20e920753fa", + "name": "python-json-logger", + "version": "4.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "2d18a1e7286d92a656ead5ec6f83d5ae6dc858634624f6b264703ae88d24d718", + "name": "python-multipart", + "version": "0.0.32" + }, + { + "direct_url": null, + "metadata_sha256": "beaa0efe9ba4b34843f5a0fc7379a73f10e95adb8cc0c31f359ab6f3a42b4def", + "name": "pyyaml_env_tag", + "version": "1.1" + }, + { + "direct_url": null, + "metadata_sha256": "238dc769e22d4f5626750cdff36e920e4a8d69c10d88de6d79b40a59cc13d873", + "name": "pyzmq", + "version": "27.2.0" + }, + { + "direct_url": null, + "metadata_sha256": "de0a5e855bb5bb78b7acdcd2ca60619c6a0c109814881589caf158ec07155662", + "name": "quack-kernels", + "version": "0.6.5" + }, + { + "direct_url": null, + "metadata_sha256": "961ffef199b876fb4d7b10903d78e79f359d703b1638834c61d70b9879932918", + "name": "qwen-vl-utils", + "version": "0.0.14" + }, + { + "direct_url": null, + "metadata_sha256": "faf6ab9027d12de992827a2d8a224996fe6747a8c5f7d31ae495983dc73eefe9", + "name": "ray", + "version": "2.54.0" + }, + { + "direct_url": null, + "metadata_sha256": "c50d8b3ff4d113925b60dc47d1d28e87248a3338024241b0a3a66c8794fbce0c", + "name": "referencing", + "version": "0.37.0" + }, + { + "direct_url": null, + "metadata_sha256": "02acdc52d6f21d5f4b172254daaa94edfaa44c9ebe14d1c00cc4c8fe99b0e1df", + "name": "regex", + "version": "2026.9.29" + }, + { + "direct_url": null, + "metadata_sha256": "ac08207697217d1ffde8a161b424d77d6e2af6b62630fa26d75d08f11076cdca", + "name": "requests", + "version": "2.34.2" + }, + { + "direct_url": null, + "metadata_sha256": "f1abd635c3dff607a4fd654c62a88d9d4c21843cfc9176116c156f4269ca21b5", + "name": "rich", + "version": "15.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "932ff7743a756d0efcc45528d64c275ac3cb40a8dd1787ea10cb303907f0ae4f", + "name": "rich-toolkit", + "version": "0.20.5" + }, + { + "direct_url": null, + "metadata_sha256": "294a1405c0fa34b5f735bcb46459050436849a1e584c643544de99c07c529fb7", + "name": "rignore", + "version": "0.8.1" + }, + { + "direct_url": null, + "metadata_sha256": "5e54dd00b4ad336c5161d47de2a5c2212090c44629c28b6538b156256e49282d", + "name": "rpds-py", + "version": "2026.6.3" + }, + { + "direct_url": null, + "metadata_sha256": "0d5895abd80bfc0027c02943abaea4547061b9004bd134950d640d619a697835", + "name": "safetensors", + "version": "0.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "91d5de3f641f33a8fbb4b6e91772da68d50b68686971d7b66af2068f2e77b694", + "name": "scipy", + "version": "1.17.1" + }, + { + "direct_url": null, + "metadata_sha256": "297fb30f701a800489c12893a951da3e5bd1f80061a1f43f0d3e9f1d4c6bc6fd", + "name": "sentencepiece", + "version": "0.2.2" + }, + { + "direct_url": null, + "metadata_sha256": "4245e0388ddf2048a38ae2a24a3d2c583408b2454aadc680d3c3beede639db3f", + "name": "sentry-sdk", + "version": "2.71.0" + }, + { + "direct_url": null, + "metadata_sha256": "ae8a9e6feec1a76e954d65ea48ac57842c9a7bfb5ac6e5ea82400a5ba9f71a98", + "name": "setproctitle", + "version": "1.3.7" + }, + { + "direct_url": null, + "metadata_sha256": "341d00772017437d0f6e3c943ae353f243c39fedfba403aea47cced927a76516", + "name": "setuptools", + "version": "79.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "ff4bcfb192bd542ed8f1794fb32ffc9eabd932d6e03cb00a4ad5e35a2469af88", + "name": "setuptools", + "version": "80.10.2" + }, + { + "direct_url": null, + "metadata_sha256": "f1e5a532fb8cda0bbc370e3db6cb9cea72a065d12ddd6a14976ba3cf66264221", + "name": "shellingham", + "version": "1.5.4" + }, + { + "direct_url": null, + "metadata_sha256": "2aba2cfd9c2ad7625a5d374d141af317d8f92d3534997bf98d127e52848dfc81", + "name": "six", + "version": "1.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "69ae2dfe547624be97fae348e1cfa3793f8854eed32cc1603badedc7d48fb36e", + "name": "smart_open", + "version": "8.0.2" + }, + { + "direct_url": null, + "metadata_sha256": "d415e6c6de7dee117d254a342668c489931bc88eac7ec8678b452078e366da6e", + "name": "smmap", + "version": "5.0.3" + }, + { + "direct_url": null, + "metadata_sha256": "093bc4f0740a6fc28692e616aa8fe68d7e1d76426cc5a5faf9ea722a8ee7aaae", + "name": "sniffio", + "version": "1.3.1" + }, + { + "direct_url": null, + "metadata_sha256": "b3cef071eb1dbeaa76a1273fe2ca2cc8ef36e835165253952d93780962529ac1", + "name": "sse-starlette", + "version": "3.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "3c01ca830e213f0311fe37bc3b46b8ab230a5e7acb894bf0fc8785cb7ccfed48", + "name": "starlette", + "version": "1.7.0" + }, + { + "direct_url": null, + "metadata_sha256": "6017ca508a293cf47a88a78cb330e9cbd131d74ec3c7fbf89bd4300ed3129d30", + "name": "supervisor", + "version": "4.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "fd5eb4925b04f9bffbc6c4f92bf8aea7243b918b43cd359493fce48a7dd3b336", + "name": "sympy", + "version": "1.14.0" + }, + { + "direct_url": null, + "metadata_sha256": "f09f0e24282c5a86346bcd5b10ae5ff81869fa8ef69c3ba524bd0a817a87dda9", + "name": "tabulate", + "version": "0.10.0" + }, + { + "direct_url": null, + "metadata_sha256": "519fa19c146fd58a0a75ecf1461e4bd98f9c06d01800c37d4a80f5fef095f4e1", + "name": "tensorboard", + "version": "2.21.0" + }, + { + "direct_url": null, + "metadata_sha256": "1af7ad76e4073b01ab147eb3c1d8e38b95d38062c6c9bc63890150738642e8eb", + "name": "tensorboard-data-server", + "version": "0.7.2" + }, + { + "direct_url": null, + "metadata_sha256": "9e597f62fc07e3b931d5c8fb0e90706fb6d45465cfb5d01dbd27ba7fc135c02c", + "name": "tensorstore", + "version": "0.1.80" + }, + { + "direct_url": null, + "metadata_sha256": "0da993d16ef6326f471796fcb065622f309c5c1aae6c6295b488ea64bb5c880c", + "name": "textual", + "version": "8.2.8" + }, + { + "direct_url": null, + "metadata_sha256": "52ca6148d4fd1497254855fa610cfdde99191cd42bce7a452fd3a68855504ac0", + "name": "tiktoken", + "version": "0.14.0" + }, + { + "direct_url": null, + "metadata_sha256": "0df9eb495cfb477dcbdfbdcd8c04d952d3eb00d77831630760571e13545398e5", + "name": "tilelang", + "version": "0.1.12" + }, + { + "direct_url": null, + "metadata_sha256": "802b576e011dc61bd2681593e8d802714b6c4ce636a9cf87035026db32ce6262", + "name": "tokenizers", + "version": "0.23.2" + }, + { + "direct_url": null, + "metadata_sha256": "4e1631b2164a49ff9a848d86ce504fdcc15e3540dbb262df8f33a2681a8de513", + "name": "tokenspeed-mla", + "version": "0.1.8" + }, + { + "direct_url": null, + "metadata_sha256": "05086095a775c5dca70998dcf442a848c13f9c68b54a54c510c3542c5abb6563", + "name": "tokenspeed-triton", + "version": "3.8.10.post20260920" + }, + { + "direct_url": null, + "metadata_sha256": "71daba472d0c5ffc25c0231dc29688ab0cb13d5bc7e7d93f6c4cce4169c50048", + "name": "torch", + "version": "2.13.0" + }, + { + "direct_url": null, + "metadata_sha256": "cccd2f1c0e5866e63732f58798c8d642ee6d10cd560d6f691e7981b908c246c9", + "name": "torch_c_dlpack_ext", + "version": "0.1.5" + }, + { + "direct_url": "{\"dir_info\": {}, \"url\": \"file:///torch_memory_saver\"}", + "metadata_sha256": "6276cef17dedbb5ee0d6157bbf63b832e916026281328d995ad3d488c2539618", + "name": "torch_memory_saver", + "version": "0.0.9.post1+slime" + }, + { + "direct_url": null, + "metadata_sha256": "29809ca2c86dda5079654f1f70564a64435e9d08f1964a2412b6f514e1b5ff64", + "name": "torchaudio", + "version": "2.11.0" + }, + { + "direct_url": null, + "metadata_sha256": "7e9be0f3a290e3fd9370d8fe010c7ffd006d5d3d05ab8bdf7df8f92f0fca9c39", + "name": "torchcodec", + "version": "0.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "181fa5e6b399c378711eddcdacd756d3c51317916f8eb160ee36cae7fae9589f", + "name": "torchvision", + "version": "0.28.0" + }, + { + "direct_url": null, + "metadata_sha256": "43d1261aff90cf3d5b1b40cf1f94234d61409b14e59f3766f457c1eec7f7ac15", + "name": "tqdm", + "version": "4.70.1" + }, + { + "direct_url": "{\"archive_info\": {\"hash\": \"sha256=3e1d9f534781c8e608240da0b495b8246317a36382f7609017cbaa7fb1d53f7b\", \"hashes\": {\"sha256\": \"3e1d9f534781c8e608240da0b495b8246317a36382f7609017cbaa7fb1d53f7b\"}}, \"url\": \"file:///wheels/transformer_engine-2.16.1%2Bc9877beb-cp312-cp312-linux_x86_64.whl\"}", + "metadata_sha256": "d882f743161d9d9f35dee4e1a8cc9136fa495f7c660caace01ab8f5602d76aa7", + "name": "transformer_engine", + "version": "2.16.1+c9877beb" + }, + { + "direct_url": null, + "metadata_sha256": "465797a59706d83b45c93fde750b228c3b6e1addc44115de2c4c02ad66d9c5ea", + "name": "transformers", + "version": "5.17.0" + }, + { + "direct_url": null, + "metadata_sha256": "a91982ca086667c592a951973434f7c5a9f27a8300bc97af78dfb496afe53e71", + "name": "triton", + "version": "3.7.1" + }, + { + "direct_url": null, + "metadata_sha256": "d26fbb244532c4051e715f9047cd943e2cc4abb0ac6f2a517fa2986eb1ea726a", + "name": "truststore", + "version": "0.10.4" + }, + { + "direct_url": null, + "metadata_sha256": "c84af1a069084b1b440b3594068dec29200d52d4c1a9b652030448717f270158", + "name": "typer", + "version": "0.27.2" + }, + { + "direct_url": null, + "metadata_sha256": "0ad6653b7439f4bb6a596cb7b01ed1b716458467525c4dc40b75d62bdb943c98", + "name": "typing-inspection", + "version": "0.4.4" + }, + { + "direct_url": null, + "metadata_sha256": "d005280aa13b334ac942d20219102865e559f69ffd06c35c248b2f0d0da3b933", + "name": "typing_extensions", + "version": "4.16.0" + }, + { + "direct_url": null, + "metadata_sha256": "fba2930e9030a18965d243f8d330748db2e67572a81b3b68710462fb5110332a", + "name": "urllib3", + "version": "2.8.0" + }, + { + "direct_url": null, + "metadata_sha256": "bc5717bd6524a33838f285261868bcc8e311e8c29fdb19e41d56c38b04890e84", + "name": "uvicorn", + "version": "0.54.0" + }, + { + "direct_url": null, + "metadata_sha256": "741c006d8441f562aa853a5430df236fbb4af923445491f396bf09943bd30258", + "name": "uvloop", + "version": "0.22.1" + }, + { + "direct_url": "{\"dir_info\": {\"editable\": true}, \"url\": \"file:///vime\"}", + "metadata_sha256": "f85aa01dfdc868756a6583434bbff040f29eb511d47d5b25ada063a84353aac6", + "name": "vime", + "version": "0.3.2" + }, + { + "direct_url": null, + "metadata_sha256": "c25431aaf1950971fe96292f395a41a55b403127bfca0d0b8f7dc9cff5dab75d", + "name": "virtualenv", + "version": "21.14.1" + }, + { + "direct_url": null, + "metadata_sha256": "4e3ee0a31d85e56268640aae853bcee4794dfe8c0483c5c6370517e480c81ae0", + "name": "virtualenv", + "version": "21.14.5" + }, + { + "direct_url": null, + "metadata_sha256": "d4ed5c7551cddb8c1aeff2f9f27b3491f6ad2c9afda8e7bb9779c33fa12a536c", + "name": "vllm", + "version": "0.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "84b482e09bac949e992594757214a1920c667a5d898ee320e309250697f6d26e", + "name": "vllm-router", + "version": "0.1.15" + }, + { + "direct_url": null, + "metadata_sha256": "9b16c871eb1060a5218e9b9a9ad33288d94844cfaf43f08dbb6c32423bde8fe3", + "name": "wandb", + "version": "0.30.0" + }, + { + "direct_url": null, + "metadata_sha256": "8e4f2be437dfe4eb3c6c959e517ac20b75d06525563f1ebcbf06f9ec648bd7c1", + "name": "watchdog", + "version": "6.0.0" + }, + { + "direct_url": null, + "metadata_sha256": "15218afb42938907c2ca74c54e3d8e3a5406493c4761e29e38e82bfec0f84296", + "name": "watchfiles", + "version": "1.3.0" + }, + { + "direct_url": null, + "metadata_sha256": "8863af96e88b7db9990da99aa6c46816eacc3d2f9ae1297b53381b033cd70119", + "name": "wcmatch", + "version": "11.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "f46e6bd6cfafb2b684c29587b017b7096fd9155b74eda25a22eca784b9803ab7", + "name": "websockets", + "version": "16.1.1" + }, + { + "direct_url": null, + "metadata_sha256": "ce82db5ccfefa4bfbe4e25a36e1f91e8e7d51fcaeb31586c4d48e1c69f99168b", + "name": "websockets", + "version": "17.1" + }, + { + "direct_url": null, + "metadata_sha256": "0f142a2c09eac643c7d0bfe77f3f121184c0b17914afbd32af669ed19b2b02ef", + "name": "wheel", + "version": "0.47.0" + }, + { + "direct_url": null, + "metadata_sha256": "dd58938e51a3c5cb363f6f22eaa2a8a7accc1ce373388de167a82f77d3e5783f", + "name": "wrapt", + "version": "2.5.0" + }, + { + "direct_url": null, + "metadata_sha256": "b0b72c1941f04499ca7e1a3a6e479aee8df902c3d49979624b59dba8c3228d37", + "name": "xgrammar", + "version": "0.2.8" + }, + { + "direct_url": null, + "metadata_sha256": "ef8861f39e5c36255966a36032651f937d890d55f31f1c26304b488f1ba34332", + "name": "xxhash", + "version": "4.0.1" + }, + { + "direct_url": null, + "metadata_sha256": "740c08057b6eb69c58402c87d652af0a471e46325d811f2c605632a18817152f", + "name": "yarl", + "version": "1.25.1" + }, + { + "direct_url": null, + "metadata_sha256": "7b060e4d24394b5431875e2f74fec8e6bffa79d2e6b4cb8c7e2a5187dd2d8d69", + "name": "z3-solver", + "version": "4.15.4.0" + }, + { + "direct_url": null, + "metadata_sha256": "3d76d4fbc95f0851191147db12300938c67a6f8fb1df884886d9601272ccc4e8", + "name": "zipp", + "version": "4.1.0" + }, + { + "direct_url": null, + "metadata_sha256": "d3de2651e4e908dbb7c9d80508e5179590217dfac4993dc8b04381c5b9718c4c", + "name": "zstandard", + "version": "0.25.0" + } + ], + "executable": "", + "installed_provider_sources": { + "vllm/compilation/__init__.py": { + "path": "/vllm/compilation/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/backends.py": { + "path": "/vllm/compilation/backends.py", + "sha256": "fa4bff8920b363efbbde9456f135fa9d2c004a5bde1898877f177418b2d8b008" + }, + "vllm/compilation/base_static_graph.py": { + "path": "/vllm/compilation/base_static_graph.py", + "sha256": "5cfe8e06db84aa42cd41cdd93ebe93af00b3a242c8011042057530e2922b523a" + }, + "vllm/compilation/breakable_cudagraph.py": { + "path": "/vllm/compilation/breakable_cudagraph.py", + "sha256": "3cc427612a08e2b9b3fee47548026400c1d0776e2d4747535e59ef5512bdf1e8" + }, + "vllm/compilation/caching.py": { + "path": "/vllm/compilation/caching.py", + "sha256": "71d212452dde742fbf28b8a01ed29d3c08a7457ff7f8da2a20ce9d17e902c2cf" + }, + "vllm/compilation/codegen.py": { + "path": "/vllm/compilation/codegen.py", + "sha256": "e04833bec88cf9d1a13aa7341e30e3233d1138bfe23424e0fd34d664b3fedb9f" + }, + "vllm/compilation/compiler_interface.py": { + "path": "/vllm/compilation/compiler_interface.py", + "sha256": "8d84e2864bf83f754bae9e9f77119e0287cca9f97f5fa5ec2535e07b5ad88944" + }, + "vllm/compilation/counter.py": { + "path": "/vllm/compilation/counter.py", + "sha256": "d8158c54dd36a357bf24f6f84dc22f572d3a27f4875f3d5779b12bc5d454ff76" + }, + "vllm/compilation/cuda_graph.py": { + "path": "/vllm/compilation/cuda_graph.py", + "sha256": "05c86392d7fae967ac73076dba7e01990a0e3ae619e4866450a0c1be56bd1192" + }, + "vllm/compilation/decorators.py": { + "path": "/vllm/compilation/decorators.py", + "sha256": "cab6962e8a1fead59c75f5ed8cb4732f9e5441ff972030c2f4b1c4ba0c58de3c" + }, + "vllm/compilation/monitor.py": { + "path": "/vllm/compilation/monitor.py", + "sha256": "43b24c5cb1bc4d32dc979f3222596905c7b3acc58415328a234402e6edc76abf" + }, + "vllm/compilation/partition_rules.py": { + "path": "/vllm/compilation/partition_rules.py", + "sha256": "857d2fb06dc871ea1d3717cd01fbd4e5205984100d98b7b72a2933d6ff1cfa4d" + }, + "vllm/compilation/passes/__init__.py": { + "path": "/vllm/compilation/passes/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/fusion/__init__.py": { + "path": "/vllm/compilation/passes/fusion/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/fusion/act_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/act_quant_fusion.py", + "sha256": "1fa9c3ca4fb424685b7053c3dda89dda16c98dc5645d85f0f28dca58429792b3" + }, + "vllm/compilation/passes/fusion/add_rms_fusion.py": { + "path": "/vllm/compilation/passes/fusion/add_rms_fusion.py", + "sha256": "e46998552628aa5cd5962fc39ea39ae824fd97e6aeba1d176e9cc7cade39837b" + }, + "vllm/compilation/passes/fusion/allreduce_rms_fusion.py": { + "path": "/vllm/compilation/passes/fusion/allreduce_rms_fusion.py", + "sha256": "0af193505880cec0f6ffa224c688bce3c9ddc318dccdf04a696b4e4b4506a963" + }, + "vllm/compilation/passes/fusion/attn_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/attn_quant_fusion.py", + "sha256": "ecc64e82be4481954c9cac6c23d7794846ab19486b570f2dda07ab5ad67c5a49" + }, + "vllm/compilation/passes/fusion/collective_fusion.py": { + "path": "/vllm/compilation/passes/fusion/collective_fusion.py", + "sha256": "1e2c8539d6960b45907fb3bf0482441ea7250e97c56ffdea1500514efa0b164d" + }, + "vllm/compilation/passes/fusion/matcher_utils.py": { + "path": "/vllm/compilation/passes/fusion/matcher_utils.py", + "sha256": "50ac5714ce1bb113520de769ea6234316acc470a8cdf2537a996ce9a9d54337d" + }, + "vllm/compilation/passes/fusion/mla_attn_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/mla_attn_quant_fusion.py", + "sha256": "a966fe7f58bf9228379f793f5fd851735a97f9639722766b2a20cb79a9e4baec" + }, + "vllm/compilation/passes/fusion/mla_rope_kvcache_cat_fusion.py": { + "path": "/vllm/compilation/passes/fusion/mla_rope_kvcache_cat_fusion.py", + "sha256": "1602cc28055ffa8d1123ddb1d256bf0bd12006fd06ea7e16a986c55746dbe0dc" + }, + "vllm/compilation/passes/fusion/qk_norm_rope_fusion.py": { + "path": "/vllm/compilation/passes/fusion/qk_norm_rope_fusion.py", + "sha256": "aebc7d1a5189b65ac665afcc169e7baebd53efe719c48e35e7c5babe85af0d39" + }, + "vllm/compilation/passes/fusion/qk_norm_rope_kvcache_fusion.py": { + "path": "/vllm/compilation/passes/fusion/qk_norm_rope_kvcache_fusion.py", + "sha256": "f0cfd0d83ec4acb09f9bf91d199b114e9d4995e3059c13eb23a6978ce7c07eb2" + }, + "vllm/compilation/passes/fusion/rms_quant_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rms_quant_fusion.py", + "sha256": "4852aa44e0e2087043fdac271bda9b8d9bfe3201bb84ce3919b8ed454d8083c4" + }, + "vllm/compilation/passes/fusion/rocm_aiter_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rocm_aiter_fusion.py", + "sha256": "372e76c68c75209a085deec6dd22b3816be633613ca82f6f2925c1b3773d61a0" + }, + "vllm/compilation/passes/fusion/rope_kvcache_fusion.py": { + "path": "/vllm/compilation/passes/fusion/rope_kvcache_fusion.py", + "sha256": "3a756e9049593537143b5a56ab9185a6bc83f57ed81d84226d7791a46a984b53" + }, + "vllm/compilation/passes/fusion/sequence_parallelism.py": { + "path": "/vllm/compilation/passes/fusion/sequence_parallelism.py", + "sha256": "3af7e420dcb35fff0bae0f8f599d0f1bda34445ebe194059892a434b2976d654" + }, + "vllm/compilation/passes/fx_utils.py": { + "path": "/vllm/compilation/passes/fx_utils.py", + "sha256": "730708213acf9d1b5f3176b433dfc197a5f3c81b5ce443f0923c526924833003" + }, + "vllm/compilation/passes/inductor_pass.py": { + "path": "/vllm/compilation/passes/inductor_pass.py", + "sha256": "1f380aacf7adabb8bf8b7d41c0a93473947f0716f7445bd910fd448f6c08e672" + }, + "vllm/compilation/passes/ir/__init__.py": { + "path": "/vllm/compilation/passes/ir/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/ir/clone_elimination.py": { + "path": "/vllm/compilation/passes/ir/clone_elimination.py", + "sha256": "5297078f5cddce081faba5215814275381d2083b32318fcfeb2bf9d69fedb7c7" + }, + "vllm/compilation/passes/ir/inplace_functionalization.py": { + "path": "/vllm/compilation/passes/ir/inplace_functionalization.py", + "sha256": "2dc4f22c6f05224828c2941479185b1452d4490f488b7f0bfd124334e7809fed" + }, + "vllm/compilation/passes/ir/lowering_pass.py": { + "path": "/vllm/compilation/passes/ir/lowering_pass.py", + "sha256": "d9c3d90f63138420f0e5489447b5996573fcfbbab939da2efccd00848492b172" + }, + "vllm/compilation/passes/ir/utils.py": { + "path": "/vllm/compilation/passes/ir/utils.py", + "sha256": "f59d33a6c7d0616cbeec1e9fb1d6c948881bf81fe124caeb906eac2e2197ea21" + }, + "vllm/compilation/passes/pass_manager.py": { + "path": "/vllm/compilation/passes/pass_manager.py", + "sha256": "486979a058aa2e20ebedcbb6e039f7a59f38d2efd2cda11219fae4067be0968d" + }, + "vllm/compilation/passes/utility/__init__.py": { + "path": "/vllm/compilation/passes/utility/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/compilation/passes/utility/fix_functionalization.py": { + "path": "/vllm/compilation/passes/utility/fix_functionalization.py", + "sha256": "ad5b504a05ccee023869b0c8df70ec2fff9a4a80d25fd903e2b532f470e7203f" + }, + "vllm/compilation/passes/utility/noop_elimination.py": { + "path": "/vllm/compilation/passes/utility/noop_elimination.py", + "sha256": "8abf85d28c13f95059f2acbc0275b9b9ed2ad4990f7c5763bbe3067a4aa629ce" + }, + "vllm/compilation/passes/utility/post_cleanup.py": { + "path": "/vllm/compilation/passes/utility/post_cleanup.py", + "sha256": "1c38b14fc209165cbcf8ca763a17ac4e528b97f59b573e5d52df2cce7d758de3" + }, + "vllm/compilation/passes/utility/scatter_split_replace.py": { + "path": "/vllm/compilation/passes/utility/scatter_split_replace.py", + "sha256": "138402cc3097768a32e9e5b8d1a054b6176e494bddc8684e23ca2dc5fdc3fdda" + }, + "vllm/compilation/passes/utility/split_coalescing.py": { + "path": "/vllm/compilation/passes/utility/split_coalescing.py", + "sha256": "0b02acd9e1ad43d7b3e128b914e969b9580773f2818078846dfbf163a8bd0871" + }, + "vllm/compilation/passes/vllm_inductor_pass.py": { + "path": "/vllm/compilation/passes/vllm_inductor_pass.py", + "sha256": "4f83ffb67f834a214221d810c7843a8e41eb4e5930eb40adbd8cf054ff6fb9c6" + }, + "vllm/compilation/piecewise_backend.py": { + "path": "/vllm/compilation/piecewise_backend.py", + "sha256": "6525318ff3ca2e4978e24dd9232a7ae0a02e920e19604b83db6f6043d1f8a54d" + }, + "vllm/compilation/wrapper.py": { + "path": "/vllm/compilation/wrapper.py", + "sha256": "c1b1fca679ea16aa07a696831a810c0d531da2bb0ea32dd6f1a95cdaef36de07" + }, + "vllm/config/__init__.py": { + "path": "/vllm/config/__init__.py", + "sha256": "56fb0cb1598d297e4f95a97e5d86dc624145d1532f5faa432b7d2834d7155bd5" + }, + "vllm/config/attention.py": { + "path": "/vllm/config/attention.py", + "sha256": "c41f345b512d9b7df882328257eb3a6381f41088c11ae83b5ecd8a9e8265d1bc" + }, + "vllm/config/cache.py": { + "path": "/vllm/config/cache.py", + "sha256": "f1c226ba679c884930dbfcaf41a57248b137a9a20d3ed8e3d3b31752bb484c07" + }, + "vllm/config/compilation.py": { + "path": "/vllm/config/compilation.py", + "sha256": "c9cec5c7200e8e559810ec8c30113ad61dab6780f9f7fb3c116bd0d9b5a43065" + }, + "vllm/config/device.py": { + "path": "/vllm/config/device.py", + "sha256": "7b82eee02ceb5842337451a27a3d5729920c47e25e8f6bf3997f5146f9330a9c" + }, + "vllm/config/diffusion.py": { + "path": "/vllm/config/diffusion.py", + "sha256": "1fa9fd2478a866098a28a3586b55af2f9738656b7813a55d76539c10dd99fe8d" + }, + "vllm/config/ec_manager_config.py": { + "path": "/vllm/config/ec_manager_config.py", + "sha256": "418b387dbe7bdf67deddce331c205768a2d42aea37141f59fb02a8a1528e3552" + }, + "vllm/config/ec_transfer.py": { + "path": "/vllm/config/ec_transfer.py", + "sha256": "0eabb2c25194676d23c6acf59562672a1dd24415043ac5737d621ce0d681ec70" + }, + "vllm/config/engram.py": { + "path": "/vllm/config/engram.py", + "sha256": "34043a22385a041d4e9be8857f64174c990c2ca8308b97b6a952b5ab96c20ee5" + }, + "vllm/config/fault_tolerance.py": { + "path": "/vllm/config/fault_tolerance.py", + "sha256": "b166b24373d599fb15ddc575e3061cf0dcb42174d0369d8468008e7ffbb2a4e2" + }, + "vllm/config/kernel.py": { + "path": "/vllm/config/kernel.py", + "sha256": "27e23c584cf862f4091858db6dc85bbc2a01f4baf9dca3f232ae6f3bac02390e" + }, + "vllm/config/kv_events.py": { + "path": "/vllm/config/kv_events.py", + "sha256": "b1dbaee3e6830e381e9157fe3bab0d65c357da88ff7cdf8b1e4b3a4e75c82a87" + }, + "vllm/config/kv_transfer.py": { + "path": "/vllm/config/kv_transfer.py", + "sha256": "506fae7a9d7f32cb3646156cf9249a856f6317dff6c4c85db70efd34418c429b" + }, + "vllm/config/load.py": { + "path": "/vllm/config/load.py", + "sha256": "bd6431c22e078362d749a56a2c84145432ebf2605d8bcfa2ac679182d18ed630" + }, + "vllm/config/lora.py": { + "path": "/vllm/config/lora.py", + "sha256": "ed6cf6575f5950f079a62f904caeae93d1a4745dd8c21788b74367883bcd4b08" + }, + "vllm/config/mamba.py": { + "path": "/vllm/config/mamba.py", + "sha256": "2090f791201ca45dd4f1d72b8651268890eb07574b6084721194eb8fdf612c48" + }, + "vllm/config/model.py": { + "path": "/vllm/config/model.py", + "sha256": "f4168b67cc93ce72ff2a6d4c66974223e32fd0f1fab4c05e44bd68a275e18d69" + }, + "vllm/config/model_arch.py": { + "path": "/vllm/config/model_arch.py", + "sha256": "2babe28329d7b60b4e205f6d72c687f0f66e6535aa2f20411469e5ec362f6b5f" + }, + "vllm/config/multimodal.py": { + "path": "/vllm/config/multimodal.py", + "sha256": "271911aee151f17f092228cecee82af0713e9a47340ffdf66834ca7638a50d22" + }, + "vllm/config/observability.py": { + "path": "/vllm/config/observability.py", + "sha256": "d57c59ec776477ab0a20e9f2b945bc954d8ea3737c869259480e9aa10dfb9f6d" + }, + "vllm/config/offload.py": { + "path": "/vllm/config/offload.py", + "sha256": "6f2db3d9a2730588473d5155811690c6241b167a21dcb62fbbd9ebb6386de42c" + }, + "vllm/config/parallel.py": { + "path": "/vllm/config/parallel.py", + "sha256": "f012ace89e3fb730a467f729f602679bc145c49f0d10721811c9d818570e7b2b" + }, + "vllm/config/pooler.py": { + "path": "/vllm/config/pooler.py", + "sha256": "9f01913dcb7bccbf9b672b16643f18471ae202455992e8afaf0725a17f2b3d08" + }, + "vllm/config/profiler.py": { + "path": "/vllm/config/profiler.py", + "sha256": "04d24fa1dc7cfedca6b5c7d9115f7f7021722fc46a5b15234a1e3b3a506c93e5" + }, + "vllm/config/quantization.py": { + "path": "/vllm/config/quantization.py", + "sha256": "acffc52f525b39a88efd656f1ed705ce3a1b758298bb0684fac7694776bc10b4" + }, + "vllm/config/reasoning.py": { + "path": "/vllm/config/reasoning.py", + "sha256": "2c4f7bdee48a9fb3d93787c4c32361c2411417cce452cfde86808d8759977861" + }, + "vllm/config/scheduler.py": { + "path": "/vllm/config/scheduler.py", + "sha256": "822179da62be4bca0619c8590082ae09123f5c4415f9cc2037be673748239edb" + }, + "vllm/config/speculative.py": { + "path": "/vllm/config/speculative.py", + "sha256": "9c642a87264339c0dbc1d0b57330572149df0f9d5e16c6893b9895e50a619e19" + }, + "vllm/config/speech_to_text.py": { + "path": "/vllm/config/speech_to_text.py", + "sha256": "bf4a566fbde6a1cec1e209070b739650c3302c12696739c88049cb8f723a4c3f" + }, + "vllm/config/structured_outputs.py": { + "path": "/vllm/config/structured_outputs.py", + "sha256": "55649776594349b8b4aa3e08fc4c88068366732a486d6fb235079188044aa829" + }, + "vllm/config/utils.py": { + "path": "/vllm/config/utils.py", + "sha256": "d035e9e488ba92b6c47a96cf05d9b2a850d53eda8a05115b22ff9af8dbc2fc64" + }, + "vllm/config/vllm.py": { + "path": "/vllm/config/vllm.py", + "sha256": "956b812e5a719bcbfa3a3958801361b38b9c928c96b8c073311bbb96376dfb7a" + }, + "vllm/config/watermarking.py": { + "path": "/vllm/config/watermarking.py", + "sha256": "30e6620a3cd7529f0736ad55e38bc326a6a78dee4552f0722208400041c94a1f" + }, + "vllm/config/weight_transfer.py": { + "path": "/vllm/config/weight_transfer.py", + "sha256": "92edd9e5ea90c97a8f3c5f20abf1734a105ee1f3f89e306e7ba87e758f1f767e" + }, + "vllm/distributed/__init__.py": { + "path": "/vllm/distributed/__init__.py", + "sha256": "97f28c30b32662af8cab163939e4ee423037f11630752e13b55cbc25a7d0ab71" + }, + "vllm/distributed/communication_op.py": { + "path": "/vllm/distributed/communication_op.py", + "sha256": "3c3f8ac60db38ece891d39dc1e2f6f1947ad438685893d2e5777d072320bd1b8" + }, + "vllm/distributed/device_communicators/__init__.py": { + "path": "/vllm/distributed/device_communicators/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/device_communicators/aiter_custom_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/aiter_custom_all_reduce.py", + "sha256": "f8eb027ce7a85d94af6260960ceb7f36fc6f1406c9af9c9b6285fddb3f178009" + }, + "vllm/distributed/device_communicators/all2all.py": { + "path": "/vllm/distributed/device_communicators/all2all.py", + "sha256": "1f1b69236acd3cd7bd94520fd6d591bfd31b57c4bc7c9f9f4161ea8bbd0c5f26" + }, + "vllm/distributed/device_communicators/all_reduce_utils.py": { + "path": "/vllm/distributed/device_communicators/all_reduce_utils.py", + "sha256": "ed0ab4dd05b2519a6313892e68824c97b540034664d7f8c3d031b322e33e1bfc" + }, + "vllm/distributed/device_communicators/base_device_communicator.py": { + "path": "/vllm/distributed/device_communicators/base_device_communicator.py", + "sha256": "4a7670f12ed7c7621b25d476e2687c24ca01f3be183fff4a6a25337596fe506b" + }, + "vllm/distributed/device_communicators/cpu_communicator.py": { + "path": "/vllm/distributed/device_communicators/cpu_communicator.py", + "sha256": "e1856c8e91cfbbb4d9ce990c1236e258ba4021e226afcbab645653380b38d64b" + }, + "vllm/distributed/device_communicators/cuda_communicator.py": { + "path": "/vllm/distributed/device_communicators/cuda_communicator.py", + "sha256": "102d95c67ec798cf352b817ba92e8abc9da37f30d1bbdf3aab45d3927b627b93" + }, + "vllm/distributed/device_communicators/cuda_wrapper.py": { + "path": "/vllm/distributed/device_communicators/cuda_wrapper.py", + "sha256": "333b6d9ed173e7a18c7f2b6627a3c9c9ed88892ce52015f05e29d6d245e48ee3" + }, + "vllm/distributed/device_communicators/custom_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/custom_all_reduce.py", + "sha256": "a048c1327c23580805600c0c951831bec333b1ffc4eb26a0e3d34119c4f0c445" + }, + "vllm/distributed/device_communicators/flashinfer_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/flashinfer_all_reduce.py", + "sha256": "b4359760e9b55963676109a5c3a015fb82e190d4df1d021de9ee01e7814cbdda" + }, + "vllm/distributed/device_communicators/flashinfer_pcie_ipc_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/flashinfer_pcie_ipc_all_reduce.py", + "sha256": "8b67b0fc356a565095f56b475cc89c513e3a5eff051ab1c52e5beb0c1a79e9f2" + }, + "vllm/distributed/device_communicators/mnnvl_compat.py": { + "path": "/vllm/distributed/device_communicators/mnnvl_compat.py", + "sha256": "72ee1e6f9571b4c8ecbd9f60cd469d1b565cb79cab519a688a93f290906a2615" + }, + "vllm/distributed/device_communicators/pynccl.py": { + "path": "/vllm/distributed/device_communicators/pynccl.py", + "sha256": "882fb83c5a3c565a3f8fd664b79f5ceae566dca180019ecafd74bc8c11d9f8cf" + }, + "vllm/distributed/device_communicators/pynccl_allocator.py": { + "path": "/vllm/distributed/device_communicators/pynccl_allocator.py", + "sha256": "390e2576cbf4ae06341ca4dab24fc7e4d4f7c24dd444329ed05d828a9ce91460" + }, + "vllm/distributed/device_communicators/pynccl_wrapper.py": { + "path": "/vllm/distributed/device_communicators/pynccl_wrapper.py", + "sha256": "ce63c8da57bb88d4cf89956bd70bb63f0f44bfad468ddb37b765611551f6d99f" + }, + "vllm/distributed/device_communicators/quick_all_reduce.py": { + "path": "/vllm/distributed/device_communicators/quick_all_reduce.py", + "sha256": "8aacb23e7c297b0ae2f80d99c5affd2e7517115d7874be51069d14a44db7b5f2" + }, + "vllm/distributed/device_communicators/ray_communicator.py": { + "path": "/vllm/distributed/device_communicators/ray_communicator.py", + "sha256": "332c37f65495b60564d61db59bc2d30ca0236adc33442d01464790bde9aec897" + }, + "vllm/distributed/device_communicators/shm_broadcast.py": { + "path": "/vllm/distributed/device_communicators/shm_broadcast.py", + "sha256": "f3e7a3f3ff713fccbd535e0d41650ee05bdf8677e83d4b90519910645022c30b" + }, + "vllm/distributed/device_communicators/shm_object_storage.py": { + "path": "/vllm/distributed/device_communicators/shm_object_storage.py", + "sha256": "e097bf7ac0141fe8db4131e8fd553ca2ad5b0600b22a56f3924af6b795e7207c" + }, + "vllm/distributed/device_communicators/symm_mem.py": { + "path": "/vllm/distributed/device_communicators/symm_mem.py", + "sha256": "b06e3ddb9ae880a30ec4a103ce32eb9794223bb0293832e89572af28adaaa544" + }, + "vllm/distributed/device_communicators/xpu_communicator.py": { + "path": "/vllm/distributed/device_communicators/xpu_communicator.py", + "sha256": "527cbfb250760abc62096ee7cd612307b821f21b72dee1687ad866620ec89b6d" + }, + "vllm/distributed/ec_transfer/__init__.py": { + "path": "/vllm/distributed/ec_transfer/__init__.py", + "sha256": "061405bb51df7409c9938b62e25caa8bd6ebf85da6d1700dbd4affe2a0825135" + }, + "vllm/distributed/ec_transfer/ec_connector/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/base.py", + "sha256": "22d4913375bb622473fbe1a77f9376b804949cd8a7e31e9518208f9561d161e2" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/common.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/common.py", + "sha256": "e2267abd8d00a6d2605e1a82ea5c73396a71b427452eab469fcca0134c334e7c" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/connector.py", + "sha256": "72cd35d9fd754a2992dd090a8af13c91e0789b4038ac29276750d823120235db" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/base.py", + "sha256": "19e8df88b0fa831997896355ecdd49e0d86cb074cd7ae28aed0b328b0bb3ab2e" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/control/zmq.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/control/zmq.py", + "sha256": "435641c0e37551ab4937855abd067be26905b91215e759cbd9d28a419a34ff9a" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/base.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/base.py", + "sha256": "3be698aeb67d32ee3741e76b2fb71806941c587578583acf8fbc42fbf22b46a5" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/data/nixl.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/data/nixl.py", + "sha256": "03af8f6549a6027b7262a482907af591e45f28b9b1c5a3408bbc6600e38797e5" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/ec_shared_region.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/ec_shared_region.py", + "sha256": "e40607952c9920024455eca2f419e8c3ef1de9a4d8b27c147a33bb941b8c08b1" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/protocol.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/protocol.py", + "sha256": "05878336884396bfbef77b96b0fa6359f6fa0aba912961f14a84f5a436f27038" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/__init__.py", + "sha256": "01c42385bf3a55cff09cc05ba956f6dd4b8b6b986bf4d6eca4e566cb045b48e0" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/embedding_cache.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/scheduler/embedding_cache.py", + "sha256": "7359fb980af1fc30b3253681310ef636e2b4a19134e04a93270c9c45de2572d8" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/session.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/session.py", + "sha256": "5973548a919e13c866222b91d502686a6757a31e5a5664b879bf2887ed9fb212" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/utils.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/utils.py", + "sha256": "160ac665f20f2c75b343c1e784084f2b0b4d1cf8fdb28ee15deee4dc8ed0ce45" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/worker/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/worker/__init__.py", + "sha256": "f08d296d3560c42173ae8af961af4a768033ccf1e36e9c17c0cdd53013d0c52e" + }, + "vllm/distributed/ec_transfer/ec_connector/cpu/worker/descriptor_buffers.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/cpu/worker/descriptor_buffers.py", + "sha256": "be7c81be214e995da8499105ba485854d9c19d6f8e905f8f1b87b83694ca0864" + }, + "vllm/distributed/ec_transfer/ec_connector/example_connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/example_connector.py", + "sha256": "09022ce07a89114bb65d9befd2e60873453aed11bbac8c0a75c1e6084e785a5f" + }, + "vllm/distributed/ec_transfer/ec_connector/factory.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/factory.py", + "sha256": "d6cedca0a99c3dd2b03cd1c15d17472b983e3f7d8f5baf4a12eecaf6abedb817" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/__init__.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/__init__.py", + "sha256": "1cbfc2f95f8f4d48a9253056eb1fd4b562062884e3fd5cb6571583c352fc16f3" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/config.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/config.py", + "sha256": "98c60696f79d1de67d2364cd9e8a42a393b5c8e17ed9af2f971368e47891d7b3" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/control.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/control.py", + "sha256": "58e0d1a423fbe958bfa586ac26a17107e08d0b31d044b4c74ab4dde880e7ca9b" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/memory.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/memory.py", + "sha256": "d5e90b1348de670a70f110d58eedcbdbd053db72c21dd007c3f5275c53951149" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/metadata.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/metadata.py", + "sha256": "497a7e6dfffb7fce80a41d5989f96119b970c143df77bb9d0f9c91d7a46e8c42" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/producer.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/producer.py", + "sha256": "97fa4d0b19475574778eab02f55fad73db9642beb9156da890314fd53fa1a7ab" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/reservation.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/reservation.py", + "sha256": "4790bc65cde4db5f17733ca2c2910980ba594a8a9b79ee27c5b957dffd4c1113" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/scheduler.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/scheduler.py", + "sha256": "53004b62529a31fdd80dfb2e6026610b95041a77e91f731ae526fefd84e7968d" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/state.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/state.py", + "sha256": "92f375d6c5cc9c83dbe95a7977ad8eb0f1b5629ccee92968bcacdc94eee15d65" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/transfer.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/transfer.py", + "sha256": "ada2113a5402054f1149d3edc2537f4e5e1bd696c9b17291c9f2b4cbf6b59753" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake/worker.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake/worker.py", + "sha256": "89eb91bb64845b3b121d502972a6b04d448714253becd2ea662e5691cd5acdd7" + }, + "vllm/distributed/ec_transfer/ec_connector/mooncake_ec_connector.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/mooncake_ec_connector.py", + "sha256": "aaebab4711bc00dd0c622dfbfd8639fc41e7ed5d1658d7d68fe33e4d5fbef3ba" + }, + "vllm/distributed/ec_transfer/ec_connector/utils.py": { + "path": "/vllm/distributed/ec_transfer/ec_connector/utils.py", + "sha256": "11b9014b9c0697f8846deff1a55a22fa86a15dc2ac3e139442fb6d513ac03059" + }, + "vllm/distributed/ec_transfer/ec_transfer_state.py": { + "path": "/vllm/distributed/ec_transfer/ec_transfer_state.py", + "sha256": "9487a41f23fa1a4fa6dfca8b42b8e97a0ee19d8406ffd1dcf4bef66315180827" + }, + "vllm/distributed/elastic_ep/__init__.py": { + "path": "/vllm/distributed/elastic_ep/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/elastic_ep/elastic_execute.py": { + "path": "/vllm/distributed/elastic_ep/elastic_execute.py", + "sha256": "b8f60a4183c79ff6051095b5f95bb385bc7fea0cffe8cd9ebc9087ab0e9f01b5" + }, + "vllm/distributed/elastic_ep/elastic_state.py": { + "path": "/vllm/distributed/elastic_ep/elastic_state.py", + "sha256": "fbf049199841a086fdf2fc1ab8498ef017ad3bf319db65c3ae61acbb536d2e10" + }, + "vllm/distributed/elastic_ep/standby_state.py": { + "path": "/vllm/distributed/elastic_ep/standby_state.py", + "sha256": "15282597550ebd0e07b8492ff192aea1ec0dcec8f0ad34009123e1002cc140c1" + }, + "vllm/distributed/eplb/__init__.py": { + "path": "/vllm/distributed/eplb/__init__.py", + "sha256": "1b9c2ee22abb5888c354c5aa01f0944f253e5e24e135d019778398bbe495a628" + }, + "vllm/distributed/eplb/async_worker.py": { + "path": "/vllm/distributed/eplb/async_worker.py", + "sha256": "424328600ad1003286fc5dfffa1f9482007314c060947818b2f94a8b97811f5e" + }, + "vllm/distributed/eplb/eplb_communicator.py": { + "path": "/vllm/distributed/eplb/eplb_communicator.py", + "sha256": "ba30d9d40e7b81d3f42aa9041d2f328edca4073cfe2de920285eb68375501ed8" + }, + "vllm/distributed/eplb/eplb_state.py": { + "path": "/vllm/distributed/eplb/eplb_state.py", + "sha256": "2f06bc8c63f3fdf55edb5032ae55c0ffcac3e67720ce74ea312e3d141b12acf4" + }, + "vllm/distributed/eplb/eplb_utils.py": { + "path": "/vllm/distributed/eplb/eplb_utils.py", + "sha256": "058af6104faa6d4085c1dca80bbe60d92bf0a7ec9cd92c775a180546c9d8c9c3" + }, + "vllm/distributed/eplb/policy/__init__.py": { + "path": "/vllm/distributed/eplb/policy/__init__.py", + "sha256": "daeb266c88442832b1ab8c8c4cc064891b38b9e9ba00aea324f926c87dc6d37e" + }, + "vllm/distributed/eplb/policy/abstract.py": { + "path": "/vllm/distributed/eplb/policy/abstract.py", + "sha256": "b9fd34c28bbfdded03360d7f3f6f8fb978e82689190d7ae4501dfe520e958c62" + }, + "vllm/distributed/eplb/policy/default.py": { + "path": "/vllm/distributed/eplb/policy/default.py", + "sha256": "3b54229e6240d050480390f6b29d4744fd38437d23719f78a6decf7002296a29" + }, + "vllm/distributed/eplb/rebalance_execute.py": { + "path": "/vllm/distributed/eplb/rebalance_execute.py", + "sha256": "b387e228791149018536eee96cf955b33ba79d801cdc36849d1b47a580ec2597" + }, + "vllm/distributed/kv_events.py": { + "path": "/vllm/distributed/kv_events.py", + "sha256": "de08f01e8736881560256c350a3b6418999dd4aa30f9c6ec9159527f7ed6899a" + }, + "vllm/distributed/kv_transfer/__init__.py": { + "path": "/vllm/distributed/kv_transfer/__init__.py", + "sha256": "c1be4e58ec6923bae607a355ad22891c740f056a69ff7358b1e10ea3fd2680ea" + }, + "vllm/distributed/kv_transfer/kv_connector/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/base.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/base.py", + "sha256": "2ae2a2c48f5731f3533166a75440fe91e764332305b5d713df840edba970789d" + }, + "vllm/distributed/kv_transfer/kv_connector/factory.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/factory.py", + "sha256": "add99c93c587b0098b90b1f8fd6940bdd1f15c236c5c6f1a258411863cb902d3" + }, + "vllm/distributed/kv_transfer/kv_connector/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/utils.py", + "sha256": "317ed40dc837671ca6e666165222e641a0f9b3992aea63bbf54de7e13d40b3a4" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/__init__.py", + "sha256": "5beb6ccad12fdcfe1581982da6f18321caca50e73a6b3259ebf3c8dc8b3ffcca" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/base.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/base.py", + "sha256": "97af64220475c6c9e8273438d7b5138b105ebe6944beb783facb36a3bb76f31b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/decode_bench_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/decode_bench_connector.py", + "sha256": "b4151c88cdec28f1ff9259047abc17baf23b892f4b68769a93bf26e0442b9017" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/example_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/example_connector.py", + "sha256": "6226876ef52d10d0d284d29c337ab44698e8bac6abdb2e0ece53b5756c55d068" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/example_hidden_states_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/example_hidden_states_connector.py", + "sha256": "58c22534dcad0fb73599a2d70a2fb104d5b612a4723be5e777f56a56fe07892c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/flexkv_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/flexkv_connector.py", + "sha256": "de4f68c3bd565ed898e47e0b2980049b966ff31888f1957050d30995d4953762" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_client.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_client.py", + "sha256": "bea6ecff2be281c7e96c1551c7bf463cbb01f2964696067c0ebdb683844f9aab" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_connector.py", + "sha256": "e67ed58015090e5eea9d499883f2a9422673d07f8bdbe0ccff7db15d2460de13" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_metadata_server.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/hf3fs_metadata_server.py", + "sha256": "6800e5cf37809f8a8e28c469c14a434db288bc3bf83a8b62ee06910a20c2da19" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/common.py", + "sha256": "8f2c02c08227a9093e6aeb183961aba36b7812cfc29b8c047a2b2c9d82f79c15" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/gather_scatter_helper.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/gather_scatter_helper.py", + "sha256": "08c1b43de34fbeca77357d7576ac1d17cba974b59d695562f68bb713061e7b54" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/hf3fs_mock_client.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hf3fs/utils/hf3fs_mock_client.py", + "sha256": "bec61a9b0c4b9124b2292d7646d76411da44396389349b53cdcbc46353c8780e" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/connector.py", + "sha256": "8c61094ce0a3a702908f9576f69482e6bf314738a2cbe33a7d3b47258fa0ab43" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/stats.py", + "sha256": "d9383a6ad6ab6b8f812d29d90495407b770eeddb79b86e9d0e3216c0bd16e0ed" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/hisparse/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/hisparse/worker.py", + "sha256": "251c0d8e57e4739c03ce3e1c899a95ff5b1752eb27676c28ab88c4ebd62c4776" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py", + "sha256": "5991f9ff8832df32bd421eb67e48237270ea0a408180e523810bb43606acf8f3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/__init__.py", + "sha256": "c53be9796e76cde637514bfc40a525d8c09bb2784b406cb516790d8285dfe433" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/multi_process_adapter.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/multi_process_adapter.py", + "sha256": "6480d67b31ed603027a83edf327880a38aee45eaeee2da9a4efa93e95527c166" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/utils.py", + "sha256": "e204fa6a853ac9c122d7a4e9d146902230f81c48d4321ed5edfdbf979dd49ba2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/vllm_v1_adapter.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/vllm_v1_adapter.py", + "sha256": "e6fe55049c6b007248516d69640e2f3a4809f9d286091a1014ae0949987fa8f1" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/lmcache_mp_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/lmcache_mp_connector.py", + "sha256": "c712c386a7c57bf0355a1441ba574232c3aa5498fcb70713a2b3f5d18b64f9c1" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/metrics.py", + "sha256": "de1b1797d0448f74370919dbb0278767f390e8f59e00a0c0528abefb302babc2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_connector.py", + "sha256": "516be01320e64b0110e102eeb69a6ba766dd5ac8cb3036db6b97b7d54413323d" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_utils.py", + "sha256": "26877610463fa8e9d6b092772f2551bcc0c3ac794cbe63996df0414666a8ebba" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/rdma_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/rdma_utils.py", + "sha256": "716e5042edecaba36c7ca763474988f32fa09c2668b8260260149df610af8f83" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/stats.py", + "sha256": "f39b2f0b1db2e4f922e27e684a3f7bbf5bb279b82a0a8c3bb0c7ae69b6d14d24" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/connector.py", + "sha256": "17a350bdb89e17e415d6c52a48684dc15c35a804378daf03e1f3bee1b1b123a3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/coordinator.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/coordinator.py", + "sha256": "a8eb6c2157a96e8d25233b82347ac8409a41d6390b4f2c64242119c05911010c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/data.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/data.py", + "sha256": "d3cfefdb4165a24995749cba452641b318065baa95bb1bae62f922a2f8886e7b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/metrics.py", + "sha256": "f2b9ef8927632d142aad11a374d0725c6e619ea0bb7fea9eda3f3895eb7d277a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/protocol.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/protocol.py", + "sha256": "ccb1cf6a84a932a375215627d2aaac482c351a05df015d636d05373a6845b7c8" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/scheduler.py", + "sha256": "283849ff581ec206444cdf5621622377f1c925e8d7e05cb9294af2f3a5094e79" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py", + "sha256": "55f1682dfd1ed7af689166421337126a0e1d08afa4774a242e098d79e0c1e95b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_common.py", + "sha256": "549bb4fe22dca5095515b9c0712c31cc81a9d4923881e9f112317640fd8c04ab" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_connector.py", + "sha256": "c0f474bc34b579d889fae92eaf43eaca241be51a4697a187a942f0df4e6b6a98" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_engine.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_engine.py", + "sha256": "d842f3772fc6588d5a329a67572324cb74709aa3df4033e64c791a1e706c8e88" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_layout.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_layout.py", + "sha256": "2b4ec046a78897236b0626939bb828b6ec095355097d10bca39e5f3e1c992553" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py", + "sha256": "12d8387239f3194f2cb63ccbd64824648047210323572d66671e6a1eed349fc3" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/__init__.py", + "sha256": "cc3145fe3b6d219a267bf40a0f7c0cc9430e4289f94acab2df761b99b671e7ba" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_scheduler.py", + "sha256": "7a1db8c54e4cd846bdac747344f2aea2c2fcf507817928796063225223b7e169" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_worker.py", + "sha256": "49a2e4faf99bef146b5a1d4d18d48f240b1e561c438252274494b359db96ef52" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/connector.py", + "sha256": "b6a0dc916d052f344be72ecfcb111509c13580102c11a860fa726cf0888949a9" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py", + "sha256": "2b23a07c1ec5ac5490c3b818737c7192e344ea9f52cd5623f75939f741ab4e21" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_scheduler.py", + "sha256": "ac3daf8e2246581fec84ab28f2133569421b62c32a120be4923e2f4d0f2f9de9" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/pull_worker.py", + "sha256": "e5060c9b6cf022de35ca3d1da7a369cd6a6a2dea26219af9f7633aaf78af8a76" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_scheduler.py", + "sha256": "2d9008e33937a4d6c5cf9cc2f96160f2bdbc8e987fe37f0798a7fd7eb84c9572" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_worker.py", + "sha256": "87de3ea383dd3aa95fb2c287ea26ded8a330859cc1295f9faa69047e80865c2c" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/scheduler.py", + "sha256": "09f1bfe7075b926b26a94529480e33b62c3ac273ff826f6c502084f08b1b2a08" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/stats.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/stats.py", + "sha256": "3e710654e0b68d1a8592f0c4735c81b22f4bf698fb1a2dfea126d35bf2dd1ef2" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/tp_mapping.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/tp_mapping.py", + "sha256": "2d43607f98701b2fad6cc0ac2767619a80b7fc2b3a3c2eb6ed0da4fb05dcd8f6" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/utils.py", + "sha256": "93de863fc8307a61d40b62f1b176b57ae93c363d34b9e9ddc8e666265b6d45dc" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/nixl/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/nixl/worker.py", + "sha256": "5134a36ac100ce7a64f5311029a37ac12c38d91093f63100f51f7fe53ea7c3ee" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/__init__.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/canonical_mapping.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/canonical_mapping.py", + "sha256": "e0b3c6f9806a650e0370c43c5068fc31c0fec94615089e15fdf270d7d96f2b64" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/common.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/common.py", + "sha256": "9b3f042c6fa1581d10e8f688d2d9bc927bb41b780a9ea01f514d57228e20c978" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/config.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/config.py", + "sha256": "aea82e60889e78dcad8564ec8285b65a6a372824a1545a98ea8e78b6f4fd418a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/events.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/events.py", + "sha256": "d7039b67be95fd444966628184040a94880873c0611c0e6e7525a22650ffdefb" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/metrics.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/metrics.py", + "sha256": "13d76df014e86691f58dc89a879f9808b124690c9267dd5fa3b2d4004d4c5fdf" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/scheduler.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/scheduler.py", + "sha256": "2c5282f4a3165cd787fb355e215e3869f1bdd3f2c795b2155fc537c9d135191a" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading/worker.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading/worker.py", + "sha256": "acc2df53262441dfc6421a3af7f0cbd68cbfaedbd42bbc384d8e1da2d965d194" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py", + "sha256": "cdc16ca7339a10e1993bd6220e6273f86a4e99779f58f25098a24ad31bb0dbd8" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/simple_cpu_offload_connector.py", + "sha256": "96238ca82ccf07a1eeb59b8f66de17b09034e3eb993ad9a0a836511d3f69706b" + }, + "vllm/distributed/kv_transfer/kv_connector/v1/ssm_conv_transfer_utils.py": { + "path": "/vllm/distributed/kv_transfer/kv_connector/v1/ssm_conv_transfer_utils.py", + "sha256": "59a949709482e65a007fbe5352fe9b4bb54c2dcc10ad2c1c41f754b6e13299f4" + }, + "vllm/distributed/kv_transfer/kv_transfer_state.py": { + "path": "/vllm/distributed/kv_transfer/kv_transfer_state.py", + "sha256": "2e5fe09438d6e2ee642f8a26cf7dcf632e870d955d30baf002b76a8bfe836d05" + }, + "vllm/distributed/nixl_utils.py": { + "path": "/vllm/distributed/nixl_utils.py", + "sha256": "0bffa3c052c9f67472b1c0bc3816114891b010c968bf4b8a292e7da4d687db53" + }, + "vllm/distributed/parallel_state.py": { + "path": "/vllm/distributed/parallel_state.py", + "sha256": "d9b10ad56833ebc08a753e1a050ef0989c30d4134021b7b7b00150b7bd01adc6" + }, + "vllm/distributed/stateless_coordinator.py": { + "path": "/vllm/distributed/stateless_coordinator.py", + "sha256": "f52848fbe985ed47b1f3e3ca555314736ca06436e8d738ab4390101f0672dcb0" + }, + "vllm/distributed/utils.py": { + "path": "/vllm/distributed/utils.py", + "sha256": "792146b357139e705064a68d3b66858de8a0baaca4dc7db1232fa217d45db231" + }, + "vllm/distributed/weight_transfer/__init__.py": { + "path": "/vllm/distributed/weight_transfer/__init__.py", + "sha256": "3fb9d4712b7c131d522f5e76e73cd8c333f3cc7af86e2d5ecf9b61b57b3b7f5a" + }, + "vllm/distributed/weight_transfer/base.py": { + "path": "/vllm/distributed/weight_transfer/base.py", + "sha256": "8ab06feb04f1379d0558fbdb77fde46bc84f179e0a26742cabab937e88caa38d" + }, + "vllm/distributed/weight_transfer/clients.py": { + "path": "/vllm/distributed/weight_transfer/clients.py", + "sha256": "ff85c79c350241e6d2749ca23c9d295a3289b4b62bfdf0257d32eb94a0151d36" + }, + "vllm/distributed/weight_transfer/factory.py": { + "path": "/vllm/distributed/weight_transfer/factory.py", + "sha256": "4e979eeac8c5bcdbffb10eb4765cfb30120fa7595c6c2561d3fa1a966ced61c8" + }, + "vllm/distributed/weight_transfer/ipc_engine.py": { + "path": "/vllm/distributed/weight_transfer/ipc_engine.py", + "sha256": "1af578293f387a19073c322b24143c3ae4716ce0c5d2bac2a4ef26fe20119330" + }, + "vllm/distributed/weight_transfer/nccl_common.py": { + "path": "/vllm/distributed/weight_transfer/nccl_common.py", + "sha256": "7b2ef7dc7481c3f478f17c49aa36c7bed54142ec5c93d36ed8426c8fdf09e500" + }, + "vllm/distributed/weight_transfer/nccl_engine.py": { + "path": "/vllm/distributed/weight_transfer/nccl_engine.py", + "sha256": "7fd020c919dc7b4723fb78e64da977b180d0fef0cd21df955a037b848dbaa008" + }, + "vllm/distributed/weight_transfer/packed_tensor.py": { + "path": "/vllm/distributed/weight_transfer/packed_tensor.py", + "sha256": "d0a27fb0be1dc029bd5a1d44fdb57a5e54aa4cd74308bedc339e86ac02c7494c" + }, + "vllm/distributed/weight_transfer/sharded_rdt_common.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_common.py", + "sha256": "be0b13801f24e7b62999b19d733c030510353603a2d5320d5dc98ee02daf22a2" + }, + "vllm/distributed/weight_transfer/sharded_rdt_engine.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_engine.py", + "sha256": "2f791970b4815511a7578ef6c957e7da97b071d26a39087a09a17475909791ee" + }, + "vllm/distributed/weight_transfer/sharded_rdt_fake.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_fake.py", + "sha256": "ee11164e17b5f2793252ce77741b8b94e0583046abf896a590131b2008d1fbb9" + }, + "vllm/distributed/weight_transfer/sharded_rdt_trainer.py": { + "path": "/vllm/distributed/weight_transfer/sharded_rdt_trainer.py", + "sha256": "dd413ff461d41826ccd3eb87d3df22f6cd7f24e09aac7644e3e5b40d7beec484" + }, + "vllm/distributed/weight_transfer/sparse_nccl_engine.py": { + "path": "/vllm/distributed/weight_transfer/sparse_nccl_engine.py", + "sha256": "e11b409454dda2b05ea34e8115ac19027c5e65cb2a5e9682c494f16a50e978f4" + }, + "vllm/model_executor/determinism/__init__.py": { + "path": "/vllm/model_executor/determinism/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/determinism/batch_invariant.py": { + "path": "/vllm/model_executor/determinism/batch_invariant.py", + "sha256": "af8f8d256a48fc214edf426fbe891fb15bd8b1d7ae98b811c736ff1eb0fae798" + }, + "vllm/model_executor/determinism/batch_invariant_configs.py": { + "path": "/vllm/model_executor/determinism/batch_invariant_configs.py", + "sha256": "72ea0d4df0ab5ae288abb7df5c203d2ad5f1709c7295d87ec72da775fddc1b7a" + }, + "vllm/model_executor/layers/fused_moe/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/__init__.py", + "sha256": "64a32665be6d5afcfbaf7a0915717267278b66b880b908b0263ea58f08e51b5e" + }, + "vllm/model_executor/layers/fused_moe/activation.py": { + "path": "/vllm/model_executor/layers/fused_moe/activation.py", + "sha256": "78dec0e85e0c040304515f64ccf8f2c6a7a2e5b9f1124a2138a97d9a02585541" + }, + "vllm/model_executor/layers/fused_moe/all2all_utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/all2all_utils.py", + "sha256": "dc4750a446f7de31d09a46034da5fdf479bc169af90f47aa9af8ae15e67b0828" + }, + "vllm/model_executor/layers/fused_moe/b12x.py": { + "path": "/vllm/model_executor/layers/fused_moe/b12x.py", + "sha256": "ee76cc6aa801e24be8ec78a9e8502061ad48667d5ff8711e43f68fba912425bd" + }, + "vllm/model_executor/layers/fused_moe/config.py": { + "path": "/vllm/model_executor/layers/fused_moe/config.py", + "sha256": "a3a87cebcc7ac85d73f471dcfafc2d899c6fc08f264777b74a0e919adac9e03f" + }, + "vllm/model_executor/layers/fused_moe/deep_gemm_utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/deep_gemm_utils.py", + "sha256": "8fdcd857eb333f9c68902105f157568d52067c94ba1e2df6dbfe0474ef1f4c02" + }, + "vllm/model_executor/layers/fused_moe/eep_reconfigure.py": { + "path": "/vllm/model_executor/layers/fused_moe/eep_reconfigure.py", + "sha256": "9d7580265e8563e1140c2bb4c3a81a35ddd54903f5ec0a2720ffc064681f02f9" + }, + "vllm/model_executor/layers/fused_moe/expert_map_manager.py": { + "path": "/vllm/model_executor/layers/fused_moe/expert_map_manager.py", + "sha256": "308c00f63fcb6f44518ec3a56d8f902c7bba75928c2e3aea30fbe1f3f473973b" + }, + "vllm/model_executor/layers/fused_moe/experts/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a16_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a16_moe.py", + "sha256": "53deea255175171971422d14082ad139b5ec7b62e21429a4c7cc0ebbefd29cdc" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp4_w4a8_moe.py", + "sha256": "f3fc51b95ed89862381908a0134e326228827f44854248db9585a9c4899c34f4" + }, + "vllm/model_executor/layers/fused_moe/experts/aiter_mxfp8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/aiter_mxfp8_moe.py", + "sha256": "af6db1760961a5a71234f8b1cdf42e9e30a236e13601b0826a75110b79724948" + }, + "vllm/model_executor/layers/fused_moe/experts/batched_deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/batched_deep_gemm_moe.py", + "sha256": "b0cd4ea706583518dc608fb56f832fc3595f24bd863b03ef1e8c22b36b873508" + }, + "vllm/model_executor/layers/fused_moe/experts/cpu_int4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cpu_int4_moe.py", + "sha256": "67170af3ba9dc4c4f71d78a72efc3fa4e366eac614936a79911dae5c75ac1864" + }, + "vllm/model_executor/layers/fused_moe/experts/cpu_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cpu_moe.py", + "sha256": "0754cd4ff1b28e6d3932a67609d335acefd28f95a841f0492923813356a6d81e" + }, + "vllm/model_executor/layers/fused_moe/experts/cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/cutlass_moe.py", + "sha256": "db901bdbcd3fdac23a1d74e39c51e67f14a82be787b2fd704ed1e787372ae868" + }, + "vllm/model_executor/layers/fused_moe/experts/deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/deep_gemm_moe.py", + "sha256": "16911a64a72eafc26a1bcb544a91f90144d85dc41e3ee57cf20e89925227bbb7" + }, + "vllm/model_executor/layers/fused_moe/experts/fallback.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fallback.py", + "sha256": "1bdd0a4f2ebaa40ec96a5aacc07aee61511af59e6324ce456aa65003b6e2991a" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_b12x_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_b12x_moe.py", + "sha256": "e613afe5da2742e42c717c1a0a56bd9e1c7e3e0452a828db0013d81063518954" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_batched_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_batched_moe.py", + "sha256": "295254dfeeec8df3eb8110e6f659a946cb9cded3de1565ecad4d741b3c3f3e00" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutedsl_moe.py", + "sha256": "08578bcd0cf72d6a470e40950175e73639efaa6d8d23c6da0869345312b229c9" + }, + "vllm/model_executor/layers/fused_moe/experts/flashinfer_cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/flashinfer_cutlass_moe.py", + "sha256": "52887cec5fe628e0a4e7793deb546b40f6c29f7362b3b436c10ca36934ab9826" + }, + "vllm/model_executor/layers/fused_moe/experts/fused_batched_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fused_batched_moe.py", + "sha256": "2435587fc7f8fe8ea341ea0eb8f14c11f3f5b31fbbb9b29ce569ad3bace6e6a0" + }, + "vllm/model_executor/layers/fused_moe/experts/fused_humming_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/fused_humming_moe.py", + "sha256": "a6830a76ff7f4cd3479b9c8372a30d03e8301604555cbdbcd9ac89a813b7431a" + }, + "vllm/model_executor/layers/fused_moe/experts/gpt_oss_triton_kernels_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/gpt_oss_triton_kernels_moe.py", + "sha256": "1613a7a6b256e8faee6fdcfae84f293492db6229d28ceb3e8a8d6093af480e36" + }, + "vllm/model_executor/layers/fused_moe/experts/int4_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/int4_emulation_moe.py", + "sha256": "f12857caf0671a341687ad3c5f48616b816ed51e1bcbdefa0a7edbecdb81a79d" + }, + "vllm/model_executor/layers/fused_moe/experts/lora_context.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/lora_context.py", + "sha256": "9b41eefaaa57c5dd0dc54217ef95978821b0c52e90ea4db8b0752e08452bd3e5" + }, + "vllm/model_executor/layers/fused_moe/experts/lora_experts_mixin.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/lora_experts_mixin.py", + "sha256": "b2bc55ed6be98b526c6a5698e2d98300650e78555f56b1820e58c04888e2a373" + }, + "vllm/model_executor/layers/fused_moe/experts/marlin_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/marlin_moe.py", + "sha256": "93916b721548e6194dc70cf6cec224b4b1456a0cc0980235e97beba7bf36541d" + }, + "vllm/model_executor/layers/fused_moe/experts/mxfp8_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/mxfp8_emulation_moe.py", + "sha256": "d09c62ad1398c51ff6f515f2a61014ee9e9a9798d0fe9762c47f446efc5edbef" + }, + "vllm/model_executor/layers/fused_moe/experts/mxfp8_native_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/mxfp8_native_moe.py", + "sha256": "01a42cebf18189e566034111b2145573c655319e8af1a56db60d53a319c40613" + }, + "vllm/model_executor/layers/fused_moe/experts/nvfp4_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/nvfp4_emulation_moe.py", + "sha256": "f24467762b60702f0df122ed64786be839a838a9b6cafaecbd04d35fbfedb189" + }, + "vllm/model_executor/layers/fused_moe/experts/ocp_mx_emulation_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/ocp_mx_emulation_moe.py", + "sha256": "dcaa60a9ebdb0bd8223b37af41f018ce7f95716ec7cd8526850f4433a579213b" + }, + "vllm/model_executor/layers/fused_moe/experts/rdna3_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/rdna3_moe.py", + "sha256": "e4abd802dc2f0ad9b338ebde397633c761d881c37813e2dc229902c526b597d8" + }, + "vllm/model_executor/layers/fused_moe/experts/rocm_aiter_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/rocm_aiter_moe.py", + "sha256": "bf09a7b783f5752d61cab76221b32b598d8846d801ee39dc9209d636c9659c6f" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_cutlass_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_cutlass_moe.py", + "sha256": "ffce5ad627c540940d122d8df7981644b2eb35d07d480995c0f4f30517815fac" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_deep_gemm_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_deep_gemm_moe.py", + "sha256": "c7209fa5e1ccb184a68b37a0706fc571a76696c2ae79802ddc7f889b1c29684d" + }, + "vllm/model_executor/layers/fused_moe/experts/triton_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/triton_moe.py", + "sha256": "806fbccfe30f5fbd578acf773add99bdf022b12d617958bd6281aef6de369701" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_bf16_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_bf16_moe.py", + "sha256": "76256de96fefece9c41ffb1108487919e24da364cf4412c6c3474498aba59137" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_fp8_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_fp8_moe.py", + "sha256": "b54c7ceb45e5d07aa905f42ea44caccf85ca35ba9fb825d4c01947764510f68b" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_lora_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_lora_moe.py", + "sha256": "dd35a9e4242c0dc8d691168813e14bd5543e591f02ee529d0691e07651942c5a" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_mxfp4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_mxfp4_moe.py", + "sha256": "fe780f125a3dc3ba919659e9b85340bd32afcbfe47733a002bfdfb92eadf400c" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_mxint4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_mxint4_moe.py", + "sha256": "2106d67c2951aa690c4656ca58240d09c366cffe8cb4d9fd575df016c377cc30" + }, + "vllm/model_executor/layers/fused_moe/experts/trtllm_nvfp4_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/trtllm_nvfp4_moe.py", + "sha256": "e938ac9f058f7c90b41c9610513239bec54a95304bfb5ff5f6897ebd54733d7e" + }, + "vllm/model_executor/layers/fused_moe/experts/xpu_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/experts/xpu_moe.py", + "sha256": "2a11bac0cf9274d963315efd6eebdc62978b0b7aa02e8849ff2a562742f0b86d" + }, + "vllm/model_executor/layers/fused_moe/fused_flydsl_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_flydsl_moe.py", + "sha256": "0e74879ee5c72f616ae4064b9dff3b3a0b583b7fc70b8f92f1e8b730ecd5d39b" + }, + "vllm/model_executor/layers/fused_moe/fused_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe.py", + "sha256": "7072eb06237be9d33dcb0ef7101410f886a6363c98cbee70a014c68b70f639cb" + }, + "vllm/model_executor/layers/fused_moe/fused_moe_method_base.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe_method_base.py", + "sha256": "18dcfc469d3252749801bbf943857f58da85de1f2db8fdff5a9f4986a925dc68" + }, + "vllm/model_executor/layers/fused_moe/fused_moe_modular_method.py": { + "path": "/vllm/model_executor/layers/fused_moe/fused_moe_modular_method.py", + "sha256": "321c744eac1fcaffd6b1b2971204c8baa57dfec53e91e5d24140014d72d64f83" + }, + "vllm/model_executor/layers/fused_moe/hpc_moe.py": { + "path": "/vllm/model_executor/layers/fused_moe/hpc_moe.py", + "sha256": "2ca9c5d71b6fd91651027905e2b83103a8823845e053e7153e148cb8e0ee666d" + }, + "vllm/model_executor/layers/fused_moe/layer.py": { + "path": "/vllm/model_executor/layers/fused_moe/layer.py", + "sha256": "def0b4e13bcc1e4e21ee10644e647e2eda1acbf0cc01e76d6128abb59ea08224" + }, + "vllm/model_executor/layers/fused_moe/modular_kernel.py": { + "path": "/vllm/model_executor/layers/fused_moe/modular_kernel.py", + "sha256": "8dc4e0dbbf35b3aac8add63ca6f2a7bbfdadaabbd60826e24598b22c7d8e5c22" + }, + "vllm/model_executor/layers/fused_moe/moe_align_block_size.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_align_block_size.py", + "sha256": "c3f7fc2087836f0160a32ab99ceb1d8f6e87c793679da34dd672e225cb7fa31b" + }, + "vllm/model_executor/layers/fused_moe/moe_fused_mul_sum.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_fused_mul_sum.py", + "sha256": "112e72578002c3bff538418dac64b3b56d995994a2fc5e32b18d2cf3b8392a13" + }, + "vllm/model_executor/layers/fused_moe/moe_output.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_output.py", + "sha256": "6ea4cbd78f9efc7f842c5df246f553f08b991c3479b8b04b89902ed08aaf8e8f" + }, + "vllm/model_executor/layers/fused_moe/moe_permute_unpermute.py": { + "path": "/vllm/model_executor/layers/fused_moe/moe_permute_unpermute.py", + "sha256": "1adc592c6254d0c877d66be5406afbc822459c18a838f4bbd094a992e7609d06" + }, + "vllm/model_executor/layers/fused_moe/oracle/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/__init__.py", + "sha256": "4dcf941d50d48bb812de0f39e9194bf17a76b8035fe324889c6038f710fdc453" + }, + "vllm/model_executor/layers/fused_moe/oracle/base.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/base.py", + "sha256": "555bbcd18a3744e64eee4e953daabef3bd268a1bd4faf967d4cfd14d6074f685" + }, + "vllm/model_executor/layers/fused_moe/oracle/fp8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/fp8.py", + "sha256": "245bd36c285df1e6f7c51e52dcda31ad247894577a9f8d765613c2c2feae9aee" + }, + "vllm/model_executor/layers/fused_moe/oracle/int8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/int8.py", + "sha256": "c1b67886511bd966b162db5bca8930f04895fb37a969818a4a10f0726c59547f" + }, + "vllm/model_executor/layers/fused_moe/oracle/int_wna16.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/int_wna16.py", + "sha256": "cfffe8b8b290330be9d18ffa07aeecf296484395ff04df3147d99393e48b55c1" + }, + "vllm/model_executor/layers/fused_moe/oracle/mxfp4.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/mxfp4.py", + "sha256": "b7915e6779b5c88e7dcd2d227f003a8e45071d6d86877013067142d4feb64a8c" + }, + "vllm/model_executor/layers/fused_moe/oracle/mxfp8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/mxfp8.py", + "sha256": "9cfdc8102a04bb844dcd7ed88043bba96ec751794bc093da76c69aa8cf88cf48" + }, + "vllm/model_executor/layers/fused_moe/oracle/nvfp4.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/nvfp4.py", + "sha256": "735b4cdeb1258f11fb02320fc0c70cab5edaca468dd60b07b2d369389d2b0313" + }, + "vllm/model_executor/layers/fused_moe/oracle/unquantized.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/unquantized.py", + "sha256": "c8b8203bd0b73bb7f586f703607394d663f14c05711416ad42d45af564382223" + }, + "vllm/model_executor/layers/fused_moe/oracle/w4a8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/w4a8.py", + "sha256": "d7fa6e2982f20b34d5ce9c5ce28a61122762a3fcdd53d249479472a4f2316c6a" + }, + "vllm/model_executor/layers/fused_moe/oracle/w4a8_int8.py": { + "path": "/vllm/model_executor/layers/fused_moe/oracle/w4a8_int8.py", + "sha256": "6d6f9ca2e67b630002873de2f8d8a231d091c5c2f0f3354a9e8209449b481a4c" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/__init__.py", + "sha256": "2800113263a83c2632e522fb22790b29f63384da75d43de32f0ae2f95e8ae4c1" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/batched.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/batched.py", + "sha256": "d52425dd8c08e47cf8d9c3088daf3b1cc721c8667de4c738d04ba997f9a08ccb" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ht.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ht.py", + "sha256": "465cdf1d6cee91b2ee8c2e43abbea6e8408976e3048c10f44c089f34b415bc60" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ll.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_ll.py", + "sha256": "f704922b1db680c4c212982a096e09d6b3eb97d89110313f86ed958a00df21b7" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_v2.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/deepep_v2.py", + "sha256": "8d690b016bbcfbc9eb599bcc36a6f798b2f1720c828f4347ea742e218c0cc60d" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_one_sided.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_one_sided.py", + "sha256": "acb57d8342af62bb5672036871cd4b27ecc7f37dfa7c894850bb860e6152a1f0" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_two_sided.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_two_sided.py", + "sha256": "cc5b00d6a157b6eca5afaaf7435165dbd1b4524d6d88bf75808cbe074a389f79" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/mori.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/mori.py", + "sha256": "8e9c3b5b1f0de13f467d95bf2f451cba0e4b0d9a1bdcf98da0988a3a9a79a045" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/naive_dp_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/naive_dp_ep.py", + "sha256": "db015e5b18750bbbf5b2bbaceca877dd6f3f3e74c2a94e8dc185f7413b387f91" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/nixl_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/nixl_ep.py", + "sha256": "1f71d70ac509bf5d3d67a8d95a8ee108a50af6bb5d4bde7181ca28e286f6ffce" + }, + "vllm/model_executor/layers/fused_moe/prepare_finalize/no_dp_ep.py": { + "path": "/vllm/model_executor/layers/fused_moe/prepare_finalize/no_dp_ep.py", + "sha256": "adbbf529cd22059c95b5380952943a70cf11e05e321dcd707f296bebde61a6e7" + }, + "vllm/model_executor/layers/fused_moe/routed_experts.py": { + "path": "/vllm/model_executor/layers/fused_moe/routed_experts.py", + "sha256": "68c48e5df0ea4a7cc1f04436b7b9153eb53802ecd9bb55d38db8738508daac6d" + }, + "vllm/model_executor/layers/fused_moe/routed_experts_capturer.py": { + "path": "/vllm/model_executor/layers/fused_moe/routed_experts_capturer.py", + "sha256": "cd006bc1a1703418cca3b589fafb2abc4268a086fb3db044bbb64348aeac8b13" + }, + "vllm/model_executor/layers/fused_moe/router/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/layers/fused_moe/router/aiter_shared_routed_fused_moe_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/aiter_shared_routed_fused_moe_router.py", + "sha256": "f47046db1275601a2c67c9232afc7b866c9623a19639d5be867e4c7914a35069" + }, + "vllm/model_executor/layers/fused_moe/router/base_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/base_router.py", + "sha256": "47fa2324bcd9b6ebdc138d69ae6b6ecc0f2463d34bda8c5988bdb0a2a76d3fae" + }, + "vllm/model_executor/layers/fused_moe/router/bf16x3_router_gemm_cutedsl.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/bf16x3_router_gemm_cutedsl.py", + "sha256": "d0f1edd1ebc48d88e490bdb3c93db49bdc0a135ff83e7e0b57130e9f8255fc32" + }, + "vllm/model_executor/layers/fused_moe/router/cpu_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/cpu_router.py", + "sha256": "bff36b15818c87bfbb7ee3def7dc7f6396860abbe5893ff6148801fe941a4b92" + }, + "vllm/model_executor/layers/fused_moe/router/custom_routing_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/custom_routing_router.py", + "sha256": "1a40c7054e3c3a1b3ee2e98f6bc9efa9dfdc11f316a8edf7357dd91533487bfe" + }, + "vllm/model_executor/layers/fused_moe/router/dsv4_topk.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/dsv4_topk.py", + "sha256": "14f7c8487b9aef652dd61c91e0e3c3640b643bf9cd0d8a7184157d71f4beb63e" + }, + "vllm/model_executor/layers/fused_moe/router/fused_moe_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_moe_router.py", + "sha256": "0daa0dc05b931d66767feca444a4cd57ecf140f59b40ea0e8ad213eef6da2b36" + }, + "vllm/model_executor/layers/fused_moe/router/fused_topk_bias_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_topk_bias_router.py", + "sha256": "8fdc28cc248180ad4f11bb4bcda3df47926ec12665a0d84bb712fe83fc6b9376" + }, + "vllm/model_executor/layers/fused_moe/router/fused_topk_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/fused_topk_router.py", + "sha256": "1c80f4af4d781fd66b12aa6a7a0fd30082bc521df40f1252987a8ac4c0bef51c" + }, + "vllm/model_executor/layers/fused_moe/router/gate_linear.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/gate_linear.py", + "sha256": "faa43362c2e7c568498a923c682ca18cae75e87f48d00882770821cb19c21198" + }, + "vllm/model_executor/layers/fused_moe/router/grouped_topk_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/grouped_topk_router.py", + "sha256": "048339e1799cdd42c9dae686a6cb891046577fb391b500f0d12eed73c8f61e52" + }, + "vllm/model_executor/layers/fused_moe/router/rocm_fp32_router_gemm.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/rocm_fp32_router_gemm.py", + "sha256": "9c331ef3d0bb2fb6954387d77ac62a99c5c76d2753c7438bfbb5115f68aae5ac" + }, + "vllm/model_executor/layers/fused_moe/router/router_factory.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/router_factory.py", + "sha256": "019bc8adaa7642abab82843efd53cd1a378f62c652521a1de2b781480eb88742" + }, + "vllm/model_executor/layers/fused_moe/router/routing_simulator_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/routing_simulator_router.py", + "sha256": "a7345df5add00cf3bd93024492d6fc1189fd3ecf2754a11cef1b03a295d791f7" + }, + "vllm/model_executor/layers/fused_moe/router/zero_expert_router.py": { + "path": "/vllm/model_executor/layers/fused_moe/router/zero_expert_router.py", + "sha256": "dea306edd92e2b9c1b43f982ede8e1e10770d2c66220f5a106e0ed0165276e9c" + }, + "vllm/model_executor/layers/fused_moe/runner/__init__.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/model_executor/layers/fused_moe/runner/moe_runner.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/moe_runner.py", + "sha256": "05893188402fe37229bf72d75088d66193c417d5d502daafd3a55e1bfedaa60c" + }, + "vllm/model_executor/layers/fused_moe/runner/moe_runner_interface.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/moe_runner_interface.py", + "sha256": "189cad01611124eb44594713cbf5918d16fc70196dc81a525ae0a7a97a5fcc51" + }, + "vllm/model_executor/layers/fused_moe/runner/shared_experts.py": { + "path": "/vllm/model_executor/layers/fused_moe/runner/shared_experts.py", + "sha256": "d89e4c79c46f6fe61262c51f3facf102e71ce1e4eb3db67f72b6bd8470937be9" + }, + "vllm/model_executor/layers/fused_moe/topk_weight_and_reduce.py": { + "path": "/vllm/model_executor/layers/fused_moe/topk_weight_and_reduce.py", + "sha256": "3dfede72d52bf99af40997994704e6c502ee3bab2bd39bfaa8a68d7dae440203" + }, + "vllm/model_executor/layers/fused_moe/unquantized_fused_moe_method.py": { + "path": "/vllm/model_executor/layers/fused_moe/unquantized_fused_moe_method.py", + "sha256": "182a5ec1874ece2091a24c5303f6ab9ea64a9a61adf325b863927f0cdd83e5d3" + }, + "vllm/model_executor/layers/fused_moe/utils.py": { + "path": "/vllm/model_executor/layers/fused_moe/utils.py", + "sha256": "a93a0bded4008db19d8b38370526ae34fafb9c8278e5b4f60acb6acc8fdc1850" + }, + "vllm/model_executor/layers/mamba/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/abstract.py": { + "path": "/vllm/model_executor/layers/mamba/abstract.py", + "sha256": "dfdc8c836894f574e41d93d76ab989cacd3d7ecf59c97a929abfa48d9364e8ad" + }, + "vllm/model_executor/layers/mamba/gdn/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/gdn/base.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/base.py", + "sha256": "7fec748fc74131f5a45bcaf2644b3fa3a0598fd437d7347f8207ea3644a951c5" + }, + "vllm/model_executor/layers/mamba/gdn/kimi_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/kimi_gdn_linear_attn.py", + "sha256": "1cec4da5c9da73557e192bfb36cd540aae51d3e91283b554449c4a97f0f89bd9" + }, + "vllm/model_executor/layers/mamba/gdn/olmo_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/olmo_gdn_linear_attn.py", + "sha256": "60873ca3bb0c4d17c33bd259b62b658db4883cd23138f47dd4ead62cd2ff0605" + }, + "vllm/model_executor/layers/mamba/gdn/qwen_gdn_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/gdn/qwen_gdn_linear_attn.py", + "sha256": "b80f8e6f3fff442fb880aebb3209c52f814f66490009f4ac4003de603576d10a" + }, + "vllm/model_executor/layers/mamba/linear/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/linear/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/linear/bailing_linear_attn.py", + "sha256": "3c480ddd6eba0766ed012a1074bbec5f241d868a87b020b0f6312222c32f93eb" + }, + "vllm/model_executor/layers/mamba/linear/base.py": { + "path": "/vllm/model_executor/layers/mamba/linear/base.py", + "sha256": "26125cd427225954e1846ca361cdaf43f2b56f11b1e217cf26e91a80ef0edb6a" + }, + "vllm/model_executor/layers/mamba/linear/minimax_linear_attn.py": { + "path": "/vllm/model_executor/layers/mamba/linear/minimax_linear_attn.py", + "sha256": "4adc00f54893b5bc6c31c613deda152a19af3b1bba04153ab5924c3bf2a3aaae" + }, + "vllm/model_executor/layers/mamba/mamba_mixer.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_mixer.py", + "sha256": "a485e937ad9db14d3ad03fde5a9fe795cfa863649563e52fc7e6c52ef631164e" + }, + "vllm/model_executor/layers/mamba/mamba_mixer2.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_mixer2.py", + "sha256": "d58d93e90d9eb90bc5133b79f07c7c62d0032b35d6cf916e3fe34367b81c5cd5" + }, + "vllm/model_executor/layers/mamba/mamba_utils.py": { + "path": "/vllm/model_executor/layers/mamba/mamba_utils.py", + "sha256": "ce9845b4a4ef4bc46577a33038ed69d59ceccb52f30e9c5bdaa36e48be3b2ca4" + }, + "vllm/model_executor/layers/mamba/ops/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/ops/causal_conv1d.py": { + "path": "/vllm/model_executor/layers/mamba/ops/causal_conv1d.py", + "sha256": "044d005cfe59fd0818ed421274e04f3e8dd679b8cdb64fca9f4422f2643484b2" + }, + "vllm/model_executor/layers/mamba/ops/cpu/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/model_executor/layers/mamba/ops/cpu/causal_conv1d.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/causal_conv1d.py", + "sha256": "64104672890ac2ef240c20c7f8059beeade707178574809dbca8721dff5ea6fa" + }, + "vllm/model_executor/layers/mamba/ops/cpu/gdn_attention.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/gdn_attention.py", + "sha256": "a50288945bf5b102ad3025ae536638dcc32d84cf7c22aaf3a85326b0c1c56c1f" + }, + "vllm/model_executor/layers/mamba/ops/cpu/mamba_ssm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/cpu/mamba_ssm.py", + "sha256": "5839e576172a3246337f5e4fb1bc19eb583b3e2b2f7e35dd060dc3041eb8372d" + }, + "vllm/model_executor/layers/mamba/ops/gather_initial_states.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gather_initial_states.py", + "sha256": "5198bb6de6d91c583a5f65d926412a76ee04a06fa72aaba76eaf156b27cd0523" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/__init__.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/__init__.py", + "sha256": "b88b52e71fcb21bd3fa215ea171dcd2ad2ff17c97788cfe64caa7ba45c7ecf97" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_h.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_h.py", + "sha256": "f50bbe5c0b6382323ec5dfc24a5e0c7971113d59727515e60c9fe3689734e5ba" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_kkt_inv_uw.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_kkt_inv_uw.py", + "sha256": "b4a65dd194907db08865e0596fe254f915e670a9e6b27ffa2933c1026dde9b1e" + }, + "vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_o.py": { + "path": "/vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl/kernel_o.py", + "sha256": "629f7843a7e611efb9390f2ebb7a4b924b2c328d48a317fddfaa96af4d9bc60a" + }, + "vllm/model_executor/layers/mamba/ops/layernorm_gated.py": { + "path": "/vllm/model_executor/layers/mamba/ops/layernorm_gated.py", + "sha256": "3433f2e3b87c2b2ccf8e9794ce40762c86a6da38a94ecee001f439ea0d0373dd" + }, + "vllm/model_executor/layers/mamba/ops/mamba_ssm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/mamba_ssm.py", + "sha256": "a4515ec7895b40ed878cf380445034b25faa61fbaa799d96c49217bbdfd7e400" + }, + "vllm/model_executor/layers/mamba/ops/replayssm_config.py": { + "path": "/vllm/model_executor/layers/mamba/ops/replayssm_config.py", + "sha256": "5fe9d5d7aa2de6a65875b3796a919b22bc435fd76055ba054bbff43aa005bc44" + }, + "vllm/model_executor/layers/mamba/ops/scatter_states.py": { + "path": "/vllm/model_executor/layers/mamba/ops/scatter_states.py", + "sha256": "f3bb004c73edaba56337747893eb07faf29b270dc8bb9c893ee9b1044e4ead9a" + }, + "vllm/model_executor/layers/mamba/ops/selective_state_update_replayssm_output_only.py": { + "path": "/vllm/model_executor/layers/mamba/ops/selective_state_update_replayssm_output_only.py", + "sha256": "cea7fd3063ca9dcc4e33f180d01ea379195ec515cedc9d0b03b11dc67670d695" + }, + "vllm/model_executor/layers/mamba/ops/ssd_bmm.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_bmm.py", + "sha256": "26983d97a7f5c5f9197a16a6bee7b1294839b9ae31a14c14aaee38b43523e630" + }, + "vllm/model_executor/layers/mamba/ops/ssd_chunk_scan.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_chunk_scan.py", + "sha256": "d5ef32e8cb47e2ce71984579df78ab69754895f891766394daf327867cfa4f8f" + }, + "vllm/model_executor/layers/mamba/ops/ssd_chunk_state.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_chunk_state.py", + "sha256": "177e3aa7fe72647133bbd86135533e8688a5802678d4d1564aa549410362316f" + }, + "vllm/model_executor/layers/mamba/ops/ssd_combined.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_combined.py", + "sha256": "1317bbb668d3c60dfe0658850f9968614f03fa5eb61196f8ce6ac17dbb31b480" + }, + "vllm/model_executor/layers/mamba/ops/ssd_state_passing.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssd_state_passing.py", + "sha256": "36b8c8edba437916a5b789717c61fc22077de01e77892cb96dbff3b00a57410e" + }, + "vllm/model_executor/layers/mamba/ops/ssu_dispatch.py": { + "path": "/vllm/model_executor/layers/mamba/ops/ssu_dispatch.py", + "sha256": "bbe0f0e61da87f3ddfead19a79ca376516b63f1ea868be3485333c63fa20ef41" + }, + "vllm/model_executor/layers/mamba/ops/triton_helpers.py": { + "path": "/vllm/model_executor/layers/mamba/ops/triton_helpers.py", + "sha256": "a8795532f22c37a93e82c9d8e3fadcb5f4da98673d7b321fe8481305eaafad30" + }, + "vllm/model_executor/layers/mamba/short_conv.py": { + "path": "/vllm/model_executor/layers/mamba/short_conv.py", + "sha256": "228494efab185ee17374f762874f4c8b9a26aac9decfa8c906ce38446e0de51a" + }, + "vllm/model_executor/models/qwen3_next.py": { + "path": "/vllm/model_executor/models/qwen3_next.py", + "sha256": "4fa5112ac2bf7886d41d9e1f6c3da8793620d1ec49c961b31e9609459a6a7f7a" + }, + "vllm/third_party/flash_linear_attention/__init__.py": { + "path": "/vllm/third_party/flash_linear_attention/__init__.py", + "sha256": "5dbbfa3fc286edb2e970e175ef33cee4f6181c89b0784f5a8986201b2312f54e" + }, + "vllm/third_party/flash_linear_attention/ops/__init__.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/__init__.py", + "sha256": "dd738dc1d08045e76455cdbe16052a5b769e0eb11d6e87ff28353994f880cd6c" + }, + "vllm/third_party/flash_linear_attention/ops/chunk.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk.py", + "sha256": "c105ead259e86aedc248c53e7c4cef07034d0ff12da608d80265d1dd0990803f" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_delta_h.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_delta_h.py", + "sha256": "1b3ad391f939d9443c6b7adb19e57fe381bd5dccea064e8417a4f85b0e713b26" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_o.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_o.py", + "sha256": "3b63b836a8cc561723c23db5a528a0b474d9cd78508d610f0b348c585a889a19" + }, + "vllm/third_party/flash_linear_attention/ops/chunk_scaled_dot_kkt.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/chunk_scaled_dot_kkt.py", + "sha256": "7ae41df3755acc7e925a134d848f78bb5fc00b90069039d86403c5853323ea42" + }, + "vllm/third_party/flash_linear_attention/ops/cumsum.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/cumsum.py", + "sha256": "d818215669b451868823202ac0bcea77e7a9d75957254c7c1060a73a55dc39b6" + }, + "vllm/third_party/flash_linear_attention/ops/fused_gdn_prefill_post_conv.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_gdn_prefill_post_conv.py", + "sha256": "590717b2107abc90d72548de06b5d315229eb2775c94614f3f545df11cc2b5df" + }, + "vllm/third_party/flash_linear_attention/ops/fused_norm_gate.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_norm_gate.py", + "sha256": "e6eb90467f29d8a0a04f2a364d20a2c3191b6ab857841bfb82076b33a6022d1a" + }, + "vllm/third_party/flash_linear_attention/ops/fused_recurrent.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_recurrent.py", + "sha256": "fe6f1311014809040497aa0a623e7fa97f4b3457cdc7ee1f1f8aed21f326f755" + }, + "vllm/third_party/flash_linear_attention/ops/fused_sigmoid_gating.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/fused_sigmoid_gating.py", + "sha256": "000ab8996af9788fdb8843a6a3b91833e7a14c8acc0e1ea073a536330f64cb6f" + }, + "vllm/third_party/flash_linear_attention/ops/index.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/index.py", + "sha256": "a4f8b2c052635cb519a80099e8a85411d1d5d6880b38f466788259bbe66b154d" + }, + "vllm/third_party/flash_linear_attention/ops/kda.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/kda.py", + "sha256": "e1f31aaa89b91f8e5db6d070b229e2c81c7206e8caec67de41db97d06be0c476" + }, + "vllm/third_party/flash_linear_attention/ops/l2norm.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/l2norm.py", + "sha256": "520f4513ef4fc97e6b88dc07877cca8e29da0d34e44673fe989e3af002d86381" + }, + "vllm/third_party/flash_linear_attention/ops/layernorm_guard.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/layernorm_guard.py", + "sha256": "42af29be26e8fc94a4658e053c095fcdab9ffdc1bc2446a01e787deda2a298c0" + }, + "vllm/third_party/flash_linear_attention/ops/op.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/op.py", + "sha256": "456da84fd12411cf53c96a90dd4f78f49afb454c3d51d2c524ea8e7106fe8ae5" + }, + "vllm/third_party/flash_linear_attention/ops/solve_tril.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/solve_tril.py", + "sha256": "d1a4ff27623a938825052500afa7e2aa24fadd2fa4c9be6376c9128824f86f82" + }, + "vllm/third_party/flash_linear_attention/ops/utils.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/utils.py", + "sha256": "d6c90d36505e02086954c23ca4dd2fea82a69416d68ff1d0501e16b3148b5b0c" + }, + "vllm/third_party/flash_linear_attention/ops/wy_fast.py": { + "path": "/vllm/third_party/flash_linear_attention/ops/wy_fast.py", + "sha256": "c9fc8259db0a8746dc04f1d799cb73333457118cf89a0bdce8dde8a80a28cd96" + }, + "vllm/v1/attention/__init__.py": { + "path": "/vllm/v1/attention/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backend.py": { + "path": "/vllm/v1/attention/backend.py", + "sha256": "01ac364372afa75fdb22486aa3a9c7cf9aebb742e3471dfb9e0f9d9d36b734bc" + }, + "vllm/v1/attention/backends/__init__.py": { + "path": "/vllm/v1/attention/backends/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backends/b12x.py": { + "path": "/vllm/v1/attention/backends/b12x.py", + "sha256": "443f0a98738fdfefe5b9ab151d278bfd43a8ac807eb2b0b9b2a13d51922afbf9" + }, + "vllm/v1/attention/backends/composite.py": { + "path": "/vllm/v1/attention/backends/composite.py", + "sha256": "4cf3d66dca891562709eed4f50aa14b0ae6c8240d9ea86504a3304b2f356cce0" + }, + "vllm/v1/attention/backends/cpu_attn.py": { + "path": "/vllm/v1/attention/backends/cpu_attn.py", + "sha256": "76fb02a6bd725125565d84bf04f627cf16da5f7ff8f31f87c01ed6a1439398c7" + }, + "vllm/v1/attention/backends/fa_utils.py": { + "path": "/vllm/v1/attention/backends/fa_utils.py", + "sha256": "08fa6e231d3af3a71a6e59162dd12328aa8beb28548165ae58f130a92adb5a83" + }, + "vllm/v1/attention/backends/flash_attn.py": { + "path": "/vllm/v1/attention/backends/flash_attn.py", + "sha256": "b170a4789e18104c1bee35bea70df51abe6766693d8f4726a59f2e6f5c4282aa" + }, + "vllm/v1/attention/backends/flash_attn_diffkv.py": { + "path": "/vllm/v1/attention/backends/flash_attn_diffkv.py", + "sha256": "e4627c88c3ba8caee260540e994cc8137fd2ff7cd7813356b36387c6c88ce30a" + }, + "vllm/v1/attention/backends/flashinfer.py": { + "path": "/vllm/v1/attention/backends/flashinfer.py", + "sha256": "8ee541fde43ed92a417b3f01ea1e6fc64af8ab2eb54cbfc28308a49aaca4ed7f" + }, + "vllm/v1/attention/backends/flex_attention.py": { + "path": "/vllm/v1/attention/backends/flex_attention.py", + "sha256": "ad07f0ad73aeeadc3534b3a05c14f88a62cb3638874239ae9823c49b36276dc3" + }, + "vllm/v1/attention/backends/gdn_attn.py": { + "path": "/vllm/v1/attention/backends/gdn_attn.py", + "sha256": "3831019404a92200a38b43571c040cffeb6638bbdc71e4cb5e680dbc6c93d054" + }, + "vllm/v1/attention/backends/hpc_attn.py": { + "path": "/vllm/v1/attention/backends/hpc_attn.py", + "sha256": "af9e2aec1b498f0ee48a2dce3cf5646edf1976466980b2fd927c0e82b875427c" + }, + "vllm/v1/attention/backends/linear_attn.py": { + "path": "/vllm/v1/attention/backends/linear_attn.py", + "sha256": "bc42144fcd027434c6a10dc9f4c5f991db8899d387af5f6485402ce097eb0513" + }, + "vllm/v1/attention/backends/mamba1_attn.py": { + "path": "/vllm/v1/attention/backends/mamba1_attn.py", + "sha256": "32159dae11cab3c8c576b9514ad97d5108c8d1b4cac9fcfe345ec6a76223aee7" + }, + "vllm/v1/attention/backends/mamba2_attn.py": { + "path": "/vllm/v1/attention/backends/mamba2_attn.py", + "sha256": "a5bcdecb7b9547137023e1c77a386003358fa940eaf5f319ed142211dcdba139" + }, + "vllm/v1/attention/backends/mamba_attn.py": { + "path": "/vllm/v1/attention/backends/mamba_attn.py", + "sha256": "5e7b2c4058fc5e6096d001bff6c789b78368b025bbe4600f191aaca2ff59b59f" + }, + "vllm/v1/attention/backends/mla/__init__.py": { + "path": "/vllm/v1/attention/backends/mla/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/backends/mla/aiter_triton_mla.py": { + "path": "/vllm/v1/attention/backends/mla/aiter_triton_mla.py", + "sha256": "ed0e285cdae06a019150c41cc958b3c0b5ceb0e4f299d5318d1c90e2c2395390" + }, + "vllm/v1/attention/backends/mla/amx_mla.py": { + "path": "/vllm/v1/attention/backends/mla/amx_mla.py", + "sha256": "7f5cddec30b2dfe22ccdbd3b9da673c879719bf6da4074317bd60add55f5d15f" + }, + "vllm/v1/attention/backends/mla/compressor_utils.py": { + "path": "/vllm/v1/attention/backends/mla/compressor_utils.py", + "sha256": "3589e94105368ea285c40b82db1a0332682ff5d071fe363627cf4c0d10f3facf" + }, + "vllm/v1/attention/backends/mla/cpu_mla.py": { + "path": "/vllm/v1/attention/backends/mla/cpu_mla.py", + "sha256": "ff2110b9f78e92adf6bab294465cbc294ae1ff71cb1780fed158179e134a4ca6" + }, + "vllm/v1/attention/backends/mla/cutlass_mla.py": { + "path": "/vllm/v1/attention/backends/mla/cutlass_mla.py", + "sha256": "211d298680f9bd793cc468281b316d6633c5f4eb6dcec71d3329b034a23ab9b5" + }, + "vllm/v1/attention/backends/mla/flashattn_mla.py": { + "path": "/vllm/v1/attention/backends/mla/flashattn_mla.py", + "sha256": "ac89e0ad75a37e92566d264bafe324735a80f9ab4709241a4454d17b3d38bb63" + }, + "vllm/v1/attention/backends/mla/flashattn_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashattn_mla_sparse.py", + "sha256": "67dd3ead2e8b9d8cda0825ecc93779cb7d670628bc741c759a7d3cd5d474030f" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla.py", + "sha256": "0c24ff016fb6b0bb41d9e7484b6f1af42f37bcc384ed613473fc3e01ad25f664" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse.py", + "sha256": "2116d965b2067134d8afa5878d4d16c0149b061258f50c4106d993aa13b073cc" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm120.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm120.py", + "sha256": "102ca08793d567f95598eefeb34c3f6ec50b3b9d704f162d1402b97b12b5777b" + }, + "vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm90.py": { + "path": "/vllm/v1/attention/backends/mla/flashinfer_mla_sparse_sm90.py", + "sha256": "df9fe4970aa3f53cf24784b8534b89e0101a2ca20a35a2ebbc9a12a4463d5993" + }, + "vllm/v1/attention/backends/mla/flashmla.py": { + "path": "/vllm/v1/attention/backends/mla/flashmla.py", + "sha256": "c9d8046a853ecbdeff9ebfc738f5bb34c4f272b278231a09a0fbf73708c7c188" + }, + "vllm/v1/attention/backends/mla/flashmla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/flashmla_sparse.py", + "sha256": "7a379c717adb9667ce94cbc16c0e3a1fb22a169713db6d7941c141fa84077b3f" + }, + "vllm/v1/attention/backends/mla/index_group.py": { + "path": "/vllm/v1/attention/backends/mla/index_group.py", + "sha256": "c24e028c3c160a9bb92e043da5b5b34c805e84745b7c4b8da6fb8702a0ddd641" + }, + "vllm/v1/attention/backends/mla/indexer.py": { + "path": "/vllm/v1/attention/backends/mla/indexer.py", + "sha256": "2acbc1c4fa57c3424ad95e6ecbe76eb7141747773c3e867ce704f4adccba892a" + }, + "vllm/v1/attention/backends/mla/prefill/__init__.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/__init__.py", + "sha256": "903630eb705dd175bf4ae4558a4bcaa07c110056b6a11eb830fdd2fb21b3c48a" + }, + "vllm/v1/attention/backends/mla/prefill/aiter_flash_attn.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/aiter_flash_attn.py", + "sha256": "571b8a9910c4ea3fefda60659026f3bf0d7b542c34553c8c9a4d43bb82077e61" + }, + "vllm/v1/attention/backends/mla/prefill/base.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/base.py", + "sha256": "138bf3ddaf5a94c3cdbc4e08ac676edcae84b32fc76625e546f3b47f7d8b82ec" + }, + "vllm/v1/attention/backends/mla/prefill/cpu_sdpa.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/cpu_sdpa.py", + "sha256": "1bb686395274a8ec0d9fd7327410a527655fe060cbbc263eab138fea988d96de" + }, + "vllm/v1/attention/backends/mla/prefill/flash_attn.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/flash_attn.py", + "sha256": "5e648c82c82e5f81fe11458eb82b9f90b50fc06df2ade3bf111ee6b7a2ee8481" + }, + "vllm/v1/attention/backends/mla/prefill/flashinfer.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/flashinfer.py", + "sha256": "63861219c35b8abc0ebe01e1f51543c5ed40bd46119ca261d927da7c6826b49b" + }, + "vllm/v1/attention/backends/mla/prefill/registry.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/registry.py", + "sha256": "c8c30b92213d594beaa3cab4d5003da26a85870dbb11d1ab73191962d0645b53" + }, + "vllm/v1/attention/backends/mla/prefill/selector.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/selector.py", + "sha256": "101d9fca7924b0c5d7891a17fe8942611bd6759e32b03a571dc87b14c1430f2f" + }, + "vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py", + "sha256": "047cf07bfcc83db3b11a6a54ffe189f6146e6ec9ad33ce2fa7d18860bf4210f0" + }, + "vllm/v1/attention/backends/mla/prefill/trtllm_ragged.py": { + "path": "/vllm/v1/attention/backends/mla/prefill/trtllm_ragged.py", + "sha256": "9e13ea6f6a25accedd918c0de64bbb812ccb20ffb95350ab018a6e76d493789b" + }, + "vllm/v1/attention/backends/mla/rocm_aiter_mla.py": { + "path": "/vllm/v1/attention/backends/mla/rocm_aiter_mla.py", + "sha256": "b489f5830c655bfb6299801a70d69b9821513c69568ecab3689db5a7be867be5" + }, + "vllm/v1/attention/backends/mla/rocm_aiter_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/rocm_aiter_mla_sparse.py", + "sha256": "91b1d9b3d860a9720bc01b8ebe9bbe8649a7d6bca20d4b63939bc100309bca19" + }, + "vllm/v1/attention/backends/mla/sparse_swa.py": { + "path": "/vllm/v1/attention/backends/mla/sparse_swa.py", + "sha256": "a47853ad8a3fe40f24704592581ea323a18041b84610df010a5534da634e311e" + }, + "vllm/v1/attention/backends/mla/sparse_utils.py": { + "path": "/vllm/v1/attention/backends/mla/sparse_utils.py", + "sha256": "c3cdf060288c05542243a9fe8b5ad3a963ad75e9ce399009b5e45c1235a88ce4" + }, + "vllm/v1/attention/backends/mla/tokenspeed_mla.py": { + "path": "/vllm/v1/attention/backends/mla/tokenspeed_mla.py", + "sha256": "b9ba523c606430cecb99a88b28c53d98a99dcf5e76105a80664338110a20f1ad" + }, + "vllm/v1/attention/backends/mla/triton_mla.py": { + "path": "/vllm/v1/attention/backends/mla/triton_mla.py", + "sha256": "21b16b3b34470edcc33d0423e560837c1d37d4bab31c7b3b9cfd7faa47864b51" + }, + "vllm/v1/attention/backends/mla/xpu_mla_sparse.py": { + "path": "/vllm/v1/attention/backends/mla/xpu_mla_sparse.py", + "sha256": "559c6240fe466521a6b2df4c94aea02ddf3f5efa5ba6954fa180c5a51c0f12d2" + }, + "vllm/v1/attention/backends/recoverssm_metadata.py": { + "path": "/vllm/v1/attention/backends/recoverssm_metadata.py", + "sha256": "02896a667db0f0308371ceb50048b18e5866c0235d163c0357e9a05dcedb3394" + }, + "vllm/v1/attention/backends/registry.py": { + "path": "/vllm/v1/attention/backends/registry.py", + "sha256": "378e8ee78734bd8c8adbe287d4c0a4058dcbb553195a09fbcce00a3cc30adc29" + }, + "vllm/v1/attention/backends/rocm_aiter_fa.py": { + "path": "/vllm/v1/attention/backends/rocm_aiter_fa.py", + "sha256": "d1418af03bf58209c850f466b712d3ea22a14ebb758c42dd43e65738281841fd" + }, + "vllm/v1/attention/backends/rocm_aiter_unified_attn.py": { + "path": "/vllm/v1/attention/backends/rocm_aiter_unified_attn.py", + "sha256": "59d2645eb4c91dc0567754a7163d066f4f2faf48f1957b254fcdd5604e9d8c8c" + }, + "vllm/v1/attention/backends/rocm_attn.py": { + "path": "/vllm/v1/attention/backends/rocm_attn.py", + "sha256": "4a8f57067073fbceb784af6c3467487c450d00fa3957928fadb99a79f6036292" + }, + "vllm/v1/attention/backends/short_conv_attn.py": { + "path": "/vllm/v1/attention/backends/short_conv_attn.py", + "sha256": "84fc460ef2fbd09743b069bec0c14b39542af6c2254a403e37a048427e151121" + }, + "vllm/v1/attention/backends/triton_attn.py": { + "path": "/vllm/v1/attention/backends/triton_attn.py", + "sha256": "1057663d110e1d5229495a799027b27277c1eca325d5b6780fa2259afbf58a1a" + }, + "vllm/v1/attention/backends/triton_attn_diffkv.py": { + "path": "/vllm/v1/attention/backends/triton_attn_diffkv.py", + "sha256": "de0357eae005246642140f1ab8842ba5ed8bff5c84b18a6d3a7bbf409c578301" + }, + "vllm/v1/attention/backends/triton_flash_attn.py": { + "path": "/vllm/v1/attention/backends/triton_flash_attn.py", + "sha256": "176e45329aeb28a2008362bb607d1b8c89816eb665859ab908b0385a11acf1c2" + }, + "vllm/v1/attention/backends/triton_flashinfer.py": { + "path": "/vllm/v1/attention/backends/triton_flashinfer.py", + "sha256": "48d5f967e388d4e8d6bbec8d827b44d855346bc2fada28adf65768bf6623527b" + }, + "vllm/v1/attention/backends/turboquant_attn.py": { + "path": "/vllm/v1/attention/backends/turboquant_attn.py", + "sha256": "616d16d608d9d1fbf6c29548037e7e9cf330f4d36a01aa3ffabf42a731eb6e2b" + }, + "vllm/v1/attention/backends/utils.py": { + "path": "/vllm/v1/attention/backends/utils.py", + "sha256": "fbc221360d2d54cb21ef3f625dc8711500de345a355801548b4337bb9b8abee0" + }, + "vllm/v1/attention/ops/__init__.py": { + "path": "/vllm/v1/attention/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/attention/ops/chunked_prefill_paged_decode.py": { + "path": "/vllm/v1/attention/ops/chunked_prefill_paged_decode.py", + "sha256": "973db848a790b2e8d99e728b2fc4f44b501bbe58c62747244ddff04cfcf11a85" + }, + "vllm/v1/attention/ops/common.py": { + "path": "/vllm/v1/attention/ops/common.py", + "sha256": "b4b67e7fc0cce471e337d742c097fba06da7563816e8799e27719714e31e1d5b" + }, + "vllm/v1/attention/ops/cp_common.py": { + "path": "/vllm/v1/attention/ops/cp_common.py", + "sha256": "2369181862e96db64b14ef20c5c2e249ed2ea5f3dea2467a2aa388372bb86d9d" + }, + "vllm/v1/attention/ops/dcp.py": { + "path": "/vllm/v1/attention/ops/dcp.py", + "sha256": "a478bdc781460f0582cfaf74d6431f1a826c201f02f39d882d12a96139bc3f28" + }, + "vllm/v1/attention/ops/flashmla.py": { + "path": "/vllm/v1/attention/ops/flashmla.py", + "sha256": "8a40d6e120e3ab25a95fcfeb32b0b5b4c1ea02b984633866628536dcd26ed2e8" + }, + "vllm/v1/attention/ops/flydsl_kernels/__init__.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/attention/ops/flydsl_kernels/tq_decode.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/tq_decode.py", + "sha256": "cc4b7f82897596e0974b3d3a710a1a8bc58c3d22b72cc7f461dd1c4acd2e451b" + }, + "vllm/v1/attention/ops/flydsl_kernels/tq_decode_gqa6.py": { + "path": "/vllm/v1/attention/ops/flydsl_kernels/tq_decode_gqa6.py", + "sha256": "a983f6d375c325900955e11696dab1e2665770e83f84d51f93d3ed5e1d8880e0" + }, + "vllm/v1/attention/ops/flydsl_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/flydsl_turboquant_decode.py", + "sha256": "7b1dd0ef7c7fb28a6a8831759e00b939ab844d067657155cc11cf75532a22c63" + }, + "vllm/v1/attention/ops/int4_per_token_head.py": { + "path": "/vllm/v1/attention/ops/int4_per_token_head.py", + "sha256": "d91968f280cd8eaed7570ab255f0276b40e833e18a25066d371d9ca8149425f2" + }, + "vllm/v1/attention/ops/merge_attn_states.py": { + "path": "/vllm/v1/attention/ops/merge_attn_states.py", + "sha256": "ad08403d2843fc892f0b0b4b9f5fabb81884556f89f7170dca46ccef498a3539" + }, + "vllm/v1/attention/ops/metadata.py": { + "path": "/vllm/v1/attention/ops/metadata.py", + "sha256": "ca882b84c5aaefb1f77e4d8ea09a00103fbc53defa8671bba036c961c17fc760" + }, + "vllm/v1/attention/ops/paged_attn.py": { + "path": "/vllm/v1/attention/ops/paged_attn.py", + "sha256": "016a95f892ec751c86b37be1e12171bad9f0b4076bbf2219ff336f4e9c503653" + }, + "vllm/v1/attention/ops/pcp.py": { + "path": "/vllm/v1/attention/ops/pcp.py", + "sha256": "dadeff95fe2df2be8028baabeef01b0d2d628cd67de2176915e737ce096de3dd" + }, + "vllm/v1/attention/ops/prefix_prefill.py": { + "path": "/vllm/v1/attention/ops/prefix_prefill.py", + "sha256": "b08ad92db715fc03c11699de3de463d55e411f42f77548e06b41049a61de692f" + }, + "vllm/v1/attention/ops/rocm_aiter_mla_merge.py": { + "path": "/vllm/v1/attention/ops/rocm_aiter_mla_merge.py", + "sha256": "564c66e4877732e48a6f7d52405c43dc952eec0f0ae4353d34886bca056132b9" + }, + "vllm/v1/attention/ops/rocm_aiter_mla_sparse.py": { + "path": "/vllm/v1/attention/ops/rocm_aiter_mla_sparse.py", + "sha256": "feec664be5045fd1ba13b8f6ef83b52c96910ddc78baca0431bcf610c9e8f5cc" + }, + "vllm/v1/attention/ops/triton_attention_helpers.py": { + "path": "/vllm/v1/attention/ops/triton_attention_helpers.py", + "sha256": "35aa993d01345f535d2641cf9dcabb8b64c51b20a19707bc5987e616aaa87ddd" + }, + "vllm/v1/attention/ops/triton_decode_attention.py": { + "path": "/vllm/v1/attention/ops/triton_decode_attention.py", + "sha256": "b9823c65eba22d76abf64dad7d7d16a950f67471c86d6cb5b3e983aaf14381ac" + }, + "vllm/v1/attention/ops/triton_merge_attn_states.py": { + "path": "/vllm/v1/attention/ops/triton_merge_attn_states.py", + "sha256": "f63229162181ab93198550b73a115f1cc1034cfd60e6f58bc8ab3e22a6e8ce60" + }, + "vllm/v1/attention/ops/triton_prefill_attention.py": { + "path": "/vllm/v1/attention/ops/triton_prefill_attention.py", + "sha256": "352c1a4ac86146580040579fb217c2e288268830d6602b735713e154f36d74fe" + }, + "vllm/v1/attention/ops/triton_reshape_and_cache_flash.py": { + "path": "/vllm/v1/attention/ops/triton_reshape_and_cache_flash.py", + "sha256": "6cac51475b8c656992a21b2d150acd3a16a95a7ab7d49aab151a3ef13c24b80d" + }, + "vllm/v1/attention/ops/triton_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/triton_turboquant_decode.py", + "sha256": "8e52678136449e4bbca2195fbcbb87426c955a2b1b8422e7ab9511e45ee5f5c6" + }, + "vllm/v1/attention/ops/triton_turboquant_store.py": { + "path": "/vllm/v1/attention/ops/triton_turboquant_store.py", + "sha256": "6e6e2fe74a307d40f0be786ccbaea76d989e3c7b5985f3144a5218c61bf6d902" + }, + "vllm/v1/attention/ops/triton_unified_attention.py": { + "path": "/vllm/v1/attention/ops/triton_unified_attention.py", + "sha256": "65d0fbcf33d00789df8ca688c0a1c908e710cfaef53471178747ecae11f05829" + }, + "vllm/v1/attention/ops/triton_unified_attention_diffkv.py": { + "path": "/vllm/v1/attention/ops/triton_unified_attention_diffkv.py", + "sha256": "7fa36d7b7441f1c396e0348eac61d691d2e459e5c4c393c4aa262dfb670e68f7" + }, + "vllm/v1/attention/ops/turboquant_soa/__init__.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/__init__.py", + "sha256": "6b43b6fcb2a71c44ceff4ed1edd417a839f4901251ba15831b09ad979baa4984" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode.py", + "sha256": "bf00634191bba14cbf4a23c1d67dc3dcb244c2b8989f08362757b54435830986" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode_v2.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_decode_v2.py", + "sha256": "28e7ecc15c450d3591983a50c46a03aa6ca6fa99304c17c333940617d9916485" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_store.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_store.py", + "sha256": "dccf93b9fdd34f9b9eacd468e9de35b9d93378594487c335cf50642aaec681f2" + }, + "vllm/v1/attention/ops/turboquant_soa/triton_turboquant_unified_attention.py": { + "path": "/vllm/v1/attention/ops/turboquant_soa/triton_turboquant_unified_attention.py", + "sha256": "b4b2b5f3985b3a6126fd052e6ec1ed91c610da8a525a9ae7470ac829405bd85c" + }, + "vllm/v1/attention/ops/vit_attn_wrappers.py": { + "path": "/vllm/v1/attention/ops/vit_attn_wrappers.py", + "sha256": "a99d57b58269c7521fa5d7d47af06551f3bab2b5c7358ef78165a7f6e20a92a6" + }, + "vllm/v1/attention/ops/xpu_mla_sparse.py": { + "path": "/vllm/v1/attention/ops/xpu_mla_sparse.py", + "sha256": "d98d17110577c2b7b4d05e07bfdae15faf83321b6342a5daaaecce45b9503f38" + }, + "vllm/v1/attention/selector.py": { + "path": "/vllm/v1/attention/selector.py", + "sha256": "87f653ded7974875183c920e3e4589c28116bcbc99714d1da7cb51ae77c0b182" + }, + "vllm/v1/core/sched/__init__.py": { + "path": "/vllm/v1/core/sched/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/core/sched/async_scheduler.py": { + "path": "/vllm/v1/core/sched/async_scheduler.py", + "sha256": "e586a0ef3c6778be56a93e7f9bb712d4de9de6e7d7fe7e3e1d51dae83ecfc508" + }, + "vllm/v1/core/sched/interface.py": { + "path": "/vllm/v1/core/sched/interface.py", + "sha256": "be6c008664096c5660a8879de72b315bbe479bf1d688be9b25891063ec53a367" + }, + "vllm/v1/core/sched/output.py": { + "path": "/vllm/v1/core/sched/output.py", + "sha256": "3a66c8efaefe10c572f6f33cf1f8aa4610758c945130cad62eb9f7331005677c" + }, + "vllm/v1/core/sched/request_queue.py": { + "path": "/vllm/v1/core/sched/request_queue.py", + "sha256": "4b8d938e5fb8152fe61030b8aa991f983fcac9a405c37ed8908045e05e82ae5e" + }, + "vllm/v1/core/sched/scheduler.py": { + "path": "/vllm/v1/core/sched/scheduler.py", + "sha256": "c1db45f3bbad3a875dd8638331b8870c4380ac1ab4734265ba5c863833a82884" + }, + "vllm/v1/core/sched/utils.py": { + "path": "/vllm/v1/core/sched/utils.py", + "sha256": "1ed988044eb8028c77ede875bd1a5fd05ff6998b455d61e3997d6a3d7fc1c3a7" + }, + "vllm/v1/sample/__init__.py": { + "path": "/vllm/v1/sample/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/sample/logits_processor/__init__.py": { + "path": "/vllm/v1/sample/logits_processor/__init__.py", + "sha256": "1f9b02dae8cf6d44484638037123d3a2dec6b7b9a2bcc9afceef1a9bf3eaedec" + }, + "vllm/v1/sample/logits_processor/builtin.py": { + "path": "/vllm/v1/sample/logits_processor/builtin.py", + "sha256": "6105816ece77e5b1dbee0d07abc90ce039d650bac2ddb85c93280c48b00f2ebe" + }, + "vllm/v1/sample/logits_processor/interface.py": { + "path": "/vllm/v1/sample/logits_processor/interface.py", + "sha256": "171dfc6ef9b5b53128e8eaecc4bdf1de413a706d64bf5be686048f583c66eee1" + }, + "vllm/v1/sample/logits_processor/state.py": { + "path": "/vllm/v1/sample/logits_processor/state.py", + "sha256": "a96411f14362c45f839e181dcb3ac01d5b880812bccb3552fc17863b219f44ac" + }, + "vllm/v1/sample/metadata.py": { + "path": "/vllm/v1/sample/metadata.py", + "sha256": "6582cfe1a240c7ddb975f0ef6dd7dcd28dcf0fc7670394390250013977aa7ffd" + }, + "vllm/v1/sample/ops/__init__.py": { + "path": "/vllm/v1/sample/ops/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/sample/ops/bad_words.py": { + "path": "/vllm/v1/sample/ops/bad_words.py", + "sha256": "0b1d0a9b13b92ddcae2c83393c07a34c0f107813725700dee794caa7fe7f3b12" + }, + "vllm/v1/sample/ops/logprobs.py": { + "path": "/vllm/v1/sample/ops/logprobs.py", + "sha256": "b286f69012a6758bfe9250038b0697294dbffe0d32c6906f284c39f75ee48be3" + }, + "vllm/v1/sample/ops/penalties.py": { + "path": "/vllm/v1/sample/ops/penalties.py", + "sha256": "4debfcf247b3887478d2b9ec98f108756bbed2805462777ef6b56f3bdf4ce682" + }, + "vllm/v1/sample/ops/topk_topp_sampler.py": { + "path": "/vllm/v1/sample/ops/topk_topp_sampler.py", + "sha256": "13ea4359832bc914492330958ec4f5ac140f408b8f410cc05c6eaf7ddcd70be4" + }, + "vllm/v1/sample/ops/topk_topp_triton.py": { + "path": "/vllm/v1/sample/ops/topk_topp_triton.py", + "sha256": "0b5fc337058e22bc28a8530ccec904d6ccd89b9548b02955c657ac429b1669d2" + }, + "vllm/v1/sample/rejection_sampler.py": { + "path": "/vllm/v1/sample/rejection_sampler.py", + "sha256": "0bb9d224887ccb1355e16199005cc23a4afc6fa75156eca419851b7247d99750" + }, + "vllm/v1/sample/sampler.py": { + "path": "/vllm/v1/sample/sampler.py", + "sha256": "f95805b2c6d06218c724826aa5f881a606e8d0a534a566aee7c85948520dd216" + }, + "vllm/v1/sample/thinking_budget_state.py": { + "path": "/vllm/v1/sample/thinking_budget_state.py", + "sha256": "962f8f55210eb0a431cb9c78b013e35f7a7dd58d06d6fb2e7fcff1b457356f8e" + }, + "vllm/v1/worker/__init__.py": { + "path": "/vllm/v1/worker/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/block_table.py": { + "path": "/vllm/v1/worker/block_table.py", + "sha256": "a09b8819e1417b7a186cf3472224e2138fc5d41a291c6692bb7df711b0c44259" + }, + "vllm/v1/worker/cp_utils.py": { + "path": "/vllm/v1/worker/cp_utils.py", + "sha256": "e32625d83a641b8dd8df82e92d1b6fb20af0cdf2e8fbd2fb131aa3c215415448" + }, + "vllm/v1/worker/cpu/__init__.py": { + "path": "/vllm/v1/worker/cpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/cpu/buffer_utils.py": { + "path": "/vllm/v1/worker/cpu/buffer_utils.py", + "sha256": "e7313fd8c2c76ebfb98d2fa53008bc9691d0f83a7d7c05e87602b5a29fb79e04" + }, + "vllm/v1/worker/cpu/model_runner.py": { + "path": "/vllm/v1/worker/cpu/model_runner.py", + "sha256": "24a1c916550051327dd5893243a6d4200f3824b91b3af8aa6f6c793fd7c68c3e" + }, + "vllm/v1/worker/cpu/shm.py": { + "path": "/vllm/v1/worker/cpu/shm.py", + "sha256": "08491af8ad341399d1375f2d21ad00414d4c89b0a5c03f55de8704914bbfcbd9" + }, + "vllm/v1/worker/cpu_model_runner.py": { + "path": "/vllm/v1/worker/cpu_model_runner.py", + "sha256": "92111aba92f00571f1a3c4c6e43cf1da6ccb4d2afac2f4d5abc018a4a6e7e8bd" + }, + "vllm/v1/worker/cpu_worker.py": { + "path": "/vllm/v1/worker/cpu_worker.py", + "sha256": "a8051b9e510ef0af9cc34004f2cbe5c0f902bd0cebc32c9464e744344dfdf849" + }, + "vllm/v1/worker/dp_utils.py": { + "path": "/vllm/v1/worker/dp_utils.py", + "sha256": "8cd19f1bfbc5c4f6ec60df89aea7c8a19b400ebc264f372b103014152e92158c" + }, + "vllm/v1/worker/ec_connector_model_runner_mixin.py": { + "path": "/vllm/v1/worker/ec_connector_model_runner_mixin.py", + "sha256": "fe9b11cebb8562f1bfe98b98a5647b2b081a6e424cb60d4ffe2412c91a99215e" + }, + "vllm/v1/worker/encoder_cudagraph.py": { + "path": "/vllm/v1/worker/encoder_cudagraph.py", + "sha256": "6a08d3779bca1b47dbf9daf6eafe2d3c70dbcb8aeb7d63ba7efacc68241ee3bc" + }, + "vllm/v1/worker/encoder_cudagraph_defs.py": { + "path": "/vllm/v1/worker/encoder_cudagraph_defs.py", + "sha256": "bb7be050fcaa8868e7816c84caec875da57050d65fe7eaf00f3d41473df25e3a" + }, + "vllm/v1/worker/gpu/__init__.py": { + "path": "/vllm/v1/worker/gpu/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/async_utils.py": { + "path": "/vllm/v1/worker/gpu/async_utils.py", + "sha256": "77e17a4570ead2be30ae9b00888cf077a3b873018c12ca0549b853bfda02c1ba" + }, + "vllm/v1/worker/gpu/attn_utils.py": { + "path": "/vllm/v1/worker/gpu/attn_utils.py", + "sha256": "b9b81e59dda2720b1f9c434471381f879228832443e52756e469b4ad4905888f" + }, + "vllm/v1/worker/gpu/block_table.py": { + "path": "/vllm/v1/worker/gpu/block_table.py", + "sha256": "61c004315d5af7e7eae4e2a9e6be92ea82c520327690a7f55a73bb9ce95f520a" + }, + "vllm/v1/worker/gpu/buffer_utils.py": { + "path": "/vllm/v1/worker/gpu/buffer_utils.py", + "sha256": "6597f701a30261bf250e9ad5a29737264624a1caa20527aeea0dad630325b093" + }, + "vllm/v1/worker/gpu/cp_utils.py": { + "path": "/vllm/v1/worker/gpu/cp_utils.py", + "sha256": "456c1bb7e262d99ff555522a4f134e5a9b42aee23290be25455eaef36ee8eaaf" + }, + "vllm/v1/worker/gpu/cudagraph_utils.py": { + "path": "/vllm/v1/worker/gpu/cudagraph_utils.py", + "sha256": "6e9c042890603535e300a40df8ee159dbed1058a64a83ae50ff0329e332e05ff" + }, + "vllm/v1/worker/gpu/dp_utils.py": { + "path": "/vllm/v1/worker/gpu/dp_utils.py", + "sha256": "e26867bc89e6bfc933cabc5ed13e5dc7b8d2d3030118ca1ca64c8785dabc0fc1" + }, + "vllm/v1/worker/gpu/ec_connector.py": { + "path": "/vllm/v1/worker/gpu/ec_connector.py", + "sha256": "2afe6e641f4ae3eb3b8da336c74eaa7479bf617b27cfb39a1fcbe487686f0a08" + }, + "vllm/v1/worker/gpu/eplb_utils.py": { + "path": "/vllm/v1/worker/gpu/eplb_utils.py", + "sha256": "1829fac11464aed4649179b302df198de51b95d0589f4e56bea305a876a63e26" + }, + "vllm/v1/worker/gpu/input_batch.py": { + "path": "/vllm/v1/worker/gpu/input_batch.py", + "sha256": "d5dd956eb319bd69dd9e762047833d81ad40b21fce619fcb2133759e73620694" + }, + "vllm/v1/worker/gpu/kv_connector.py": { + "path": "/vllm/v1/worker/gpu/kv_connector.py", + "sha256": "b89a4333f1e552d86e1815674b59e9f1335f0f49c0a7b46082439076f62c6a81" + }, + "vllm/v1/worker/gpu/lora_utils.py": { + "path": "/vllm/v1/worker/gpu/lora_utils.py", + "sha256": "1e90eddd9ddb4ca55e574bb28e87ae3a6f6750175a62d373102426543f4ccd66" + }, + "vllm/v1/worker/gpu/metrics/__init__.py": { + "path": "/vllm/v1/worker/gpu/metrics/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/metrics/logits.py": { + "path": "/vllm/v1/worker/gpu/metrics/logits.py", + "sha256": "ea058d7510a077a55f8ac7e4c3d596508346244e908cb372865d7159f62edc89" + }, + "vllm/v1/worker/gpu/mm/__init__.py": { + "path": "/vllm/v1/worker/gpu/mm/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/mm/encoder_cache.py": { + "path": "/vllm/v1/worker/gpu/mm/encoder_cache.py", + "sha256": "89c500338fddbeee7c4fca978a3a7c4c566a03e848e399d303fbee3c80631cd2" + }, + "vllm/v1/worker/gpu/mm/encoder_runner.py": { + "path": "/vllm/v1/worker/gpu/mm/encoder_runner.py", + "sha256": "0981e352d70301b7154a217a48665ffe35f215d053ec5740c2515a3e1e11b4e6" + }, + "vllm/v1/worker/gpu/mm/lora.py": { + "path": "/vllm/v1/worker/gpu/mm/lora.py", + "sha256": "a3eddfad6ad64de276964240c28dc080888df4a56dd5eac18f89428f2cbb7a01" + }, + "vllm/v1/worker/gpu/mm/rope.py": { + "path": "/vllm/v1/worker/gpu/mm/rope.py", + "sha256": "0924375bcb367267e783b57dd2ad9de1189d97025ce4313baaa54f2911eaaf1e" + }, + "vllm/v1/worker/gpu/model_runner.py": { + "path": "/vllm/v1/worker/gpu/model_runner.py", + "sha256": "174c93db921c23cf0396eee4764be25b2bd2d4b6a06e9fa41ce3598b884ce8ce" + }, + "vllm/v1/worker/gpu/model_states/__init__.py": { + "path": "/vllm/v1/worker/gpu/model_states/__init__.py", + "sha256": "07815d0b788fc88185772f581bbf892a675259f9288375571f29887622f8d93c" + }, + "vllm/v1/worker/gpu/model_states/default.py": { + "path": "/vllm/v1/worker/gpu/model_states/default.py", + "sha256": "bb614f814780f052e869f9acf31dfbfa68718ee7dc6252eefa901b5730ee8a2a" + }, + "vllm/v1/worker/gpu/model_states/encoder_decoder.py": { + "path": "/vllm/v1/worker/gpu/model_states/encoder_decoder.py", + "sha256": "a5868059d8af672548b41d0e623e884320e6ed61e6aaca2d2828ff5be0356f2f" + }, + "vllm/v1/worker/gpu/model_states/encoder_only.py": { + "path": "/vllm/v1/worker/gpu/model_states/encoder_only.py", + "sha256": "84e96b55a2639e2a73fa4a0308acc89c8d053dc715481180b237e0196dcef99f" + }, + "vllm/v1/worker/gpu/model_states/interface.py": { + "path": "/vllm/v1/worker/gpu/model_states/interface.py", + "sha256": "5675b6fedc7403a9ab410b1e5565974e78fac23c42ab4253ae1da52d6e09b594" + }, + "vllm/v1/worker/gpu/model_states/mamba_hybrid.py": { + "path": "/vllm/v1/worker/gpu/model_states/mamba_hybrid.py", + "sha256": "573e130ac5587d4822fabf97adad1ad0fda02ff83c5e70df879a5bb175ae845c" + }, + "vllm/v1/worker/gpu/model_states/mm_pruning.py": { + "path": "/vllm/v1/worker/gpu/model_states/mm_pruning.py", + "sha256": "b150940b12ae76048f050a8eeb54d532bbdc530a18ffbf320ddeeb0cfaa90f93" + }, + "vllm/v1/worker/gpu/model_states/prompt_embeds.py": { + "path": "/vllm/v1/worker/gpu/model_states/prompt_embeds.py", + "sha256": "11f9e270925c2df6a505557605ac2b859bb145cf3420b0111e7482a1c544f9b1" + }, + "vllm/v1/worker/gpu/model_states/recoverssm.py": { + "path": "/vllm/v1/worker/gpu/model_states/recoverssm.py", + "sha256": "b4b660e62eaf33f4fe8271f83ed1fb6de6bc08f800a8073b27803e42fb29a645" + }, + "vllm/v1/worker/gpu/pcp_manager.py": { + "path": "/vllm/v1/worker/gpu/pcp_manager.py", + "sha256": "2d80df0ed5b18a2069f9d0689cb59923ffe324ba200fcafe242da23da3a6ddaa" + }, + "vllm/v1/worker/gpu/pool/__init__.py": { + "path": "/vllm/v1/worker/gpu/pool/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/pool/pooling_runner.py": { + "path": "/vllm/v1/worker/gpu/pool/pooling_runner.py", + "sha256": "f8463f7648cce0f3f29418a4d9fee61634ead760957cf236d06d61cf8cd986e7" + }, + "vllm/v1/worker/gpu/pp_utils.py": { + "path": "/vllm/v1/worker/gpu/pp_utils.py", + "sha256": "dadeef0bebf61d0ad44a28d06372208ec4e6389224d6017f412683b026bdbb5c" + }, + "vllm/v1/worker/gpu/sample/__init__.py": { + "path": "/vllm/v1/worker/gpu/sample/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/sample/bad_words.py": { + "path": "/vllm/v1/worker/gpu/sample/bad_words.py", + "sha256": "8d3cbd5613398260314d94739d8ee0e1ac0c22abf2f960f541d3c0d4e39d360b" + }, + "vllm/v1/worker/gpu/sample/batch_shard.py": { + "path": "/vllm/v1/worker/gpu/sample/batch_shard.py", + "sha256": "c30274a3a04e6a03e89be9cd7c62de602b1aba4d412f64540ab6201036de3928" + }, + "vllm/v1/worker/gpu/sample/gumbel.py": { + "path": "/vllm/v1/worker/gpu/sample/gumbel.py", + "sha256": "3ec1df510bdad13e8b0a457b5b67c98affdf6e57369e56cb471246cc8f40dd34" + }, + "vllm/v1/worker/gpu/sample/logit_bias.py": { + "path": "/vllm/v1/worker/gpu/sample/logit_bias.py", + "sha256": "9e80a3fe6f3c7474723408cfff52183f4585fdeedd9c2312843ee98d0b12724c" + }, + "vllm/v1/worker/gpu/sample/logprob.py": { + "path": "/vllm/v1/worker/gpu/sample/logprob.py", + "sha256": "f47479a818192acb6b297c79fa67a3b2f9820e3492a394d5adda777e9b7c832e" + }, + "vllm/v1/worker/gpu/sample/min_p.py": { + "path": "/vllm/v1/worker/gpu/sample/min_p.py", + "sha256": "4cb5e2f45e1ced6f9685283a7a5c8cfd7204d9a249822e866cfff756c7f04f62" + }, + "vllm/v1/worker/gpu/sample/output.py": { + "path": "/vllm/v1/worker/gpu/sample/output.py", + "sha256": "d6e298c0f197d487a8faaf7200f500fa83df1d7a4bbf4339cadd6a18008f7f9c" + }, + "vllm/v1/worker/gpu/sample/penalties.py": { + "path": "/vllm/v1/worker/gpu/sample/penalties.py", + "sha256": "46c29434caf5f415129ef4a9bb2b8d4f62d2765596e3e07f73ad2b198c7def1b" + }, + "vllm/v1/worker/gpu/sample/prompt_logprob.py": { + "path": "/vllm/v1/worker/gpu/sample/prompt_logprob.py", + "sha256": "4cf22d390e7bf59e44c458cff7180268db63e95d06af2f1e14d720a2d77c9663" + }, + "vllm/v1/worker/gpu/sample/sampler.py": { + "path": "/vllm/v1/worker/gpu/sample/sampler.py", + "sha256": "832c9945d201a1e730ff9b4b52076aa83bd4a5064e1e4cfea952cf84d4a8d1f0" + }, + "vllm/v1/worker/gpu/sample/states.py": { + "path": "/vllm/v1/worker/gpu/sample/states.py", + "sha256": "4e3671f93695ba5a48fad7d2d13beb231ac8741034904ed5a15d9f7b9b86662e" + }, + "vllm/v1/worker/gpu/sample/thinking_budget.py": { + "path": "/vllm/v1/worker/gpu/sample/thinking_budget.py", + "sha256": "020513e1d3406f367de6ad995a95055008fd0c28f2873647e8283c9870e22404" + }, + "vllm/v1/worker/gpu/sample/trace_replay.py": { + "path": "/vllm/v1/worker/gpu/sample/trace_replay.py", + "sha256": "d2a7d3b3b55379efabe4740a4b7f14030126dc11be36f6ea974164ce42316a50" + }, + "vllm/v1/worker/gpu/sample/watermark.py": { + "path": "/vllm/v1/worker/gpu/sample/watermark.py", + "sha256": "a3581458169dab9153eb09fd67218e0ee5585406537a9de80ad528ae62b030c0" + }, + "vllm/v1/worker/gpu/shutdown.py": { + "path": "/vllm/v1/worker/gpu/shutdown.py", + "sha256": "bb470f14b17c7e52571ef8938b2a9527e7c2846852ae8a3a94b69cd1c30aa4b1" + }, + "vllm/v1/worker/gpu/spec_decode/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/__init__.py", + "sha256": "1f1f84bfe6f4f5af3a7e21a7a8716ecf7b9013da1d03327668a3ee36afc24c32" + }, + "vllm/v1/worker/gpu/spec_decode/acceptance_estimator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/acceptance_estimator.py", + "sha256": "505b843bdd75928b03793b395b47b8be914bd7fe2a3351c8ec04339baeebb1c2" + }, + "vllm/v1/worker/gpu/spec_decode/adaptive_verification.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/adaptive_verification.py", + "sha256": "276b2fec56758a94c71b717f6786b8a6f126db2e20cf964350202feee61a0a39" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/cudagraph_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/cudagraph_utils.py", + "sha256": "13392ef0a9ed59eb9c2b2bad43d7c61beb212a8805849e46b5130c230275d0a5" + }, + "vllm/v1/worker/gpu/spec_decode/autoregressive/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/autoregressive/speculator.py", + "sha256": "5b97f54e20ddf65b98e939832d050745f67ef43cfa145786da300f1a8322e3c6" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/cudagraph.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/cudagraph.py", + "sha256": "beab567ae2df6a2ba2cd92fe7ee452c6b959b8a7037a4b5f493993a1824619bb" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/speculator.py", + "sha256": "f9c100f42f9326e48eb84e89281897e859ba761943f54d593523555ccd98dc63" + }, + "vllm/v1/worker/gpu/spec_decode/dflash/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash/utils.py", + "sha256": "53d2c3ad474d290d2c6df027446bbd80ac7447684e5242ab2c3c5337d2abd383" + }, + "vllm/v1/worker/gpu/spec_decode/dflash2/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash2/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/dflash2/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dflash2/speculator.py", + "sha256": "b70043550938a1df9aecc85d8c8224c38c929ca34f68834572f6e723854d2027" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/speculator.py", + "sha256": "dcf4abdedbd2bddd0d76be198ccf5b4e467c46f645038c35fcab821491a35b03" + }, + "vllm/v1/worker/gpu/spec_decode/dspark/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/dspark/utils.py", + "sha256": "86af2bf30604a184312e8f076097b91ecfec704f409f9d68d634b03d6b318070" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/eagle3_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/eagle3_utils.py", + "sha256": "201ee875fcc3d076a8fc1f3876dcbf85736b221a368555243a8987ff26a1674e" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/speculator.py", + "sha256": "746e318a4f266d75522ff7f3731ea9b4527b7b4824f71364d1a62184ea1f7b3d" + }, + "vllm/v1/worker/gpu/spec_decode/eagle/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/eagle/utils.py", + "sha256": "94de6f55a1761f24f4aa1388cbc3b3763d4ab3ee53260330056ad31ce0b78236" + }, + "vllm/v1/worker/gpu/spec_decode/extract_hidden_states.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/extract_hidden_states.py", + "sha256": "93c4233be7b2d2290b33902ea9b3bb5274c11701830851d03967a22144536e2d" + }, + "vllm/v1/worker/gpu/spec_decode/gemma4/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/gemma4/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/gemma4/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/gemma4/speculator.py", + "sha256": "9991210d7babd2caf2cd10797ca8688543dedeafbc3b86bc7c979c1a6ae9f949" + }, + "vllm/v1/worker/gpu/spec_decode/mtp/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/mtp/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/mtp/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/mtp/speculator.py", + "sha256": "926d6c9ffdb368c971647911a60493820d056ce236fcae9d94a42fa2e006255d" + }, + "vllm/v1/worker/gpu/spec_decode/multi_module_mtp/__init__.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/multi_module_mtp/__init__.py", + "sha256": "e3c55cbb0d7a8bd47df6f3378835644645f5d3bc89b45793b5d5a02d013e5c58" + }, + "vllm/v1/worker/gpu/spec_decode/multi_module_mtp/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/multi_module_mtp/speculator.py", + "sha256": "d9d4735b9b33829332b0e845b6d3073b2f0436045ed693b25c6434f351644127" + }, + "vllm/v1/worker/gpu/spec_decode/rejection_sampler.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/rejection_sampler.py", + "sha256": "030db5bfca162cc1f305112f299de5d6d61c59d3ed0807fee46575441ca4086d" + }, + "vllm/v1/worker/gpu/spec_decode/rejection_sampler_utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/rejection_sampler_utils.py", + "sha256": "214b61fa0abe88573beb779872c035b3954e5651a85bd438d99ee5905d3a62ec" + }, + "vllm/v1/worker/gpu/spec_decode/speculator.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/speculator.py", + "sha256": "3a1ab15bf8b20918852eb835fe9755046e99dcbac6ba6ca3d414949fc8bc695a" + }, + "vllm/v1/worker/gpu/spec_decode/utils.py": { + "path": "/vllm/v1/worker/gpu/spec_decode/utils.py", + "sha256": "282f2929eddae9ca7312269f799be07472334b6df9fd91878b5e839ec05e418c" + }, + "vllm/v1/worker/gpu/states.py": { + "path": "/vllm/v1/worker/gpu/states.py", + "sha256": "99418f5df43ca612ded72609fee011620b065b2cab2f249ccb387096bf4ae71a" + }, + "vllm/v1/worker/gpu/structured_outputs.py": { + "path": "/vllm/v1/worker/gpu/structured_outputs.py", + "sha256": "18a10532db7e66b55e334acacd1fd989ad6361adf31dd0de9a9a65e23db25951" + }, + "vllm/v1/worker/gpu/ubatch_utils.py": { + "path": "/vllm/v1/worker/gpu/ubatch_utils.py", + "sha256": "5092e2e58af0561c8dc12e62847cfc6dda9ca20dfbd33e7f0cd77a83fe87f7c5" + }, + "vllm/v1/worker/gpu/warmup.py": { + "path": "/vllm/v1/worker/gpu/warmup.py", + "sha256": "423ac32d58fe008c228cfa223e4fcebfcf87e3463a9dbdf80a083c0578d73723" + }, + "vllm/v1/worker/gpu_input_batch.py": { + "path": "/vllm/v1/worker/gpu_input_batch.py", + "sha256": "18cf455c9d0eea61cc581c7932f2e6cd09786914e82dd35eef1c1430da359a0f" + }, + "vllm/v1/worker/gpu_model_runner.py": { + "path": "/vllm/v1/worker/gpu_model_runner.py", + "sha256": "87c29d08c0bbf66993d8b984811e7325e35e6436242a773feb55ec88f16b2c51" + }, + "vllm/v1/worker/gpu_ubatch_wrapper.py": { + "path": "/vllm/v1/worker/gpu_ubatch_wrapper.py", + "sha256": "4233cfbe8c9884b042c4363890108f616483b694ebe9a6e69578dcf89c6dac5c" + }, + "vllm/v1/worker/gpu_worker.py": { + "path": "/vllm/v1/worker/gpu_worker.py", + "sha256": "6994436e4547c0996ab555b3e814e8ccea26b650dfc1b378b97d640745309347" + }, + "vllm/v1/worker/kv_connector_model_runner_mixin.py": { + "path": "/vllm/v1/worker/kv_connector_model_runner_mixin.py", + "sha256": "e1cc76d065a7e60aacddb190ae795a480b65cd02ba71a1fc699a02a85c1a3de2" + }, + "vllm/v1/worker/lora_model_runner_mixin.py": { + "path": "/vllm/v1/worker/lora_model_runner_mixin.py", + "sha256": "fef6092a15d8d37f6fa22495e6106e2e5280180908d61ce43d9ff5bf4eef3f2f" + }, + "vllm/v1/worker/mamba_utils.py": { + "path": "/vllm/v1/worker/mamba_utils.py", + "sha256": "23fdaa4e8f63ee8f938eaa1a2b39f803cb04fa6ecd69789563254b1a0691413a" + }, + "vllm/v1/worker/mm_encoder_model_runner.py": { + "path": "/vllm/v1/worker/mm_encoder_model_runner.py", + "sha256": "780c41be84ad022205c21c1decb6bb8d5afb03bc7be120c1f7df03b710acc3d7" + }, + "vllm/v1/worker/sentinel/__init__.py": { + "path": "/vllm/v1/worker/sentinel/__init__.py", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "vllm/v1/worker/sentinel/gpu_worker_sentinel.py": { + "path": "/vllm/v1/worker/sentinel/gpu_worker_sentinel.py", + "sha256": "3959b8619d052c5dd247815074e03ec21ec9b43cc424ff2d296abc19b227b852" + }, + "vllm/v1/worker/startup_plan.py": { + "path": "/vllm/v1/worker/startup_plan.py", + "sha256": "84bcbb4f7a9fd7c8d10c9c895aadd9673d44c767b9132368d11eb5e017afe86b" + }, + "vllm/v1/worker/ubatch_utils.py": { + "path": "/vllm/v1/worker/ubatch_utils.py", + "sha256": "b34dce551b5195c414e6a3a997c75961cc7a17f24c7c980487fe3d3e2ba7a798" + }, + "vllm/v1/worker/ubatching.py": { + "path": "/vllm/v1/worker/ubatching.py", + "sha256": "40391241c564feb5f16c77898ae6ae152ed6e71a4682e2a406387785d8de02d7" + }, + "vllm/v1/worker/utils.py": { + "path": "/vllm/v1/worker/utils.py", + "sha256": "0ca3ec6bf4d20076145b7fe64e564962adebedc8f75a856b517ba0b2f2d77acf" + }, + "vllm/v1/worker/worker_base.py": { + "path": "/vllm/v1/worker/worker_base.py", + "sha256": "4a1a5266b912fe97991d8dc89d92b923990da9f6cb4b817d00d52e9c0d26dd7c" + }, + "vllm/v1/worker/workspace.py": { + "path": "/vllm/v1/worker/workspace.py", + "sha256": "d21c08167d1d0d1c0cddaa80453a53a0b4dec5d81b5a537c94a21324344976b3" + }, + "vllm/v1/worker/xpu_model_runner.py": { + "path": "/vllm/v1/worker/xpu_model_runner.py", + "sha256": "07fa0390d28f2b8c3c3c0019eb9c3b126e2397aea268ba47c889f06b423deb23" + }, + "vllm/v1/worker/xpu_worker.py": { + "path": "/vllm/v1/worker/xpu_worker.py", + "sha256": "711b56432506b58041cd86e71320c3960413f7bd61061990b66488421d81cfc3" + } + }, + "prefix": "", + "pth": { + "/__editable__.megatron_core-0.16.0rc0.pth": "d55c9b64480b34aae3d4d31e7706b93391c969dec6e0498e50963b03445a57b0", + "/__editable__.rl_kernel-0.1.0.pth": "1454c4987b35762a0d189d4e901c5d077fde62a1944fbaabecea230e57f3923a", + "/__editable__.vime-0.3.2.pth": "77eec5d06d628cb952e65edd813ca88d8db67ccc785083e1b7b29011b92bec4f", + "/distutils-precedence.pth": "2638ce9e2500e572a5e0de7faed6661eb569d1b696fcba07b0dd223da5f5d224", + "/qwen3_next_cuda_runtime.pth": "e0d3ab57dd3ff4f5d55fcf76e83c549cc00b3c813e6f717c540d5ded79fa2f49", + "/qwen3_next_megatron_source.pth": "8556ac057538e82856cb76cbbc954f58312a3f45373daec3eec826031cfd2709", + "/__editable__.rl_kernel-0.1.0.pth": "1454c4987b35762a0d189d4e901c5d077fde62a1944fbaabecea230e57f3923a", + "/distutils-precedence.pth": "2638ce9e2500e572a5e0de7faed6661eb569d1b696fcba07b0dd223da5f5d224", + "/nvidia_cutlass_dsl_packages.pth": "cc710b99ddb3d76361a70461461d274212a979d00c381d821fce5bb3ad9cf246" + }, + "pyvenv_cfg_sha256": "48579f2c6d35c3d535c2690d7d426587c4b8e92021463f0266b38d35dfbbb834", + "sources": { + "/Megatron-LM-training": { + "patch_sha256": "f66035f12501aa1d08e8884e0dea5a22d59825d717aeda73c3e83876e3efd79f", + "path": "/Megatron-LM-training", + "tree": "731fc44a368d6cac8c6171a29d5c687ff0d95bd1" + }, + "/vime": { + "patch_sha256": "66949839d4c18329444f4f9f6dcd702b53ce1b94e9aa15ed111f28743bfaa4b9", + "path": "/vime", + "tree": "f5174e67dbcdaef983eecd45f215fef2d8429dd0" + } + }, + "version": "3.12.14 | packaged by Anaconda, Inc. | (main, Aug 27 2026, 14:46:43) [GCC 14.3.0]" + }, + "sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca" + }, + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "cuda_identity": { + "home": "", + "nvcc_sha256": "b8e2347d9d7fcadf8812a27324d515de99d033d3e48611811ece7e66d7895f8a" + }, + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "operator_requirements": { + "suite": "all", + "case_ids": [ + "tests/check_qwen3_next_attention.py::test_d256_backward_with_cached_prefix_matches_float64_formula", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[1024]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[256]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[64]", + "tests/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[8]", + "tests/check_qwen3_next_attention.py::test_d256_input_device_guard_and_nondefault_stream", + "tests/check_qwen3_next_attention.py::test_native_backward_rejects_malformed_probability_and_gradient_buffers", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[0]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[1]", + "tests/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[2]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype0]", + "tests/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype1]", + "tests/check_qwen3_next_batch_invariance.py::test_target_inputs_do_not_depend_on_companions", + "tests/check_qwen3_next_batch_invariance.py::test_triton_chunked_prefill_is_batch_invariant", + "tests/check_qwen3_next_conv_bridge.py::test_chunked_and_reordered_sequences_match", + "tests/check_qwen3_next_conv_bridge.py::test_empty_sequence_preserves_cache_and_gradients", + "tests/check_qwen3_next_conv_bridge.py::test_response_gradient_reaches_prompt_and_convolution_weight", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths0]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths1]", + "tests/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths2]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-4]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-1]", + "tests/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-4]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[1]", + "tests/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[4]", + "tests/check_qwen3_next_core_matrix.py::test_variable_lengths_empty_and_mixed_step_match_independent_sequences", + "tests/check_qwen3_next_forward.py::test_combine_has_fixed_route_order_and_differentiable_weights", + "tests/check_qwen3_next_forward.py::test_full_vocabulary_logprob_entropy_modes_and_gradient", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-128]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-512]", + "tests/check_qwen3_next_forward.py::test_grouped_experts_fail_closed_on_the_tensor_descriptor_path", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[128]", + "tests/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[512]", + "tests/check_qwen3_next_forward.py::test_logprob_nan_rejected_before_comparison", + "tests/check_qwen3_next_forward.py::test_moe_vjp_matches_independent_double_formula", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[1024-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[128-2048]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-16]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-256]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-3072]", + "tests/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-37984]", + "tests/check_qwen3_next_forward.py::test_qwen_moe_actual_tp4_shapes_and_independent_training_forward", + "tests/check_qwen3_next_forward.py::test_route_weights_are_batch_invariant", + "tests/check_qwen3_next_forward.py::test_shared_linear_vjp_and_empty_tokens", + "tests/check_qwen3_next_forward.py::test_stable_route_tie_boundary_and_router_gradient", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_backward_matches_recomputed_recurrence_vjp", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_forward_is_provider_exact_and_does_not_mutate_inputs", + "tests/check_qwen3_next_gdn_bridge.py::test_bridge_keeps_prompt_state_gradient_through_response", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[False]", + "tests/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[True]", + "tests/check_qwen3_next_gdn_bridge.py::test_initial_state_vjp_matches_provider_directional_difference", + "tests/check_qwen3_next_gdn_sequence.py::test_1024_token_chunk_continuation_is_bitwise_exact", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad0]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad1]", + "tests/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad2]", + "tests/check_qwen3_next_gdn_sequence.py::test_chunk_boundary_retains_prompt_and_initial_state_gradients", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths0]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths1]", + "tests/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths2]", + "tests/check_qwen3_next_gdn_sequence.py::test_reserved_and_duplicate_slots_are_rejected", + "tests/check_qwen3_next_norm_providers.py::test_custom_op_has_distinct_native_and_cuda_paths", + "tests/check_qwen3_next_norm_providers.py::test_gdn_decode_provider_env_defaults_are_recorded", + "tests/check_qwen3_next_norm_providers.py::test_our_gated_op_is_batch_invariant", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_cuda]", + "tests/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_native]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-4]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots0]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots1]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots2]", + "tests/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots3]", + "tests/check_qwen3_next_shared_core.py::test_independent_training_forward_matches_inference_and_retains_gradients", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[1024]", + "tests/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[8]", + "tests/check_qwen3_next_shared_core.py::test_unimplemented_provider_profile_is_rejected", + "tests/test_qwen3_next_norm.py::test_bad_weight_shape_raises", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[16]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[1]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[2]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[32]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[48]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[64]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[8]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[128]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_slice[2048]", + "tests/test_qwen3_next_norm.py::test_batch_invariance_with_padding", + "tests/test_qwen3_next_norm.py::test_call_matches_forward", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[128]", + "tests/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[2048]", + "tests/test_qwen3_next_norm.py::test_cuda_default_offset_preserves_plain_convention", + "tests/test_qwen3_next_norm.py::test_cuda_gated_backward_matches_autograd_golden", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[512]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[64]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[8]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_matches_golden_within_contract", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_bad_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rejects_mismatched_gate", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_activation", + "tests/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_backward_uses_the_sigmoid_derivative", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_gated_swish_is_an_alias_for_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_unit_weight_is_plain_norm_times_silu", + "tests/test_qwen3_next_norm.py::test_cuda_gated_weight_offset_is_applied_in_fp32", + "tests/test_qwen3_next_norm.py::test_cuda_gated_wrapper_rejects_equal_numel_wrong_shape", + "tests/test_qwen3_next_norm.py::test_cuda_gated_zero_gate_zeroes_output", + "tests/test_qwen3_next_norm.py::test_cuda_offset_equals_explicit_fp32_weight", + "tests/test_qwen3_next_norm.py::test_cuda_offset_is_not_folded_through_bfloat16", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-0.0]", + "tests/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-1.0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype0]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype1]", + "tests/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_backward_is_offset_aware", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[16]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[1]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[2]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[32]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[48]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[512]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[64]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[8]", + "tests/test_qwen3_next_norm.py::test_cuda_zero_centred_within_tolerance_of_golden", + "tests/test_qwen3_next_norm.py::test_deterministic_repeat", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype0]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype1]", + "tests/test_qwen3_next_norm.py::test_dtype_paths[dtype2]", + "tests/test_qwen3_next_norm.py::test_eps_inside_sqrt", + "tests/test_qwen3_next_norm.py::test_gated_batch_invariance_slice", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedHFOp]", + "tests/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedOp]", + "tests/test_qwen3_next_norm.py::test_gated_conventions_diverge_in_low_precision", + "tests/test_qwen3_next_norm.py::test_gated_cuda_op_rejects_bad_activation_at_construction", + "tests/test_qwen3_next_norm.py::test_gated_extension_handles_empty_batch_and_nondefault_stream", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[dy_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[gate_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[rstd_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_dtype]", + "tests/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_shape]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_hf_witness_matches_hf_formula_fp32", + "tests/test_qwen3_next_norm.py::test_gated_shape_mismatch_raises", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_gated_strict_matches_vllm_formula_fp32", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[128]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[2048]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype0]", + "tests/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype1]", + "tests/test_qwen3_next_norm.py::test_offset_applied_in_fp32_not_folded_into_bf16", + "tests/test_qwen3_next_norm.py::test_op_batch_invariance_on_device", + "tests/test_qwen3_next_norm.py::test_plain_reference_is_unchanged_by_the_offset_plumbing", + "tests/test_qwen3_next_norm.py::test_weight_offset_is_one", + "tests/test_qwen3_next_norm.py::test_zero_centred_cuda_constructor_rejects_missing_extension", + "tests/test_qwen3_next_norm.py::test_zero_centred_op_inherits_the_plain_reference", + "tests/test_qwen3_next_norm.py::test_zero_weight_is_identity_scaling" + ], + "case_ids_sha256": "694c931b65f9cfa5db963f2eca6d11bd309546c824a1df52f9da2ab128e83e0f", + "norm_gates": [ + "qwen3_next_rms_norm-forward.json", + "qwen3_next_rms_norm-gradient.json", + "rms_norm_gated-forward.json", + "rms_norm_gated-gradient.json" + ] + }, + "layer_requirements": { + "schema_version": 1, + "gates": { + "gdn": { + "script": "scripts/qwen3_next_tp_gdn_check.py", + "output_option": "--output", + "scope": "tp4_gdn_layer0", + "groups": { + "cases": [ + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "prompt-gradient", + "replicated-norm-gradient", + "hf-load-export" + ] + }, + "script_sha256": "cc4338893f90af004c51c20fc67d1a9a3f4bf8d26775277f72671c02983e4df5" + }, + "attention": { + "script": "scripts/qwen3_next_tp_attention_check.py", + "output_option": "--output", + "scope": "tp4_full_attention_layer3", + "groups": { + "attention.cases": [ + "hf-load-export", + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "batch4-varlen-reorder", + "sixteen-token-decode", + "prompt-gradient", + "kv-pair-gradient", + "qk-norm-gradient" + ] + }, + "script_sha256": "d27d43efb05415a8ef5892c3c2238a2b9744a4821f5466faf46c6510e6e01bec" + }, + "moe": { + "script": "scripts/qwen3_next_tp_moe_check.py", + "output_option": "--output", + "scope": "tp4_moe_block_layer0", + "groups": { + "moe.cases": [ + "hf-load-export-all512experts", + "routes-replicated-8", + "full-chunk-reorder-8", + "routes-replicated-64", + "full-chunk-reorder-64", + "routes-replicated-256", + "full-chunk-reorder-256", + "routes-replicated-1024", + "full-chunk-reorder-1024", + "training-forward", + "all-parameter-gradient", + "replicated-router-gradient" + ] + }, + "script_sha256": "d5c1bbbb82e408b65871b0cb1638d7a6cf8cfe07f0a3315a657b7dc232d544be" + }, + "adapters": { + "script": "scripts/qwen3_next_adapter_check.py", + "output_option": "--out", + "scope": "gdn_engine_adapter_component", + "groups": { + "cases": [ + "batch1-length8", + "batch1-length64", + "batch1-length256", + "batch1-length1024", + "batch4-length8", + "batch4-length64", + "batch4-length256", + "batch4-length1024", + "mixed-prefill-decode16-reorder" + ] + }, + "fields": { + "prompt_gradient": "passed", + "hf_conv_roundtrip": "passed", + "batch_invariance_capability_registered": false + }, + "script_sha256": "3ce45bb317237c1a06533116d65fb77c2a23b6f503ae46406ede543036eb0f20" + }, + "heads": { + "script": "scripts/qwen3_next_tp_head_check.py", + "output_option": "--output", + "scope": "tp4_embedding_lm_head_only", + "groups": { + "cases": [ + "hf-embedding-roundtrip", + "hf-lm-head-roundtrip", + "replicated-norm-gradient", + "nonzero-finite-embedding-head-gradient", + "embedding-repeat-100", + "batch-invariant-prompt8", + "batch-invariant-prompt64", + "batch-invariant-prompt256", + "batch-invariant-prompt1024", + "logprob-original-and-promoted-logits", + "entropy-interface" + ] + }, + "script_sha256": "0504185d21a75405c8e994bc57b016cf4ec357d8b16e7430772c11934f2af876" + } + }, + "scheduler_case_ids": [ + "p0008-b1-full", + "p0008-b1-chunked", + "p0008-b4-full", + "p0008-b4-chunked", + "p0064-b1-full", + "p0064-b1-chunked", + "p0064-b4-full", + "p0064-b4-chunked", + "p0256-b1-full", + "p0256-b1-chunked", + "p0256-b4-full", + "p0256-b4-chunked", + "p1024-b1-full", + "p1024-b1-chunked", + "p1024-b4-full", + "p1024-b4-chunked" + ], + "registry_sha256": "e3949a750cb27c1897a000f3b023f912629906612ae8949c1575d0acc36df5ec", + "case_ids_per_rank": [ + "adapters/cases/batch1-length1024", + "adapters/cases/batch1-length256", + "adapters/cases/batch1-length64", + "adapters/cases/batch1-length8", + "adapters/cases/batch4-length1024", + "adapters/cases/batch4-length256", + "adapters/cases/batch4-length64", + "adapters/cases/batch4-length8", + "adapters/cases/mixed-prefill-decode16-reorder", + "attention/attention.cases/batch4-varlen-reorder", + "attention/attention.cases/full-chunk-1024", + "attention/attention.cases/full-chunk-256", + "attention/attention.cases/full-chunk-64", + "attention/attention.cases/full-chunk-8", + "attention/attention.cases/hf-load-export", + "attention/attention.cases/kv-pair-gradient", + "attention/attention.cases/prompt-gradient", + "attention/attention.cases/qk-norm-gradient", + "attention/attention.cases/sixteen-token-decode", + "gdn/cases/full-chunk-1024", + "gdn/cases/full-chunk-256", + "gdn/cases/full-chunk-64", + "gdn/cases/full-chunk-8", + "gdn/cases/hf-load-export", + "gdn/cases/prompt-gradient", + "gdn/cases/replicated-norm-gradient", + "heads/cases/batch-invariant-prompt1024", + "heads/cases/batch-invariant-prompt256", + "heads/cases/batch-invariant-prompt64", + "heads/cases/batch-invariant-prompt8", + "heads/cases/embedding-repeat-100", + "heads/cases/entropy-interface", + "heads/cases/hf-embedding-roundtrip", + "heads/cases/hf-lm-head-roundtrip", + "heads/cases/logprob-original-and-promoted-logits", + "heads/cases/nonzero-finite-embedding-head-gradient", + "heads/cases/replicated-norm-gradient", + "moe/moe.cases/all-parameter-gradient", + "moe/moe.cases/full-chunk-reorder-1024", + "moe/moe.cases/full-chunk-reorder-256", + "moe/moe.cases/full-chunk-reorder-64", + "moe/moe.cases/full-chunk-reorder-8", + "moe/moe.cases/hf-load-export-all512experts", + "moe/moe.cases/replicated-router-gradient", + "moe/moe.cases/routes-replicated-1024", + "moe/moe.cases/routes-replicated-256", + "moe/moe.cases/routes-replicated-64", + "moe/moe.cases/routes-replicated-8", + "moe/moe.cases/training-forward" + ], + "case_ids_sha256": "be74417dfbd6031ba27978d06d04bb15daaab2aeb57d132c7e0d41176b28b46e" + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + } +} diff --git a/docs/usage/evidence/qwen3-next-chain-b200/train2/updates.json b/docs/usage/evidence/qwen3-next-chain-b200/train2/updates.json new file mode 100644 index 000000000..62e6678ac --- /dev/null +++ b/docs/usage/evidence/qwen3-next-chain-b200/train2/updates.json @@ -0,0 +1,1695 @@ +{ + "schema_version": 1, + "status": "passed", + "scope": "qwen3_next_training_update2", + "identity": { + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "checkpoint": "", + "weight_version": "baseline", + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32" + }, + "training_identity": { + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "checkpoint": "", + "weight_version": "baseline", + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32", + "run_id": "20261009T041838Z-train1-c67ec144-39e7db9f", + "execution_id": "39e7db9f488142f4b52872e05728c390", + "fixture_sha256": "7c98e4e17cc24bd0c5f65f6515d58a9dfc947afcdb6d4956bd3fa05f24bb28b6" + }, + "phases": [ + "update1", + "update2" + ], + "l2_fixture_sha256": "b59298acf5ecbe64abb4639e7596e052f1993ee5e3c7289b63738f1b04463d01", + "l2_reports": { + "baseline": { + "path": "/attempts/0/l2-matrix.json", + "sha256": "bf9da6060e882fb3707df9093e63a4c6e6664e8a75f25e9809020c4f687bf953" + }, + "update1": { + "path": "/attempts/0/update1-l2-b827f298d79a42768c4f371bf81b571b/l2-matrix.json", + "sha256": "ad78b78687d2ef725a24b42de908033b36383f69db41d2c754f87acb07cd9870" + }, + "update2": { + "path": "/attempts/0/update2-l2-c2abbec996294115bf05493b92df2d01/l2-matrix.json", + "sha256": "e8b9ee250133e40cf2f28134bb4b77f6ec18bb970c37a9702590284e2c570893" + } + }, + "workers": { + "update1": { + "path": "/attempts/0/update1-2c4f847affb0420d9622f1b699393898/worker.json", + "sha256": "b2c74ebcb2b5e538bbaf5e50439615722f26876df3cd34610ded097ee6102436" + }, + "update2": { + "path": "/attempts/0/update2-57420c4714024856bad2f2d1fa960e15/worker.json", + "sha256": "b30f31ad229c12f2c710a5267f9c8eea37ff9da08a2681158279633e2777cf47" + } + }, + "events": [ + "l2:baseline", + "worker:update1", + "l2:update1", + "worker:update2", + "l2:update2" + ], + "recovery": [ + { + "schema_version": 1, + "scope": "qwen3_next_retirement", + "identity": { + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "checkpoint": "", + "weight_version": "baseline", + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32", + "run_id": "20261009T041838Z-train1-c67ec144-39e7db9f", + "execution_id": "39e7db9f488142f4b52872e05728c390", + "fixture_sha256": "7c98e4e17cc24bd0c5f65f6515d58a9dfc947afcdb6d4956bd3fa05f24bb28b6" + }, + "target": "step-00000002-8e604f14d0b04929abfbfb8e584b39bf.partial", + "tombstone": ".step-00000002-8e604f14d0b04929abfbfb8e584b39bf.partial.deleting", + "status": "retired", + "proof": { + "schema_version": 1, + "scope": "qwen3_next_staging_intent", + "identity": { + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "checkpoint": "", + "weight_version": "baseline", + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32", + "run_id": "20261009T041838Z-train1-c67ec144-39e7db9f", + "execution_id": "39e7db9f488142f4b52872e05728c390", + "fixture_sha256": "7c98e4e17cc24bd0c5f65f6515d58a9dfc947afcdb6d4956bd3fa05f24bb28b6" + }, + "staging": "step-00000002-8e604f14d0b04929abfbfb8e584b39bf.partial", + "published": "step-00000002-8e604f14d0b04929abfbfb8e584b39bf", + "metadata": { + "schema_version": 1, + "scope": "native_vime_training_checkpoint", + "status": "staging", + "identity": { + "scheduler_profile_certificate": { + "path": "/result.json", + "sha256": "bf3a74423b3636145cad903d5cf9d70f2c3c777b019a24d125c2ca79f8b1e8d9" + }, + "source_commit": "c67ec14401b0847ac96441a24acfaac0b17b77ec", + "source_tree": "425a350105f757b41cbddf73cf0cae2cbcc9c892", + "environment_sha256": "118384371a883b84289a48b5322a96b6563aec0584f74cee4a38777cfe7ff7ca", + "checkpoint": "", + "weight_version": "baseline", + "checkpoint_identity": { + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "metadata": { + "config.json": "2d483c7cabad7c8704478ed4038fa7e7b2eff840bc00a118eccbe38e2b488303", + "generation_config.json": "d7115cb81df546589f9937943302901a1b75b08909293d1fc96782750b1c3217", + "merges.txt": "599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3", + "model.safetensors.index.json": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "tokenizer.json": "aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4", + "tokenizer_config.json": "a62ff0a2472a0fa1b8eaabcb57c59b58afa42a22831dc141400b6e0cf2b65ce3", + "vocab.json": "ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910" + }, + "shards": { + "model-00001-of-00041.safetensors": { + "size": 3999619256, + "mtime_ns": 1790791546174358834, + "ctime_ns": 1790791546942067788, + "expected_sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + "model-00002-of-00041.safetensors": { + "size": 3999841784, + "mtime_ns": 1790791548205198213, + "ctime_ns": 1790791549067075613, + "expected_sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + "model-00003-of-00041.safetensors": { + "size": 3999515584, + "mtime_ns": 1790791546659320478, + "ctime_ns": 1790791547666496184, + "expected_sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + "model-00004-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791546792309960, + "ctime_ns": 1790791547832659564, + "expected_sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + "model-00005-of-00041.safetensors": { + "size": 3999842208, + "mtime_ns": 1790791566468753725, + "ctime_ns": 1790791566771643346, + "expected_sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + "model-00006-of-00041.safetensors": { + "size": 3999853216, + "mtime_ns": 1790791567935637707, + "ctime_ns": 1790791568395175097, + "expected_sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + "model-00007-of-00041.safetensors": { + "size": 3999841912, + "mtime_ns": 1790791569884483570, + "ctime_ns": 1790791570566022383, + "expected_sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + "model-00008-of-00041.safetensors": { + "size": 3999842000, + "mtime_ns": 1790791570260453834, + "ctime_ns": 1790791571136877151, + "expected_sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + "model-00009-of-00041.safetensors": { + "size": 3999843192, + "mtime_ns": 1790791579856694852, + "ctime_ns": 1790791580674373206, + "expected_sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + "model-00010-of-00041.safetensors": { + "size": 3999517808, + "mtime_ns": 1790791590882822776, + "ctime_ns": 1790791592140526656, + "expected_sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + "model-00011-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791590957816845, + "ctime_ns": 1790791592263447994, + "expected_sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + "model-00012-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791592093727004, + "ctime_ns": 1790791593052686723, + "expected_sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + "model-00013-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791600588055171, + "ctime_ns": 1790791601409653248, + "expected_sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + "model-00014-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791616126826177, + "ctime_ns": 1790791617184055832, + "expected_sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + "model-00015-of-00041.safetensors": { + "size": 4000181736, + "mtime_ns": 1790791612736094357, + "ctime_ns": 1790791613754475950, + "expected_sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + "model-00016-of-00041.safetensors": { + "size": 3999517256, + "mtime_ns": 1790791614069988857, + "ctime_ns": 1790791614970756796, + "expected_sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + "model-00017-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791619655547082, + "ctime_ns": 1790791620819648790, + "expected_sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + "model-00018-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791634117403259, + "ctime_ns": 1790791634553812882, + "expected_sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + "model-00019-of-00041.safetensors": { + "size": 3999844096, + "mtime_ns": 1790791632652519121, + "ctime_ns": 1790791633466311124, + "expected_sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + "model-00020-of-00041.safetensors": { + "size": 3999855040, + "mtime_ns": 1790791637493136264, + "ctime_ns": 1790791638225184919, + "expected_sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + "model-00021-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791641577813197, + "ctime_ns": 1790791642733184326, + "expected_sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + "model-00022-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791649923153141, + "ctime_ns": 1790791650945961453, + "expected_sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + "model-00023-of-00041.safetensors": { + "size": 3999517464, + "mtime_ns": 1790791652104980574, + "ctime_ns": 1790791653481273439, + "expected_sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + "model-00024-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791660168342820, + "ctime_ns": 1790791661210671960, + "expected_sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + "model-00025-of-00041.safetensors": { + "size": 4000181296, + "mtime_ns": 1790791662726140516, + "ctime_ns": 1790791663692642297, + "expected_sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + "model-00026-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791668794660539, + "ctime_ns": 1790791669630424746, + "expected_sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + "model-00027-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791671892415528, + "ctime_ns": 1790791672969703674, + "expected_sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + "model-00028-of-00041.safetensors": { + "size": 3999843984, + "mtime_ns": 1790791680314749379, + "ctime_ns": 1790791681243204578, + "expected_sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + "model-00029-of-00041.safetensors": { + "size": 3999855320, + "mtime_ns": 1790791684501418242, + "ctime_ns": 1790791685405366869, + "expected_sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + "model-00030-of-00041.safetensors": { + "size": 3999843672, + "mtime_ns": 1790791696432474575, + "ctime_ns": 1790791696706857045, + "expected_sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + "model-00031-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791695451552159, + "ctime_ns": 1790791696104118690, + "expected_sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + "model-00032-of-00041.safetensors": { + "size": 3999843880, + "mtime_ns": 1790791696559464530, + "ctime_ns": 1790791697371537239, + "expected_sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + "model-00033-of-00041.safetensors": { + "size": 3999517688, + "mtime_ns": 1790791698172336963, + "ctime_ns": 1790791699265011232, + "expected_sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + "model-00034-of-00041.safetensors": { + "size": 4000181496, + "mtime_ns": 1790791709791417968, + "ctime_ns": 1790791711000615739, + "expected_sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + "model-00035-of-00041.safetensors": { + "size": 3999843792, + "mtime_ns": 1790791716907855102, + "ctime_ns": 1790791717900751408, + "expected_sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + "model-00036-of-00041.safetensors": { + "size": 3999517472, + "mtime_ns": 1790791719476651926, + "ctime_ns": 1790791720529370922, + "expected_sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + "model-00037-of-00041.safetensors": { + "size": 3999843872, + "mtime_ns": 1790791724336267561, + "ctime_ns": 1790791725074484814, + "expected_sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + "model-00038-of-00041.safetensors": { + "size": 3999844264, + "mtime_ns": 1790791730174805768, + "ctime_ns": 1790791731147517406, + "expected_sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + "model-00039-of-00041.safetensors": { + "size": 3999854888, + "mtime_ns": 1790791737639215377, + "ctime_ns": 1790791738579039082, + "expected_sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + "model-00040-of-00041.safetensors": { + "size": 3365572496, + "mtime_ns": 1790791739485069381, + "ctime_ns": 1790791740425402464, + "expected_sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + "model-00041-of-00041.safetensors": { + "size": 3301131296, + "mtime_ns": 1790791742843803725, + "ctime_ns": 1790791743829509928, + "expected_sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + }, + "expected_content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "full_hash_verification": "required_before_model_load" + }, + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": false, + "sources": { + "rl_engine/integrations/qwen3_next_provider.py": "a182a280820cb8395166c7e6ab6b91c18f8840807e3867ab9f7a0f4cf350d7d2", + "rl_engine/integrations/qwen3_next_conv.py": "882122df605cab6b7837c52f5a774cabd72f22dde65dadd9244c5c799936ad99", + "rl_engine/integrations/qwen3_next_gdn.py": "36e8f34be63364120d2afeb25d76ac7eb04ea493773fcbbd60a84bdddfac2f25", + "rl_engine/integrations/qwen3_next_engine_weights.py": "f08dea8ffff732923d6c384aa31357c89e3e599b1bfeac4a92caf50dd22642b0", + "rl_engine/integrations/qwen3_next_profile.py": "3f6b9ef3d4a581bb8b058cd27a7156fcd70e7b82233c273970624ca3e21a1f50", + "rl_engine/integrations/qwen3_next_tp.py": "e2be3bb9995e2168326aa3e564a960f090f43eff8175af41e138c817ae90e188", + "rl_engine/integrations/qwen3_next_tp_gdn.py": "1a33958513597345287b6feca269289d953a44c2aa5c3beb880875bd86962313", + "rl_engine/integrations/qwen3_next_tp_blocks.py": "75a304d042b15d02e8d97b5016106555b7bcf8fd73786509661a27e6be958813", + "rl_engine/integrations/qwen3_next_forward.py": "9a44c6fcfa960f3013ead17ecd31046fbdac7e0814ab04a5c219b4a7bb7e6420", + "rl_engine/integrations/qwen3_next_embedding.py": "9695c4dcd6e83d94fcb34919ba85e0ee462c111624063568afdb9072e9fe367e", + "rl_engine/integrations/qwen3_next_logprob.py": "9bb1803e7324d460c36413906e8b0161d5166bc8a588f185fb0f016e6ba82f8d", + "rl_engine/integrations/qwen3_next_vime.py": "a34d3836587bffe8f8e4bf81c8d7dca9565046b659b2ee7536244352c7383b44", + "rl_engine/integrations/qwen3_next_vllm.py": "6a143215b2963e0f6a5a51856d7d5d7ecdad984cd488a89f9a6d9e0385cc7b58", + "rl_engine/integrations/qwen3_next_vllm_attention.py": "af322104f2b290cb942386139a591e0d7e42665a11f7bd8893a4f2ef7928a395", + "rl_engine/integrations/qwen3_next_vllm_model.py": "f03a3a81f316d1b3839832c482d6329ee195c57a829442e223082ccd744738f8", + "rl_engine/kernels/ops/cuda/norm/rmsnorm.py": "8d1a21113bd7161a46a6dc6d8721bb613d4f900330cac008890b055efb576fea", + "csrc/cuda/rmsnorm.cu": "ad6ac9cba603e1c0aa7d33b2a348e6b69d8e5bd848fc93248eb2a3f0de690110" + }, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": false, + "prefix_reuse": false, + "dropout": false, + "dynamic_tuning": false, + "cuda_graph": false, + "sequence_parallel": false, + "fp32_residual_connection": false, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + "native_rollout_kv_cache_memory_bytes": 4294967296, + "runtime_env": { + "TRITON_F32_DEFAULT": "ieee", + "VLLM_USE_V2_MODEL_RUNNER": "0" + } + }, + "topology": { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1 + }, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32", + "run_id": "20261009T041838Z-train1-c67ec144-39e7db9f", + "execution_id": "39e7db9f488142f4b52872e05728c390", + "fixture_sha256": "7c98e4e17cc24bd0c5f65f6515d58a9dfc947afcdb6d4956bd3fa05f24bb28b6" + }, + "step": 2, + "sample_position": 8 + } + } + } + ], + "checkpoint": { + "path": "/training-state/checkpoints/step-00000002-3bce5b5d91b045a1bbdb4f8ef235d1b6", + "sha256": "8906eaf4e2bee9d1aec783a6086e1a09b89b7da1a37525c6464aa922fec0e691" + }, + "attempt": "0" +} diff --git a/docs/usage/evidence/qwen3-next-moe-route-b200/README.md b/docs/usage/evidence/qwen3-next-moe-route-b200/README.md new file mode 100644 index 000000000..0a86096b4 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-moe-route-b200/README.md @@ -0,0 +1,47 @@ +# Qwen3-Next routed MoE: prior art and TP4 gate (B200) + +`report.json` and `figure.png` were measured at commit `c58816b` from a clean +clone (`tracked_tree_dirty: false`) on one B200 (driver 580.126.20, torch +2.13.0+cu130, Triton 3.7.1), in two Python environments because no single one +can import every candidate: + +* the training environment (VIME 0.3.2 with Megatron-core 0.16.0rc0 and + Transformer Engine 2.16.1, vLLM 0.30.0, FlashInfer 0.6.18.post1, + transformers 5.17.0): RL-Kernel, HF, vLLM, FlashInfer, Megatron-core + TE; +* a second environment with SGLang 0.5.21: SGLang in default and + deterministic-inference mode. Its compiled `sgl_kernel` 0.3.21 is built for + another libtorch ABI and cannot load next to torch 2.13, so SGLang's two + kernels on this path are replaced by SGLang's own implementations of the same + operations (Triton `moe_sum_reduce`, JIT `moe_align_block_size`); calling any + other `sgl_kernel` symbol fails. + +`environments` in `report.json` records both. The TP4 gate files were measured +at `2e950f3`, whose MoE code is identical (`c58816b` only adds runner candidates). + +| File | Produced by | +| --- | --- | +| `report.json` | `TRITON_F32_DEFAULT=ieee python tools/validation/models/qwen3_next_moe_prior_art.py --only rl_kernel_cuda,hf_transformers,vllm_bi0,vllm_bi1,flashinfer_cutlass,megatron_te --out main.json` (training environment), then `... --only sglang_triton,sglang_deterministic --merge main.json --out report.json` (SGLang environment); one GPU | +| `figure.png` | `python tools/validation/models/plot_qwen3_next_moe_prior_art.py report.json` | +| `tp4-moe/rank-{0..3}.json` | `TRITON_F32_DEFAULT=ieee torchrun --nproc-per-node 4 tools/validation/models/qwen3_next_tp_moe_check.py --checkpoint --output tp4-moe` | + +The checkpoint is the official `Qwen/Qwen3-Next-80B-A3B-Instruct` revision +`9c7f2fbe84465e40164a94cc16cd30b6999b0cc7`; the TP4 gate reads layer 0's MoE. + +In the same job, `TRITON_F32_DEFAULT=ieee python -m pytest -q +tests/models/qwen3_next/check_qwen3_next_forward.py tests/validation/common/test_tensor_identity.py +tests/models/qwen3_next/test_qwen3_next_forward_contract.py tests/models/qwen3_next/test_qwen3_next_tp_blocks.py` +passed (65 tests). `tests/integrations/common/test_framework_operator_integrations.py` was collected +into that same process and failed, as it must once a `check_` file has imported +vLLM; run in its own process, as CI does, it passes. + +## Reading the report + +* Batch invariance: 8 probe tokens computed alone, and placed first and last in + batches of 16, 64, 256 and 1024 tokens; `true` means bitwise equal everywhere. + `dweight_zero_rows_bitwise` appends rows whose output gradient is zero. +* Accuracy: 256 tokens against the HF formula evaluated in FP64 with FP64 + routing; `tokens_with_different_expert_set` counts tokens whose ten selected + experts differ from the FP64 selection. +* Latency: CUDA-event medians, candidates interleaved with the order reversed + every iteration. Weights are random (scale 0.02), shape H=2048, 512 experts, + top-10, expert width 512 (TP1). diff --git a/docs/usage/evidence/qwen3-next-moe-route-b200/figure.png b/docs/usage/evidence/qwen3-next-moe-route-b200/figure.png new file mode 100644 index 000000000..e09ec93ac Binary files /dev/null and b/docs/usage/evidence/qwen3-next-moe-route-b200/figure.png differ diff --git a/docs/usage/evidence/qwen3-next-moe-route-b200/report.json b/docs/usage/evidence/qwen3-next-moe-route-b200/report.json new file mode 100644 index 000000000..5a9fa5056 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-moe-route-b200/report.json @@ -0,0 +1,381 @@ +{ + "kind": "qwen3_next_prior_art_report", + "rfc": 428, + "rl_kernel_commit": "c58816bf54940195b543beda14e0de65a71182c6", + "tracked_tree_dirty": false, + "environment": { + "gpu": "NVIDIA B200", + "torch": "2.13.0+cu130", + "cuda": "13.0", + "libraries": { + "vllm": "0.30.0", + "flashinfer-python": "0.6.18.post1", + "transformers": "5.17.0", + "triton": "3.7.1", + "sglang": null, + "sgl-kernel": null, + "megatron_core": "0.16.0rc0", + "megatron-core": "0.16.0rc0", + "transformer_engine": "2.16.1+c9877beb", + "vime": "0.3.2" + } + }, + "op": "qwen3_next_routed_moe", + "shape": { + "hidden": 2048, + "experts": 512, + "top_k": 10, + "expert_width": 512 + }, + "probe_rows": 8, + "candidates": [ + { + "key": "rl_kernel_cuda", + "name": "rl-kernel shared_moe", + "source": "rl_engine.integrations.qwen3_next_forward.shared_moe", + "route_rows_bitwise": { + "16": true, + "64": true, + "256": true, + "1024": true + }, + "output_rows_bitwise": { + "16": true, + "64": true, + "256": true, + "1024": true + }, + "repeatable": true, + "dx_rows_bitwise": { + "16": true, + "64": true, + "256": true, + "1024": true + }, + "dweight_zero_rows_bitwise": { + "16": true, + "64": true, + "256": true, + "1024": true + }, + "accuracy": { + "rel_l2_vs_fp64": 0.0038748319159183277, + "max_abs_vs_fp64": 0.0021274995396960983, + "tokens_with_different_expert_set": 0, + "tokens": 256 + }, + "batch_invariant": true + }, + { + "key": "hf_transformers", + "name": "HF transformers Qwen3NextExperts (eager)", + "source": "transformers 5.17.0 modeling_qwen3_next", + "route_rows_bitwise": { + "16": true, + "64": true, + "256": true, + "1024": true + }, + "output_rows_bitwise": { + "16": true, + "64": true, + "256": true, + "1024": true + }, + "repeatable": true, + "dx_rows_bitwise": { + "16": true, + "64": true, + "256": true, + "1024": false + }, + "dweight_zero_rows_bitwise": { + "16": true, + "64": true, + "256": true, + "1024": false + }, + "accuracy": { + "rel_l2_vs_fp64": 0.0700071926559018, + "max_abs_vs_fp64": 0.10691143625663532, + "tokens_with_different_expert_set": 11, + "tokens": 256 + }, + "batch_invariant": false + }, + { + "key": "vllm_bi0", + "name": "vLLM fused_topk + fused_experts (Triton), VLLM_BATCH_INVARIANT=0", + "source": "vllm 0.30.0 model_executor/layers/fused_moe", + "route_rows_bitwise": { + "16": true, + "64": true, + "256": false, + "1024": false + }, + "output_rows_bitwise": { + "16": true, + "64": true, + "256": false, + "1024": false + }, + "repeatable": true, + "accuracy": { + "rel_l2_vs_fp64": 0.06987086350006304, + "max_abs_vs_fp64": 0.10691143625663532, + "tokens_with_different_expert_set": 11, + "tokens": 256 + }, + "batch_invariant": false + }, + { + "key": "vllm_bi1", + "name": "vLLM fused_topk + fused_experts (Triton), VLLM_BATCH_INVARIANT=1", + "source": "vllm 0.30.0 model_executor/layers/fused_moe", + "route_rows_bitwise": { + "16": true, + "64": true, + "256": true, + "1024": true + }, + "output_rows_bitwise": { + "16": true, + "64": true, + "256": true, + "1024": true + }, + "repeatable": true, + "accuracy": { + "rel_l2_vs_fp64": 0.06987086350006304, + "max_abs_vs_fp64": 0.10691143625663532, + "tokens_with_different_expert_set": 11, + "tokens": 256 + }, + "batch_invariant": true + }, + { + "key": "flashinfer_cutlass", + "name": "FlashInfer cutlass_fused_moe (routes from torch.topk)", + "source": "flashinfer 0.6.18.post1 fused_moe.cutlass_fused_moe", + "route_rows_bitwise": { + "16": true, + "64": true, + "256": false, + "1024": false + }, + "output_rows_bitwise": { + "16": true, + "64": true, + "256": false, + "1024": false + }, + "repeatable": true, + "accuracy": { + "rel_l2_vs_fp64": 0.06984271064260991, + "max_abs_vs_fp64": 0.10739971750663532, + "tokens_with_different_expert_set": 11, + "tokens": 256 + }, + "batch_invariant": false + }, + { + "key": "megatron_te", + "name": "Megatron-core MoELayer + TE grouped GEMM (VIME's Qwen3-Next config)", + "source": "megatron-core 0.16.0rc0, transformer-engine 2.16.1+c9877beb", + "route_rows_bitwise": { + "16": true, + "64": true, + "256": false, + "1024": false + }, + "output_rows_bitwise": { + "16": true, + "64": true, + "256": true, + "1024": false + }, + "repeatable": true, + "dx_rows_bitwise": { + "16": true, + "64": true, + "256": true, + "1024": false + }, + "dweight_zero_rows_bitwise": { + "16": true, + "64": true, + "256": true, + "1024": false + }, + "accuracy": { + "rel_l2_vs_fp64": 0.00456482750054121, + "max_abs_vs_fp64": 0.0022296928321409726, + "tokens_with_different_expert_set": 0, + "tokens": 256 + }, + "batch_invariant": false + }, + { + "key": "sglang_triton", + "name": "SGLang fused_moe (Triton), default", + "source": "sglang 0.5.21 moe_runner/triton_utils", + "route_rows_bitwise": { + "16": true, + "64": true, + "256": false, + "1024": false + }, + "output_rows_bitwise": { + "16": true, + "64": true, + "256": false, + "1024": false + }, + "repeatable": true, + "accuracy": { + "rel_l2_vs_fp64": 0.06984328047814348, + "max_abs_vs_fp64": 0.10739971750663532, + "tokens_with_different_expert_set": 11, + "tokens": 256 + }, + "batch_invariant": false + }, + { + "key": "sglang_deterministic", + "name": "SGLang fused_moe (Triton), deterministic inference", + "source": "sglang 0.5.21 moe_runner/triton_utils", + "route_rows_bitwise": { + "16": true, + "64": true, + "256": true, + "1024": true + }, + "output_rows_bitwise": { + "16": true, + "64": true, + "256": true, + "1024": true + }, + "repeatable": true, + "accuracy": { + "rel_l2_vs_fp64": 0.06984328047814348, + "max_abs_vs_fp64": 0.10739971750663532, + "tokens_with_different_expert_set": 11, + "tokens": 256 + }, + "batch_invariant": true + } + ], + "latency": { + "forward_us": { + "1": { + "rl_kernel_cuda": 1386.0480189323425, + "hf_transformers": 2066.7200088500977, + "vllm_bi0": 374.9440014362335, + "vllm_bi1": 387.91999220848083, + "flashinfer_cutlass": 368.51200461387634, + "megatron_te": 3787.440061569214, + "sglang_triton": 339.1679972410202, + "sglang_deterministic": 349.7439920902252 + }, + "8": { + "rl_kernel_cuda": 1395.039975643158, + "hf_transformers": 13072.400093078613, + "vllm_bi0": 381.9680064916611, + "vllm_bi1": 385.328009724617, + "flashinfer_cutlass": 432.2880059480667, + "megatron_te": 5061.583995819092, + "sglang_triton": 332.8000009059906, + "sglang_deterministic": 353.5839915275574 + }, + "64": { + "rl_kernel_cuda": 1687.5839829444885, + "hf_transformers": 62156.3835144043, + "vllm_bi0": 660.0319743156433, + "vllm_bi1": 658.3200097084045, + "flashinfer_cutlass": 723.4559953212738, + "megatron_te": 9674.047946929932, + "sglang_triton": 606.8799793720245, + "sglang_deterministic": 660.75199842453 + }, + "256": { + "rl_kernel_cuda": 1846.1920022964478, + "hf_transformers": 85269.61517333984, + "vllm_bi0": 779.8559963703156, + "vllm_bi1": 790.6079888343811, + "flashinfer_cutlass": 858.7839901447296, + "megatron_te": 11665.247917175293, + "sglang_triton": 759.0239942073822, + "sglang_deterministic": 819.1200196743011 + }, + "1024": { + "rl_kernel_cuda": 2043.7918901443481, + "hf_transformers": 89267.74215698242, + "vllm_bi0": 874.2719888687134, + "vllm_bi1": 868.9280152320862, + "flashinfer_cutlass": 902.5439918041229, + "megatron_te": 11738.048076629639, + "sglang_triton": 833.1039845943451, + "sglang_deterministic": 841.6959941387177 + }, + "4096": { + "rl_kernel_cuda": 3053.2480478286743, + "hf_transformers": 87444.65637207031, + "vllm_bi0": 1059.056043624878, + "vllm_bi1": 1051.2160062789917, + "flashinfer_cutlass": 1124.2560148239136, + "megatron_te": 12122.560024261475, + "sglang_triton": 1346.0160493850708, + "sglang_deterministic": 1367.3120141029358 + } + }, + "forward_plus_backward_us": { + "64": { + "rl_kernel_cuda": 113590.37017822266, + "hf_transformers": 876752.3193359375, + "megatron_te": 44856.64176940918 + }, + "1024": { + "rl_kernel_cuda": 169058.31909179688, + "hf_transformers": 1284274.658203125, + "megatron_te": 50968.2559967041 + } + } + }, + "environments": { + "main": { + "gpu": "NVIDIA B200", + "torch": "2.13.0+cu130", + "cuda": "13.0", + "libraries": { + "vllm": "0.30.0", + "flashinfer-python": "0.6.18.post1", + "transformers": "5.17.0", + "triton": "3.7.1", + "sglang": null, + "sgl-kernel": null, + "megatron_core": "0.16.0rc0", + "megatron-core": "0.16.0rc0", + "transformer_engine": "2.16.1+c9877beb", + "vime": "0.3.2" + } + }, + "extra": { + "gpu": "NVIDIA B200", + "torch": "2.13.0+cu130", + "cuda": "13.0", + "libraries": { + "vllm": "0.30.0", + "flashinfer-python": "0.6.18.post1", + "transformers": "5.17.0", + "triton": "3.7.1", + "sglang": "0.5.21", + "sgl-kernel": "0.3.21", + "megatron_core": null, + "megatron-core": null, + "transformer_engine": "2.20.2", + "vime": null + } + } + } +} diff --git a/docs/usage/evidence/qwen3-next-moe-route-b200/tp4-moe/rank-0.json b/docs/usage/evidence/qwen3-next-moe-route-b200/tp4-moe/rank-0.json new file mode 100644 index 000000000..188c00b77 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-moe-route-b200/tp4-moe/rank-0.json @@ -0,0 +1,45 @@ +{ + "status": "passed", + "scope": "tp4_moe_block_layer0", + "rank": 0, + "rl_kernel_commit": "2e950f386bd3c4c2c07f41472f48878be94ea3b8", + "tracked_tree_dirty": false, + "provider": "qwen3-next-shared-cuda-forward-v1", + "environment": { + "gpu": "NVIDIA B200", + "torch": "2.13.0+cu130", + "vllm": "0.30.0", + "nccl": "2.29.7" + }, + "moe": { + "cases": [ + "hf-load-export-all512experts", + "routes-replicated-8", + "full-chunk-reorder-8", + "routes-replicated-64", + "full-chunk-reorder-64", + "routes-replicated-256", + "full-chunk-reorder-256", + "routes-replicated-1024", + "full-chunk-reorder-1024", + "training-forward", + "all-parameter-gradient", + "replicated-router-gradient" + ], + "gradient_max_abs": { + "gate.weight": 1.9354047253727913e-09, + "experts.gate_up": 4.598405212163925e-09, + "experts.down": 7.8580342233181e-09, + "shared_expert.gate_proj.weight": 2.5890767574310303e-07, + "shared_expert.up_proj.weight": 4.3585896492004395e-07, + "shared_expert.down_proj.weight": 2.9243528842926025e-07, + "shared_expert_gate.weight": 5.513429641723633e-07 + }, + "forward_us": { + "8": 2185.663938522339, + "64": 2399.2319107055664, + "256": 1903.6799669265747, + "1024": 1860.6079816818237 + } + } +} diff --git a/docs/usage/evidence/qwen3-next-moe-route-b200/tp4-moe/rank-1.json b/docs/usage/evidence/qwen3-next-moe-route-b200/tp4-moe/rank-1.json new file mode 100644 index 000000000..755bed167 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-moe-route-b200/tp4-moe/rank-1.json @@ -0,0 +1,45 @@ +{ + "status": "passed", + "scope": "tp4_moe_block_layer0", + "rank": 1, + "rl_kernel_commit": "2e950f386bd3c4c2c07f41472f48878be94ea3b8", + "tracked_tree_dirty": false, + "provider": "qwen3-next-shared-cuda-forward-v1", + "environment": { + "gpu": "NVIDIA B200", + "torch": "2.13.0+cu130", + "vllm": "0.30.0", + "nccl": "2.29.7" + }, + "moe": { + "cases": [ + "hf-load-export-all512experts", + "routes-replicated-8", + "full-chunk-reorder-8", + "routes-replicated-64", + "full-chunk-reorder-64", + "routes-replicated-256", + "full-chunk-reorder-256", + "routes-replicated-1024", + "full-chunk-reorder-1024", + "training-forward", + "all-parameter-gradient", + "replicated-router-gradient" + ], + "gradient_max_abs": { + "gate.weight": 1.9354047253727913e-09, + "experts.gate_up": 2.240994945168495e-09, + "experts.down": 5.558831617236137e-09, + "shared_expert.gate_proj.weight": 3.129243850708008e-07, + "shared_expert.up_proj.weight": 3.725290298461914e-07, + "shared_expert.down_proj.weight": 4.6938657760620117e-07, + "shared_expert_gate.weight": 5.513429641723633e-07 + }, + "forward_us": { + "8": 2204.67209815979, + "64": 2400.2881050109863, + "256": 1920.4479455947876, + "1024": 1854.464054107666 + } + } +} diff --git a/docs/usage/evidence/qwen3-next-moe-route-b200/tp4-moe/rank-2.json b/docs/usage/evidence/qwen3-next-moe-route-b200/tp4-moe/rank-2.json new file mode 100644 index 000000000..72343dc29 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-moe-route-b200/tp4-moe/rank-2.json @@ -0,0 +1,45 @@ +{ + "status": "passed", + "scope": "tp4_moe_block_layer0", + "rank": 2, + "rl_kernel_commit": "2e950f386bd3c4c2c07f41472f48878be94ea3b8", + "tracked_tree_dirty": false, + "provider": "qwen3-next-shared-cuda-forward-v1", + "environment": { + "gpu": "NVIDIA B200", + "torch": "2.13.0+cu130", + "vllm": "0.30.0", + "nccl": "2.29.7" + }, + "moe": { + "cases": [ + "hf-load-export-all512experts", + "routes-replicated-8", + "full-chunk-reorder-8", + "routes-replicated-64", + "full-chunk-reorder-64", + "routes-replicated-256", + "full-chunk-reorder-256", + "routes-replicated-1024", + "full-chunk-reorder-1024", + "training-forward", + "all-parameter-gradient", + "replicated-router-gradient" + ], + "gradient_max_abs": { + "gate.weight": 1.9354047253727913e-09, + "experts.gate_up": 2.0227162167429924e-09, + "experts.down": 5.122274160385132e-09, + "shared_expert.gate_proj.weight": 2.337619662284851e-07, + "shared_expert.up_proj.weight": 3.9674341678619385e-07, + "shared_expert.down_proj.weight": 2.384185791015625e-07, + "shared_expert_gate.weight": 5.513429641723633e-07 + }, + "forward_us": { + "8": 2204.67209815979, + "64": 2398.303985595703, + "256": 1881.0559511184692, + "1024": 1856.511950492859 + } + } +} diff --git a/docs/usage/evidence/qwen3-next-moe-route-b200/tp4-moe/rank-3.json b/docs/usage/evidence/qwen3-next-moe-route-b200/tp4-moe/rank-3.json new file mode 100644 index 000000000..2c4d8f376 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-moe-route-b200/tp4-moe/rank-3.json @@ -0,0 +1,45 @@ +{ + "status": "passed", + "scope": "tp4_moe_block_layer0", + "rank": 3, + "rl_kernel_commit": "2e950f386bd3c4c2c07f41472f48878be94ea3b8", + "tracked_tree_dirty": false, + "provider": "qwen3-next-shared-cuda-forward-v1", + "environment": { + "gpu": "NVIDIA B200", + "torch": "2.13.0+cu130", + "vllm": "0.30.0", + "nccl": "2.29.7" + }, + "moe": { + "cases": [ + "hf-load-export-all512experts", + "routes-replicated-8", + "full-chunk-reorder-8", + "routes-replicated-64", + "full-chunk-reorder-64", + "routes-replicated-256", + "full-chunk-reorder-256", + "routes-replicated-1024", + "full-chunk-reorder-1024", + "training-forward", + "all-parameter-gradient", + "replicated-router-gradient" + ], + "gradient_max_abs": { + "gate.weight": 1.9354047253727913e-09, + "experts.gate_up": 2.546585164964199e-09, + "experts.down": 5.296897143125534e-09, + "shared_expert.gate_proj.weight": 1.2665987014770508e-07, + "shared_expert.up_proj.weight": 2.644956111907959e-07, + "shared_expert.down_proj.weight": 2.998858690261841e-07, + "shared_expert_gate.weight": 5.513429641723633e-07 + }, + "forward_us": { + "8": 2206.4640522003174, + "64": 2399.104118347168, + "256": 1923.0719804763794, + "1024": 1855.455994606018 + } + } +} diff --git a/docs/usage/evidence/qwen3-next-rms-norm-b200/figure.png b/docs/usage/evidence/qwen3-next-rms-norm-b200/figure.png new file mode 100644 index 000000000..a408aff9c Binary files /dev/null and b/docs/usage/evidence/qwen3-next-rms-norm-b200/figure.png differ diff --git a/docs/usage/evidence/qwen3-next-rms-norm-b200/report.json b/docs/usage/evidence/qwen3-next-rms-norm-b200/report.json new file mode 100644 index 000000000..0fc8452ae --- /dev/null +++ b/docs/usage/evidence/qwen3-next-rms-norm-b200/report.json @@ -0,0 +1,225 @@ +{ + "kind": "qwen3_next_norm_evidence", + "rfc": "RL-Align/RL-Kernel#428", + "git_commit": "3d0bae7174c09a133ea1288d820b63e4a7db8f57", + "git_dirty": false, + "environment": { + "gpu": "NVIDIA B200", + "capability": [ + 10, + 0 + ], + "torch": "2.13.0+cu130", + "cuda": "13.0", + "python": "3.12.14", + "transformers": "5.17.0", + "vllm": "0.30.0", + "flashinfer": "0.6.18.post1" + }, + "hidden": 2048, + "eps": 1e-06, + "dtype": "bfloat16", + "ops": { + "zero_centred_rmsnorm": { + "accuracy": { + "257": { + "rl-kernel CUDA": { + "dx_max_abs_over_absmax": 0.002701418159021442, + "dweight_max_abs_over_absmax": 0.0023356239188215265, + "forward_max_abs": 0.01552825644384992, + "forward_correctly_rounded_fraction": 0.9999942779541016 + }, + "rl-kernel PyTorch reference": { + "dx_max_abs_over_absmax": 0.002701418159021442, + "dweight_max_abs_over_absmax": 0.0023356239188215265, + "forward_max_abs": 0.01552825644384992, + "forward_correctly_rounded_fraction": 0.9999905228614807 + }, + "transformers Qwen3NextRMSNorm": { + "dx_max_abs_over_absmax": 0.002701418159021442, + "dweight_max_abs_over_absmax": 0.0023356239188215265, + "forward_max_abs": 0.01552825644384992, + "forward_correctly_rounded_fraction": 0.9999905228614807 + }, + "vLLM GemmaRMSNorm (forward only)": { + "forward_max_abs": 0.01552825644384992, + "forward_correctly_rounded_fraction": 0.9999905228614807 + }, + "FlashInfer gemma_rmsnorm (forward only)": { + "forward_max_abs": 0.01552825644384992, + "forward_correctly_rounded_fraction": 0.9999886155128479 + } + }, + "4096": { + "rl-kernel CUDA": { + "dx_max_abs_over_absmax": 0.0027934846392837836, + "dweight_max_abs_over_absmax": 0.002058919545322908, + "forward_max_abs": 0.015599696412158082, + "forward_correctly_rounded_fraction": 0.999991774559021 + }, + "rl-kernel PyTorch reference": { + "dx_max_abs_over_absmax": 0.0027934846392837836, + "dweight_max_abs_over_absmax": 0.002058919545322908, + "forward_max_abs": 0.015599696412158082, + "forward_correctly_rounded_fraction": 0.9999927282333374 + }, + "transformers Qwen3NextRMSNorm": { + "dx_max_abs_over_absmax": 0.0027934846392837836, + "dweight_max_abs_over_absmax": 0.002058919545322908, + "forward_max_abs": 0.015599696412158082, + "forward_correctly_rounded_fraction": 0.9999921321868896 + }, + "vLLM GemmaRMSNorm (forward only)": { + "forward_max_abs": 0.015599696412158082, + "forward_correctly_rounded_fraction": 0.9999921321868896 + }, + "FlashInfer gemma_rmsnorm (forward only)": { + "forward_max_abs": 0.015599696412158082, + "forward_correctly_rounded_fraction": 0.999992847442627 + } + } + }, + "row_invariance": { + "rl-kernel CUDA": { + "rows_checked": 768, + "forward_rows_differing": 0, + "dx_rows_differing": 0, + "batch_rows": 4096, + "seeds": [ + 3, + 4, + 5 + ] + }, + "rl-kernel PyTorch reference": { + "rows_checked": 768, + "forward_rows_differing": 0, + "dx_rows_differing": 12, + "batch_rows": 4096, + "seeds": [ + 3, + 4, + 5 + ] + }, + "transformers Qwen3NextRMSNorm": { + "rows_checked": 768, + "forward_rows_differing": 2, + "dx_rows_differing": 11, + "batch_rows": 4096, + "seeds": [ + 3, + 4, + 5 + ] + }, + "vLLM GemmaRMSNorm (forward only)": { + "rows_checked": 768, + "forward_rows_differing": 2, + "dx_rows_differing": null, + "batch_rows": 4096, + "seeds": [ + 3, + 4, + 5 + ] + }, + "FlashInfer gemma_rmsnorm (forward only)": { + "rows_checked": 768, + "forward_rows_differing": 0, + "dx_rows_differing": null, + "batch_rows": 4096, + "seeds": [ + 3, + 4, + 5 + ] + } + }, + "latency": { + "rl-kernel CUDA": { + "1024": { + "forward_us": 24.70399998128414, + "backward_us": 568.7519907951355 + }, + "4096": { + "forward_us": 39.16800022125244, + "backward_us": 1259.3119740486145 + }, + "16384": { + "forward_us": 122.36800044775009, + "backward_us": 7879.024028778076 + }, + "65536": { + "forward_us": 425.80799758434296, + "backward_us": 30937.551498413086 + } + }, + "rl-kernel PyTorch reference": { + "1024": { + "forward_us": 70.54400071501732, + "backward_us": 644.7039842605591 + }, + "4096": { + "forward_us": 155.90400248765945, + "backward_us": 624.2719888687134 + }, + "16384": { + "forward_us": 577.5039792060852, + "backward_us": 986.7520034313202 + }, + "65536": { + "forward_us": 2148.0319499969482, + "backward_us": 2990.224003791809 + } + }, + "transformers Qwen3NextRMSNorm": { + "1024": { + "forward_us": 69.34399902820587, + "backward_us": 608.5599958896637 + }, + "4096": { + "forward_us": 117.3119992017746, + "backward_us": 606.3359975814819 + }, + "16384": { + "forward_us": 407.50400722026825, + "backward_us": 1027.888000011444 + }, + "65536": { + "forward_us": 1449.4240283966064, + "backward_us": 3144.6080207824707 + } + }, + "vLLM GemmaRMSNorm (forward only)": { + "1024": { + "forward_us": 65.61600044369698 + }, + "4096": { + "forward_us": 118.40000003576279 + }, + "16384": { + "forward_us": 405.90400993824005 + }, + "65536": { + "forward_us": 1449.6000409126282 + } + }, + "FlashInfer gemma_rmsnorm (forward only)": { + "1024": { + "forward_us": 14.448000118136406 + }, + "4096": { + "forward_us": 16.24000072479248 + }, + "16384": { + "forward_us": 32.207999378442764 + }, + "65536": { + "forward_us": 90.55999666452408 + } + } + } + } + } +} diff --git a/docs/usage/evidence/qwen3-next-rms-norm-gated-b200/figure-gated_rmsnorm.png b/docs/usage/evidence/qwen3-next-rms-norm-gated-b200/figure-gated_rmsnorm.png new file mode 100644 index 000000000..eaf59c418 Binary files /dev/null and b/docs/usage/evidence/qwen3-next-rms-norm-gated-b200/figure-gated_rmsnorm.png differ diff --git a/docs/usage/evidence/qwen3-next-rms-norm-gated-b200/figure-zero_centred_rmsnorm.png b/docs/usage/evidence/qwen3-next-rms-norm-gated-b200/figure-zero_centred_rmsnorm.png new file mode 100644 index 000000000..5cd70b5cf Binary files /dev/null and b/docs/usage/evidence/qwen3-next-rms-norm-gated-b200/figure-zero_centred_rmsnorm.png differ diff --git a/docs/usage/evidence/qwen3-next-rms-norm-gated-b200/report.json b/docs/usage/evidence/qwen3-next-rms-norm-gated-b200/report.json new file mode 100644 index 000000000..8a931b315 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-rms-norm-gated-b200/report.json @@ -0,0 +1,400 @@ +{ + "kind": "qwen3_next_norm_evidence", + "rfc": "RL-Align/RL-Kernel#428", + "git_commit": "822b085cd5b042661b2bda021414a2caa796bef0", + "git_dirty": false, + "environment": { + "gpu": "NVIDIA B200", + "capability": [ + 10, + 0 + ], + "torch": "2.13.0+cu130", + "cuda": "13.0", + "python": "3.12.14", + "transformers": "5.17.0", + "vllm": "0.30.0", + "flashinfer": "0.6.18.post1" + }, + "eps": 1e-06, + "dtype": "bfloat16", + "ops": { + "zero_centred_rmsnorm": { + "hidden": 2048, + "accuracy": { + "257": { + "rl-kernel CUDA": { + "dx_max_abs_over_absmax": 0.002701418159021442, + "dweight_max_abs_over_absmax": 0.0023356239188215265, + "forward_max_abs": 0.01552825644384992, + "forward_correctly_rounded_fraction": 0.9999942779541016 + }, + "rl-kernel PyTorch reference": { + "dx_max_abs_over_absmax": 0.002701418159021442, + "dweight_max_abs_over_absmax": 0.0023356239188215265, + "forward_max_abs": 0.01552825644384992, + "forward_correctly_rounded_fraction": 0.9999905228614807 + }, + "transformers Qwen3NextRMSNorm": { + "dx_max_abs_over_absmax": 0.002701418159021442, + "dweight_max_abs_over_absmax": 0.0023356239188215265, + "forward_max_abs": 0.01552825644384992, + "forward_correctly_rounded_fraction": 0.9999905228614807 + }, + "vLLM GemmaRMSNorm (forward only)": { + "forward_max_abs": 0.01552825644384992, + "forward_correctly_rounded_fraction": 0.9999905228614807 + }, + "FlashInfer gemma_rmsnorm (forward only)": { + "forward_max_abs": 0.01552825644384992, + "forward_correctly_rounded_fraction": 0.9999886155128479 + } + }, + "4096": { + "rl-kernel CUDA": { + "dx_max_abs_over_absmax": 0.0027934846392837836, + "dweight_max_abs_over_absmax": 0.002058919545322908, + "forward_max_abs": 0.015599696412158082, + "forward_correctly_rounded_fraction": 0.999991774559021 + }, + "rl-kernel PyTorch reference": { + "dx_max_abs_over_absmax": 0.0027934846392837836, + "dweight_max_abs_over_absmax": 0.002058919545322908, + "forward_max_abs": 0.015599696412158082, + "forward_correctly_rounded_fraction": 0.9999927282333374 + }, + "transformers Qwen3NextRMSNorm": { + "dx_max_abs_over_absmax": 0.0027934846392837836, + "dweight_max_abs_over_absmax": 0.002058919545322908, + "forward_max_abs": 0.015599696412158082, + "forward_correctly_rounded_fraction": 0.9999921321868896 + }, + "vLLM GemmaRMSNorm (forward only)": { + "forward_max_abs": 0.015599696412158082, + "forward_correctly_rounded_fraction": 0.9999921321868896 + }, + "FlashInfer gemma_rmsnorm (forward only)": { + "forward_max_abs": 0.015599696412158082, + "forward_correctly_rounded_fraction": 0.999992847442627 + } + } + }, + "row_invariance": { + "rl-kernel CUDA": { + "rows_checked": 768, + "forward_rows_differing": 0, + "dx_rows_differing": 0, + "batch_rows": 4096, + "seeds": [ + 3, + 4, + 5 + ] + }, + "rl-kernel PyTorch reference": { + "rows_checked": 768, + "forward_rows_differing": 0, + "dx_rows_differing": 12, + "batch_rows": 4096, + "seeds": [ + 3, + 4, + 5 + ] + }, + "transformers Qwen3NextRMSNorm": { + "rows_checked": 768, + "forward_rows_differing": 2, + "dx_rows_differing": 11, + "batch_rows": 4096, + "seeds": [ + 3, + 4, + 5 + ] + }, + "vLLM GemmaRMSNorm (forward only)": { + "rows_checked": 768, + "forward_rows_differing": 2, + "dx_rows_differing": null, + "batch_rows": 4096, + "seeds": [ + 3, + 4, + 5 + ] + }, + "FlashInfer gemma_rmsnorm (forward only)": { + "rows_checked": 768, + "forward_rows_differing": 0, + "dx_rows_differing": null, + "batch_rows": 4096, + "seeds": [ + 3, + 4, + 5 + ] + } + }, + "latency": { + "rl-kernel CUDA": { + "1024": { + "forward_us": 25.200000032782555, + "backward_us": 556.6880106925964 + }, + "4096": { + "forward_us": 39.503999054431915, + "backward_us": 1260.4320049285889 + }, + "16384": { + "forward_us": 122.41600081324577, + "backward_us": 7879.663944244385 + }, + "65536": { + "forward_us": 427.5680035352707, + "backward_us": 30925.631523132324 + } + }, + "rl-kernel PyTorch reference": { + "1024": { + "forward_us": 71.45600020885468, + "backward_us": 595.3599810600281 + }, + "4096": { + "forward_us": 156.92799538373947, + "backward_us": 537.9360020160675 + }, + "16384": { + "forward_us": 578.4800052642822, + "backward_us": 992.5920069217682 + }, + "65536": { + "forward_us": 2150.12788772583, + "backward_us": 2983.504056930542 + } + }, + "transformers Qwen3NextRMSNorm": { + "1024": { + "forward_us": 70.25599852204323, + "backward_us": 599.3280112743378 + }, + "4096": { + "forward_us": 118.12799796462059, + "backward_us": 541.1999821662903 + }, + "16384": { + "forward_us": 409.2479944229126, + "backward_us": 1025.5680084228516 + }, + "65536": { + "forward_us": 1452.351987361908, + "backward_us": 3140.112042427063 + } + }, + "vLLM GemmaRMSNorm (forward only)": { + "1024": { + "forward_us": 67.4239993095398 + }, + "4096": { + "forward_us": 119.00799721479416 + }, + "16384": { + "forward_us": 407.3439985513687 + }, + "65536": { + "forward_us": 1451.9200325012207 + } + }, + "FlashInfer gemma_rmsnorm (forward only)": { + "1024": { + "forward_us": 14.944000169634819 + }, + "4096": { + "forward_us": 17.008000053465366 + }, + "16384": { + "forward_us": 32.94399939477444 + }, + "65536": { + "forward_us": 90.43200314044952 + } + } + } + }, + "gated_rmsnorm": { + "hidden": 128, + "accuracy": { + "257": { + "rl-kernel CUDA": { + "dx_max_abs_over_absmax": 0.0018348192997423702, + "dweight_max_abs_over_absmax": 0.0021439847223899285, + "dgate_max_abs_over_absmax": 0.0027467772330278155, + "forward_max_abs": 0.01814649124332668, + "forward_correctly_rounded_fraction": 0.9999392032623291 + }, + "rl-kernel PyTorch reference": { + "dx_max_abs_over_absmax": 0.0018348192997423702, + "dweight_max_abs_over_absmax": 0.0021439847223899285, + "dgate_max_abs_over_absmax": 0.0027467772330278155, + "forward_max_abs": 0.01814649124332668, + "forward_correctly_rounded_fraction": 0.9999392032623291 + }, + "transformers Qwen3NextRMSNormGated (cast-first)": { + "dx_max_abs_over_absmax": 0.004283006956510838, + "dweight_max_abs_over_absmax": 0.0053612828842400685, + "dgate_max_abs_over_absmax": 0.004464247864523204, + "forward_max_abs": 0.041932799726739134, + "forward_correctly_rounded_fraction": 0.6546084880828857 + }, + "vLLM RMSNormGated (forward only)": { + "forward_max_abs": 0.01814649124332668, + "forward_correctly_rounded_fraction": 0.9999392032623291 + } + }, + "4096": { + "rl-kernel CUDA": { + "dx_max_abs_over_absmax": 0.0028905074752616756, + "dweight_max_abs_over_absmax": 0.0017551573197679504, + "dgate_max_abs_over_absmax": 0.002440494893713147, + "forward_max_abs": 0.028763107099734952, + "forward_correctly_rounded_fraction": 0.9999942779541016 + }, + "rl-kernel PyTorch reference": { + "dx_max_abs_over_absmax": 0.0028905074752616756, + "dweight_max_abs_over_absmax": 0.0017551573197679504, + "dgate_max_abs_over_absmax": 0.002440494893713147, + "forward_max_abs": 0.028763107099734952, + "forward_correctly_rounded_fraction": 0.9999942779541016 + }, + "transformers Qwen3NextRMSNormGated (cast-first)": { + "dx_max_abs_over_absmax": 0.006106839188157589, + "dweight_max_abs_over_absmax": 0.002835271706901685, + "dgate_max_abs_over_absmax": 0.003959744684751284, + "forward_max_abs": 0.06659807537061546, + "forward_correctly_rounded_fraction": 0.6562480926513672 + }, + "vLLM RMSNormGated (forward only)": { + "forward_max_abs": 0.028763107099734952, + "forward_correctly_rounded_fraction": 0.9999923706054688 + } + } + }, + "row_invariance": { + "rl-kernel CUDA": { + "rows_checked": 768, + "forward_rows_differing": 0, + "dx_rows_differing": 0, + "batch_rows": 4096, + "seeds": [ + 3, + 4, + 5 + ] + }, + "rl-kernel PyTorch reference": { + "rows_checked": 768, + "forward_rows_differing": 0, + "dx_rows_differing": 0, + "batch_rows": 4096, + "seeds": [ + 3, + 4, + 5 + ] + }, + "transformers Qwen3NextRMSNormGated (cast-first)": { + "rows_checked": 768, + "forward_rows_differing": 0, + "dx_rows_differing": 0, + "batch_rows": 4096, + "seeds": [ + 3, + 4, + 5 + ] + }, + "vLLM RMSNormGated (forward only)": { + "rows_checked": 768, + "forward_rows_differing": 0, + "dx_rows_differing": null, + "batch_rows": 4096, + "seeds": [ + 3, + 4, + 5 + ] + } + }, + "latency": { + "rl-kernel CUDA": { + "4096": { + "forward_us": 20.800000056624413, + "backward_us": 1269.7439789772034 + }, + "16384": { + "forward_us": 27.168000116944313, + "backward_us": 3861.135959625244 + }, + "65536": { + "forward_us": 64.00000303983688, + "backward_us": 14388.879776000977 + }, + "262144": { + "forward_us": 235.23200303316116, + "backward_us": 114274.65438842773 + } + }, + "rl-kernel PyTorch reference": { + "4096": { + "forward_us": 81.31200075149536, + "backward_us": 560.6080293655396 + }, + "16384": { + "forward_us": 89.72799777984619, + "backward_us": 550.2559840679169 + }, + "65536": { + "forward_us": 209.3760073184967, + "backward_us": 573.7600028514862 + }, + "262144": { + "forward_us": 774.8000025749207, + "backward_us": 1376.08003616333 + } + }, + "transformers Qwen3NextRMSNormGated (cast-first)": { + "4096": { + "forward_us": 90.01599997282028, + "backward_us": 577.888011932373 + }, + "16384": { + "forward_us": 91.80799871683121, + "backward_us": 601.1359989643097 + }, + "65536": { + "forward_us": 196.46400213241577, + "backward_us": 623.5039830207825 + }, + "262144": { + "forward_us": 697.2479820251465, + "backward_us": 1528.384029865265 + } + }, + "vLLM RMSNormGated (forward only)": { + "4096": { + "forward_us": 49.775999039411545 + }, + "16384": { + "forward_us": 51.024001091718674 + }, + "65536": { + "forward_us": 50.20799860358238 + }, + "262144": { + "forward_us": 81.4880020916462 + } + } + } + } + } +} diff --git a/docs/usage/evidence/qwen3-next-tp4-mixers-b200/README.md b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/README.md new file mode 100644 index 000000000..a21252c17 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/README.md @@ -0,0 +1,71 @@ +# Qwen3-Next TP4 mixers: real-weight gates and attention prior art (B200) + +| Directory | Measured at | Produced by | +| --- | --- | --- | +| `tp4-gdn/` | `9e6c4f2` | `torchrun --nproc-per-node 4 tools/validation/models/qwen3_next_tp_gdn_check.py --checkpoint --output tp4-gdn` | +| `tp4-attention/` | `9e6c4f2` | `torchrun --nproc-per-node 4 tools/validation/models/qwen3_next_tp_attention_check.py --checkpoint --output tp4-attention` | +| `tp4-moe/` | `9e6c4f2` | `TRITON_F32_DEFAULT=ieee torchrun --nproc-per-node 4 tools/validation/models/qwen3_next_tp_moe_check.py --checkpoint --output tp4-moe` | +| `attention/report.json`, `attention/figure.png` | `703c6dc` | two processes, then `tools/validation/models/plot_qwen3_next_attention_prior_art.py attention/report.json` (see below) | + +Every file records its commit and `tracked_tree_dirty: false`; each run used a +clean clone with its own `rl_engine._C` built in place, on B200 GPUs (driver +580.126.20), torch 2.13.0+cu130, vLLM 0.30.0, NCCL 2.29.7. `` is the +official `Qwen/Qwen3-Next-80B-A3B-Instruct` revision +`9c7f2fbe84465e40164a94cc16cd30b6999b0cc7`: the GDN and MoE gates read layer 0, +the attention gate layer 3. `703c6dc` adds only the attention prior-art runner +and plot on top of `9e6c4f2` (and the MoE evidence merge). + +In the job that ran the gates, the mixer GPU checks +(`tests/check_qwen3_next_{attention,gdn_bridge,gdn_sequence,conv_bridge,core_matrix,shared_core,forward}.py`) +and the CPU tests passed together (123 tests); `tests/integrations/common/test_framework_operator_integrations.py`, +collected into the same process after vLLM was imported, failed as it must and +passes in its own process. The existing attention suites +(`test_deterministic_attention_cuda`, `test_attention`, `test_attention_correctness`, +`test_kv_cache_attention`, `test_attention_contract`, `test_attention_dispatch`) +gave 766 passed and the two `test_attention_dispatch` failures that `main` also has. + +## Attention prior-art report + +One TP4 rank of Qwen3-Next full attention: 4 query heads, 1 KV head, D=256, +scale 1/16, causal. A 1000-token target sequence is computed alone and in a +batch with sequences of 777, 1500 and 64 tokens (first and last); +`prefill_decode_bitwise` compares the last 64 rows and the last row computed +against the full KV with the same rows of the full prefill; +`backward_batch_bitwise` compares the target's dq/dk/dv computed alone with the +same sequence packed first and last among the companions (one launch where the +engine has a packed backward). Accuracy is against FP64; latencies are CUDA-event medians with +the candidate order reversed every iteration. + +The report was produced in two processes of the same job and merged: + +```bash +python tools/validation/models/qwen3_next_attention_prior_art.py \ + --only rl_kernel_cuda,torch_sdpa,vllm_fa2_auto,vllm_fa2_split1,vllm_triton_2d,flashinfer,fa4_cute,te_training,megatron_local \ + --out report-main.json +python tools/validation/models/qwen3_next_attention_prior_art.py --only te_fused --merge report-main.json --out report.json +``` + +Both run in the training environment (vLLM 0.30.0, Megatron-core 0.16.0rc0, +Transformer Engine 2.16.1, cuDNN 9.20) with `CUDNN_HOME` pointing at the +`nvidia-cudnn-cu13` wheel. Notes on the engines added in this revision: + +- **FlashAttention-4** is the CuTe-DSL build vendored by vLLM + (`vllm.vllm_flash_attn.cute`), varlen forward and its default backward. Its + `deterministic=True` backward asserts for head dim 256 on SM100. +- **Transformer Engine**: with cuDNN 9.20 on SM100, TE offers its fused cuDNN + backend for head dim 256 only in inference mode; in training mode it selects + the unfused PyTorch fallback (`NVTE_DEBUG=1` shows the selection). Both are + measured. The unfused fallback raises a shape error when the query is shorter + than the KV (`padding_causal_bottom_right`, THD), recorded as + `prefill_decode_failed`. `NVTE_ALLOW_NONDETERMINISTIC_ALGO` only affects the + fused backward, which does not exist here, so it is not a separate row. +- The fused TE row runs in its own process because cudnn-frontend's runtime + loader refuses to start when both `libcudart.so.12` and `libcudart.so.13` + can be `dlopen`ed, and the compute nodes' system image provides a CUDA 12 + runtime next to the CUDA 13 one this stack uses. That process had a + non-loadable `libcudart.so.12` stub first on `LD_LIBRARY_PATH`; only + `libcudart.so.13` was loaded in either process. Its latencies come from that + process, not interleaved with the other candidates. +- **Megatron-core**'s own `DotProductAttention` (not the TE extension) has no + packed-sequence path, so it runs one launch per sequence with a bottom-right + causal mask; its batch invariance follows from that. diff --git a/docs/usage/evidence/qwen3-next-tp4-mixers-b200/attention/figure.png b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/attention/figure.png new file mode 100644 index 000000000..cb0c65b02 Binary files /dev/null and b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/attention/figure.png differ diff --git a/docs/usage/evidence/qwen3-next-tp4-mixers-b200/attention/report.json b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/attention/report.json new file mode 100644 index 000000000..3d55ea2aa --- /dev/null +++ b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/attention/report.json @@ -0,0 +1,346 @@ +{ + "kind": "qwen3_next_prior_art_report", + "rfc": 428, + "rl_kernel_commit": "703c6dca23da2f42b288fefe70f2073ef6a97986", + "tracked_tree_dirty": false, + "environment": { + "gpu": "NVIDIA B200", + "torch": "2.13.0+cu130", + "cuda": "13.0", + "libraries": { + "vllm": "0.30.0", + "flashinfer-python": "0.6.18.post1", + "transformers": "5.17.0", + "triton": "3.7.1", + "sglang": null, + "megatron-core": "0.16.0rc0", + "megatron_core": "0.16.0rc0", + "transformer_engine": "2.16.1+c9877beb", + "vime": "0.3.2" + } + }, + "op": "qwen3_next_tp4_attention", + "shape": { + "q_heads": 4, + "kv_heads": 1, + "head_dim": 256, + "scale": 0.0625 + }, + "target_tokens": 1000, + "companion_tokens": [ + 777, + 1500, + 64 + ], + "candidates": [ + { + "key": "rl_kernel_cuda", + "name": "RL-Kernel deterministic attention (one launch per sequence)", + "source": "rl_engine.integrations.qwen3_next_forward.shared_attention", + "batch_bitwise": { + "first": true, + "last": true + }, + "prefill_decode_bitwise": { + "last_64": true, + "last_1": true + }, + "repeatable": true, + "backward_batch_bitwise": { + "dq": true, + "dk": true, + "dv": true + }, + "accuracy": { + "rel_l2_vs_fp64": 0.0016090058011337504, + "max_abs_vs_fp64": 0.0066821561991154965 + }, + "batch_invariant": true + }, + { + "key": "torch_sdpa", + "name": "torch SDPA (default backend, one launch per sequence)", + "source": "torch 2.13.0+cu130 scaled_dot_product_attention", + "batch_bitwise": { + "first": true, + "last": true + }, + "prefill_decode_bitwise": { + "last_64": false, + "last_1": false + }, + "repeatable": true, + "backward_batch_bitwise": { + "dq": false, + "dk": true, + "dv": true + }, + "accuracy": { + "rel_l2_vs_fp64": 0.0019992834566479067, + "max_abs_vs_fp64": 0.0066821561991154965 + }, + "batch_invariant": false + }, + { + "key": "vllm_fa2_auto", + "name": "vLLM FlashAttention-2 varlen, num_splits=0", + "source": "vllm 0.30.0 vllm_flash_attn.flash_attn_varlen_func", + "batch_bitwise": { + "first": true, + "last": true + }, + "prefill_decode_bitwise": { + "last_64": true, + "last_1": false + }, + "repeatable": true, + "accuracy": { + "rel_l2_vs_fp64": 0.0020096983122931318, + "max_abs_vs_fp64": 0.0066821561991154965 + }, + "batch_invariant": false + }, + { + "key": "vllm_fa2_split1", + "name": "vLLM FlashAttention-2 varlen, num_splits=1", + "source": "vllm 0.30.0 vllm_flash_attn.flash_attn_varlen_func", + "batch_bitwise": { + "first": true, + "last": true + }, + "prefill_decode_bitwise": { + "last_64": true, + "last_1": true + }, + "repeatable": true, + "accuracy": { + "rel_l2_vs_fp64": 0.0020096983122931318, + "max_abs_vs_fp64": 0.0066821561991154965 + }, + "batch_invariant": true + }, + { + "key": "vllm_triton_2d", + "name": "vLLM Triton unified attention (2D kernel)", + "source": "vllm 0.30.0 v1/attention/ops/triton_unified_attention", + "batch_bitwise": { + "first": true, + "last": true + }, + "prefill_decode_bitwise": { + "last_64": true, + "last_1": false + }, + "repeatable": true, + "accuracy": { + "rel_l2_vs_fp64": 0.002021002108737795, + "max_abs_vs_fp64": 0.0066821561991154965 + }, + "batch_invariant": false + }, + { + "key": "flashinfer", + "name": "FlashInfer BatchPrefillWithRaggedKVCache", + "source": "flashinfer 0.6.18.post1", + "batch_bitwise": { + "first": false, + "last": false + }, + "prefill_decode_bitwise": { + "last_64": false, + "last_1": false + }, + "repeatable": true, + "accuracy": { + "rel_l2_vs_fp64": 0.002146056864137061, + "max_abs_vs_fp64": 0.0066821561991154965 + }, + "batch_invariant": false + }, + { + "key": "fa4_cute", + "name": "FlashAttention-4 (CuTe DSL) varlen, vendored by vLLM", + "source": "vllm 0.30.0 vllm_flash_attn/cute (its head-dim-256 SM100 backward has no deterministic mode)", + "batch_bitwise": { + "first": true, + "last": true + }, + "prefill_decode_bitwise": { + "last_64": true, + "last_1": true + }, + "repeatable": true, + "backward_batch_bitwise": { + "dq": true, + "dk": true, + "dv": true + }, + "accuracy": { + "rel_l2_vs_fp64": 0.0020224522459116262, + "max_abs_vs_fp64": 0.0066821561991154965 + }, + "batch_invariant": true + }, + { + "key": "te_training", + "name": "Transformer Engine DotProductAttention (THD), training: unfused fallback", + "source": "transformer-engine 2.16.1+c9877beb (selected for head-dim-256 training on SM100)", + "batch_bitwise": { + "first": false, + "last": false + }, + "prefill_decode_failed": "RuntimeError: The size of tensor a (1000) must match the size of tensor b (64) at non-singleton dimension 3", + "prefill_decode_bitwise": { + "last_64": false, + "last_1": false + }, + "repeatable": true, + "backward_batch_bitwise": { + "dq": false, + "dk": false, + "dv": false + }, + "accuracy": { + "rel_l2_vs_fp64": 0.003577689514635195, + "max_abs_vs_fp64": 0.012889566535712937 + }, + "batch_invariant": false + }, + { + "key": "megatron_local", + "name": "Megatron-core DotProductAttention (local, one launch per sequence)", + "source": "megatron-core 0.16.0rc0", + "batch_bitwise": { + "first": true, + "last": true + }, + "prefill_decode_bitwise": { + "last_64": true, + "last_1": true + }, + "repeatable": true, + "backward_batch_bitwise": { + "dq": true, + "dk": true, + "dv": true + }, + "accuracy": { + "rel_l2_vs_fp64": 0.003577688032086663, + "max_abs_vs_fp64": 0.012889566535712937 + }, + "batch_invariant": true + }, + { + "key": "te_fused", + "name": "Transformer Engine DotProductAttention (THD), inference: cuDNN fused", + "source": "transformer-engine 2.16.1+c9877beb (no fused head-dim-256 backward on SM100)", + "batch_bitwise": { + "first": true, + "last": true + }, + "prefill_decode_bitwise": { + "last_64": true, + "last_1": true + }, + "repeatable": true, + "accuracy": { + "rel_l2_vs_fp64": 0.002051519013469327, + "max_abs_vs_fp64": 0.0066821561991154965 + }, + "batch_invariant": true + } + ], + "latency": { + "prefill_us": { + "512": { + "rl_kernel_cuda": 725.02401471138, + "torch_sdpa": 66.0800002515316, + "vllm_fa2_auto": 118.46399679780006, + "vllm_fa2_split1": 118.71999874711037, + "vllm_triton_2d": 263.88800144195557, + "flashinfer": 237.88800090551376, + "fa4_cute": 210.09600162506104, + "te_training": 2039.6959781646729, + "megatron_local": 324.5760053396225, + "te_fused": 336.70400083065033 + }, + "2048": { + "rl_kernel_cuda": 10141.616344451904, + "torch_sdpa": 115.9840002655983, + "vllm_fa2_auto": 152.8479978442192, + "vllm_fa2_split1": 156.78400546312332, + "vllm_triton_2d": 324.6240019798279, + "flashinfer": 293.16800832748413, + "fa4_cute": 211.31199598312378, + "te_training": 5458.016157150269, + "megatron_local": 320.8480030298233, + "te_fused": 323.0559974908829 + }, + "8192": { + "rl_kernel_cuda": 159770.19500732422, + "torch_sdpa": 607.344001531601, + "vllm_fa2_auto": 661.2959802150726, + "vllm_fa2_split1": 657.3439836502075, + "vllm_triton_2d": 1134.160041809082, + "flashinfer": 764.3359899520874, + "fa4_cute": 312.0640069246292, + "te_training": 22656.047821044922, + "megatron_local": 3245.0079917907715, + "te_fused": 612.496018409729 + } + }, + "decode_us_kv8192": { + "rl_kernel_cuda": 757.8720152378082, + "torch_sdpa": 314.2559975385666, + "vllm_fa2_auto": 164.39999639987946, + "vllm_fa2_split1": 336.4799916744232, + "vllm_triton_2d": 564.3199980258942, + "flashinfer": 235.24799942970276, + "fa4_cute": 256.49599730968475, + "te_training": 4540.832042694092, + "megatron_local": 304.56000566482544, + "te_fused": 443.83999705314636 + }, + "forward_plus_backward_us_2048": { + "rl_kernel_cuda": 25026.527404785156, + "torch_sdpa": 741.6639924049377, + "fa4_cute": 912.8959774971008, + "te_training": 10321.47216796875, + "megatron_local": 1336.4800214767456 + } + }, + "environments": { + "main": { + "gpu": "NVIDIA B200", + "torch": "2.13.0+cu130", + "cuda": "13.0", + "libraries": { + "vllm": "0.30.0", + "flashinfer-python": "0.6.18.post1", + "transformers": "5.17.0", + "triton": "3.7.1", + "sglang": null, + "megatron-core": "0.16.0rc0", + "megatron_core": "0.16.0rc0", + "transformer_engine": "2.16.1+c9877beb", + "vime": "0.3.2" + } + }, + "extra": { + "gpu": "NVIDIA B200", + "torch": "2.13.0+cu130", + "cuda": "13.0", + "libraries": { + "vllm": "0.30.0", + "flashinfer-python": "0.6.18.post1", + "transformers": "5.17.0", + "triton": "3.7.1", + "sglang": null, + "megatron-core": "0.16.0rc0", + "megatron_core": "0.16.0rc0", + "transformer_engine": "2.16.1+c9877beb", + "vime": "0.3.2" + } + } + } +} diff --git a/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-attention/rank-0.json b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-attention/rank-0.json new file mode 100644 index 000000000..457309564 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-attention/rank-0.json @@ -0,0 +1,36 @@ +{ + "status": "passed", + "scope": "tp4_full_attention_layer3", + "rank": 0, + "rl_kernel_commit": "9e6c4f24ce4b5e8888650e1062922711dbe565e0", + "tracked_tree_dirty": false, + "provider": "qwen3-next-shared-cuda-forward-v1", + "environment": { + "gpu": "NVIDIA B200", + "torch": "2.13.0+cu130", + "vllm": "0.30.0", + "nccl": "2.29.7" + }, + "attention": { + "cases": [ + "hf-load-export", + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "batch4-varlen-reorder", + "sixteen-token-decode", + "prompt-gradient", + "kv-pair-gradient", + "qk-norm-gradient" + ], + "gradient_max_abs": { + "q_proj.weight": 7.748603820800781e-06, + "k_proj.weight": 1.52587890625e-05, + "v_proj.weight": 3.075599670410156e-05, + "o_proj.weight": 1.2099742889404297e-05, + "q_norm.weight": 1.8835067749023438e-05, + "k_norm.weight": 1.8715858459472656e-05 + } + } +} diff --git a/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-attention/rank-1.json b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-attention/rank-1.json new file mode 100644 index 000000000..c8b9c07a5 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-attention/rank-1.json @@ -0,0 +1,36 @@ +{ + "status": "passed", + "scope": "tp4_full_attention_layer3", + "rank": 1, + "rl_kernel_commit": "9e6c4f24ce4b5e8888650e1062922711dbe565e0", + "tracked_tree_dirty": false, + "provider": "qwen3-next-shared-cuda-forward-v1", + "environment": { + "gpu": "NVIDIA B200", + "torch": "2.13.0+cu130", + "vllm": "0.30.0", + "nccl": "2.29.7" + }, + "attention": { + "cases": [ + "hf-load-export", + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "batch4-varlen-reorder", + "sixteen-token-decode", + "prompt-gradient", + "kv-pair-gradient", + "qk-norm-gradient" + ], + "gradient_max_abs": { + "q_proj.weight": 8.761882781982422e-06, + "k_proj.weight": 1.52587890625e-05, + "v_proj.weight": 3.075599670410156e-05, + "o_proj.weight": 1.2099742889404297e-05, + "q_norm.weight": 1.8835067749023438e-05, + "k_norm.weight": 1.8715858459472656e-05 + } + } +} diff --git a/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-attention/rank-2.json b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-attention/rank-2.json new file mode 100644 index 000000000..db5ec61cb --- /dev/null +++ b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-attention/rank-2.json @@ -0,0 +1,36 @@ +{ + "status": "passed", + "scope": "tp4_full_attention_layer3", + "rank": 2, + "rl_kernel_commit": "9e6c4f24ce4b5e8888650e1062922711dbe565e0", + "tracked_tree_dirty": false, + "provider": "qwen3-next-shared-cuda-forward-v1", + "environment": { + "gpu": "NVIDIA B200", + "torch": "2.13.0+cu130", + "vllm": "0.30.0", + "nccl": "2.29.7" + }, + "attention": { + "cases": [ + "hf-load-export", + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "batch4-varlen-reorder", + "sixteen-token-decode", + "prompt-gradient", + "kv-pair-gradient", + "qk-norm-gradient" + ], + "gradient_max_abs": { + "q_proj.weight": 1.633167266845703e-05, + "k_proj.weight": 2.1338462829589844e-05, + "v_proj.weight": 2.3126602172851562e-05, + "o_proj.weight": 2.2292137145996094e-05, + "q_norm.weight": 1.8835067749023438e-05, + "k_norm.weight": 1.8715858459472656e-05 + } + } +} diff --git a/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-attention/rank-3.json b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-attention/rank-3.json new file mode 100644 index 000000000..5ee714ab1 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-attention/rank-3.json @@ -0,0 +1,36 @@ +{ + "status": "passed", + "scope": "tp4_full_attention_layer3", + "rank": 3, + "rl_kernel_commit": "9e6c4f24ce4b5e8888650e1062922711dbe565e0", + "tracked_tree_dirty": false, + "provider": "qwen3-next-shared-cuda-forward-v1", + "environment": { + "gpu": "NVIDIA B200", + "torch": "2.13.0+cu130", + "vllm": "0.30.0", + "nccl": "2.29.7" + }, + "attention": { + "cases": [ + "hf-load-export", + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "batch4-varlen-reorder", + "sixteen-token-decode", + "prompt-gradient", + "kv-pair-gradient", + "qk-norm-gradient" + ], + "gradient_max_abs": { + "q_proj.weight": 1.2993812561035156e-05, + "k_proj.weight": 2.1338462829589844e-05, + "v_proj.weight": 2.3126602172851562e-05, + "o_proj.weight": 9.894371032714844e-06, + "q_norm.weight": 1.8835067749023438e-05, + "k_norm.weight": 1.8715858459472656e-05 + } + } +} diff --git a/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-gdn/rank-0.json b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-gdn/rank-0.json new file mode 100644 index 000000000..2e2501dfb --- /dev/null +++ b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-gdn/rank-0.json @@ -0,0 +1,32 @@ +{ + "status": "passed", + "scope": "tp4_gdn_layer0", + "rank": 0, + "rl_kernel_commit": "9e6c4f24ce4b5e8888650e1062922711dbe565e0", + "tracked_tree_dirty": false, + "provider": "qwen3-next-shared-cuda-forward-v1", + "environment": { + "gpu": "NVIDIA B200", + "torch": "2.13.0+cu130", + "vllm": "0.30.0", + "nccl": "2.29.7" + }, + "cases": [ + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "prompt-gradient", + "replicated-norm-gradient", + "hf-load-export" + ], + "gradient_max_abs": { + "A_log": 4.462208380573429e-12, + "dt_bias": 3.595346242946107e-12, + "in_proj_qkvz.weight": 6.948539521545172e-10, + "in_proj_ba.weight": 3.6834535421803594e-11, + "conv1d.weight": 3.128661774098873e-09, + "norm.weight": 3.91155481338501e-08, + "out_proj.weight": 3.255991032347083e-10 + } +} diff --git a/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-gdn/rank-1.json b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-gdn/rank-1.json new file mode 100644 index 000000000..33bda4b32 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-gdn/rank-1.json @@ -0,0 +1,32 @@ +{ + "status": "passed", + "scope": "tp4_gdn_layer0", + "rank": 1, + "rl_kernel_commit": "9e6c4f24ce4b5e8888650e1062922711dbe565e0", + "tracked_tree_dirty": false, + "provider": "qwen3-next-shared-cuda-forward-v1", + "environment": { + "gpu": "NVIDIA B200", + "torch": "2.13.0+cu130", + "vllm": "0.30.0", + "nccl": "2.29.7" + }, + "cases": [ + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "prompt-gradient", + "replicated-norm-gradient", + "hf-load-export" + ], + "gradient_max_abs": { + "A_log": 1.0550138540565968e-10, + "dt_bias": 9.458744898438454e-11, + "in_proj_qkvz.weight": 3.055902197957039e-10, + "in_proj_ba.weight": 3.296918293926865e-11, + "conv1d.weight": 9.19681042432785e-09, + "norm.weight": 3.91155481338501e-08, + "out_proj.weight": 1.8553691916167736e-10 + } +} diff --git a/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-gdn/rank-2.json b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-gdn/rank-2.json new file mode 100644 index 000000000..c3d11374b --- /dev/null +++ b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-gdn/rank-2.json @@ -0,0 +1,32 @@ +{ + "status": "passed", + "scope": "tp4_gdn_layer0", + "rank": 2, + "rl_kernel_commit": "9e6c4f24ce4b5e8888650e1062922711dbe565e0", + "tracked_tree_dirty": false, + "provider": "qwen3-next-shared-cuda-forward-v1", + "environment": { + "gpu": "NVIDIA B200", + "torch": "2.13.0+cu130", + "vllm": "0.30.0", + "nccl": "2.29.7" + }, + "cases": [ + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "prompt-gradient", + "replicated-norm-gradient", + "hf-load-export" + ], + "gradient_max_abs": { + "A_log": 3.1377567211166024e-11, + "dt_bias": 3.069544618483633e-11, + "in_proj_qkvz.weight": 1.1714291758835316e-09, + "in_proj_ba.weight": 6.184563972055912e-11, + "conv1d.weight": 6.111804395914078e-09, + "norm.weight": 3.91155481338501e-08, + "out_proj.weight": 4.092726157978177e-10 + } +} diff --git a/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-gdn/rank-3.json b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-gdn/rank-3.json new file mode 100644 index 000000000..c036f11fe --- /dev/null +++ b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-gdn/rank-3.json @@ -0,0 +1,32 @@ +{ + "status": "passed", + "scope": "tp4_gdn_layer0", + "rank": 3, + "rl_kernel_commit": "9e6c4f24ce4b5e8888650e1062922711dbe565e0", + "tracked_tree_dirty": false, + "provider": "qwen3-next-shared-cuda-forward-v1", + "environment": { + "gpu": "NVIDIA B200", + "torch": "2.13.0+cu130", + "vllm": "0.30.0", + "nccl": "2.29.7" + }, + "cases": [ + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "prompt-gradient", + "replicated-norm-gradient", + "hf-load-export" + ], + "gradient_max_abs": { + "A_log": 8.094502845779061e-11, + "dt_bias": 7.958078640513122e-11, + "in_proj_qkvz.weight": 5.784386303275824e-10, + "in_proj_ba.weight": 3.979039320256561e-11, + "conv1d.weight": 5.093170329928398e-09, + "norm.weight": 3.91155481338501e-08, + "out_proj.weight": 3.67435859516263e-10 + } +} diff --git a/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-moe/rank-0.json b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-moe/rank-0.json new file mode 100644 index 000000000..0fd10fafa --- /dev/null +++ b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-moe/rank-0.json @@ -0,0 +1,45 @@ +{ + "status": "passed", + "scope": "tp4_moe_block_layer0", + "rank": 0, + "rl_kernel_commit": "9e6c4f24ce4b5e8888650e1062922711dbe565e0", + "tracked_tree_dirty": false, + "provider": "qwen3-next-shared-cuda-forward-v1", + "environment": { + "gpu": "NVIDIA B200", + "torch": "2.13.0+cu130", + "vllm": "0.30.0", + "nccl": "2.29.7" + }, + "moe": { + "cases": [ + "hf-load-export-all512experts", + "routes-replicated-8", + "full-chunk-reorder-8", + "routes-replicated-64", + "full-chunk-reorder-64", + "routes-replicated-256", + "full-chunk-reorder-256", + "routes-replicated-1024", + "full-chunk-reorder-1024", + "training-forward", + "all-parameter-gradient", + "replicated-router-gradient" + ], + "gradient_max_abs": { + "gate.weight": 1.9354047253727913e-09, + "experts.gate_up": 4.598405212163925e-09, + "experts.down": 7.8580342233181e-09, + "shared_expert.gate_proj.weight": 2.5890767574310303e-07, + "shared_expert.up_proj.weight": 4.3585896492004395e-07, + "shared_expert.down_proj.weight": 2.9243528842926025e-07, + "shared_expert_gate.weight": 5.513429641723633e-07 + }, + "forward_us": { + "8": 2407.167911529541, + "64": 2413.5360717773438, + "256": 1934.4639778137207, + "1024": 1961.6639614105225 + } + } +} diff --git a/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-moe/rank-1.json b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-moe/rank-1.json new file mode 100644 index 000000000..651abe983 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-moe/rank-1.json @@ -0,0 +1,45 @@ +{ + "status": "passed", + "scope": "tp4_moe_block_layer0", + "rank": 1, + "rl_kernel_commit": "9e6c4f24ce4b5e8888650e1062922711dbe565e0", + "tracked_tree_dirty": false, + "provider": "qwen3-next-shared-cuda-forward-v1", + "environment": { + "gpu": "NVIDIA B200", + "torch": "2.13.0+cu130", + "vllm": "0.30.0", + "nccl": "2.29.7" + }, + "moe": { + "cases": [ + "hf-load-export-all512experts", + "routes-replicated-8", + "full-chunk-reorder-8", + "routes-replicated-64", + "full-chunk-reorder-64", + "routes-replicated-256", + "full-chunk-reorder-256", + "routes-replicated-1024", + "full-chunk-reorder-1024", + "training-forward", + "all-parameter-gradient", + "replicated-router-gradient" + ], + "gradient_max_abs": { + "gate.weight": 1.9354047253727913e-09, + "experts.gate_up": 2.240994945168495e-09, + "experts.down": 5.558831617236137e-09, + "shared_expert.gate_proj.weight": 3.129243850708008e-07, + "shared_expert.up_proj.weight": 3.725290298461914e-07, + "shared_expert.down_proj.weight": 4.6938657760620117e-07, + "shared_expert_gate.weight": 5.513429641723633e-07 + }, + "forward_us": { + "8": 2461.6639614105225, + "64": 2415.616035461426, + "256": 2299.391984939575, + "1024": 1961.9840383529663 + } + } +} diff --git a/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-moe/rank-2.json b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-moe/rank-2.json new file mode 100644 index 000000000..012e811d9 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-moe/rank-2.json @@ -0,0 +1,45 @@ +{ + "status": "passed", + "scope": "tp4_moe_block_layer0", + "rank": 2, + "rl_kernel_commit": "9e6c4f24ce4b5e8888650e1062922711dbe565e0", + "tracked_tree_dirty": false, + "provider": "qwen3-next-shared-cuda-forward-v1", + "environment": { + "gpu": "NVIDIA B200", + "torch": "2.13.0+cu130", + "vllm": "0.30.0", + "nccl": "2.29.7" + }, + "moe": { + "cases": [ + "hf-load-export-all512experts", + "routes-replicated-8", + "full-chunk-reorder-8", + "routes-replicated-64", + "full-chunk-reorder-64", + "routes-replicated-256", + "full-chunk-reorder-256", + "routes-replicated-1024", + "full-chunk-reorder-1024", + "training-forward", + "all-parameter-gradient", + "replicated-router-gradient" + ], + "gradient_max_abs": { + "gate.weight": 1.9354047253727913e-09, + "experts.gate_up": 2.0227162167429924e-09, + "experts.down": 5.122274160385132e-09, + "shared_expert.gate_proj.weight": 2.337619662284851e-07, + "shared_expert.up_proj.weight": 3.9674341678619385e-07, + "shared_expert.down_proj.weight": 2.384185791015625e-07, + "shared_expert_gate.weight": 5.513429641723633e-07 + }, + "forward_us": { + "8": 2433.2799911499023, + "64": 2415.7440662384033, + "256": 2286.144018173218, + "1024": 1964.0640020370483 + } + } +} diff --git a/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-moe/rank-3.json b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-moe/rank-3.json new file mode 100644 index 000000000..44189b0c3 --- /dev/null +++ b/docs/usage/evidence/qwen3-next-tp4-mixers-b200/tp4-moe/rank-3.json @@ -0,0 +1,45 @@ +{ + "status": "passed", + "scope": "tp4_moe_block_layer0", + "rank": 3, + "rl_kernel_commit": "9e6c4f24ce4b5e8888650e1062922711dbe565e0", + "tracked_tree_dirty": false, + "provider": "qwen3-next-shared-cuda-forward-v1", + "environment": { + "gpu": "NVIDIA B200", + "torch": "2.13.0+cu130", + "vllm": "0.30.0", + "nccl": "2.29.7" + }, + "moe": { + "cases": [ + "hf-load-export-all512experts", + "routes-replicated-8", + "full-chunk-reorder-8", + "routes-replicated-64", + "full-chunk-reorder-64", + "routes-replicated-256", + "full-chunk-reorder-256", + "routes-replicated-1024", + "full-chunk-reorder-1024", + "training-forward", + "all-parameter-gradient", + "replicated-router-gradient" + ], + "gradient_max_abs": { + "gate.weight": 1.9354047253727913e-09, + "experts.gate_up": 2.546585164964199e-09, + "experts.down": 5.296897143125534e-09, + "shared_expert.gate_proj.weight": 1.2665987014770508e-07, + "shared_expert.up_proj.weight": 2.644956111907959e-07, + "shared_expert.down_proj.weight": 2.998858690261841e-07, + "shared_expert_gate.weight": 5.513429641723633e-07 + }, + "forward_us": { + "8": 2456.5439224243164, + "64": 2408.4479808807373, + "256": 2331.712007522583, + "1024": 1955.8720588684082 + } + } +} diff --git a/docs/usage/qwen3-next-chain.md b/docs/usage/qwen3-next-chain.md new file mode 100644 index 000000000..c5d5801aa --- /dev/null +++ b/docs/usage/qwen3-next-chain.md @@ -0,0 +1,88 @@ +# Qwen3-Next full-model chain (RFC #428 `full_model_chain`) + +The chain checks, bitwise, that Qwen3-Next-80B-A3B-Instruct gives the same +response tokens, BF16 logits and FP32 selected logprobs in rollout (native vLLM +prefill and decode) and in replay (VIME/Megatron recompute), on the pinned +weights and again after two optimizer updates and a checkpoint reload. When a +case differs, the report names the first layer, the sub-node inside it and its +layer family. + +## Requirements + +* One node with four B200 GPUs, TP4 x EP1 (all 512 experts on every rank). +* The audited runtime: CUDA 13.0.88, torch 2.13.0+cu130, vLLM 0.30.0, Triton + 3.7.1, transformers 5.17.0 (`pip install -e ".[qwen3-next]"`), plus VIME and + its patched Megatron-LM in the same virtual environment for the replay and + training stages. The environment is fingerprinted at the start of every run; + installing anything into it between stages invalidates the chain. +* The official checkpoint `Qwen/Qwen3-Next-80B-A3B-Instruct`, revision + `9c7f2fbe84465e40164a94cc16cd30b6999b0cc7`; every shard is hashed before the + first model load. +* Host memory: 256 GB for preflight, 512 GB for `layers`/`l2`, 1.28 TB for the + training stages (`--memory` declares what the allocation grants), and shared + storage for the training checkpoints (about 1.1 TB each) and HF exports. + +## Running + +Inside an allocation with four GPUs, from a clean checkout of the commit to measure: + +```bash +python tools/validation/models/qwen3_next_run.py --stage all \ + --runs-root --checkpoint --cuda-home \ + --python /bin/python --until l2 +python tools/validation/models/qwen3_next_run.py --stage all --from train1 --until train2 \ + --previous /<...-l2-...> \ + --runs-root --checkpoint --cuda-home --python /bin/python +python tools/validation/models/qwen3_next_run.py --stage train --previous /<...-train2-...> \ + --runs-root --checkpoint --cuda-home --python /bin/python +``` + +Each stage gets its own run directory with a clean clone of the commit, an +immutable `run.json` (identified by a fresh `execution_id`) and, once it +passes, a validated `result.json`; a later stage refuses a predecessor that +did not pass or that pins a different source, environment, checkpoint, +provider or topology identity. + +| Stage | What it checks | Typical time | +| --- | --- | --- | +| `preflight` | environment and versions, the mandatory operator cases (`rl_engine/validation/models/qwen3_next_operator_cases.json`) and norm C3/C4 gates, multi-GPU device guards, a four-rank TP probe, checkpoint hashes, a vLLM rollout smoke | 15 min | +| `layers` | the real-weight TP4 gates (GDN, attention, MoE, GDN engine adapters, embedding/LM head) and the native scheduler on 16 cases; certifies the shared provider profile | 25 min | +| `l2` | 16 cases (prompt 8/64/256/1024 x batch 1/4 x full/chunked prefill, 16 response tokens): rollout vs replay, raw bits, plus every layer and sub-node digest | 30 min | +| `train1`, `train2` | one optimizer update each, checkpoint, HF export, L2 on the exported weights | 3-4 h each | +| `train` | reload, L2, continuous and resumed step-3 controls, checkpoint fault injection | 4 h | + +## Reports + +```bash +python tools/validation/models/qwen3_next_chain_report.py --last /<...-train-...> --out chain-report.json +bash ci/scripts/run_qwen3_next_chain_gate.sh chain-report.json +python tools/validation/models/qwen3_next_publish_evidence.py --last /<...-train-...> \ + --chain-report chain-report.json --out docs/usage/evidence/qwen3-next-chain- +``` + +`chain-report.json` has every field of the Qwen3-8B chain gate's report +(`rl_engine.validation.models.chain_gate.ChainGateReport`, schema `ws1-c10-c11-v5`) +with `schema_version: qwen3-next-chain-v1`; each case at each weight version is +a cell, and rollout/replay logits and logprobs are compared with +`atol = rtol = 0`. A failing chain reports `first_drift` in the dense form +`layer23.router:rollout->recompute`, plus `first_drift_layer`, +`first_drift_family` (`embedding`, `norm`, `gdn`, `full_attention`, `moe` or +`lm_head_logprob`) and `first_drift_cell`. + +The sub-nodes are observed at the same five points of every decoder layer in +both engines (`rl_engine/models/qwen3_next/qwen3_next_subnode.py`): the normed +mixer input, the mixer output, the normed MLP input, the ten selected expert +ids and the MoE output, plus the embedding once per model. + +`tools/validation/models/qwen3_next_publish_evidence.py` copies the stage records and the +report, replaces site paths, host and user names with placeholders, refuses to +publish if any survive, and writes `SHA256SUMS`. + +## Checks outside the default CPU suite + +`tests/models/qwen3_next/check_qwen3_next_*.py` import vLLM and run in the self-hosted +`Qwen3-Next-provider-GPU` workflow and in `preflight`. +`tests/models/qwen3_next/check_qwen3_next_vime_weight_hooks.py`, +`tests/models/qwen3_next/test_qwen3_next_training_checkpoint.py` and +`tests/models/qwen3_next/test_qwen3_next_vllm_attention_metadata.py` need the training +environment (VIME, Megatron) and run there. diff --git a/pyproject.toml b/pyproject.toml index 207606282..457685c48 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,7 +18,7 @@ dependencies = [ "tabulate", "numpy", "accelerate", - "transformers==5.13.1", + "transformers>=5.13.1,<=5.17.0", ] [project.scripts] @@ -33,6 +33,14 @@ rl_kernel = "rl_engine.integrations.engines.rollout.vllm.runtime:register_vllm_p cuda = ["flashinfer-python>=0.6.0,<0.7", "nvidia-ml-py"] rocm = ["aiter"] vllm = ["vllm>=0.6.0"] +# The audited Qwen3-Next runtime (RFC #428): every provider check pins these. +qwen3-next = [ + "torch==2.13.0", + "transformers==5.17.0", + "vllm==0.30.0", + "triton==3.7.1", + "flashinfer-python==0.6.18.post1", +] drift-viewer = ["Pillow>=10", "PySide6>=6.6"] dev = ["pytest", "black", "isort", "ruff", "mypy", "pre-commit"] diff --git a/rl_engine/_C.pyi b/rl_engine/_C.pyi index fb3c4379c..c0f9cb02c 100644 --- a/rl_engine/_C.pyi +++ b/rl_engine/_C.pyi @@ -256,16 +256,38 @@ def swiglu_backward( gate: torch.Tensor, up: torch.Tensor, ) -> list[torch.Tensor]: ... + +rmsnorm_api_version: int + def rmsnorm_forward( x: torch.Tensor, weight: torch.Tensor, eps: float, + weight_offset: float = ..., ) -> list[torch.Tensor]: ... def rmsnorm_backward_dx( dy: torch.Tensor, x: torch.Tensor, weight: torch.Tensor, rstd: torch.Tensor, + weight_offset: float = ..., +) -> torch.Tensor: ... +def rmsnorm_gated_forward( + x: torch.Tensor, + weight: torch.Tensor, + gate: torch.Tensor, + eps: float, + weight_offset: float = ..., + activation: int = ..., +) -> list[torch.Tensor]: ... +def rmsnorm_gated_backward_dx( + dy: torch.Tensor, + x: torch.Tensor, + weight: torch.Tensor, + gate: torch.Tensor, + rstd: torch.Tensor, + weight_offset: float = ..., + activation: int = ..., ) -> torch.Tensor: ... def rmsnorm_backward_dw( dy: torch.Tensor, diff --git a/rl_engine/backends/cuda/attention/deterministic_attn.py b/rl_engine/backends/cuda/attention/deterministic_attn.py index 2873c0c8e..8b6d9fc4c 100644 --- a/rl_engine/backends/cuda/attention/deterministic_attn.py +++ b/rl_engine/backends/cuda/attention/deterministic_attn.py @@ -27,8 +27,8 @@ ) from rl_engine.utils.logger import logger -_HEAD_DIM = 128 _IS_ROCM = torch.version.hip is not None +_HEAD_DIMS = (128,) if _IS_ROCM else (128, 256) _GPU_PLATFORM = "ROCm" if _IS_ROCM else "CUDA" @@ -201,8 +201,10 @@ def _validate_inputs( f"k/v shape mismatch: k={tuple(k.shape)}, v={tuple(v.shape)}, " f"expected k/v [B={b}, Hkv, Skv, D={d}]" ) - if d != _HEAD_DIM: - raise ValueError(f"head dim D must be {_HEAD_DIM}, got {d}") + if d not in _HEAD_DIMS: + raise ValueError(f"head dim D must be one of {_HEAD_DIMS}, got {d}") + if b < 1 or hq < 1 or hkv < 1: + raise ValueError("batch size and query/key head counts must be positive") if hq % hkv != 0: raise ValueError(f"Hq={hq} not divisible by Hkv={hkv} (GQA group)") if q.dtype not in (torch.float16, torch.bfloat16): @@ -211,7 +213,11 @@ def _validate_inputs( raise ValueError("q, k, v must share the same dtype") if not (q.is_cuda and k.is_cuda and v.is_cuda): raise ValueError("q, k, v must be GPU tensors") + if not (q.device == k.device == v.device): + raise ValueError("q, k, v must be on the same device") if key_padding_mask is not None: + if key_padding_mask.device != q.device: + raise ValueError("key_padding_mask must be on the input device") if key_padding_mask.dtype != torch.bool: raise ValueError("key_padding_mask must be bool") if key_padding_mask.shape != (b, skv): diff --git a/rl_engine/backends/cuda/norm/rmsnorm.py b/rl_engine/backends/cuda/norm/rmsnorm.py index ec3c65f77..60cdbffd3 100644 --- a/rl_engine/backends/cuda/norm/rmsnorm.py +++ b/rl_engine/backends/cuda/norm/rmsnorm.py @@ -4,9 +4,21 @@ from rl_engine.ops.autograd.backward_runtime import record_backward from rl_engine.ops.autograd.vjp_fp32 import reduce_rows_fp32, rmsnorm_dweight_rows_fp32 +_RMSNORM_API_VERSION = 2 -def _require_cuda_symbols(what: str, *names: str) -> None: - """Raise when the compiled kernels backing ``what`` are missing. + +def _fold_dweight_rows(rows: torch.Tensor, dtype: torch.dtype) -> torch.Tensor: + """The single left-fold entrypoint for this backend's dweight reductions. + + Both the plain and the gated backward route through here so the file keeps + one auditable reduction path; the ascending-row fp32 fold is what makes + dweight independent of the batch layout. + """ + return reduce_rows_fp32(rows).to(dtype) + + +def _require_cuda_rmsnorm() -> None: + """Raise when the compiled RMSNorm bindings are missing or incompatible. The registry treats a backend whose construction raises as unavailable and falls through to the next candidate, so calling this from ``__init__`` is @@ -15,13 +27,21 @@ def _require_cuda_symbols(what: str, *names: str) -> None: activation ops. """ if not _EXT_AVAILABLE or _C is None: - raise RuntimeError(f"{what} requires the compiled rl_engine._C extension.") + raise RuntimeError("CUDA RMSNorm requires the compiled rl_engine._C extension.") + names = ("rmsnorm_forward", "rmsnorm_backward_dx") missing = [name for name in names if not hasattr(_C, name)] if missing: raise RuntimeError( - f"{what} symbols ({', '.join(missing)}) are not compiled into _C. " + f"CUDA RMSNorm symbols ({', '.join(missing)}) are not compiled into _C. " "Rebuild the extension with csrc/cuda/norm/rmsnorm.cu." ) + api_version = getattr(_C, "rmsnorm_api_version", None) + if api_version != _RMSNORM_API_VERSION: + raise RuntimeError( + f"CUDA RMSNorm requires rl_engine._C RMSNorm API version {_RMSNORM_API_VERSION} " + f"(loaded {api_version!r}). Rebuild the extension with csrc/cuda/norm/rmsnorm.cu " + "for weight_offset support." + ) class RMSNormCuda(torch.autograd.Function): @@ -30,20 +50,23 @@ class RMSNormCuda(torch.autograd.Function): """ @staticmethod - def forward(ctx, x, weight, mask=None, eps=1e-6): + def forward(ctx, x, weight, mask=None, eps=1e-6, weight_offset=0.0): """ Forward: - y = x * rsqrt(mean(x^2) + eps) * weight + y = x * rsqrt(mean(x^2) + eps) * (weight_offset + weight) Input: x: [T, H], fp16/bf16/fp32 CUDA tensor weight: [H], fp16/bf16/fp32 CUDA tensor mask: [T], bool CUDA tensor eps: float + weight_offset: float, added to weight in fp32 inside the kernel. + 1.0 selects the zero-centred (1 + w) convention. Output: y: [T, H] """ + _require_cuda_rmsnorm() assert x.is_cuda, "x must be CUDA tensor" assert weight.is_cuda, "weight must be CUDA tensor" assert x.is_contiguous(), "x must be contiguous" @@ -51,10 +74,6 @@ def forward(ctx, x, weight, mask=None, eps=1e-6): assert x.dim() == 2, "x must be [T, H]" assert weight.dim() == 1, "weight must be [H]" assert x.shape[1] == weight.shape[0], "hidden size mismatch" - assert _EXT_AVAILABLE and hasattr( - _C, "rmsnorm_forward" - ), "RMSNorm CUDA extension is unavailable. Please rebuild with rmsnorm.cu." - if mask is None: mask = torch.ones((x.shape[0],), device=x.device, dtype=torch.bool) else: @@ -64,10 +83,11 @@ def forward(ctx, x, weight, mask=None, eps=1e-6): assert mask.dim() == 1, "mask must be [T]" assert mask.shape[0] == x.shape[0], "mask length mismatch" - y, rstd = _C.rmsnorm_forward(x, weight, float(eps)) + y, rstd = _C.rmsnorm_forward(x, weight, float(eps), float(weight_offset)) ctx.save_for_backward(x, weight, rstd, mask) ctx.eps = eps + ctx.weight_offset = float(weight_offset) return y @@ -81,7 +101,7 @@ def backward(ctx, grad_out): x, weight, rstd, mask = ctx.saved_tensors dy = grad_out.contiguous() - dx = _C.rmsnorm_backward_dx(dy, x, weight, rstd) + dx = _C.rmsnorm_backward_dx(dy, x, weight, rstd, ctx.weight_offset) # The shape-independent FP32 left fold preserves the C2 Batch/Chunk # reduction order while the CUDA reducer executes it in one launch. @@ -89,7 +109,7 @@ def backward(ctx, grad_out): # Multiplication is part of the pre-existing mask contract, including # IEEE propagation for non-finite inactive contributions. rows = rows * mask.to(dtype=rows.dtype).unsqueeze(-1) - dw = reduce_rows_fp32(rows).to(weight.dtype) + dw = _fold_dweight_rows(rows, weight.dtype) record_backward( "rms_norm", kernel_id=( @@ -101,16 +121,18 @@ def backward(ctx, grad_out): family="cuda", ) - return dx, dw, None, None + # dw is unchanged by the offset: d/dw (offset + w) == d/dw w. + return dx, dw, None, None, None -def rmsnorm_cuda(x, weight, eps=1e-6, mask=None): +def rmsnorm_cuda(x, weight, eps=1e-6, mask=None, weight_offset=0.0): """ use: y = rmsnorm_cuda(x, weight) y = rmsnorm_cuda(x, weight, mask=mask) + y = rmsnorm_cuda(x, weight, weight_offset=1.0) # zero-centred weight """ - return RMSNormCuda.apply(x, weight, mask, eps) + return RMSNormCuda.apply(x, weight, mask, eps, weight_offset) class RMSNormCudaOp: @@ -119,11 +141,11 @@ class RMSNormCudaOp: backward_impl = "cuda_rmsnorm_dx_declared_fp32_rowfold_dw" def __init__(self) -> None: - _require_cuda_symbols( - "CUDA RMSNorm", - "rmsnorm_forward", - "rmsnorm_backward_dx", - ) + _require_cuda_rmsnorm() + + #: Added to the weight in fp32 inside the kernel. Subclasses override it; + #: 0.0 is the plain convention. + weight_offset = 0.0 def __call__(self, x, weight, *, eps=1e-6): return self.forward(x, weight, eps=eps) @@ -131,12 +153,236 @@ def __call__(self, x, weight, *, eps=1e-6): def forward(self, x, weight, *, eps=1e-6): hidden = x.shape[-1] x_2d = x.contiguous().view(-1, hidden) - y_2d = rmsnorm_cuda(x_2d, weight.contiguous(), eps=eps) + y_2d = rmsnorm_cuda(x_2d, weight.contiguous(), eps=eps, weight_offset=self.weight_offset) return y_2d.view_as(x) def parameter_vjp_contributions_fp32(self, *, x, weight, grad_output, eps=1e-6): - del weight - x32 = x.float() - rstd = torch.rsqrt(x32.square().mean(dim=-1) + float(eps)) - rows = grad_output.float() * x32 * rstd.unsqueeze(-1) + hidden = x.shape[-1] + # Only `rstd` is used, and it does not depend on the offset; the offset is + # passed so this is the same call the forward makes, not because it matters. + _, rstd = _C.rmsnorm_forward( + x.contiguous().reshape(-1, hidden), + weight.contiguous(), + float(eps), + float(self.weight_offset), + ) + rows = rmsnorm_dweight_rows_fp32(x, grad_output, rstd=rstd.reshape(x.shape[:-1])) + return {"weight": rows} + + +class Qwen3NextRMSNormCudaOp(RMSNormCudaOp): + """Zero-centred CUDA RMSNorm: ``y = x * rstd * (1 + weight)``. + + The decoder and final norms of Qwen3-Next (and Gemma) store a zero-centred + weight. The ``+1`` is applied inside the kernel after the fp32 upcast, so it + is never rounded through the low-precision weight dtype. + """ + + weight_offset = 1.0 + + +# --------------------------------------------------------------------------- # +# Gated RMSNorm (Qwen3-Next GDN block) +# --------------------------------------------------------------------------- # + + +def _require_cuda_symbols(what: str, *names: str) -> None: + """Raise when the compiled kernels backing ``what`` are missing. + + The registry treats a backend whose construction raises as unavailable and + falls through, so calling this from ``__init__`` is what lets a CUDA-first + priority list degrade to the PyTorch reference on a build without the + extension. Mirrors ``_require_cuda_activation`` in the activation ops. + """ + if not _EXT_AVAILABLE or _C is None: + raise RuntimeError(f"{what} requires the compiled rl_engine._C extension.") + missing = [name for name in names if not hasattr(_C, name)] + if missing: + raise RuntimeError( + f"{what} symbols ({', '.join(missing)}) are not compiled into _C. " + "Rebuild the extension with csrc/cuda/norm/rmsnorm.cu." + ) + + +#: Gate activations understood by the CUDA kernel, in binding order. ``swish`` is +#: an alias for ``silu``, as in vLLM's GDN block, which maps ``output_gate_type`` +#: "swish" to "silu" before constructing ``RMSNormGated``. +_GATE_ACTIVATIONS = {"silu": 0, "swish": 0, "sigmoid": 1} + + +def _check_gate_activation(activation: str) -> int: + if activation not in _GATE_ACTIVATIONS: + raise ValueError( + f"activation must be one of {sorted(_GATE_ACTIVATIONS)}, got {activation!r}" + ) + return _GATE_ACTIVATIONS[activation] + + +def _gate_activation_fp32(gate: torch.Tensor, activation: int) -> torch.Tensor: + """act(gate) in fp32, matching the kernel's ``gate_activation``.""" + gate32 = gate.float() + return torch.nn.functional.silu(gate32) if activation == 0 else torch.sigmoid(gate32) + + +def _gate_activation_grad_fp32(gate: torch.Tensor, activation: int) -> torch.Tensor: + """d act(gate) / d gate in fp32, matching ``gate_activation_grad``.""" + gate32 = gate.float() + sigma = torch.sigmoid(gate32) + if activation == 0: + return sigma * (1.0 + gate32 * (1.0 - sigma)) + return sigma * (1.0 - sigma) + + +class RMSNormGatedCuda(torch.autograd.Function): + """Autograd wrapper for the gated CUDA RMSNorm. + + Forward is the fused kernel. Backward is assembled from deterministic + pieces: ``dx`` from a row-local CUDA kernel, ``dweight`` from fp32 row + contributions reduced by the ascending-row left fold, and ``dgate`` purely + elementwise in fp32 (no reduction, so batch invariance is trivial). + """ + + @staticmethod + def forward(ctx, x, weight, gate, eps=1e-6, weight_offset=0.0, activation=0): + """ + Forward: + y = x * rsqrt(mean(x^2) + eps) * (weight_offset + weight) * act(gate) + + Input: + x, gate: [T, H], fp16/bf16/fp32 CUDA tensors of matching dtype + weight: [H] + activation: 0 = silu/swish, 1 = sigmoid + """ + assert x.is_cuda and weight.is_cuda and gate.is_cuda, "inputs must be CUDA tensors" + assert x.is_contiguous() and weight.is_contiguous() and gate.is_contiguous() + assert x.dim() == 2, "x must be [T, H]" + assert weight.dim() == 1, "weight must be [H]" + assert gate.shape == x.shape, "gate must match x" + assert _EXT_AVAILABLE and hasattr( + _C, "rmsnorm_gated_forward" + ), "Gated RMSNorm CUDA extension is unavailable. Rebuild with csrc/cuda/norm/rmsnorm.cu." + + y, rstd = _C.rmsnorm_gated_forward( + x, weight, gate, float(eps), float(weight_offset), int(activation) + ) + + ctx.save_for_backward(x, weight, gate, rstd) + ctx.eps = eps + ctx.weight_offset = float(weight_offset) + ctx.activation = int(activation) + + return y + + @staticmethod + def backward(ctx, grad_out): + x, weight, gate, rstd = ctx.saved_tensors + dy = grad_out.contiguous() + act = ctx.activation + + dx = _C.rmsnorm_gated_backward_dx(dy, x, weight, gate, rstd, ctx.weight_offset, act) + + # dweight: the gate is a per-element constant here, so the ungated row + # contributions apply once dy carries act(gate). + gate_act = _gate_activation_fp32(gate, act) + rows = rmsnorm_dweight_rows_fp32(x, dy.float() * gate_act, rstd=rstd) + dw = _fold_dweight_rows(rows, weight.dtype) + + # dgate: row-local and reduction-free. + normed = x.float() * rstd.unsqueeze(-1) + # Same guard as the kernels: an unconditional `+ 0.0` turns -0.0 weights into +0.0. + scale = weight.float() + if ctx.weight_offset != 0.0: + scale = scale + ctx.weight_offset + dgate = (dy.float() * normed * scale * _gate_activation_grad_fp32(gate, act)).to(gate.dtype) + + record_backward( + "rms_norm_gated", + kernel_id=( + "rl_engine._C.rmsnorm_gated_backward_dx" + "+rl_engine.ops.autograd.vjp_fp32.rmsnorm_dweight_rows_fp32" + "+rl_engine.ops.autograd.vjp_fp32.reduce_rows_fp32" + ), + impl="cuda_rmsnorm_gated_dx_declared_fp32_rowfold_dw", + family="cuda", + ) + + return dx, dw, dgate, None, None, None + + +def rmsnorm_gated_cuda(x, weight, gate, eps=1e-6, weight_offset=0.0, activation="silu"): + """ + use: + y = rmsnorm_gated_cuda(x, weight, gate) + y = rmsnorm_gated_cuda(x, weight, gate, activation="sigmoid") + """ + act = _check_gate_activation(activation) + return RMSNormGatedCuda.apply(x, weight, gate, eps, weight_offset, act) + + +class Qwen3NextRMSNormGatedCudaOp: + """CUDA gated RMSNorm for the Qwen3-Next GDN block. + + Deliberately not a subclass of :class:`RMSNormCudaOp`: it takes an extra + required tensor, so it cannot stand in for one. + + ``out = x * rstd * weight * silu(gate)``, every multiply in fp32 with a + single cast at the store. The weight is plain, not zero-centred, matching + vLLM's ``RMSNormGated`` with ``norm_before_gate=True`` and ``group_size=None`` + -- which is how the GDN block constructs it. The op has no ``norm_before_gate`` + or ``group_size`` parameter, so other configurations are not implemented. + + ``activation`` is fixed at construction; the registry constructs the + released config's ``"silu"``. + """ + + backward_impl = "cuda_rmsnorm_gated_dx_declared_fp32_rowfold_dw" + + #: The gated weight is plain; kept as an attribute so the surface matches + #: the ungated op and a zero-centred variant stays one subclass away. + weight_offset = 0.0 + + def __init__(self, activation: str = "silu") -> None: + _check_gate_activation(activation) + self.activation = activation + _require_cuda_symbols( + "Gated CUDA RMSNorm", "rmsnorm_gated_forward", "rmsnorm_gated_backward_dx" + ) + + def __call__(self, x, weight, gate, *, eps=1e-6): + return self.forward(x, weight, gate, eps=eps) + + def forward(self, x, weight, gate, *, eps=1e-6): + if gate.shape != x.shape: + raise ValueError(f"gate must match x, got {tuple(gate.shape)} vs {tuple(x.shape)}") + hidden = x.shape[-1] + x_2d = x.contiguous().view(-1, hidden) + gate_2d = gate.contiguous().view(-1, hidden) + y_2d = rmsnorm_gated_cuda( + x_2d, + weight.contiguous(), + gate_2d, + eps=eps, + weight_offset=self.weight_offset, + activation=self.activation, + ) + return y_2d.view_as(x) + + def parameter_vjp_contributions_fp32(self, *, x, weight, gate, grad_output, eps=1e-6): + if gate.shape != x.shape: + raise ValueError(f"gate must match x, got {tuple(gate.shape)} vs {tuple(x.shape)}") + hidden = x.shape[-1] + act = _GATE_ACTIVATIONS[self.activation] + _, rstd = _C.rmsnorm_gated_forward( + x.contiguous().reshape(-1, hidden), + weight.contiguous(), + gate.contiguous().reshape(-1, hidden), + float(eps), + float(self.weight_offset), + act, + ) + rows = rmsnorm_dweight_rows_fp32( + x, + grad_output.float() * _gate_activation_fp32(gate, act), + rstd=rstd.reshape(x.shape[:-1]), + ) return {"weight": rows} diff --git a/rl_engine/config/workload.py b/rl_engine/config/workload.py index 69b21c20f..79f93208a 100644 --- a/rl_engine/config/workload.py +++ b/rl_engine/config/workload.py @@ -264,10 +264,30 @@ def load_manifest(path: str | Path | None = None) -> WS1Manifest: raw = json.load(fh) if not isinstance(raw, dict): raise WorkloadError("manifest root must be a JSON object") - validate_manifest(raw) + if raw.get("scope") == "qwen3_next_norm_operators": + from rl_engine.validation.models.qwen3_next_workload import validate_norm_manifest + + validate_norm_manifest(raw) + else: + validate_manifest(raw) return WS1Manifest(raw=raw, path=manifest_path) +def workload_report(manifest: WS1Manifest) -> dict[str, Any]: + """The ``workload`` block the C3/C4 gate scripts attach to their JSON report. + + ``full_model_evidence`` is whatever the manifest declares, and ``None`` when + it declares nothing. + """ + return { + "workload_id": manifest.workload_id, + "scope": manifest.raw.get("scope", "qwen3_8b_dense"), + "fixture_identity_sha256": manifest.raw["fixture_identity_sha256"], + "model_id": manifest.model_identity["model_id"], + "full_model_evidence": manifest.raw.get("full_model_evidence"), + } + + def validate_manifest(raw: Mapping[str, Any]) -> None: """Hard-fail if any required C2 pin is missing or inconsistent.""" missing = [k for k in _REQUIRED_TOP_LEVEL if k not in raw] @@ -292,20 +312,25 @@ def validate_manifest(raw: Mapping[str, Any]) -> None: ) -def _validate_model_identity(identity: Mapping[str, Any]) -> None: +def _validate_model_identity( + identity: Mapping[str, Any], + *, + fingerprint: Mapping[str, Any] = _OFFICIAL_FINGERPRINT, + model_label: str = "Qwen3-8B Dense", +) -> None: for key in ("model_id", "revision", "config_fingerprint", "weight_snapshot"): if key not in identity: raise WorkloadError(f"model_identity missing {key!r}") fp = identity["config_fingerprint"] if not isinstance(fp, Mapping): raise WorkloadError("config_fingerprint must be an object") - for key, expected in _OFFICIAL_FINGERPRINT.items(): + for key, expected in fingerprint.items(): if key not in fp: raise WorkloadError(f"config_fingerprint missing {key!r}") if fp[key] != expected: raise WorkloadError( f"config_fingerprint {key}={fp[key]!r} does not match official " - f"Qwen3-8B Dense pin {expected!r}; architecture shrink is forbidden" + f"{model_label} pin {expected!r}; architecture shrink is forbidden" ) if not identity.get("exit_forbids_architecture_shrink", False): raise WorkloadError("exit_forbids_architecture_shrink must be true") diff --git a/rl_engine/integrations/common/qwen3_next_binary.py b/rl_engine/integrations/common/qwen3_next_binary.py new file mode 100644 index 000000000..e883959af --- /dev/null +++ b/rl_engine/integrations/common/qwen3_next_binary.py @@ -0,0 +1,71 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Identity of the native provider actually imported by a model worker.""" + +import hashlib +import importlib +import importlib.machinery +import os +import re +from pathlib import Path + + +def validate_provider_identity(identity): + """Validate serialized execution evidence without importing GPU code.""" + if ( + not isinstance(identity, dict) + or set(identity) != {"module", "path", "sha256"} + or identity["module"] != "rl_engine._C" + or not isinstance(identity["path"], str) + or not Path(identity["path"]).is_absolute() + or not isinstance(identity["sha256"], str) + or re.fullmatch(r"[0-9a-f]{64}", identity["sha256"]) is None + ): + raise ValueError("Provider binary evidence must identify the actual native rl_engine._C") + return dict(identity) + + +def imported_provider_identity(): + """Really import the extension, hash its current bytes, and reject fallbacks. + + Call at worker initialization and on both sides of each case. No cached file + digest can hide a replacement made between cases or while a case executes. + """ + try: + module = importlib.import_module("rl_engine._C") + except (ImportError, OSError) as error: + raise RuntimeError( + "The required native rl_engine._C provider cannot be imported" + ) from error + spec = getattr(module, "__spec__", None) + filename = getattr(module, "__file__", None) + if ( + getattr(module, "__name__", None) != "rl_engine._C" + or not isinstance(getattr(spec, "loader", None), importlib.machinery.ExtensionFileLoader) + or not isinstance(filename, str) + or not isinstance(getattr(spec, "origin", None), str) + or not any(filename.endswith(suffix) for suffix in importlib.machinery.EXTENSION_SUFFIXES) + ): + raise RuntimeError( + "rl_engine._C is not an imported native extension; fallback is forbidden" + ) + path = Path(filename).resolve(strict=True) + if Path(spec.origin).resolve(strict=True) != path: + raise RuntimeError("Provider module file and import origin disagree") + digest = hashlib.sha256() + with path.open("rb") as stream: + before = os.fstat(stream.fileno()) + for chunk in iter(lambda: stream.read(8 * 1024 * 1024), b""): + digest.update(chunk) + after = os.fstat(stream.fileno()) + + # Detect replacement of the pathname as well as writes to the opened file. + def fingerprint(stat): + return (stat.st_dev, stat.st_ino, stat.st_size, stat.st_mtime_ns, stat.st_ctime_ns) + + if fingerprint(before) != fingerprint(after) or fingerprint(after) != fingerprint(path.stat()): + raise RuntimeError("Provider binary changed while its content identity was being recorded") + return validate_provider_identity( + {"module": "rl_engine._C", "path": str(path), "sha256": digest.hexdigest()} + ) diff --git a/rl_engine/integrations/engines/rollout/vllm/qwen3_next_native_rollout.py b/rl_engine/integrations/engines/rollout/vllm/qwen3_next_native_rollout.py new file mode 100644 index 000000000..3e0dbda76 --- /dev/null +++ b/rl_engine/integrations/engines/rollout/vllm/qwen3_next_native_rollout.py @@ -0,0 +1,796 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Actual vLLM scheduler rollout, with raw shared-provider L2 observations. + +Qualification leaves backend capabilities closed; certified execution requires +the source/environment-bound profile certificate. The scheduler audits actual decisions; +configuration hints alone are never reported as executed prefill chunks. +""" + +import gc +import hashlib +import os +from pathlib import Path + +import torch +from vllm.v1.core.sched.interface import PauseState +from vllm.v1.core.sched.scheduler import Scheduler +from vllm.v1.sample.logits_processor import AdapterLogitsProcessor + +from rl_engine.integrations.common.qwen3_next_binary import ( + imported_provider_identity, + validate_provider_identity, +) +from rl_engine.models.qwen3_next import qwen3_next_subnode as subnode +from rl_engine.validation.common.tensor_identity import assert_tensor_bitwise_equal as exact +from rl_engine.validation.models.qwen3_next_l2 import ( + embedding_digest, + json_digest, + layer_digest, + load_tensor_artifact, + save_tensor_artifact, + validate_debug_capture, + validate_model_artifact, +) + +NATIVE_ROLLOUT_PROFILE = { + # Caps, not schedules: ExactPrefillScheduler fixes every step's chunks. They + # are sized so up to 64 concurrent requests fit one certified profile. + "kv_cache_memory_bytes_per_gpu": 4 << 30, + "max_model_len": 1040, + "max_num_seqs": 64, + "max_num_batched_tokens": 16384, + "scheduler": ( + "rl_engine.integrations.engines.rollout.vllm.qwen3_next_native_rollout" + ".ExactPrefillScheduler" + ), + "async_scheduling": False, + "prefix_caching": False, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32", + "model_runner": "v1", +} + + +def capabilities(): + return { + "rollout": True, + "debug_layers": True, + "architecture_layers": 48, + "tp": 4, + "batched_cases": True, + "native_scheduler": True, + "scheduler_batch_invariance_verified": False, + "full_model_l2_verified": False, + } + + +def runtime_profile(config): + scheduler = config.scheduler_config.scheduler_cls + if isinstance(scheduler, type): + scheduler = scheduler.__module__ + "." + scheduler.__qualname__ + actual = { + "kv_cache_memory_bytes_per_gpu": config.cache_config.kv_cache_memory_bytes, + "max_model_len": config.model_config.max_model_len, + "max_num_seqs": config.scheduler_config.max_num_seqs, + "max_num_batched_tokens": config.scheduler_config.max_num_batched_tokens, + "scheduler": scheduler, + "async_scheduling": config.scheduler_config.async_scheduling, + "prefix_caching": config.cache_config.enable_prefix_caching, + "weights_dtype": str(config.model_config.dtype).removeprefix("torch."), + "recurrent_state_dtype": config.cache_config.mamba_ssm_cache_dtype, + "model_runner": "v2" if config.use_v2_model_runner else "v1", + } + if actual != NATIVE_ROLLOUT_PROFILE: + raise ValueError(f"Native runtime changed the explicit rollout profile: {actual}") + return actual + + +def validate_request(request): + if request.get("role") != "rollout" or request.get("schema_version") != 1: + raise ValueError("A version1 rollout request is required") + digest_input = {key: value for key, value in request.items() if key != "request_sha256"} + if json_digest(digest_input) != request.get("request_sha256"): + raise ValueError("Rollout request identity mismatch") + prompts, samples = request["prompt_tokens"], request["sample_ids"] + batch = len(prompts) + if ( + batch not in (1, 4) + or len(samples) != batch + or any(type(sample) is not int for sample in samples) + or len(set(samples)) != batch + ): + raise ValueError("Rollout requires one or four uniquely identified samples") + length = len(prompts[0]) + if length not in (8, 64, 256, 1024) or any(len(row) != length for row in prompts): + raise ValueError("Rollout prompts must use one official matrix length") + responses = request["response_tokens"] + for rows in (prompts, responses or []): + if any(type(token) is not int or not 0 <= token < 151936 for row in rows for token in row): + raise ValueError("Rollout tokens must be integers in the official vocabulary") + if responses is not None and ( + len(responses) != batch or any(len(row) != 16 for row in responses) + ): + raise ValueError("Frozen responses must have exactly sixteen tokens per sample") + chunks = request["prefill_chunks"] + if ( + not chunks + or any(type(value) is not int or value <= 0 for value in chunks) + or sum(chunks) != length + ): + raise ValueError("Exact positive prefill chunks must cover the prompt") + expected_execution = { + "rollout_mode": "autoregressive", + "prefill_chunks": chunks, + "response_mode": "generate" if responses is None else "teacher_forced", + } + if ( + request["execution"] != expected_execution + or request["response_length"] != 16 + or request["vocab_size"] != 151936 + or request["logits_dtype"] != "bfloat16" + or request["logprobs_dtype"] != "float32" + or request["prediction_positions"] != list(range(length - 1, length + 15)) + or request["consumed_response_tokens"] != 15 + or request["state_position"] != length + 14 + or request["required_layer_digests"] != list(range(48)) + or request["generation"] + != {"temperature": 0.0, "top_p": 1.0, "top_k": -1, "seed": 1234, "ignore_eos": True} + ): + raise ValueError("Rollout execution or response offsets differ from the pinned contract") + if responses is None: + if batch != 4 or chunks != [length] or request["consumed_input_tokens"] is not None: + raise ValueError("Only baseline B4 full prefill may define frozen responses") + elif request["consumed_input_tokens"] != [ + prompt + response[:-1] for prompt, response in zip(prompts, responses, strict=True) + ]: + raise ValueError("Consumed input must end before response token sixteen") + if any(type(layer) is not int or layer not in range(48) for layer in request["trace_layers"]): + raise ValueError("Debug layer indices must be in [0,48)") + identity = request["identity"] + if identity["architecture_layers"] != 48 or identity["topology"] != { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1, + }: + raise ValueError("Rollout cannot change depth or topology") + if not Path(identity["checkpoint"]).is_absolute(): + raise ValueError("Checkpoint identity must use an absolute shared path") + if ( + identity["provider_config"].get("native_rollout_kv_cache_memory_bytes") + != NATIVE_ROLLOUT_PROFILE["kv_cache_memory_bytes_per_gpu"] + ): + raise ValueError("Provider identity must pin the native rollout cache budget") + return batch, length + + +def next_scheduled_tokens(computed, prompt_length, chunks): + boundary = 0 + for size in chunks: + if computed == boundary: + return size + boundary += size + if prompt_length <= computed < prompt_length + 15: + return 1 + raise ValueError("Native scheduler is not at an exact requested chunk/decode boundary") + + +class ExactPrefillScheduler(Scheduler): + """Use native cache allocation/scheduling while enforcing one frozen case at a time.""" + + def schedule(self, throttle_prefills=False): + active = [request for request in self.requests.values() if not request.is_finished()] + if not active: + return super().schedule(throttle_prefills) + descriptors = [ + (request.sampling_params.extra_args or {}).get("shared_l2") for request in active + ] + if any(item is None for item in descriptors): + raise ValueError("Exact Qwen scheduler accepts only identified L2 requests") + first = descriptors[0] + contract = ( + first["request_sha256"], + first["batch_size"], + first["prompt_length"], + first["prefill_chunks"], + ) + if any( + ( + item["request_sha256"], + item["batch_size"], + item["prompt_length"], + item["prefill_chunks"], + ) + != contract + for item in descriptors + ): + raise ValueError("Different L2 cases cannot share a scheduler batch") + if len(active) < first["batch_size"]: + # EngineCore may receive the four add-request messages separately. + # Its normal paused scheduler emits no work until all are admitted. + previous = self._pause_state + self._pause_state = PauseState.PAUSED_ALL + try: + result = super().schedule(throttle_prefills) + finally: + self._pause_state = previous + if result.total_num_scheduled_tokens: + raise RuntimeError("The native scheduler violated the input batch barrier") + return result + if len(active) != first["batch_size"] or len( + {item["sample_id"] for item in descriptors} + ) != len(active): + raise ValueError("L2 scheduler sample cardinality mismatch") + counts = {request.num_computed_tokens for request in active} + if len(counts) != 1: + raise RuntimeError("Native requests lost their synchronized exact-chunk boundary") + computed = counts.pop() + count = next_scheduled_tokens(computed, first["prompt_length"], first["prefill_chunks"]) + self.scheduler_config.long_prefill_token_threshold = count + result = super().schedule(throttle_prefills) + expected = {request.request_id: count for request in active} + if result.num_scheduled_tokens != expected or result.preempted_req_ids: + raise RuntimeError( + "exact_scheduler_mismatch: " + f"expected {expected}, actual {result.num_scheduled_tokens}" + ) + return result + + +class ForceFrozenTokens(AdapterLogitsProcessor): + """Sampling-only teacher forcing; raw model logits are observed beforehand.""" + + def is_argmax_invariant(self): + return False + + def new_req_logits_processor(self, params): + descriptor = (params.extra_args or {}).get("shared_l2") + if descriptor is None: + raise ValueError("L2 sampling requires explicit request metadata") + frozen = descriptor["response_tokens"] + if frozen is None: + return None + if len(frozen) != 16 or any( + type(token) is not int or not 0 <= token < 151936 for token in frozen + ): + raise ValueError("Teacher forcing requires sixteen frozen official token IDs") + + def force(output_ids, logits): + index = len(output_ids) + if index not in range(16): + raise ValueError("Teacher forcing exceeded the fixed response length") + selected = torch.full_like(logits, float("-inf")) + selected[frozen[index]] = 0 + return selected + + return force + + +def file_digest(path): + digest = hashlib.sha256() + with Path(path).open("rb") as stream: + for chunk in iter(lambda: stream.read(8 * 1024 * 1024), b""): + digest.update(chunk) + return digest.hexdigest() + + +class RolloutTrace: + """Worker-local observations of real engine buffers, keyed by immutable sample IDs.""" + + def __init__(self, worker, request, output_directory): + from rl_engine.integrations.engines.rollout.vllm.qwen3_next_vllm_model import ( + RLKernelQwen3NextForCausalLM, + ) + + self.batch, self.prompt_length = validate_request(request) + self.worker, self.request, self.directory = worker, request, Path(output_directory) + self.provider_binary = imported_provider_identity() + if self.provider_binary != worker.shared_provider_binary: + raise RuntimeError("Provider binary changed after native worker initialization") + self.rank = worker.rank + self.native_runtime_profile = runtime_profile(worker.vllm_config) + self.provider_execution_mode = worker.shared_provider_execution_mode + expected_mode = ( + "certified" + if request["identity"].get("scheduler_profile_certificate") + else "qualification" + ) + if self.provider_execution_mode != expected_mode: + raise ValueError("Worker provider certification differs from the immutable request") + self.model = worker.get_model() + if not isinstance(self.model, RLKernelQwen3NextForCausalLM) or worker.use_v2_model_runner: + raise ValueError( + "Trace requires the actual shared model and native V1 GPU model runner" + ) + self.row_by_sample = {sample: row for row, sample in enumerate(request["sample_ids"])} + self.request_rows, self.progress = {}, {} + self.current, self.schedule = [], [] + self.logits = torch.empty(self.batch, 16, 151936, dtype=torch.bfloat16) + self.local_logits = torch.empty(self.batch, 16, 37984, dtype=torch.bfloat16) + self.logprobs = torch.empty(self.batch, 16, dtype=torch.float32) + self.responses = torch.full((self.batch, 16), -1, dtype=torch.int64) + self.hidden = torch.empty(48, self.batch, 16, 2048, dtype=torch.bfloat16) + self.hidden_written = torch.zeros(48, self.batch, 16, dtype=torch.bool) + self.states = [ + ( + {"convolution": [None] * self.batch, "recurrent_state": [None] * self.batch} + if (layer + 1) % 4 + else {"key": [None] * self.batch, "value": [None] * self.batch} + ) + for layer in range(48) + ] + self.model.model.shared_forward_hook = self.begin_forward + self.model.model.shared_trace_hook = self.layer + self.model.shared_logits_hook = self.record_logits + self.subnodes = subnode.SubnodeBuffer(self.batch) + subnode.install(self.model.model.layers, subnode.vllm_modules, self.subnode) + self.model.model.subnode_hook = self.embedding + + def embedding(self, name, packed): + for row, begin, end, computed in self.current: + for offset in range(end - begin): + response = computed + offset - (self.prompt_length - 1) + if 0 <= response < 16: + self.subnodes.put_embedding(row, response, packed[begin + offset]) + + def subnode(self, layer_index, name, packed): + for row, begin, end, computed in self.current: + for offset in range(end - begin): + response = computed + offset - (self.prompt_length - 1) + if 0 <= response < 16: + self.subnodes.put(layer_index, name, row, response, packed[begin + offset]) + + def before_execute(self, scheduled): + for new in scheduled.scheduled_new_reqs: + descriptor = (new.sampling_params.extra_args or {}).get("shared_l2", {}) + if descriptor.get("request_sha256") != self.request["request_sha256"]: + raise ValueError("Scheduler request belongs to a different L2 case") + row = self.row_by_sample[descriptor["sample_id"]] + if ( + new.prompt_token_ids != self.request["prompt_tokens"][row] + or new.num_computed_tokens != 0 + ): + raise ValueError("Native prompt differs or prefix reuse was applied") + if new.req_id in self.request_rows or row in self.request_rows.values(): + raise ValueError("Native scheduler duplicated a sample") + self.request_rows[new.req_id], self.progress[new.req_id] = row, 0 + self.scheduled = scheduled + if not scheduled.total_num_scheduled_tokens: + return + if len(scheduled.num_scheduled_tokens) != self.batch or scheduled.preempted_req_ids: + raise RuntimeError("The actual native step did not preserve its required batch") + step = {} + for req_id, count in scheduled.num_scheduled_tokens.items(): + computed = self.progress[req_id] + expected = next_scheduled_tokens( + computed, self.prompt_length, self.request["prefill_chunks"] + ) + if count != expected: + raise RuntimeError( + "Observed worker tokens disagree with requested prefill/decode chunks" + ) + step[req_id] = (self.request_rows[req_id], computed, count) + self.step = step + + def begin_forward(self, input_ids, positions): + ids = list(self.worker.model_runner.input_batch.req_ids) + if set(ids) != set(self.step): + raise ValueError("Actual model input batch differs from SchedulerOutput") + self.current = [] + begin = 0 + for req_id in ids: + row, computed, count = self.step[req_id] + end = begin + count + if positions[begin:end].cpu().tolist() != list(range(computed, computed + count)): + raise ValueError("Native absolute positions differ from the scheduled offsets") + known = self.request["prompt_tokens"][row] + self.responses[row].tolist() + if input_ids[begin:end].cpu().tolist() != known[computed : computed + count]: + raise ValueError( + "Native engine consumed tokens other than the prompt/frozen response prefix" + ) + self.current.append((row, begin, end, computed)) + self.progress[req_id] = computed + count + begin = end + if begin != self.scheduled.total_num_scheduled_tokens: + raise ValueError("Packed model input does not cover actual scheduled tokens") + self.schedule.append( + { + "samples": [self.request["sample_ids"][row] for row, _, _, _ in self.current], + "computed_before": [computed for _, _, _, computed in self.current], + "token_counts": [end - begin for _, begin, end, _ in self.current], + } + ) + + def layer(self, layer_index, output, layer): + from vllm.forward_context import get_forward_context + from vllm.model_executor.layers.mamba.mamba_utils import is_conv_state_dim_first + + from rl_engine.integrations.engines.rollout.vllm.qwen3_next_vllm import metadata_sequences + from rl_engine.integrations.engines.rollout.vllm.qwen3_next_vllm_attention import ( + SharedAttentionMetadata, + ) + + if output.dtype != torch.bfloat16 or output.shape[1:] != (2048,): + raise ValueError("Layer observation did not preserve original BF16 hidden states") + metadata = get_forward_context().attn_metadata + if not isinstance(metadata, dict): + raise ValueError("Native engine did not supply per-layer attention metadata") + for row, begin, end, computed in self.current: + for offset in range(end - begin): + response = computed + offset - (self.prompt_length - 1) + if 0 <= response < 16: + if self.hidden_written[layer_index, row, response]: + raise ValueError("A response hidden state was observed more than once") + self.hidden[layer_index, row, response].copy_( + output[begin + offset].detach().cpu() + ) + self.hidden_written[layer_index, row, response] = True + if not any( + computed + end - begin == self.prompt_length + 15 + for _, begin, end, computed in self.current + ): + return + if (layer_index + 1) % 4: + module = layer.linear_attn + meta = metadata[module.prefix] + indices, cu, _reset = metadata_sequences( + meta, self.scheduled.total_num_scheduled_tokens + ) + if cu.tolist() != [0] + [end for _, _, end, _ in self.current]: + raise ValueError("GDN metadata reordered sequences without matching model inputs") + conv, recurrent = module.kv_cache + if not is_conv_state_dim_first(): + conv = conv.transpose(-1, -2) + for (row, begin, end, computed), slot in zip( + self.current, indices.tolist(), strict=True + ): + if computed + end - begin == self.prompt_length + 15: + self.states[layer_index]["convolution"][row] = conv[slot].detach().cpu().clone() + self.states[layer_index]["recurrent_state"][row] = ( + recurrent[slot].detach().cpu().clone() + ) + else: + attention = layer.self_attn.attn + meta, cache = metadata[attention.layer_name], attention.kv_cache + if not isinstance(meta, SharedAttentionMetadata): + raise ValueError("Full attention did not use shared native paged-KV metadata") + if list(meta.query_start_loc) != [0] + [end for _, _, end, _ in self.current]: + raise ValueError("Full attention boundaries differ from actual packed input") + block_size = cache.shape[2] + for index, (row, begin, end, computed) in enumerate(self.current): + length = computed + end - begin + if length != self.prompt_length + 15: + continue + if meta.seq_lens[index] != length: + raise ValueError("Full attention prefix length differs from consumed inputs") + blocks = meta.block_table[index, : (length + block_size - 1) // block_size].long() + values = cache[blocks, 0].reshape(-1, 512)[:length] + self.states[layer_index]["key"][row] = ( + values[:, :256].reshape(1, length, 256).detach().cpu().clone() + ) + self.states[layer_index]["value"][row] = ( + values[:, 256:].reshape(1, length, 256).detach().cpu().clone() + ) + + def record_logits(self, hidden, local, full): + from rl_engine.contracts.operators.logprob import LogprobRole + from rl_engine.models.qwen3_next.qwen3_next_forward import shared_logprob + from rl_engine.models.qwen3_next.qwen3_next_logprob import qwen_logprob_contract + + if full.shape != (len(self.current), 151936) or local.shape != (len(self.current), 37984): + raise ValueError( + "Native sampling rows do not correspond one-to-one with active requests" + ) + eligible = [ + (index, row, computed + end - begin - self.prompt_length) + for index, (row, begin, end, computed) in enumerate(self.current) + if computed + end - begin >= self.prompt_length + ] + if not eligible: + return + rows = torch.tensor([index for index, _, _ in eligible], device=local.device) + targets = torch.tensor( + [ + ( + int(full[index].argmax()) + if self.request["response_tokens"] is None + else self.request["response_tokens"][row][position] + ) + for index, row, position in eligible + ], + device=local.device, + dtype=torch.int64, + ) + selected = local.index_select(0, rows) + contract = qwen_logprob_contract( + selected, rank=self.rank, world_size=4, role=LogprobRole.INFER + ) + logp, _, _ = shared_logprob( + selected, targets, contract=contract, tp_group=self.model.shared_tp_group + ) + for count, (index, row, position) in enumerate(eligible): + if position not in range(16) or self.responses[row, position] != -1: + raise ValueError("Sampling observation has a duplicate or invalid response offset") + self.logits[row, position].copy_(full[index].detach().cpu()) + self.local_logits[row, position].copy_(local[index].detach().cpu()) + self.logprobs[row, position].copy_(logp[count].detach().cpu()) + self.responses[row, position] = int(targets[count]) + + def finish(self): + if imported_provider_identity() != self.provider_binary: + raise RuntimeError("Provider binary changed during the rollout case") + if not self.hidden_written.all() or bool((self.responses < 0).any()): + raise RuntimeError("Rollout did not observe every response position in every layer") + for layer in range(48): + self.subnodes.layer(layer) + if len(self.schedule) != len(self.request["prefill_chunks"]) + 15: + raise RuntimeError("Actual scheduler step count differs from the exact chunk contract") + states = [] + for layer in self.states: + if any(value is None for values in layer.values() for value in values): + raise RuntimeError("A final convolution/recurrent/KV state was not observed") + states.append({name: torch.stack(values) for name, values in layer.items()}) + payload = { + "rank": self.rank, + "request_sha256": self.request["request_sha256"], + "logits": self.logits, + "local_logits": self.local_logits, + "logprobs": self.logprobs, + "responses": self.responses, + "hidden": self.hidden, + "states": states, + "subnodes": {name: self.subnodes.values[name] for name in subnode.SUBNODES}, + "embedding": self.subnodes.embedding_rows(), + "schedule": self.schedule, + "native_runtime_profile": self.native_runtime_profile, + "provider_execution_mode": self.provider_execution_mode, + "provider_binary": self.provider_binary, + } + self.directory.mkdir(parents=True, exist_ok=True) + path = self.directory / f"rank-{self.rank}.pt" + save_tensor_artifact(path, payload) + self.model.model.shared_forward_hook = self.model.model.shared_trace_hook = None + self.model.shared_logits_hook = None + subnode.remove(self.model.model.layers, subnode.vllm_modules) + self.model.model.subnode_hook = None + return { + "rank": self.rank, + "path": str(path), + "sha256": file_digest(path), + "request_sha256": self.request["request_sha256"], + } + + +def assemble_trace(request, records, sampled_responses): + if len(records) != 4 or sorted(record["rank"] for record in records) != list(range(4)): + raise ValueError("Rollout trace requires all four unique TP ranks") + shards = [] + for record in sorted(records, key=lambda value: value["rank"]): + if ( + record["request_sha256"] != request["request_sha256"] + or file_digest(record["path"]) != record["sha256"] + ): + raise ValueError("Worker trace identity/hash mismatch") + shard = load_tensor_artifact(record["path"]) + if shard["rank"] != record["rank"] or shard["request_sha256"] != request["request_sha256"]: + raise ValueError("Worker trace content identity mismatch") + shards.append(shard) + first = shards[0] + provider_binary = validate_provider_identity(first.get("provider_binary")) + for shard in shards[1:]: + if validate_provider_identity(shard.get("provider_binary")) != provider_binary: + raise ValueError("TP workers imported different provider binaries") + for shard in shards[1:]: + for name in ("logits", "logprobs", "responses", "hidden"): + exact(shard[name], first[name], name=f"TP replicated rollout {name}") + for name in subnode.SUBNODES: + exact(shard["subnodes"][name], first["subnodes"][name], name=f"TP replicated {name}") + exact(shard["embedding"], first["embedding"], name="TP replicated embedding") + if shard["schedule"] != first["schedule"]: + raise ValueError("TP workers observed different scheduler decisions") + if shard["native_runtime_profile"] != first["native_runtime_profile"]: + raise ValueError("TP workers use different native runtime profiles") + if shard["provider_execution_mode"] != first["provider_execution_mode"]: + raise ValueError("TP workers use different provider certification modes") + if first["native_runtime_profile"] != NATIVE_ROLLOUT_PROFILE: + raise ValueError("Worker artifacts do not identify the pinned native runtime") + expected_mode = ( + "certified" if request["identity"].get("scheduler_profile_certificate") else "qualification" + ) + if first["provider_execution_mode"] != expected_mode: + raise ValueError("Worker artifacts do not match the requested certification mode") + exact( + torch.cat([shard["local_logits"] for shard in shards], dim=-1), + first["logits"], + name="raw LM-head vocabulary gather", + ) + exact( + torch.tensor(sampled_responses, dtype=torch.int64), + first["responses"], + name="actual native sampled response", + ) + layers, debug = [], {} + for layer in range(48): + states = { + f"tp{rank}.{name}": value + for rank, shard in enumerate(shards) + for name, value in shard["states"][layer].items() + } + hidden = first["hidden"][layer] + nodes = {name: first["subnodes"][name][layer] for name in subnode.SUBNODES} + layers.append(layer_digest(layer, hidden, states, request=request, subnodes=nodes)) + if layer in request["trace_layers"]: + debug[f"layer.{layer}.output"] = hidden + debug.update({f"layer.{layer}.subnode.{name}": value for name, value in nodes.items()}) + debug.update({f"layer.{layer}.{name}": value for name, value in states.items()}) + artifact = { + "metadata": { + key: request[key] + for key in ("schema_version", "case_id", "role", "identity", "request_sha256") + }, + "execution": request["execution"], + "prompt_tokens": torch.tensor(request["prompt_tokens"], dtype=torch.int64), + "response_tokens": first["responses"], + "prediction_positions": torch.tensor(request["prediction_positions"], dtype=torch.int64), + "logits": first["logits"], + "logprobs": first["logprobs"], + "layer_digests": layers, + "embedding_digest": embedding_digest(first["embedding"]), + "debug_tensors": debug, + "native_scheduler_steps": first["schedule"], + "worker_traces": records, + "native_runtime_profile": first["native_runtime_profile"], + "provider_execution_mode": first["provider_execution_mode"], + "provider_binary": provider_binary, + } + validate_model_artifact(artifact, request) + validate_debug_capture(artifact, request) + return artifact + + +def _new_engine(identity): + from vllm import LLM + + from rl_engine.integrations.engines.rollout.vllm.qwen3_next_vllm_model import ( + register_shared_model, + ) + from rl_engine.integrations.orchestrators.vime.experiments.qwen3_next.profile import ( + activate_for_identity, + ) + + activate_for_identity(identity) + if os.environ.get("VLLM_USE_V2_MODEL_RUNNER") != "0": + raise RuntimeError( + "Set VLLM_USE_V2_MODEL_RUNNER=0 before importing the native rollout worker" + ) + if torch.cuda.device_count() != 4: + raise RuntimeError("Native rollout requires exactly four visible GPUs") + return LLM(**engine_arguments(identity, register_shared_model())) + + +def engine_arguments(identity, architecture): + """Keep explicit engine arguments independently checkable against pinned vLLM.""" + return dict( + model=identity["checkpoint"], + tokenizer=identity["checkpoint"], + skip_tokenizer_init=True, + trust_remote_code=False, + hf_overrides={"architectures": [architecture]}, + additional_config={"qwen3_next_shared_identity": identity, "gdn_prefill_backend": "triton"}, + tensor_parallel_size=4, + pipeline_parallel_size=1, + distributed_executor_backend="mp", + dtype="bfloat16", + seed=1234, + enforce_eager=True, + enable_prefix_caching=False, + enable_chunked_prefill=True, + max_model_len=1040, + max_num_seqs=NATIVE_ROLLOUT_PROFILE["max_num_seqs"], + max_num_batched_tokens=NATIVE_ROLLOUT_PROFILE["max_num_batched_tokens"], + long_prefill_token_threshold=1, + scheduler_cls=( + "rl_engine.integrations.engines.rollout.vllm.qwen3_next_native_rollout" + ".ExactPrefillScheduler" + ), + async_scheduling=False, + worker_cls=( + "rl_engine.integrations.engines.rollout.vllm.qwen3_next_vllm_worker" ".SharedQwenWorker" + ), + logits_processors=[ + "rl_engine.integrations.engines.rollout.vllm.qwen3_next_native_rollout" + ":ForceFrozenTokens" + ], + kv_cache_dtype="bfloat16", + mamba_cache_dtype="bfloat16", + mamba_ssm_cache_dtype="float32", + mamba_cache_mode="none", + generation_config="vllm", + gpu_memory_utilization=0.85, + kv_cache_memory_bytes=NATIVE_ROLLOUT_PROFILE["kv_cache_memory_bytes_per_gpu"], + attention_config={"backend": "CUSTOM"}, + kernel_config={ + "moe_backend": "triton", + "enable_flashinfer_autotune": False, + "enable_jit_warmup": False, + }, + compilation_config={"mode": 0, "cudagraph_mode": "NONE"}, + ) + + +def run_rollout_cases(cases): + from vllm import SamplingParams + + engine, identity = None, None + try: + for request, output in cases: + batch, length = validate_request(request) + if engine is None: + identity = request["identity"] + engine = _new_engine(identity) + elif request["identity"] != identity: + raise ValueError( + "One native rollout process cannot silently change weight/provider identity" + ) + output = Path(output).resolve() + records = engine.collective_rpc( + "configure_l2_trace", args=(request, str(output.with_suffix(".worker-traces"))) + ) + if len(records) != 4 or any( + record["request_sha256"] != request["request_sha256"] for record in records + ): + raise RuntimeError("All TP workers must acknowledge the exact trace request") + sampling = [] + for row, sample in enumerate(request["sample_ids"]): + descriptor = { + "request_sha256": request["request_sha256"], + "sample_id": sample, + "batch_size": batch, + "prompt_length": length, + "prefill_chunks": request["prefill_chunks"], + "response_tokens": ( + None + if request["response_tokens"] is None + else request["response_tokens"][row] + ), + } + sampling.append( + SamplingParams( + temperature=0, + top_p=1, + top_k=-1, + seed=1234, + ignore_eos=True, + max_tokens=16, + detokenize=False, + extra_args={"shared_l2": descriptor}, + ) + ) + generated = engine.generate( + [{"prompt_token_ids": row} for row in request["prompt_tokens"]], + sampling, + use_tqdm=False, + ) + if len(generated) != batch or any( + len(item.outputs) != 1 or item.prompt_token_ids != request["prompt_tokens"][row] + for row, item in enumerate(generated) + ): + raise RuntimeError( + "Native engine did not return one identified completion per prompt" + ) + responses = [list(item.outputs[0].token_ids) for item in generated] + if any(len(row) != 16 for row in responses): + raise RuntimeError("Native engine did not generate sixteen tokens") + records = engine.collective_rpc("collect_l2_trace") + save_tensor_artifact(output, assemble_trace(request, records, responses)) + finally: + if engine is not None: + engine.llm_engine.engine_core.shutdown() + del engine + gc.collect() + + +def run_rollout_case(request, output): + run_rollout_cases([(request, output)]) diff --git a/rl_engine/integrations/engines/rollout/vllm/qwen3_next_vllm.py b/rl_engine/integrations/engines/rollout/vllm/qwen3_next_vllm.py new file mode 100644 index 000000000..462f07198 --- /dev/null +++ b/rl_engine/integrations/engines/rollout/vllm/qwen3_next_vllm.py @@ -0,0 +1,210 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Actual vLLM GDN layer/cache adapter for the shared TP4 provider. + +The CUSTOM backend deliberately does not advertise batch invariance. Registering +this adapter cannot bypass vLLM's strict capability check. Real metadata/step +acceptance must pass before a separately reviewed capability registration. +""" + +import torch +from torch import nn +from vllm.distributed import get_tp_group +from vllm.forward_context import get_forward_context +from vllm.model_executor.layers.mamba.gdn.qwen_gdn_linear_attn import QwenGatedDeltaNetAttention +from vllm.model_executor.layers.mamba.mamba_utils import is_conv_state_dim_first +from vllm.v1.attention.backend import AttentionCGSupport +from vllm.v1.attention.backends.gdn_attn import ( + GDNAttentionBackend, + GDNAttentionMetadata, + GDNAttentionMetadataBuilder, +) +from vllm.v1.attention.backends.registry import MambaAttentionBackendEnum, register_backend + +from rl_engine.integrations.engines.train.vllm.qwen3_next_provider import ( + GDNProviderConfig, + GDNState, +) +from rl_engine.models.qwen3_next.qwen3_next_tp import _ReduceFromTP +from rl_engine.models.qwen3_next.qwen3_next_tp_gdn import TP4GDN + + +class SharedGDNMetadataBuilder(GDNAttentionMetadataBuilder): + """Use vLLM's scheduler ordering and record resets even for fresh one-token prompts.""" + + _cudagraph_support = AttentionCGSupport.NEVER + + def build(self, common_prefix_len, common_attn_metadata, **kwargs): + if common_prefix_len: + raise ValueError("Shared GDN does not enable prefix reuse") + metadata = super().build(common_prefix_len, common_attn_metadata, **kwargs) + if metadata.num_spec_decodes or metadata.spec_sequence_masks is not None: + raise ValueError("Shared GDN does not enable speculative decoding") + metadata.has_initial_state = common_attn_metadata.compute_num_computed_tokens() > 0 + return metadata + + +class SharedGDNBackend(GDNAttentionBackend): + @staticmethod + def get_name(): + return "RL_KERNEL_QWEN3_NEXT_GDN" + + @staticmethod + def get_builder_cls(): + return SharedGDNMetadataBuilder + + @staticmethod + def supports_batch_invariance(): + from rl_engine.integrations.orchestrators.vime.experiments.qwen3_next.profile import ( + profile_is_certified, + ) + + return profile_is_certified() + + +def metadata_sequences(metadata, tokens): + """Extract active packed sequences, excluding zero-token padding without touching null state.""" + if not isinstance(metadata, GDNAttentionMetadata): + raise ValueError("Shared GDN requires actual vLLM GDNAttentionMetadata") + if metadata.num_spec_decodes or metadata.spec_sequence_masks is not None: + raise ValueError("Speculative GDN metadata is outside the shared profile") + cu = metadata.non_spec_query_start_loc + indices = metadata.non_spec_state_indices_tensor + if cu is None or indices is None: + raise ValueError("GDN metadata lacks packed sequence boundaries or state slots") + cu = cu.to(device="cpu", dtype=torch.int64) + if cu.ndim != 1 or cu.numel() != indices.numel() + 1: + raise ValueError("GDN metadata boundaries and slot counts disagree") + lengths = cu.diff() + if cu[0] != 0 or cu[-1] != tokens or bool((lengths < 0).any()): + raise ValueError("GDN metadata boundaries must cover exactly the actual tokens") + active = torch.nonzero(lengths > 0, as_tuple=True)[0] + chosen = indices.index_select(0, active.to(indices.device)) + if bool((chosen <= 0).any()) or chosen.unique().numel() != chosen.numel(): + raise ValueError("Active GDN requests require distinct positive state slots") + compact_cu = torch.cat((torch.zeros(1, dtype=torch.int64), lengths[active].cumsum(0))) + has_initial = metadata.has_initial_state + if has_initial is None or has_initial.numel() != indices.numel(): + raise ValueError("Shared GDN metadata must declare initial state for every request") + reset = chosen[ + ~has_initial.to(device=indices.device, dtype=torch.bool)[active.to(indices.device)] + ] + return chosen, compact_cu, reset + + +def _register_backend(): + path = "rl_engine.integrations.engines.rollout.vllm.qwen3_next_vllm.SharedGDNBackend" + try: + current = MambaAttentionBackendEnum.CUSTOM.get_path() + except ValueError: + current = None + if current is not None and current != path: + raise RuntimeError("A different custom Mamba backend is already registered") + register_backend(MambaAttentionBackendEnum.CUSTOM, path, is_mamba=True) + + +class SharedQwenGDN(QwenGatedDeltaNetAttention): + """Preserve real vLLM HF weight loaders and bind shared forward to its owned cache.""" + + def __init__(self, config, vllm_config, prefix="", **kwargs): + parallel = vllm_config.parallel_config + if parallel.tensor_parallel_size != 4 or parallel.pipeline_parallel_size != 1: + raise ValueError("Shared vLLM GDN requires TP4 and PP1") + if getattr(parallel, "decode_context_parallel_size", 1) != 1: + raise ValueError("Shared vLLM GDN requires CP1") + if getattr(parallel, "prefill_context_parallel_size", 1) != 1: + raise ValueError("Shared vLLM GDN requires prefill CP1") + if vllm_config.model_config.dtype != torch.bfloat16: + raise ValueError("Shared vLLM GDN requires BF16 weights") + if vllm_config.quant_config is not None or vllm_config.speculative_config is not None: + raise ValueError("Shared GDN requires unquantized weights and no speculation") + if vllm_config.cache_config.enable_prefix_caching: + raise ValueError("Shared GDN requires prefix reuse disabled") + if vllm_config.cache_config.mamba_cache_mode != "none": + raise ValueError("Shared GDN requires the non-reusing mamba cache mode") + if kwargs.get("reduce_results", True) is not True: + raise ValueError("Shared GDN performs its own TP output reduction") + if not vllm_config.model_config.enforce_eager: + raise ValueError("Shared GDN currently requires eager execution") + if not kwargs.get("gqa_interleaved_layout", False) or config.hidden_size != 2048: + raise ValueError("Shared GDN requires Qwen3-Next interleaved TP4 projections") + _register_backend() + super().__init__(config, vllm_config, prefix, **kwargs) + if self.get_state_dtype() != (torch.bfloat16, torch.float32): + raise ValueError("Shared GDN requires BF16 convolution and FP32 recurrent state") + # HF stores A_log and dt_bias in BF16; upstream widens A_log at allocation. + # Keep the checkpoint weight identity, widening only at the recurrence call. + for name in ("A_log", "dt_bias"): + original = getattr(self, name) + parameter = nn.Parameter(original.to(dtype=torch.bfloat16), requires_grad=False) + parameter.weight_loader = original.weight_loader + setattr(self, name, parameter) + self.group = get_tp_group().device_group + self.provider_config = GDNProviderConfig() + self.eps = config.rms_norm_eps + + @property + def mamba_type(self): + return MambaAttentionBackendEnum.CUSTOM + + @torch.no_grad() + def forward(self, hidden_states): + """Match the installed vLLM layer contract: one input, one returned tensor.""" + output = torch.empty_like(hidden_states) + self._forward_into(hidden_states, output) + return output + + @torch.no_grad() + def _forward_into(self, hidden_states, output): + context = get_forward_context() + metadata = context.attn_metadata + metadata = metadata.get(self.prefix) if isinstance(metadata, dict) else None + if metadata is None: + # vLLM's pre-cache memory profiling has no request or persistent state. + from rl_engine.models.qwen3_next.qwen3_next_forward import shared_linear + + qkvz = shared_linear(hidden_states, self.in_proj_qkvz.weight) + ba = shared_linear(hidden_states, self.in_proj_ba.weight) + zeros = qkvz.new_zeros((ba.shape[0], 1024)) + projected = shared_linear(zeros, self.out_proj.weight) + output.copy_(_ReduceFromTP.apply(projected, self.group)) + del qkvz, ba + return + tokens = metadata.num_actual_tokens + if tokens > hidden_states.shape[0] or output.shape != hidden_states.shape: + raise ValueError("vLLM GDN buffers do not cover the actual tokens") + indices, cu, reset = metadata_sequences(metadata, tokens) + output.zero_() + if not tokens: + return + conv = self.kv_cache[0] + if not is_conv_state_dim_first(): + conv = conv.transpose(-1, -2) + recurrent = self.kv_cache[1] + if reset.numel(): + state = GDNState(conv.clone(), recurrent.clone()) + state.convolution.index_fill_(0, reset.long(), 0) + state.recurrent.index_fill_(0, reset.long(), 0) + else: + state = GDNState(conv, recurrent) + value, next_state = TP4GDN.forward(self, hidden_states[:tokens], state, indices, cu) + trace_state_hook = getattr(self, "trace_state_hook", None) + if trace_state_hook is not None: + trace_state_hook(next_state, indices, cu) + output[:tokens].copy_(value) + conv.copy_(next_state.convolution) + recurrent.copy_(next_state.recurrent) + + +def register_shared_gdn_adapter(): + """Opt in to the actual GDN layer adapter, without claiming strict capability.""" + from vllm.model_executor.custom_op import op_registry_oot + + _register_backend() + existing = op_registry_oot.get("QwenGatedDeltaNetAttention") + if existing is SharedQwenGDN: + return + if existing is not None: + raise RuntimeError("A different out-of-tree Qwen GDN layer is already registered") + QwenGatedDeltaNetAttention.register_oot(SharedQwenGDN) diff --git a/rl_engine/integrations/engines/rollout/vllm/qwen3_next_vllm_attention.py b/rl_engine/integrations/engines/rollout/vllm/qwen3_next_vllm_attention.py new file mode 100644 index 000000000..c8bd85335 --- /dev/null +++ b/rl_engine/integrations/engines/rollout/vllm/qwen3_next_vllm_attention.py @@ -0,0 +1,241 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Eager vLLM paged-KV adapter for the shared D=256 causal attention core. + +The scheduler owns physical blocks and slot mappings. This backend neither +reconstructs request IDs nor retains a separate Python KV cache. Capability +registration remains conservative until the real scheduler matrix passes. +""" + +from dataclasses import dataclass + +import torch +from vllm.v1.attention.backend import ( + AttentionBackend, + AttentionImpl, + AttentionMetadata, + AttentionMetadataBuilder, + AttentionType, +) + +from rl_engine.models.qwen3_next.qwen3_next_forward import shared_attention + + +@dataclass +class SharedAttentionMetadata(AttentionMetadata): + query_start_loc: tuple[int, ...] + seq_lens: tuple[int, ...] + block_table: torch.Tensor + slot_mapping: torch.Tensor + num_actual_tokens: int + + +def validate_boundaries(starts, lengths, num_actual_tokens): + if len(starts) != len(lengths) + 1 or not starts or starts[0] != 0: + raise ValueError("Attention boundaries must start at zero and cover every request") + if starts[-1] != num_actual_tokens or num_actual_tokens < 0: + raise ValueError("Attention boundaries must exactly cover actual scheduled tokens") + for start, end, length in zip(starts[:-1], starts[1:], lengths, strict=True): + if end < start or length < end - start or length > 1040: + raise ValueError("Invalid Qwen eager query/prefix length") + + +class SharedAttentionBuilder(AttentionMetadataBuilder[SharedAttentionMetadata]): + def __init__(self, kv_cache_spec, layer_names, vllm_config, device): + super().__init__(kv_cache_spec, layer_names, vllm_config, device) + parallel = vllm_config.parallel_config + topology = ( + parallel.tensor_parallel_size, + parallel.pipeline_parallel_size, + parallel.decode_context_parallel_size, + parallel.prefill_context_parallel_size, + ) + if topology != (4, 1, 1, 1): + raise ValueError("Shared Qwen attention requires TP4/PP1/CP1") + if not vllm_config.model_config.enforce_eager or vllm_config.speculative_config is not None: + raise ValueError("Shared Qwen attention requires eager execution without speculation") + if vllm_config.cache_config.enable_prefix_caching: + raise ValueError("Prefix reuse is outside the fixed Qwen eager profile") + + def build(self, common_prefix_len, common_attn_metadata, fast_build=False): + if common_prefix_len != 0: + raise ValueError("Shared-prefix attention is outside the validated profile") + common = common_attn_metadata + if isinstance(common.causal, torch.Tensor): + causal = bool(common.causal.all()) + else: + causal = common.causal is True + if not causal: + raise ValueError("Only causal Qwen attention is supported") + # Use exact device lengths, not optimistic CPU bounds from spec decode. + starts = tuple(common.query_start_loc[: common.num_reqs + 1].cpu().tolist()) + lengths = tuple(common.seq_lens[: common.num_reqs].cpu().tolist()) + validate_boundaries(starts, lengths, common.num_actual_tokens) + return SharedAttentionMetadata( + starts, + lengths, + common.block_table_tensor[: common.num_reqs], + common.slot_mapping[: common.num_actual_tokens], + common.num_actual_tokens, + ) + + +class SharedAttentionImpl(AttentionImpl[SharedAttentionMetadata]): + def __init__( + self, + num_heads, + head_size, + scale, + num_kv_heads=None, + alibi_slopes=None, + sliding_window=None, + kv_cache_dtype="auto", + logits_soft_cap=None, + attn_type=AttentionType.DECODER, + kv_sharing_target_layer_name=None, + **kwargs, + ): + if (num_heads, head_size, num_kv_heads, scale) != (4, 256, 1, 1 / 16): + raise ValueError("Shared Qwen attention requires four Q heads and one D256 KV head") + unsupported = ( + alibi_slopes is not None, + sliding_window is not None, + logits_soft_cap not in (None, 0), + attn_type != AttentionType.DECODER, + kv_sharing_target_layer_name is not None, + kv_cache_dtype not in ("auto", "bfloat16"), + ) + if any(unsupported) or kwargs: + raise ValueError("Unsupported extension to the fixed Qwen attention profile") + self.num_heads, self.head_size, self.num_kv_heads = 4, 256, 1 + self.scale, self.kv_cache_dtype = scale, kv_cache_dtype + + def forward( + self, + layer, + query, + key, + value, + kv_cache, + attn_metadata, + output, + output_scale=None, + output_block_scale=None, + ): + if output_scale is not None or output_block_scale is not None: + raise ValueError("Quantized output is outside the BF16 eager profile") + if attn_metadata is None: + # vLLM allocation profiling has no requests or valid cache to read. + return output.zero_() + metadata = attn_metadata + n = metadata.num_actual_tokens + validate_boundaries(metadata.query_start_loc, metadata.seq_lens, n) + if any( + t.dtype != torch.bfloat16 or t.device != query.device + for t in (query, key, value, kv_cache, output) + ): + raise ValueError("Q/K/V/cache/output must be BF16 on the same CUDA device") + if query.device.type != "cuda": + raise ValueError("Shared Qwen attention executes on CUDA") + if query.shape[1:] != (4, 256) or key.shape[1:] != (1, 256) or value.shape != key.shape: + raise ValueError("Invalid projected Q/K/V shape") + # vLLM 0.30 materializes logical cache [blocks, KV heads, tokens, K+V]. + if kv_cache.ndim != 4 or kv_cache.shape[1] != 1 or kv_cache.shape[-1] != 512: + raise ValueError("Unexpected vLLM cache layout; no layout guessing is permitted") + if min(query.shape[0], key.shape[0], output.shape[0]) < n: + raise ValueError("Projected tensors do not cover every scheduled token") + slots = metadata.slot_mapping.to(device=query.device, dtype=torch.long) + if slots.shape != (n,) or slots.unique().numel() != n: + raise ValueError("Active KV write slots must be unique and match scheduled tokens") + block_size = kv_cache.shape[2] + if bool(((slots < 0) | (slots >= kv_cache.shape[0] * block_size)).any()): + raise ValueError("Active KV write slot is null or outside the allocated cache") + plans = [] + for row, (start, end, length) in enumerate( + zip( + metadata.query_start_loc[:-1], + metadata.query_start_loc[1:], + metadata.seq_lens, + strict=True, + ) + ): + if start == end: + continue + needed = (length + block_size - 1) // block_size + physical = metadata.block_table[row, :needed].to(device=query.device, dtype=torch.long) + if physical.numel() != needed or physical.unique().numel() != needed: + raise ValueError("Request KV blocks are incomplete or repeated") + if bool(((physical < 0) | (physical >= kv_cache.shape[0])).any()): + raise ValueError("Request KV block is outside the allocated cache") + logical = torch.arange(length, device=query.device) + physical_slots = physical[logical // block_size] * block_size + logical % block_size + if not torch.equal(physical_slots[-(end - start) :], slots[start:end]): + raise ValueError("Block table and write slots disagree about absolute positions") + plans.append((start, end, length, physical)) + if any(not torch.isfinite(tensor[:n]).all() for tensor in (query, key, value)): + raise ValueError("Projected attention inputs must be finite") + # Validate every request before mutating any scheduler-owned cache slot. + blocks, offsets = slots // block_size, slots % block_size + kv_cache[blocks, 0, offsets, :256] = key[:n, 0] + kv_cache[blocks, 0, offsets, 256:] = value[:n, 0] + output.zero_() + for start, end, length, physical in plans: + cached = kv_cache[physical, 0].reshape(-1, 512)[:length] + if not torch.isfinite(cached).all(): + raise ValueError("Request KV prefix contains nonfinite values") + k = cached[:, :256].reshape(1, 1, length, 256).contiguous() + v = cached[:, 256:].reshape(1, 1, length, 256).contiguous() + q = query[start:end].transpose(0, 1).unsqueeze(0).contiguous() + attended = shared_attention(q, k, v) + output[start:end].copy_(attended.squeeze(0).transpose(0, 1)) + return output + + +class SharedAttentionBackend(AttentionBackend): + supported_dtypes = [torch.bfloat16] + supported_kv_cache_dtypes = ["auto", "bfloat16"] + forward_includes_kv_cache_update = True + + @staticmethod + def get_name(): + # Attention.__init__ indexes AttentionBackendEnum with this value. + return "CUSTOM" + + @staticmethod + def get_impl_cls(): + return SharedAttentionImpl + + @staticmethod + def get_builder_cls(): + return SharedAttentionBuilder + + @classmethod + def get_supported_head_sizes(cls): + return [256] + + @classmethod + def supports_kv_connector(cls): + return False + + @classmethod + def supports_device_cpu_query_lens_mismatch(cls): + return False + + @classmethod + def supports_batch_invariance(cls): + from rl_engine.integrations.orchestrators.vime.experiments.qwen3_next.profile import ( + profile_is_certified, + ) + + return profile_is_certified() + + +def register_shared_attention_backend(): + from vllm.v1.attention.backends.registry import AttentionBackendEnum, register_backend + + register_backend( + AttentionBackendEnum.CUSTOM, + "rl_engine.integrations.engines.rollout.vllm.qwen3_next_vllm_attention" + ".SharedAttentionBackend", + ) diff --git a/rl_engine/integrations/engines/rollout/vllm/qwen3_next_vllm_model.py b/rl_engine/integrations/engines/rollout/vllm/qwen3_next_vllm_model.py new file mode 100644 index 000000000..89e154677 --- /dev/null +++ b/rl_engine/integrations/engines/rollout/vllm/qwen3_next_vllm_model.py @@ -0,0 +1,372 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Opt-in vLLM model using shared Qwen3-Next arithmetic and native weight loaders. + +Construction preserves every native Parameter and loader. The existing modules +are bound to subclasses before weights load; no second copy of the 80B model is +allocated. Only the selected eager profile is supported. Registering it does not +declare scheduler batch invariance or completion of full-model L2 acceptance. +""" + +from importlib.metadata import version + +import torch +import torch.nn.functional as F +from vllm.distributed import get_tp_group +from vllm.model_executor.layers.fused_moe.unquantized_fused_moe_method import ( + UnquantizedFusedMoEMethod, +) +from vllm.model_executor.models.qwen3_next import ( + Qwen3NextAttention, + Qwen3NextDecoderLayer, + Qwen3NextForCausalLM, + Qwen3NextModel, + Qwen3NextSparseMoeBlock, +) +from vllm.v1.attention.backends.registry import AttentionBackendEnum + +from rl_engine.contracts.operators.logprob import LogprobRole +from rl_engine.distributed.algorithms.collectives import collective_for_group +from rl_engine.models.qwen3_next.qwen3_next_forward import ( + FORWARD_PROVIDER_ID, + shared_linear, + shared_logprob, + shared_moe, +) +from rl_engine.models.qwen3_next.qwen3_next_logprob import qwen_logprob_contract +from rl_engine.models.qwen3_next.qwen3_next_tp import _ReduceFromTP +from rl_engine.models.qwen3_next.qwen3_next_tp_blocks import TP4FullAttention + +ARCHITECTURE = "RLKernelQwen3NextForCausalLM" + + +def profile_capabilities(): + return { + "provider": FORWARD_PROVIDER_ID, + "architecture": ARCHITECTURE, + "layers": 48, + "tensor_parallel_size": 4, + "scheduler_batch_invariance_verified": False, + "full_model_l2_verified": False, + } + + +def validate_profile(vllm_config): + if version("vllm") != "0.30.0": + raise ValueError("Shared model requires pinned vLLM 0.30.0") + model, parallel = vllm_config.model_config, vllm_config.parallel_config + config = model.hf_text_config + required = { + "hidden_size": 2048, + "num_hidden_layers": 48, + "num_attention_heads": 16, + "num_key_value_heads": 2, + "head_dim": 256, + "vocab_size": 151936, + "num_experts": 512, + "num_experts_per_tok": 10, + "moe_intermediate_size": 512, + "shared_expert_intermediate_size": 512, + "rms_norm_eps": 1e-6, + "max_position_embeddings": 262144, + } + for name, expected in required.items(): + if getattr(config, name, None) != expected: + raise ValueError(f"Shared model requires official {name}={expected}") + expected_types = [ + "full_attention" if index % 4 == 3 else "linear_attention" for index in range(48) + ] + if list(config.layer_types) != expected_types: + raise ValueError("Shared model requires the official 36 GDN / 12 full-attention layers") + rope = config.rope_parameters + if ( + rope.get("rope_theta") != 10000000 + or rope.get("partial_rotary_factor") != 0.25 + or rope.get("rope_type", "default") != "default" + ): + raise ValueError("Shared model requires default theta=1e7 and rotary dimension 64") + topology = tuple( + getattr(parallel, name, 1) + for name in ( + "tensor_parallel_size", + "pipeline_parallel_size", + "data_parallel_size", + "decode_context_parallel_size", + "prefill_context_parallel_size", + ) + ) + if topology != (4, 1, 1, 1, 1): + raise ValueError("Shared model requires TP4/PP1/DP1/CP1") + unsupported = ( + model.dtype != torch.bfloat16, + not model.enforce_eager, + vllm_config.quant_config is not None, + vllm_config.speculative_config is not None, + vllm_config.lora_config is not None, + vllm_config.cache_config.enable_prefix_caching, + parallel.enable_expert_parallel, + parallel.enable_eplb, + parallel.use_sequence_parallel_moe, + parallel.enable_dbo, + getattr(config, "attention_dropout", 0) != 0, + getattr(config, "mlp_only_layers", []), + getattr(config, "decoder_sparse_step", 1) != 1, + getattr(config, "layer_scale", False), + not getattr(config, "norm_topk_prob", True), + getattr(config, "hidden_act", "silu") != "silu", + getattr(config, "qkv_bias", False), + not getattr(config, "attn_output_gate", True), + not getattr(config, "is_causal", True), + getattr(config, "tie_word_embeddings", False), + ) + if any(unsupported): + raise ValueError("Unsupported extension to the fixed BF16 eager shared model profile") + # This selects the native plain-weight allocation, not the execution path. + # The shared MoE below owns all forward arithmetic and prevents repacking. + if vllm_config.kernel_config.moe_backend != "triton": + raise ValueError("Set kernel_config.moe_backend='triton' for plain native BF16 allocation") + if vllm_config.attention_config.backend != AttentionBackendEnum.CUSTOM: + raise ValueError("Set attention_config.backend='CUSTOM' for the shared paged-KV backend") + + +def _rms(value, module): + from rl_engine.backends.cuda.norm.rmsnorm import Qwen3NextRMSNormCudaOp + + return Qwen3NextRMSNormCudaOp()(value, module.weight, eps=1e-6) + + +def _require_weight(value, shape, name): + if value.dtype != torch.bfloat16 or value.shape != shape or not value.is_contiguous(): + raise ValueError(f"{name} must remain contiguous BF16 {shape}") + + +class SharedPlainBF16MoEMethod(UnquantizedFusedMoEMethod): + """Retain HF-loaded plain tensors; the shared model never calls native MoE.""" + + def process_weights_after_loading(self, layer): + _require_weight(layer.w13_weight, (512, 256, 2048), "routed gate/up") + _require_weight(layer.w2_weight, (512, 2048, 128), "routed down") + self.moe_quant_config = self.get_fused_moe_quant_config(layer) + + def apply(self, *args, **kwargs): + raise RuntimeError("Use SharedVLLMMoE; native MoE arithmetic is outside this provider") + + def apply_monolithic(self, *args, **kwargs): + raise RuntimeError("Use SharedVLLMMoE; native MoE arithmetic is outside this provider") + + +class SharedVLLMAttention(Qwen3NextAttention): + def forward(self, positions, hidden_states): + if positions.ndim != 1 or positions.shape[0] != hidden_states.shape[0]: + raise ValueError("Shared text attention requires one absolute position per token") + if bool(((positions < 0) | (positions >= 262144)).any()): + raise ValueError("Attention positions exceed the official RoPE range") + # Keep the three GEMM invocations identical to the training TP4 module; + # native qkv_proj owns one packed allocation and all three HF loaders. + q_weight, k_weight, v_weight = self.qkv_proj.weight.split((2048, 256, 256)) + query, gate = shared_linear(hidden_states, q_weight).reshape(-1, 4, 512).chunk(2, -1) + key = shared_linear(hidden_states, k_weight).reshape(-1, 1, 256) + value = shared_linear(hidden_states, v_weight) + query, key = _rms(query, self.q_norm), _rms(key, self.k_norm) + query = TP4FullAttention._rotate(self, query, positions).reshape(-1, 1024) + key = TP4FullAttention._rotate(self, key, positions).reshape(-1, 256) + attended = self.attn(query, key, value).reshape(-1, 4, 256) * gate.sigmoid() + local = shared_linear(attended.reshape(-1, 1024), self.o_proj.weight) + return _ReduceFromTP.apply(local, self.shared_tp_group) + + +class SharedVLLMMoE(Qwen3NextSparseMoeBlock): + subnode_hook = None + + def forward(self, hidden_states, already_sequence_parallel=False): + if already_sequence_parallel: + raise ValueError("Shared MoE does not enable sequence parallelism") + routed = self.experts.routed_experts + output, routes = shared_moe( + hidden_states, self.gate.weight, routed.w13_weight, routed.w2_weight + ) + if self.subnode_hook is not None: + self.subnode_hook("router", routes.indices) + gate_weight, up_weight = self.shared_expert.gate_up_proj.weight.chunk(2, dim=0) + gate = shared_linear(hidden_states, gate_weight) + up = shared_linear(hidden_states, up_weight) + activated = (F.silu(gate.float()) * up.float()).to(torch.bfloat16) + shared = shared_linear(activated, self.shared_expert.down_proj.weight) + shared_gate = shared_linear(hidden_states, self.shared_expert_gate.weight).sigmoid() + return _ReduceFromTP.apply(output + shared * shared_gate, self.shared_tp_group) + + +class SharedVLLMDecoderLayer(Qwen3NextDecoderLayer): + # Set by a trace owner to observe the sub-node outputs named in + # qwen3_next_subnode.SUBNODES; observing never changes a value. + subnode_hook = None + + def forward(self, hidden_states, residual, positions, **kwargs): + trace = self.subnode_hook + residual = hidden_states if residual is None else hidden_states + residual + hidden_states = _rms(residual, self.input_layernorm) + if trace is not None: + trace("input_layernorm", hidden_states) + if self.layer_type == "linear_attention": + hidden_states = self.linear_attn(hidden_states=hidden_states) + else: + hidden_states = self.self_attn(positions, hidden_states) + if trace is not None: + trace("mixer", hidden_states) + residual = residual + hidden_states + hidden_states = _rms(residual, self.post_attention_layernorm) + if trace is not None: + trace("post_attention_layernorm", hidden_states) + hidden_states = self.mlp(hidden_states) + if trace is not None: + trace("mlp", hidden_states) + return hidden_states, residual + + +class SharedVLLMModel(Qwen3NextModel): + subnode_hook = None + + def embed_input_ids(self, input_ids): + from rl_engine.models.qwen3_next.qwen3_next_embedding import shared_embedding + + if input_ids.ndim != 1 or input_ids.dtype not in (torch.int32, torch.int64): + raise ValueError("Shared embedding requires a packed integer token vector") + return shared_embedding(input_ids.long(), self.embed_tokens.weight, self.shared_tp_group) + + def forward(self, input_ids, positions, intermediate_tensors=None, inputs_embeds=None): + if intermediate_tensors is not None or inputs_embeds is not None: + raise ValueError("Shared text-only PP1 profile takes token IDs directly") + if self.shared_forward_hook is not None: + self.shared_forward_hook(input_ids, positions) + hidden_states = self.embed_input_ids(input_ids) + if self.subnode_hook is not None: + self.subnode_hook("embedding", hidden_states) + residual = None + for index, layer in enumerate(self.layers): + hidden_states, residual = layer(hidden_states, residual, positions) + if self.shared_trace_hook is not None: + self.shared_trace_hook(index, hidden_states + residual, layer) + return _rms(hidden_states + residual, self.norm) + + +def _bind_native_model(model, group): + """Attach shared behavior without replacing parameters or their HF loaders.""" + from rl_engine.integrations.engines.rollout.vllm.qwen3_next_vllm import SharedQwenGDN + from rl_engine.integrations.engines.rollout.vllm.qwen3_next_vllm_attention import ( + SharedAttentionBackend, + ) + + if len(model.layers) != 48 or (model.start_layer, model.end_layer) != (0, 48): + raise ValueError("The native model must own all 48 layers under PP1") + _require_weight(model.embed_tokens.weight, (37984, 2048), "embedding") + _require_weight(model.norm.weight, (2048,), "final norm") + for layer in model.layers: + layer.__class__ = SharedVLLMDecoderLayer + if layer.layer_type == "linear_attention": + if not isinstance(layer.linear_attn, SharedQwenGDN): + raise ValueError("Native GDN was not constructed with the shared cache adapter") + else: + attention = layer.self_attn + if attention.attn.attn_backend is not SharedAttentionBackend: + raise ValueError("Full attention must use the explicit shared paged-KV backend") + _require_weight(attention.qkv_proj.weight, (2560, 2048), "attention QKV/gate") + _require_weight(attention.o_proj.weight, (2048, 1024), "attention output") + attention.__class__ = SharedVLLMAttention + attention.shared_tp_group = group + # TP4FullAttention._rotate derives FP32 inverse frequencies from this + # float on every call, so both engines rotate with identical tables. + attention.rope_theta = 10000000.0 + moe = layer.mlp + if ( + not isinstance(moe, Qwen3NextSparseMoeBlock) + or moe.shared_expert is None + or moe.is_fused_shared_expert_enabled + or moe.replicate_shared_expert + ): + raise ValueError( + "Every layer requires all512 unfused TP experts plus a sharded shared expert" + ) + routed = moe.experts.routed_experts + if type(routed.quant_method) is not UnquantizedFusedMoEMethod: + raise ValueError("Shared MoE requires native unquantized BF16 parameter loaders") + _require_weight(routed.w13_weight, (512, 256, 2048), "routed gate/up") + _require_weight(routed.w2_weight, (512, 2048, 128), "routed down") + _require_weight(moe.shared_expert.gate_up_proj.weight, (256, 2048), "shared gate/up") + _require_weight(moe.shared_expert.down_proj.weight, (2048, 128), "shared down") + routed.quant_method.__class__ = SharedPlainBF16MoEMethod + moe.__class__ = SharedVLLMMoE + moe.shared_tp_group = group + model.__class__ = SharedVLLMModel + model.shared_tp_group, model.shared_trace_hook = group, None + model.shared_forward_hook = None + + +class RLKernelQwen3NextForCausalLM(Qwen3NextForCausalLM): + def __init__(self, *, vllm_config, prefix=""): + validate_profile(vllm_config) + from rl_engine.integrations.engines.rollout.vllm.qwen3_next_vllm import ( + register_shared_gdn_adapter, + ) + from rl_engine.integrations.engines.rollout.vllm.qwen3_next_vllm_attention import ( + register_shared_attention_backend, + ) + + register_shared_gdn_adapter() + register_shared_attention_backend() + super().__init__(vllm_config=vllm_config, prefix=prefix) + self.shared_tp_group = get_tp_group().device_group + _bind_native_model(self.model, self.shared_tp_group) + _require_weight(self.lm_head.weight, (37984, 2048), "LM head") + self.shared_logits_hook = None + + def forward( + self, input_ids, positions, intermediate_tensors=None, inputs_embeds=None, **kwargs + ): + # Call the explicit eager method instead of the native compile wrapper. + return self.model.forward(input_ids, positions, intermediate_tensors, inputs_embeds) + + def compute_local_logits(self, hidden_states): + return shared_linear(hidden_states, self.lm_head.weight) + + def compute_logits(self, hidden_states): + local = self.compute_local_logits(hidden_states) + if not torch.isfinite(local).all(): + raise ValueError("Shared model produced non-finite logits") + source = local.t().contiguous() + collective = collective_for_group( + self.shared_tp_group, min_size_bytes=source.numel() * source.element_size() + ) + logits = collective.all_gather(source).t().contiguous() + if self.shared_logits_hook is not None: + self.shared_logits_hook(hidden_states, local, logits) + return logits + + def compute_selected_logprobs(self, hidden_states, targets): + """The L2/fixture path; native sampler logprobs are not provider evidence.""" + local = self.compute_local_logits(hidden_states) + contract = qwen_logprob_contract( + local, + rank=get_tp_group().rank_in_group, + world_size=4, + role=LogprobRole.INFER, + ) + return shared_logprob(local, targets, contract=contract, tp_group=self.shared_tp_group)[0] + + +def register_shared_model(): + """Call in every vLLM process before constructing the explicit architecture.""" + from vllm.model_executor.models import ModelRegistry + + path = ( + "rl_engine.integrations.engines.rollout.vllm.qwen3_next_vllm_model" + ":RLKernelQwen3NextForCausalLM" + ) + if ARCHITECTURE in ModelRegistry.get_supported_archs(): + if ModelRegistry.models[ARCHITECTURE].load_model_cls() is not RLKernelQwen3NextForCausalLM: + raise ValueError( + "A different model is already registered under the shared architecture" + ) + else: + ModelRegistry.register_model(ARCHITECTURE, path) + return ARCHITECTURE diff --git a/rl_engine/integrations/engines/rollout/vllm/qwen3_next_vllm_worker.py b/rl_engine/integrations/engines/rollout/vllm/qwen3_next_vllm_worker.py new file mode 100644 index 000000000..45d0adee0 --- /dev/null +++ b/rl_engine/integrations/engines/rollout/vllm/qwen3_next_vllm_worker.py @@ -0,0 +1,55 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""vLLM spawned-worker registration for the explicit shared Qwen architecture.""" + +from vllm.v1.worker.gpu_worker import Worker + +from rl_engine.integrations.common.qwen3_next_binary import imported_provider_identity +from rl_engine.integrations.engines.rollout.vllm.qwen3_next_vllm_model import register_shared_model + + +class SharedQwenWorker(Worker): + """Select through LLM(worker_cls=...) so spawn never relies on parent globals.""" + + def __init__(self, *args, **kwargs): + config = kwargs.get("vllm_config", args[0] if args else None) + identity = ( + config.additional_config.get("qwen3_next_shared_identity") + if config is not None + else None + ) + mode = None + if identity is not None: + from rl_engine.integrations.orchestrators.vime.experiments.qwen3_next.profile import ( + activate_for_identity, + ) + + mode = activate_for_identity(identity) + register_shared_model() + self.shared_provider_binary = imported_provider_identity() + super().__init__(*args, **kwargs) + self.shared_l2_trace = None + self.shared_provider_execution_mode = mode + + def configure_l2_trace(self, request, output_directory): + from rl_engine.integrations.engines.rollout.vllm.qwen3_next_native_rollout import ( + RolloutTrace, + ) + + if self.shared_l2_trace is not None: + raise RuntimeError("The previous rollout trace has not been collected") + self.shared_l2_trace = RolloutTrace(self, request, output_directory) + return {"rank": self.rank, "request_sha256": request["request_sha256"]} + + def collect_l2_trace(self): + if self.shared_l2_trace is None: + raise RuntimeError("No active rollout trace") + result = self.shared_l2_trace.finish() + self.shared_l2_trace = None + return result + + def execute_model(self, scheduler_output): + if self.shared_l2_trace is not None: + self.shared_l2_trace.before_execute(scheduler_output) + return super().execute_model(scheduler_output) diff --git a/rl_engine/integrations/engines/train/vllm/__init__.py b/rl_engine/integrations/engines/train/vllm/__init__.py new file mode 100644 index 000000000..988131360 --- /dev/null +++ b/rl_engine/integrations/engines/train/vllm/__init__.py @@ -0,0 +1 @@ +# SPDX-License-Identifier: Apache-2.0 diff --git a/rl_engine/integrations/engines/train/vllm/qwen3_next_conv.py b/rl_engine/integrations/engines/train/vllm/qwen3_next_conv.py new file mode 100644 index 000000000..2e2da8329 --- /dev/null +++ b/rl_engine/integrations/engines/train/vllm/qwen3_next_conv.py @@ -0,0 +1,133 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Differentiable, explicit-state bridge to the pinned vLLM causal-conv provider. + +Forward is the real vLLM update kernel for both prefill chunks and decode. +Backward recomputes the reference recurrence from training inputs. This module +does not install model hooks or advertise backend batch-invariance support. +""" + +from functools import lru_cache +from importlib.metadata import version + +import torch +from torch.autograd.function import once_differentiable + +from rl_engine.reference.linear_attn.causal_conv1d import CausalConv1dUpdateOp +from rl_engine.reference.linear_attn.gated_delta_rule import _validate_state_indices + + +@lru_cache(maxsize=1) +def _provider(): + if version("vllm") != "0.30.0": + raise RuntimeError("Qwen3-Next conv bridge requires the audited vLLM 0.30.0 provider") + from vllm.model_executor.layers.mamba.ops.causal_conv1d import causal_conv1d_update + + return causal_conv1d_update + + +def _lengths(x, state, weight, indices, cu_seqlens): + if x.ndim != 2 or not x.is_cuda or x.dtype != torch.bfloat16 or x.shape[1] == 0: + raise ValueError("x must be CUDA BF16 [tokens, dim] with positive dim") + if weight.shape != (x.shape[1], 4) or weight.dtype != x.dtype or weight.device != x.device: + raise ValueError("weight must be BF16 [dim, 4] on the input device") + if ( + state.ndim != 3 + or state.shape[1:] != (x.shape[1], 3) + or state.device != x.device + or state.dtype != x.dtype + ): + raise ValueError("conv state must be BF16 [blocks, dim, 3] on the input device") + if ( + cu_seqlens.ndim != 1 + or cu_seqlens.device.type != "cpu" + or cu_seqlens.dtype not in (torch.int32, torch.int64) + or cu_seqlens.numel() < 1 + ): + raise ValueError("cu_seqlens must be a nonempty CPU integer vector") + boundaries = cu_seqlens.tolist() + if boundaries[0] != 0 or boundaries[-1] != x.shape[0] or boundaries[-1] >= 2**31: + raise ValueError("cu_seqlens must cover all input tokens and fit int32") + lengths = [end - start for start, end in zip(boundaries, boundaries[1:])] + if any(length < 0 for length in lengths): + raise ValueError("cu_seqlens must be nondecreasing") + _validate_state_indices(indices, len(lengths), state.shape[0], x.device) + if bool((indices <= 0).any().item()): + raise ValueError("sequence cache indices must be positive; zero is reserved") + return lengths + + +class _CausalConvSequence(torch.autograd.Function): + @staticmethod + def forward(ctx, x, state, weight, indices, cu_seqlens): + lengths = _lengths(x, state, weight, indices, cu_seqlens) + ctx.save_for_backward(x, state, weight, indices, cu_seqlens) + new_state = state.contiguous().clone() + output = torch.zeros_like(x) + if x.shape[0]: + # The upstream varlen path subtracts (max_len - sequence_len) from + # its effective cache length, which is for speculative cache layouts. + # A width-1 ordinary cache must instead use the dense sequence path. + # Equal-length groups need neither padding nor a speculative cache. + boundaries = cu_seqlens.tolist() + for length in sorted(set(lengths) - {0}): + active = [i for i, size in enumerate(lengths) if size == length] + packed = torch.stack( + [x[boundaries[seq] : boundaries[seq + 1]].t() for seq in active] + ) + values = _provider()( + packed, + new_state, + weight.contiguous(), + activation="silu", + conv_state_indices=indices[active].to(torch.int32).contiguous(), + out=torch.empty_like(packed), + ) + for row, seq in enumerate(active): + output[boundaries[seq] : boundaries[seq + 1]] = values[row].t() + return output, new_state + + @staticmethod + @once_differentiable + def backward(ctx, grad_output, grad_state): + x, state, weight, indices, cu_seqlens = ctx.saved_tensors + with torch.enable_grad(): + inputs = [tensor.detach().requires_grad_(True) for tensor in (x, state, weight)] + x_ref, state_ref, weight_ref = inputs + pieces = [] + boundaries = cu_seqlens.tolist() + for seq, (start, end) in enumerate(zip(boundaries, boundaries[1:])): + for token in range(start, end): + out, state_ref = CausalConv1dUpdateOp()( + x_ref[token : token + 1], state_ref, weight_ref, indices[seq : seq + 1] + ) + pieces.append(out) + output = torch.cat(pieces) if pieces else x_ref[:0] + grads = torch.autograd.grad( + (output, state_ref), + inputs, + ( + torch.zeros_like(output) if grad_output is None else grad_output, + torch.zeros_like(state_ref) if grad_state is None else grad_state, + ), + allow_unused=True, + ) + return ( + *( + torch.zeros_like(value) if grad is None else grad + for value, grad in zip(inputs, grads) + ), + None, + None, + ) + + +def causal_conv_sequence(x, state, weight, indices, cu_seqlens): + """Return packed output and an independent cache; retain cache gradients. + + Qwen3-Next's width-four, bias-free SiLU convolution is the only contract. + All tensors except CPU ``cu_seqlens`` live on the input CUDA device. The + original cache and inputs are never mutated, including in inference mode. + """ + return _CausalConvSequence.apply(x, state, weight, indices, cu_seqlens) diff --git a/rl_engine/integrations/engines/train/vllm/qwen3_next_gdn.py b/rl_engine/integrations/engines/train/vllm/qwen3_next_gdn.py new file mode 100644 index 000000000..c9f136f57 --- /dev/null +++ b/rl_engine/integrations/engines/train/vllm/qwen3_next_gdn.py @@ -0,0 +1,193 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Experimental training bridge for the pinned vLLM GDN decode provider. + +Forward uses the real packed decode kernel, with a private cache copy. Backward +recomputes the mathematical recurrence from the training inputs and preserves +initial-state gradients. This is a single operator bridge, not a model installer, +prefill/decode equivalence claim, or permission to bypass vLLM's BI guard. +""" + +from functools import lru_cache +from importlib.metadata import version + +import torch +from torch.autograd.function import once_differentiable + +from rl_engine.reference.linear_attn.gated_delta_rule import ( + GatedDeltaRuleRecurrentStepOp, + _validate_state_indices, +) + + +@lru_cache(maxsize=1) +def _provider(): + if version("vllm") != "0.30.0": + raise RuntimeError("Qwen3-Next GDN bridge requires the audited vLLM 0.30.0 provider") + from vllm.third_party.flash_linear_attention.ops import ( + fused_recurrent_gated_delta_rule_packed_decode, + ) + + return fused_recurrent_gated_delta_rule_packed_decode + + +def _validate(qkv, a, b, A_log, dt_bias, state, indices, num_k_heads): + if not qkv.is_cuda or qkv.ndim != 2 or qkv.dtype != torch.bfloat16: + raise ValueError("qkv must be CUDA BF16 [B, D]") + if state.ndim != 4 or state.dtype != torch.float32 or state.shape[-2:] != (128, 128): + raise ValueError("state must be FP32 [blocks, HV, 128, 128]") + if isinstance(num_k_heads, bool) or not isinstance(num_k_heads, int) or num_k_heads <= 0: + raise ValueError("num_k_heads must be a positive integer") + batch, hv = qkv.shape[0], state.shape[1] + if hv <= 0 or hv % num_k_heads or qkv.shape[1] != 2 * num_k_heads * 128 + hv * 128: + raise ValueError("packed qkv width and state heads are inconsistent") + for name, tensor, shape, dtype in ( + ("a", a, (batch, hv), qkv.dtype), + ("b", b, (batch, hv), qkv.dtype), + ("A_log", A_log, (hv,), torch.float32), + ("dt_bias", dt_bias, (hv,), torch.float32), + ): + if tensor.shape != shape or tensor.dtype != dtype or tensor.device != qkv.device: + raise ValueError(f"{name} has an incompatible shape, dtype or device") + if state.device != qkv.device: + raise ValueError("state must share the qkv device") + _validate_state_indices(indices, batch, state.shape[0], qkv.device) + + +class _PackedDecode(torch.autograd.Function): + @staticmethod + def forward(ctx, qkv, a, b, A_log, dt_bias, state, indices, scale, num_k_heads): + _validate(qkv, a, b, A_log, dt_bias, state, indices, num_k_heads) + ctx.save_for_backward(qkv, a, b, A_log, dt_bias, state, indices) + ctx.scale, ctx.num_k_heads = float(scale), num_k_heads + new_state = state.contiguous().clone() + out = torch.zeros(qkv.shape[0], 1, state.shape[1], 128, device=qkv.device, dtype=qkv.dtype) + if qkv.shape[0]: + _provider()( + qkv.contiguous(), + a.contiguous(), + b.contiguous(), + A_log.contiguous(), + dt_bias.contiguous(), + float(scale), + new_state, + out, + indices.contiguous(), + use_qk_l2norm_in_kernel=True, + ) + return out, new_state + + @staticmethod + @once_differentiable + def backward(ctx, grad_out, grad_state): + *saved, indices = ctx.saved_tensors + with torch.enable_grad(): + inputs = [tensor.detach().requires_grad_(True) for tensor in saved] + out, state = GatedDeltaRuleRecurrentStepOp()( + *inputs, + indices, + scale=ctx.scale, + num_k_heads=ctx.num_k_heads, + ) + outputs_and_grads = [ + (value, torch.zeros_like(value) if grad is None else grad) + for value, grad in ((out, grad_out), (state, grad_state)) + if value.requires_grad + ] + grads = torch.autograd.grad( + tuple(value for value, _ in outputs_and_grads), + inputs, + tuple(grad for _, grad in outputs_and_grads), + allow_unused=True, + ) + grads = tuple( + torch.zeros_like(value) if grad is None else grad + for value, grad in zip(inputs, grads) + ) + + return (*grads, None, None, None) + + +def packed_decode_training_step( + qkv, a, b, A_log, dt_bias, state, indices, *, num_k_heads, scale=None +): + """One train-side token; pass returned state onward without detaching it. + + Supports first-order gradients only. FP32 recurrent state and Qwen3-Next + 128-wide heads are mandatory. This function never reads rollout tensors. + """ + return _PackedDecode.apply( + qkv, + a, + b, + A_log, + dt_bias, + state, + indices, + 128**-0.5 if scale is None else float(scale), + num_k_heads, + ) + + +def packed_recurrent_sequence( + qkv, a, b, A_log, dt_bias, state, indices, cu_seqlens, *, num_k_heads, scale=None +): + """Apply the decode provider to packed, variable-length sequences. + + ``cu_seqlens`` is CPU int32/int64 metadata delimiting contiguous sequences + in ``qkv[T, D]``. ``indices[B]`` maps each sequence to a distinct positive + cache slot; slot zero remains reserved by the decode provider. Returning + the entire FP32 state bank makes chunk continuation and sequence reordering + explicit. Callers must pass that state onward without detaching it for + training. No rollout cache is read and no batch-invariance capability is + registered. This intentionally slow recurrence is an integration reference, + not equivalence evidence for the upstream chunk-prefill kernel. + """ + if ( + not isinstance(cu_seqlens, torch.Tensor) + or cu_seqlens.device.type != "cpu" + or cu_seqlens.dtype not in (torch.int32, torch.int64) + or cu_seqlens.ndim != 1 + or cu_seqlens.numel() < 1 + ): + raise ValueError("cu_seqlens must be a nonempty CPU int32/int64 vector") + boundaries = cu_seqlens.tolist() + if qkv.ndim != 2 or boundaries[0] != 0 or boundaries[-1] != qkv.shape[0]: + raise ValueError("cu_seqlens must span all packed qkv tokens, starting at zero") + lengths = [end - start for start, end in zip(boundaries, boundaries[1:])] + if any(length < 0 for length in lengths): + raise ValueError("cu_seqlens must be nondecreasing") + if a.ndim != 2 or b.ndim != 2 or a.shape[0] != qkv.shape[0] or b.shape[0] != qkv.shape[0]: + raise ValueError("a and b must have one row per packed token") + _validate(qkv[:0], a[:0], b[:0], A_log, dt_bias, state, indices[:0], num_k_heads) + _validate_state_indices(indices, len(lengths), state.shape[0], qkv.device) + if bool((indices <= 0).any().item()): + raise ValueError("sequence cache indices must be positive; zero is reserved") + outputs, positions = [], [] + for position in range(max(lengths, default=0)): + active = [seq for seq, length in enumerate(lengths) if position < length] + rows = [boundaries[seq] + position for seq in active] + row_ids = torch.tensor(rows, device=qkv.device, dtype=torch.int64) + seq_ids = torch.tensor(active, device=qkv.device, dtype=torch.int64) + out, state = packed_decode_training_step( + qkv.index_select(0, row_ids), + a.index_select(0, row_ids), + b.index_select(0, row_ids), + A_log, + dt_bias, + state, + indices.index_select(0, seq_ids), + num_k_heads=num_k_heads, + scale=scale, + ) + outputs.append(out[:, 0]) + positions.extend(rows) + if not outputs: + return qkv.new_empty((0, state.shape[1], 128)), state + # Restore packed sequence order after the time-major recurrent traversal. + inverse = [0] * len(positions) + for source, destination in enumerate(positions): + inverse[destination] = source + order = torch.tensor(inverse, device=qkv.device, dtype=torch.int64) + return torch.cat(outputs).index_select(0, order), state diff --git a/rl_engine/integrations/engines/train/vllm/qwen3_next_provider.py b/rl_engine/integrations/engines/train/vllm/qwen3_next_provider.py new file mode 100644 index 000000000..af296f413 --- /dev/null +++ b/rl_engine/integrations/engines/train/vllm/qwen3_next_provider.py @@ -0,0 +1,110 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Shared Qwen3-Next GDN core with explicit provider and state identities. + +This is the convolution/recurrence/gated-norm boundary, after the projections +and before the output projection. It is not a full attention or model adapter. +The same call can be made under inference_mode or with training autograd. +""" + +from dataclasses import asdict, dataclass + +import torch + +from rl_engine.integrations.engines.train.vllm.qwen3_next_conv import causal_conv_sequence +from rl_engine.integrations.engines.train.vllm.qwen3_next_gdn import packed_recurrent_sequence + + +@dataclass(frozen=True) +class GDNProviderConfig: + """The only implemented profile; other providers cannot silently substitute.""" + + version: str = "qwen3-next-gdn-core-v1" + convolution: str = "vllm-0.30.0-causal-conv-update-equal-length-groups" + recurrence: str = "vllm-0.30.0-packed-recurrent-decode" + gated_norm: str = "rl-engine-cuda-rmsnorm-gated" + recurrent_dtype: str = "float32" + activation_dtype: str = "bfloat16" + head_dim: int = 128 + + def validate(self): + if self != GDNProviderConfig(): + raise ValueError("Unsupported GDN provider configuration") + + def identity(self): + self.validate() + return asdict(self) + + +@dataclass(frozen=True) +class GDNState: + convolution: torch.Tensor + recurrent: torch.Tensor + + +def shared_gdn_core( + qkv, + a, + b, + z, + A_log, + dt_bias, + conv_weight, + norm_weight, + state, + indices, + cu_seqlens, + *, + config, + num_k_heads, + eps=1e-6, +): + """Independently recompute packed training inputs or execute rollout inputs. + + qkv is laid out as contiguous Q, K, V groups. z is [tokens, value_heads, 128]. + Both callers must explicitly supply the same GDNProviderConfig. State is + returned without detachment so a response loss can differentiate through + the prompt. No global vLLM batch-invariance capability is changed. + """ + if not isinstance(config, GDNProviderConfig): + raise ValueError("An explicit GDNProviderConfig is required") + config.validate() + if not isinstance(state, GDNState): + raise ValueError("An explicit convolution and recurrent GDNState is required") + if state.recurrent.ndim != 4: + raise ValueError("Recurrent state must have four dimensions") + if ( + z.shape != (qkv.shape[0], state.recurrent.shape[1], 128) + or z.dtype != torch.bfloat16 + or z.device != qkv.device + ): + raise ValueError("z must be BF16 [tokens, value_heads, 128] on the input device") + if ( + norm_weight.shape != (128,) + or norm_weight.dtype != torch.bfloat16 + or norm_weight.device != qkv.device + ): + raise ValueError("Gated norm weight must be BF16 [128] on the input device") + from rl_engine.backends.cuda.norm.rmsnorm import Qwen3NextRMSNormGatedCudaOp + + norm = Qwen3NextRMSNormGatedCudaOp() + + convolved, conv_state = causal_conv_sequence( + qkv, state.convolution, conv_weight, indices, cu_seqlens + ) + recurrent, recurrent_state = packed_recurrent_sequence( + convolved, + a, + b, + A_log, + dt_bias, + state.recurrent, + indices, + cu_seqlens, + num_k_heads=num_k_heads, + ) + normed = norm(recurrent.reshape(-1, 128), norm_weight, z.reshape(-1, 128), eps=eps).reshape_as( + z + ) + return normed, GDNState(conv_state, recurrent_state) diff --git a/rl_engine/integrations/orchestrators/vime/experiments/qwen3_next/__init__.py b/rl_engine/integrations/orchestrators/vime/experiments/qwen3_next/__init__.py new file mode 100644 index 000000000..efe5f73d2 --- /dev/null +++ b/rl_engine/integrations/orchestrators/vime/experiments/qwen3_next/__init__.py @@ -0,0 +1 @@ +"""rl_engine.integrations.orchestrators.vime.experiments.qwen3_next package.""" diff --git a/rl_engine/integrations/orchestrators/vime/experiments/qwen3_next/native_recompute.py b/rl_engine/integrations/orchestrators/vime/experiments/qwen3_next/native_recompute.py new file mode 100644 index 000000000..cb868323e --- /dev/null +++ b/rl_engine/integrations/orchestrators/vime/experiments/qwen3_next/native_recompute.py @@ -0,0 +1,319 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Independent native VIME full-model recomputation from frozen tokens only.""" + +import os +import sys +import traceback +from datetime import timedelta +from pathlib import Path +from uuid import uuid4 + +import torch +import torch.distributed as dist +import torch.multiprocessing as mp + +from rl_engine.models.qwen3_next import qwen3_next_subnode as subnode +from rl_engine.validation.common.file_digest import file_sha256 +from rl_engine.validation.common.tensor_identity import assert_tensor_bitwise_equal as exact +from rl_engine.validation.models.qwen3_next_l2 import ( + embedding_digest, + layer_digest, + load_tensor_artifact, + save_tensor_artifact, + validate_model_artifact, + validate_native_worker_traces, +) + + +def response_rows(value, request): + """Keep original BF16 values at P-1..P+14 for every packed sample.""" + batch = len(request["prompt_tokens"]) + length = len(request["consumed_input_tokens"][0]) + if value.dtype not in (torch.bfloat16, torch.int64) or value.numel() == 0: + raise ValueError("Response traces must preserve nonempty original BF16/int64 storage") + value = value.reshape(-1, value.shape[-1]) + if value.shape[0] < batch * length: + raise ValueError("Packed model output does not cover every frozen sample") + positions = torch.tensor(request["prediction_positions"], device=value.device) + if positions.shape != (16,) or positions[-1] != length - 1: + raise ValueError("Response positions must end before consuming the last target token") + return torch.stack([value[index * length + positions] for index in range(batch)]) + + +def _rank_main(rank, cases, staging): + os.environ.update(LOCAL_RANK=str(rank), RANK=str(rank), WORLD_SIZE="4") + torch.cuda.set_device(rank) + dist.init_process_group( + "nccl", + init_method=f"file://{staging}/rendezvous", + rank=rank, + world_size=4, + timeout=timedelta(minutes=30), + device_id=torch.device("cuda", rank), + ) + try: + from megatron.core import mpu + from megatron.core.packed_seq_params import PackedSeqParams + from qwen3_next_contract import atomic_json + + from rl_engine.integrations.common.qwen3_next_binary import imported_provider_identity + from rl_engine.integrations.orchestrators.vime.providers.qwen3_next_vime_runtime import ( + create_actor, + ) + from rl_engine.models.qwen3_next.qwen3_next_forward import shared_logprob + from rl_engine.models.qwen3_next.qwen3_next_logprob import qwen_logprob_contract + + first = cases[0][0] + args, model, optimizer, scheduler = create_actor( + first["identity"]["checkpoint"], training=False + ) + if optimizer is not None or scheduler is not None or len(model) != 1: + raise ValueError("L2 recompute requires one native actor without an optimizer") + raw = model[0] + while hasattr(raw, "module"): + raw = raw.module + if len(raw.decoder.layers) != 48: + raise ValueError("Native recompute must execute all 48 decoder layers") + model[0].eval() + provider_binary = imported_provider_identity() + group = mpu.get_tensor_model_parallel_group() + for case_index, (request, _output) in enumerate(cases): + if request["identity"] != first["identity"] or request["role"] != "recompute": + raise ValueError("A native actor batch cannot mix model identities or roles") + if rank == 0: + atomic_json( + Path(staging).parent / "active-case.json", + { + "case_id": request["case_id"], + "phase": "native_recompute", + "request": str(Path(_output).with_suffix(".request.json")), + }, + ) + consumed = torch.tensor( + request["consumed_input_tokens"], device="cuda", dtype=torch.long + ) + batch, length = consumed.shape + if length != request["state_position"] + 1: + raise ValueError("Recompute recurrent-state position is inconsistent") + cu = torch.arange(batch + 1, device="cuda", dtype=torch.int32) * length + packed = PackedSeqParams( + cu_seqlens_q=cu, + cu_seqlens_kv=cu, + max_seqlen_q=length, + max_seqlen_kv=length, + qkv_format="thd", + ) + traces, handles = {}, [] + local_logits = [] + + def capture_output(index): + def hook(_module, _inputs, output): + hidden = output[0] if isinstance(output, tuple) else output + traces.setdefault(index, {})["output"] = ( + response_rows(hidden, request).detach().cpu() + ) + + return hook + + def capture_state(index): + def hook(state, indices, _cu): + slots = indices[:batch].long() + if (index + 1) % 4: + values = { + "convolution": state.convolution[slots], + "recurrent_state": state.recurrent[slots], + } + else: + chosen = slots.cpu().tolist() + values = { + "key": torch.cat([state.keys[i] for i in chosen]), + "value": torch.cat([state.values[i] for i in chosen]), + } + traces.setdefault(index, {})["states"] = { + key: value.detach().cpu() for key, value in values.items() + } + + return hook + + def capture_logits(_module, _inputs, output): + if local_logits: + raise ValueError( + "Native L2 recompute must run exactly one full forward per case" + ) + local_logits.append(response_rows(output[0], request).detach()) + + def capture_subnode(index, name, value): + nodes = traces.setdefault(index, {}).setdefault("subnodes", {}) + if name in nodes: + raise ValueError(f"Sub-node {name} of layer {index} was observed twice") + nodes[name] = response_rows(value, request).detach().cpu() + + subnode.install(raw.decoder.layers, subnode.vime_modules, capture_subnode) + embedding = raw.embedding.word_embeddings + + def capture_embedding(_name, value): + if "embedding" in traces.setdefault("model", {}): + raise ValueError("The embedding was observed twice in one forward") + traces["model"]["embedding"] = response_rows(value, request).detach().cpu() + + embedding.subnode_hook = capture_embedding + for index, layer in enumerate(raw.decoder.layers): + layer.self_attention.trace_state_hook = capture_state(index) + handles.append(layer.register_forward_hook(capture_output(index))) + handles.append(raw.output_layer.register_forward_hook(capture_logits)) + try: + with torch.no_grad(): + model[0]( + input_ids=consumed.reshape(1, -1), + position_ids=None, + attention_mask=None, + labels=None, + packed_seq_params=packed, + ) + if len(local_logits) != 1 or len(traces) != 49: + raise ValueError("Native model omitted an output or diagnostic hook") + local = local_logits[0].reshape(-1, 37984) + targets = torch.tensor( + request["response_tokens"], device="cuda", dtype=torch.long + ).reshape(-1) + selected, _lse, _entropy = shared_logprob( + local, + targets, + contract=qwen_logprob_contract(local, rank=rank, world_size=4), + tp_group=group, + with_entropy=True, + ) + peers = [torch.empty_like(local) for _ in range(4)] + dist.all_gather(peers, local.contiguous(), group=group) + record = { + "rank": rank, + "request_sha256": request["request_sha256"], + "role": "recompute", + "execution": request["execution"], + "provider_binary": provider_binary, + "layers": traces, + "local_logits": local.reshape(batch, 16, 37984).cpu(), + "responses": targets.reshape(batch, 16).cpu(), + "logprobs": selected.reshape(batch, 16).cpu(), + } + if rank == 0: + record["logits"] = torch.cat(peers, dim=-1).reshape(batch, 16, 151936).cpu() + save_tensor_artifact(Path(staging) / f"case-{case_index}-rank-{rank}.pt", record) + del peers, local + local_logits.clear() + finally: + for handle in handles: + handle.remove() + for layer in raw.decoder.layers: + layer.self_attention.trace_state_hook = None + subnode.remove(raw.decoder.layers, subnode.vime_modules) + embedding.subnode_hook = None + dist.barrier() + except BaseException: + # One rank must not take the others down by deadlock: tearing down the + # process group while its peers sit in a collective can block forever. + # Report, then exit so the spawning parent terminates + # the sibling ranks and the stage fails instead of running out its budget. + traceback.print_exc() + sys.stderr.flush() + os._exit(3) + finally: + dist.destroy_process_group() + + +def _assemble(request, ranks, records): + if len(ranks) != 4 or [item.get("rank") for item in ranks] != list(range(4)): + raise ValueError("Recompute artifacts must cover all four distinct TP ranks") + result = { + "metadata": { + key: request[key] + for key in ("schema_version", "case_id", "role", "identity", "request_sha256") + }, + "execution": request["execution"], + "prompt_tokens": torch.tensor(request["prompt_tokens"], dtype=torch.int64), + "response_tokens": torch.tensor(request["response_tokens"], dtype=torch.int64), + "prediction_positions": torch.tensor(request["prediction_positions"], dtype=torch.int64), + "logits": ranks[0]["logits"], + "logprobs": ranks[0]["logprobs"], + "layer_digests": [], + "embedding_digest": embedding_digest(ranks[0]["layers"]["model"]["embedding"]), + "debug_tensors": {}, + "worker_traces": records, + "provider_binary": ranks[0]["provider_binary"], + } + for peer in ranks[1:]: + exact( + peer["layers"]["model"]["embedding"], + ranks[0]["layers"]["model"]["embedding"], + name="TP replicated embedding", + ) + for peer in ranks: + if peer.get("provider_binary") != result["provider_binary"]: + raise ValueError("Recompute TP ranks loaded different CUDA provider binaries") + if peer["request_sha256"] != request["request_sha256"]: + raise ValueError("Rank result belongs to a different request") + exact(peer["logprobs"], result["logprobs"], name="TP selected logprob replica") + for layer in range(48): + hidden = ranks[0]["layers"][layer]["output"] + states = {} + for rank, peer in enumerate(ranks): + exact(peer["layers"][layer]["output"], hidden, name=f"TP layer {layer} replica") + states.update( + { + f"tp{rank}.{name}": value + for name, value in peer["layers"][layer]["states"].items() + } + ) + nodes = ranks[0]["layers"][layer]["subnodes"] + for peer in ranks[1:]: + for name in subnode.SUBNODES: + exact(peer["layers"][layer]["subnodes"][name], nodes[name], name=f"TP {name}") + nodes = {name: nodes[name] for name in subnode.SUBNODES} + result["layer_digests"].append( + layer_digest(layer, hidden, states, request=request, subnodes=nodes) + ) + if layer in request["trace_layers"]: + result["debug_tensors"][f"layer.{layer}.output"] = hidden + result["debug_tensors"].update( + {f"layer.{layer}.subnode.{name}": value for name, value in nodes.items()} + ) + result["debug_tensors"].update( + {f"layer.{layer}.{name}": value for name, value in states.items()} + ) + validate_model_artifact(result, request) + return result + + +def run_recompute_cases(cases): + cases = [(request, str(output)) for request, output in cases] + if not cases: + raise ValueError("Native recompute batch cannot be empty") + staging = Path(cases[0][1]).parent / f"native-recompute-{uuid4().hex}" + staging.mkdir(parents=True, exist_ok=False) + # Spawn preserves the current isolated-venv interpreter. Each rank loads + # the real model once, and all ranks exit before another GPU role starts. + mp.spawn(_rank_main, args=(cases, str(staging)), nprocs=4, join=True) + for index, (request, output) in enumerate(cases): + files = [staging / f"case-{index}-rank-{rank}.pt" for rank in range(4)] + records = [] + for rank, path in enumerate(files): + digest = file_sha256(path) + records.append( + { + "rank": rank, + "path": str(path.absolute()), + "sha256": digest, + "request_sha256": request["request_sha256"], + } + ) + artifact = _assemble(request, [load_tensor_artifact(path) for path in files], records) + validate_native_worker_traces(artifact, request, artifact_root=staging.parent) + # Retain original per-rank hidden/state tensors for historical validation + # and first-divergence diagnosis after old HF exports have been retired. + save_tensor_artifact(Path(output), artifact) + + +def run_recompute_case(request, output): + run_recompute_cases([(request, output)]) diff --git a/rl_engine/integrations/orchestrators/vime/experiments/qwen3_next/native_training.py b/rl_engine/integrations/orchestrators/vime/experiments/qwen3_next/native_training.py new file mode 100644 index 000000000..c3e2ae3fc --- /dev/null +++ b/rl_engine/integrations/orchestrators/vime/experiments/qwen3_next/native_training.py @@ -0,0 +1,392 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Native four-rank RL updates and restart controls, separated from rollout GPUs.""" + +import json +import os +import re +import sys +import traceback +from datetime import timedelta +from pathlib import Path +from uuid import uuid4 + +import torch +import torch.distributed as dist +import torch.multiprocessing as mp + +from rl_engine.validation.models.qwen3_next_l2 import load_tensor_artifact, validate_fixture +from rl_engine.validation.models.qwen3_next_rl_fixture import PolicyFixture + + +def policy_fixture(path): + frozen = load_tensor_artifact(path) + validate_fixture(frozen) + return PolicyFixture.freeze( + torch.cat((frozen["prompts"]["64"], frozen["responses"]["64"]), dim=1), + frozen["old_logprobs"]["64"], + baseline_identity=frozen["baseline_identity"], + ) + + +def active_parameter_groups(model): + """Every parameter tensor in the full actor must participate in the update. + + Routed experts use one fused parameter per layer: unselected expert rows + may be zero, while at least one selected row must carry a real gradient. + """ + from rl_engine.integrations.orchestrators.vime.providers.qwen3_next_training import ( + named_trainable_parameters, + ) + + parameters = named_trainable_parameters(model) + validate_active_parameter_names(parameters) + return {name: (name,) for name in parameters} + + +def validate_active_parameter_names(parameters): + layers = { + int(match.group(1)) + for name in parameters + for match in [re.search(r"(?:^|\.)decoder\.layers\.(\d+)\.", name)] + if match + } + if layers != set(range(48)): + raise ValueError("Active parameters must cover exactly the full 48 decoder layers") + for layer in range(48): + for component in ("self_attention.", "mlp.", "pre_mlp_layernorm."): + prefix = f"decoder.layers.{layer}.{component}" + if not any(prefix in name for name in parameters): + raise ValueError(f"Full actor omits an active parameter path: {prefix}") + for component in ("embedding.", "output_layer.", "final_layernorm."): + if not any(component in name for name in parameters): + raise ValueError(f"Full actor omits {component}") + + +def policy_step(args, model, optimizer, scheduler, fixture, *, step, required_groups): + """Track consumed samples only after native loss/backward/update/scheduler succeed.""" + from rl_engine.integrations.orchestrators.vime.providers.qwen3_next_training import ( + native_policy_update, + ) + + before, after = (step - 1) * 4, step * 4 + if args.consumed_train_samples != before or scheduler.num_steps != before: + raise ValueError("Native update starts from inconsistent sample/scheduler progress") + audit = native_policy_update( + args, model, optimizer, scheduler, fixture, step=step, required_groups=required_groups + ) + if scheduler.num_steps != after or args.consumed_train_samples != before: + raise ValueError("Native VIME scheduler/sample-counter behavior differs from pinned API") + # Pinned VIME train_one_step advances the scheduler but owns no consumed + # sample counter. The controller advances that counter after its success. + args.consumed_train_samples = after + audit["progress"] = { + "consumed_before": before, + "consumed_after": after, + "scheduler_before": before, + "scheduler_after": after, + "sample_counter_owner": "qwen3_next_native_training.policy_step", + } + return audit + + +def retire_prior_checkpoints(checkpoint, root, identity): + """Called only after all-rank publication/load verifies the successor bytes.""" + from qwen3_next_runtime import retire_directory + + checkpoint, root = Path(checkpoint), Path(root) + if ( + root.is_symlink() + or checkpoint.is_symlink() + or checkpoint.resolve().parent != root.resolve() + ): + raise ValueError("Checkpoint retention is restricted to this run's direct directory") + checkpoint, root = checkpoint.resolve(), root.resolve() + owner = root / "RUN_OWNER.json" + if owner.is_symlink() or json.loads(owner.read_text()) != identity: + raise ValueError("Checkpoint retention lacks a matching run owner") + successor = json.loads((checkpoint / "COMPLETE.json").read_text()) + if successor.get("identity") != identity or successor.get("status") != "complete": + raise ValueError("Checkpoint successor is not a published state for this run") + retired = [] + for path in root.iterdir(): + if ( + not path.is_dir() + or path == checkpoint + or path.suffix == ".partial" + or path.name.startswith(".") + ): + continue + marker = path / "COMPLETE.json" + if path.is_symlink() or marker.is_symlink(): + raise ValueError("Checkpoint retention cannot follow symlinks") + previous = json.loads(marker.read_text()) + if ( + previous.get("identity") != identity + or previous.get("status") != "complete" + or previous.get("step", -1) >= successor["step"] + ): + raise ValueError("Checkpoint retention found an unrelated or ambiguous successor") + retirement = retire_directory( + path, + root, + identity, + proof={ + "complete": previous, + "successor": str(checkpoint), + "successor_complete": successor, + }, + ) + retired.append({"path": str(path), "complete": previous, "retirement": retirement}) + return retired + + +def _rank_main(rank, request, staging): + from qwen3_next_contract import atomic_json + + os.environ.update(RANK=str(rank), LOCAL_RANK=str(rank), WORLD_SIZE="4") + torch.cuda.set_device(rank) + dist.init_process_group( + "nccl", + init_method=f"file://{staging}/rendezvous", + rank=rank, + world_size=4, + timeout=timedelta(minutes=60), + device_id=torch.device("cuda", rank), + ) + try: + from megatron.core.tensor_parallel.random import get_cuda_rng_tracker + from qwen3_next_training_checkpoint import ( + _rank_zero_call, + load_training_checkpoint, + save_training_checkpoint, + training_state_identity, + ) + from qwen3_next_training_export import export_training_weights + + from rl_engine.integrations.orchestrators.vime.providers.qwen3_next_vime_runtime import ( + create_actor, + ) + from rl_engine.validation.models.qwen3_next_binary import verify_imported_provider + + fixture = policy_fixture(request["fixture"]) + manifest = request["manifest"] + identity = request["identity"] + provider_binary = verify_imported_provider( + request["provider_binary"], source_tree=identity["source_tree"] + ) + if identity["fixture_sha256"] != fixture.content_sha256: + raise ValueError("Native RL worker fixture identity changed") + args, model, optimizer, scheduler = create_actor(manifest["checkpoint"], training=True) + if optimizer is None or scheduler is None or len(model) != 1: + raise ValueError("Native RL worker requires the actual optimizer and scheduler") + tracker = get_cuda_rng_tracker() + groups = active_parameter_groups(model) + phase = request["phase"] + record = { + "rank": rank, + "phase": phase, + "identity": identity, + "pid": os.getpid(), + "provider_binary": provider_binary, + "native_entrypoints": [ + "vime.backends.megatron_utils.model.setup_model_and_optimizer", + "vime.backends.megatron_utils.model.train_one_step", + "vime.backends.megatron_utils.loss.policy_loss_function", + ], + } + restored = None + if request.get("checkpoint"): + restored = load_training_checkpoint( + args, + model, + optimizer, + scheduler, + fixture, + request["checkpoint"], + identity=identity, + tracker=tracker, + ) + record["restored"] = restored + expected_previous = { + "update1": 0, + "update2": 1, + "reload": 2, + "continuous": 0, + "resumed": 2, + }[phase] + actual_previous = restored["step"] if restored else 0 + recover_published_update = phase in ("update1", "update2") and actual_previous == ( + 1 if phase == "update1" else 2 + ) + if actual_previous != expected_previous and not recover_published_update: + raise ValueError("Native RL update resumed from the wrong complete step") + if phase in ("continuous", "resumed"): + record["controls"] = {} + for step in (1, 2, 3) if phase == "continuous" else (3,): + audit = policy_step( + args, model, optimizer, scheduler, fixture, step=step, required_groups=groups + ) + state = training_state_identity( + args, + model, + optimizer, + scheduler, + fixture, + step=step, + sample_position=step * 4, + identity=identity, + tracker=tracker, + ) + expected = request["expected_states"][str(step)][rank] if step < 3 else None + if expected is not None and state != expected: + differing = sorted( + key + for key in expected.keys() | state.keys() + if expected.get(key) != state.get(key) + ) + atomic_json( + Path(staging) / f"divergence-rank-{rank}.json", + { + "rank": rank, + "step": step, + "differing": differing, + "expected": expected, + "actual": state, + "update": audit, + }, + ) + raise ValueError( + f"Continuous control diverged from original update {step} " + f"on rank {rank}: {', '.join(differing)}" + ) + record["controls"][str(step)] = {"update": audit, "state": state} + verify_imported_provider( + request["provider_binary"], source_tree=identity["source_tree"] + ) + atomic_json(Path(staging) / f"rank-{rank}.json", record) + dist.barrier() + return + step = 1 if phase == "update1" else 2 + if recover_published_update: + record["update"] = restored["rank_evidence"]["update_evidence"] + if record["update"].get("step") != step: + raise ValueError("Published checkpoint omits the committed update evidence") + record["recovered_committed_update"] = True + checkpoint = request["checkpoint"] + elif phase != "reload": + record["update"] = policy_step( + args, model, optimizer, scheduler, fixture, step=step, required_groups=groups + ) + saved = save_training_checkpoint( + args, + model, + optimizer, + scheduler, + fixture, + request["checkpoint_root"], + step=step, + sample_position=step * 4, + identity=identity, + tracker=tracker, + export_bytes=request["export_bytes"], + update_evidence=record["update"], + ) + record["saved"] = saved + checkpoint = saved["checkpoint"] + else: + checkpoint = request["checkpoint"] + record["retired_checkpoints"] = _rank_zero_call( + lambda: retire_prior_checkpoints(checkpoint, request["checkpoint_root"], identity), + "retire previous complete checkpoints after verified successor", + ) + checkpoint_bytes = sum( + path.stat().st_size for path in Path(checkpoint).rglob("*") if path.is_file() + ) + # Export must reflect the reloaded BF16 actor in the reload phase. Never + # reuse the update2 export as purported evidence that loading worked. + record["export"] = export_training_weights( + args, + model, + request["export_root"], + step=step, + weight_version={"update1": "update-1", "update2": "update-2", "reload": "reload-2"}[ + phase + ], + identity=identity, + base_checkpoint=manifest["checkpoint"], + base_checkpoint_identity=manifest["checkpoint_identity"], + checkpoint_bytes=checkpoint_bytes, + retained_complete_bytes=checkpoint_bytes, + ) + record["state"] = training_state_identity( + args, + model, + optimizer, + scheduler, + fixture, + step=step, + sample_position=step * 4, + identity=identity, + tracker=tracker, + ) + verify_imported_provider(request["provider_binary"], source_tree=identity["source_tree"]) + atomic_json(Path(staging) / f"rank-{rank}.json", record) + dist.barrier() + except BaseException: + # One rank must not take the others down by deadlock: tearing down the + # process group while its peers sit in a collective can block forever. + # Report, then exit so the spawning parent terminates + # the sibling ranks and the stage fails instead of running out its budget. + traceback.print_exc() + sys.stderr.flush() + os._exit(3) + finally: + dist.destroy_process_group() + + +def run_training_phase(request, output): + """One fresh native actor lifetime, then all CUDA processes exit.""" + from qwen3_next_contract import atomic_json + + if request["phase"] not in ("update1", "update2", "reload", "continuous", "resumed"): + raise ValueError("Unknown native RL phase") + if torch.cuda.device_count() != 4: + raise ValueError("Native training requires exactly four visible GPUs") + identity, manifest = request["identity"], request["manifest"] + if ( + identity.get("topology") != {"tp": 4, "pp": 1, "cp": 1, "ep": 1} + or identity.get("architecture_layers") != 48 + or identity.get("checkpoint") != manifest.get("checkpoint") + or identity.get("checkpoint_identity") != manifest.get("checkpoint_identity") + ): + raise ValueError("Native training request changed base checkpoint/depth/topology") + staging = Path(output).parent / f"native-training-{uuid4().hex}" + staging.mkdir(parents=True, exist_ok=False) + mp.spawn(_rank_main, args=(request, str(staging)), nprocs=4, join=True) + records = [json.loads((staging / f"rank-{rank}.json").read_text()) for rank in range(4)] + for rank, record in enumerate(records): + if (record["rank"], record["phase"], record["identity"]) != ( + rank, + request["phase"], + request["identity"], + ): + raise ValueError("Native RL rank record identity mismatch") + if record.get("export") != records[0].get("export"): + raise ValueError("Native RL ranks disagree on the published HF export") + if record.get("provider_binary") != records[0].get("provider_binary"): + raise ValueError("Native RL ranks imported different CUDA provider binaries") + result = { + "schema_version": 1, + "status": "passed", + "phase": request["phase"], + "identity": request["identity"], + "ranks": records, + "export": records[0].get("export"), + "checkpoint": records[0].get("saved", {}).get("checkpoint", request.get("checkpoint")), + "all_rank_processes_exited": True, + "provider_binary": request["provider_binary"], + } + atomic_json(output, result) + return result diff --git a/rl_engine/integrations/orchestrators/vime/experiments/qwen3_next/native_workers.py b/rl_engine/integrations/orchestrators/vime/experiments/qwen3_next/native_workers.py new file mode 100644 index 000000000..55aa521e1 --- /dev/null +++ b/rl_engine/integrations/orchestrators/vime/experiments/qwen3_next/native_workers.py @@ -0,0 +1,55 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Implemented native model entrypoints; availability is not acceptance evidence.""" + + +def capabilities(): + from rl_engine.integrations.engines.rollout.vllm import qwen3_next_native_rollout as rollout + from rl_engine.integrations.orchestrators.vime.experiments.qwen3_next import ( + native_recompute as recompute, + ) + + ready = rollout.capabilities() + if any( + not callable(getattr(module, name, None)) + for module, names in ( + (rollout, ("run_rollout_case", "run_rollout_cases")), + (recompute, ("run_recompute_case", "run_recompute_cases")), + ) + for name in names + ): + raise RuntimeError("The native model worker implementation is incomplete") + return { + **ready, + "recompute": True, + "independent_processes_required": True, + "full_model_l2_verified": False, + "training_and_reload_verified": False, + } + + +def run_rollout_cases(cases): + from rl_engine.integrations.engines.rollout.vllm.qwen3_next_native_rollout import ( + run_rollout_cases as run, + ) + + # Preserve the lazy generator: baseline generation freezes response tokens + # before the subsequent teacher-forced cases are constructed. + return run(cases) + + +def run_rollout_case(request, output): + return run_rollout_cases([(request, output)]) + + +def run_recompute_cases(cases): + from rl_engine.integrations.orchestrators.vime.experiments.qwen3_next.native_recompute import ( + run_recompute_cases as run, + ) + + return run(cases) + + +def run_recompute_case(request, output): + return run_recompute_cases([(request, output)]) diff --git a/rl_engine/integrations/orchestrators/vime/experiments/qwen3_next/profile.py b/rl_engine/integrations/orchestrators/vime/experiments/qwen3_next/profile.py new file mode 100644 index 000000000..8e2e99fe0 --- /dev/null +++ b/rl_engine/integrations/orchestrators/vime/experiments/qwen3_next/profile.py @@ -0,0 +1,143 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Activate only the bounded CUSTOM profile after verifying native layer evidence. + +Capability is process-local and false by default. Qualification runs use BI=0; +strict runs use BI=1 plus the immutable predecessor certificate in their model +identity. Generic vLLM GDN_ATTN registration is never modified. +""" + +import json +import os +import subprocess +import sys +from pathlib import Path + +_CERTIFIED = None +ROOT = Path(__file__).resolve().parents[6] + + +def profile_is_certified(): + return _CERTIFIED is not None and os.environ.get("VLLM_BATCH_INVARIANT") == "1" + + +def validate_certified_weights(identity, certified): + """The base certificate is not a certificate for newly updated weight bytes.""" + from rl_engine.validation.models.qwen3_next_l2 import validate_weight_identity + + validate_weight_identity(identity) + if identity.get("weight_version", "baseline") == "baseline": + if any( + identity.get(key) != certified.get(key) for key in ("checkpoint", "checkpoint_identity") + ): + raise ValueError("Baseline weights differ from the certified official checkpoint") + return + if any( + ( + identity.get("base_checkpoint") != certified.get("checkpoint"), + identity.get("base_checkpoint_identity") != certified.get("checkpoint_identity"), + ) + ): + raise ValueError("Updated export refers to a different certified official base") + from qwen3_next_training_export import validate_training_export + + verified = validate_training_export(identity["checkpoint"], identity["checkpoint_identity"]) + if verified != identity["checkpoint_identity"]: + raise ValueError("Actual updated weight files differ from the pinned export identity") + training = verified["training_identity"] + fields = ( + "source_commit", + "source_tree", + "environment_sha256", + "provider_config", + "topology", + "checkpoint", + "checkpoint_identity", + ) + if any(training.get(key) != certified.get(key) for key in fields): + raise ValueError( + "Updated export training provenance differs from the certified base profile" + ) + + +def activate_for_identity(identity): + global _CERTIFIED + certificate = identity.get("scheduler_profile_certificate") + mode = os.environ.get("VLLM_BATCH_INVARIANT") + if certificate is None: + if mode != "0" or _CERTIFIED is not None: + raise ValueError("Uncertified shared providers require explicit qualification BI=0") + return "qualification" + if mode != "1": + raise ValueError("A certified shared profile must execute strict BI=1") + sys.path.insert(0, str(ROOT / "tools/validation/models")) + from qwen3_next_contract import validate_result + from qwen3_next_l2 import model_identity + from qwen3_next_runtime import file_digest, identity_digest, verify_environment + + record_key = identity_digest({"certificate": certificate, "identity": identity}) + if _CERTIFIED == record_key: + return "certified" + if _CERTIFIED is not None: + raise ValueError("A process cannot switch its certified shared provider identity") + path = Path(certificate["path"]) + if ( + not path.is_absolute() + or path.name != "result.json" + or file_digest(path) != certificate["sha256"] + ): + raise ValueError("Shared profile certificate path/content identity mismatch") + if os.environ.get("QWEN_SHARED_PROFILE_RESULT", str(path)) != str(path): + raise ValueError("Scheduler certificate environment disagrees with the worker request") + manifest = json.loads((path.parent / "run.json").read_text()) + result = json.loads(path.read_text()) + if manifest.get("stage") != "layers": + raise ValueError("Only completed native layer/scheduler evidence can certify CUSTOM") + certified = model_identity(manifest) + fields = ( + "source_commit", + "source_tree", + "environment_sha256", + "provider_config", + "topology", + "architecture_layers", + "weights_dtype", + "recurrent_state_dtype", + ) + if any(identity.get(key) != certified.get(key) for key in fields): + raise ValueError( + "Scheduler certificate belongs to another source/environment/provider profile" + ) + validate_certified_weights(identity, certified) + provider = identity["provider_config"] + if provider.get("profile") != "qwen3_next_tp4_shared_eager_v1": + raise ValueError("Only the explicit Qwen3-Next TP4 eager profile can be certified") + if ( + subprocess.check_output(["git", "rev-parse", "HEAD^{tree}"], cwd=ROOT, text=True).strip() + != identity["source_tree"] + ): + raise ValueError("Current source tree differs from the certified provider") + if subprocess.run(["git", "diff", "--quiet", "HEAD"], cwd=ROOT).returncode: + raise ValueError("Current provider source has uncommitted changes") + for name, expected in provider["sources"].items(): + if file_digest(ROOT / name) != expected: + raise ValueError(f"Certified provider source changed: {name}") + for name, expected in provider["runtime_env"].items(): + if os.environ.get(name) != expected: + raise ValueError(f"Certified runtime setting differs: {name}") + cuda = manifest["cuda_identity"] + if ( + os.environ.get("CUDA_HOME") != cuda["home"] + or file_digest(Path(cuda["home"]) / "bin/nvcc") != cuda["nvcc_sha256"] + ): + raise ValueError("CUDA toolkit differs from the certified environment") + verify_environment(manifest["environment"], require_venv=True) + validate_result(manifest, result, run_dir=path.parent) + _CERTIFIED = record_key + return "certified" + + +def activate_profile_from_environment(identity): + """Compatibility spelling; a path without its pinned request digest is insufficient.""" + return activate_for_identity(identity) diff --git a/rl_engine/integrations/orchestrators/vime/providers/qwen3_next_training.py b/rl_engine/integrations/orchestrators/vime/providers/qwen3_next_training.py new file mode 100644 index 000000000..8b60fc415 --- /dev/null +++ b/rl_engine/integrations/orchestrators/vime/providers/qwen3_next_training.py @@ -0,0 +1,285 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Observe native VIME updates before its train_one_step clears gradients. + +This module does not implement an optimizer or loss. The native training entry +points remain responsible for both; this observer rejects missing evidence. +""" + +import hashlib +import math +import random +import struct +from contextlib import contextmanager + +import numpy as np +import torch + +from rl_engine.validation.models.qwen3_next_rl_fixture import require_policy_configuration + + +def tensor_digest(value, *, chunk_bytes=64 * 1024 * 1024): + """Hash original tensor bytes with bounded host memory, including dtype/shape.""" + if value.layout != torch.strided or value.device.type == "meta": + raise ValueError("Only materialized strided tensors have a state identity") + digest = hashlib.sha256() + digest.update(str((str(value.dtype), tuple(value.shape))).encode()) + flat = value.detach().contiguous().reshape(-1) + chunk_size = max(1, chunk_bytes // value.element_size()) + for start in range(0, flat.numel(), chunk_size): + part = flat[start : start + chunk_size].cpu() + if (part.is_floating_point() or part.is_complex()) and not torch.isfinite(part).all(): + raise ValueError("Nonfinite tensor in training state") + digest.update(part.view(torch.uint8).numpy().tobytes()) + return digest.hexdigest() + + +def state_digest(state): + """Canonical recursive identity for optimizer/scheduler/RNG state, without pickle.""" + digest = hashlib.sha256() + + def add(raw): + digest.update(struct.pack("!Q", len(raw))) + digest.update(raw) + + def visit(value): + add(type(value).__name__.encode()) + if isinstance(value, torch.Tensor): + add(tensor_digest(value).encode()) + elif isinstance(value, np.ndarray): + add(str((value.dtype.str, value.shape)).encode()) + if value.dtype.hasobject: + raise TypeError("Object arrays cannot identify recovery state") + add(value.tobytes(order="C")) + elif isinstance(value, dict): + if any(type(key) not in (str, int) for key in value): + raise TypeError("Recovery state keys must be strings or integers") + for key in sorted(value, key=lambda key: (type(key).__name__, str(key))): + visit(key) + visit(value[key]) + elif isinstance(value, (list, tuple)): + for item in value: + visit(item) + elif value is None or type(value) in (bool, int, str, bytes): + add(repr(value).encode()) + elif type(value) is float: + if not math.isfinite(value): + raise ValueError("Nonfinite scalar in training state") + add(struct.pack("!d", value)) + else: + raise TypeError(f"Unsupported recovery state type: {type(value)!r}") + + visit(state) + return digest.hexdigest() + + +def capture_rng_state(*, tracker=None): + return { + "python": random.getstate(), + "numpy": np.random.get_state(), + "torch_cpu": torch.get_rng_state().clone(), + "torch_cuda": [value.clone() for value in torch.cuda.get_rng_state_all()], + "megatron": ( + None + if tracker is None + else {name: value.clone() for name, value in tracker.get_states().items()} + ), + } + + +def restore_rng_state(state, *, tracker=None): + if len(state["torch_cuda"]) != torch.cuda.device_count(): + raise ValueError("RNG restore requires the original visible GPU topology") + if (state["megatron"] is None) != (tracker is None): + raise ValueError("Megatron RNG tracker must be restored explicitly") + random.setstate(state["python"]) + np.random.set_state(state["numpy"]) + torch.set_rng_state(state["torch_cpu"]) + torch.cuda.set_rng_state_all(state["torch_cuda"]) + if tracker is not None: + tracker.set_states({name: value.clone() for name, value in state["megatron"].items()}) + + +def named_trainable_parameters(model): + result = {} + seen = set() + for index, chunk in enumerate(model): + for name, parameter in chunk.named_parameters(): + if parameter.requires_grad and id(parameter) not in seen: + result[f"chunk{index}.{name}"] = parameter + seen.add(id(parameter)) + if not result: + raise ValueError("Native training model has no trainable parameters") + return result + + +def _any_rank_nonzero(flags): + """Combine per-rank nonzero flags across the tensor-parallel ranks (max).""" + import torch.distributed as dist + + if not dist.is_available() or not dist.is_initialized() or dist.get_world_size() == 1: + return flags + reduced = torch.tensor(flags, dtype=torch.int32, device=torch.cuda.current_device()) + dist.all_reduce(reduced, op=dist.ReduceOp.MAX) + return [bool(value) for value in reduced.tolist()] + + +def gradient_evidence(parameters, *, required_groups, reduce_flags=_any_rank_nonzero): + """Unselected experts may be zero; every declared active path must be nonzero. + + "Nonzero" is judged across the tensor-parallel group, not per rank: a + vocab-parallel shard such as the embedding of a rank whose vocabulary slice + contains none of the batch's tokens legitimately receives an all-zero + gradient while the full parameter does train. Every rank evaluates the same + parameter list in the same order, so the flag exchange is a fixed-order + collective that all ranks enter together. The per-rank value is kept as + ``nonzero_local``. + """ + if not required_groups or any(not prefixes for prefixes in required_groups.values()): + raise ValueError("Predeclare the active parameter groups before training") + matched = {group: [] for group in required_groups} + evidence = {} + names = [] + local_flags = [] + for name, parameter in parameters.items(): + gradient = getattr(parameter, "main_grad", None) + if gradient is None: + gradient = parameter.grad + if gradient is None: + evidence[name] = {"present": False, "nonzero": False, "nonzero_local": False} + continue + if gradient.shape != parameter.shape or not torch.isfinite(gradient).all(): + raise ValueError(f"Invalid/nonfinite gradient for {name}") + nonzero_local = bool(torch.count_nonzero(gradient)) + evidence[name] = { + "present": True, + "nonzero": nonzero_local, + "nonzero_local": nonzero_local, + "dtype": str(gradient.dtype), + } + names.append(name) + local_flags.append(nonzero_local) + group_flags = list(reduce_flags(local_flags)) if names else [] + if len(group_flags) != len(names): + raise ValueError("Nonzero-gradient flags did not come back one per parameter") + for name, nonzero in zip(names, group_flags, strict=True): + evidence[name]["nonzero"] = bool(nonzero) + for group, prefixes in required_groups.items(): + if nonzero and any(prefix in name for prefix in prefixes): + matched[group].append(name) + missing = [group for group, names_ in matched.items() if not names_] + if missing: + raise ValueError(f"Active paths have no finite nonzero gradient: {missing}") + return {"parameters": evidence, "active_groups": matched} + + +@contextmanager +def observe_native_optimizer_step(optimizer, model, *, required_groups, evidence): + """Wrap only step(), preserving the native loss, backward, clipping and update.""" + original = optimizer.step + had_own = "step" in vars(optimizer) + previous = vars(optimizer).get("step") + parameters = named_trainable_parameters(model) + calls = 0 + + def observed(*args, **kwargs): + nonlocal calls + calls += 1 + if calls != 1: + raise ValueError("One train_one_step call must perform exactly one optimizer step") + evidence["gradients"] = gradient_evidence(parameters, required_groups=required_groups) + before = {name: tensor_digest(value) for name, value in parameters.items()} + result = original(*args, **kwargs) + if not isinstance(result, tuple) or len(result) != 3 or not bool(result[0]): + raise ValueError("Native Megatron optimizer did not report a successful update") + norm = float(result[1]) + if not math.isfinite(norm) or norm <= 0: + raise ValueError("Native optimizer must report a finite nonzero gradient norm") + after = {name: tensor_digest(value) for name, value in parameters.items()} + changed = [name for name in before if before[name] != after[name]] + if not changed: + raise ValueError("Optimizer reported success without changing any model parameter") + evidence.update( + { + "grad_norm": norm, + "parameter_hashes_before": before, + "parameter_hashes_after": after, + "changed_parameters": changed, + } + ) + return result + + optimizer.step = observed + try: + yield + if calls != 1: + raise ValueError("Native training did not call the optimizer exactly once") + finally: + if had_own: + optimizer.step = previous + else: + del optimizer.step + + +def native_policy_update(args, model, optimizer, scheduler, fixture, *, step, required_groups): + """Execute the actual installed VIME train_one_step with its clipped policy loss.""" + require_policy_configuration(args) + fixture.validate() + if step not in (1, 2, 3): + raise ValueError("The fixed acceptance sequence uses updates 1, 2 and recovery control 3") + from megatron.core.distributed import finalize_model_grads + from megatron.core.utils import get_model_config + from vime.backends.megatron_utils import loss as native_loss + from vime.backends.megatron_utils.data import DataIterator + from vime.backends.megatron_utils.model import train_one_step + + if train_one_step.__module__ != "vime.backends.megatron_utils.model": + raise ValueError("Native VIME training entry point was replaced") + if native_loss.policy_loss_function.__module__ != "vime.backends.megatron_utils.loss": + raise ValueError("Native VIME policy loss was replaced") + for chunk in model: + chunk.train() + config = get_model_config(chunk) + if config.hidden_dropout != 0 or config.attention_dropout != 0: + raise ValueError("The fixed eager profile requires zero dropout") + config.grad_scale_func = optimizer.scale_loss + config.finalize_model_grads_func = finalize_model_grads + config.timers = None + batch = fixture.batch([0, 1, 2, 3], device=torch.cuda.current_device()) + batch["tokens"] = batch.pop("unconcat_tokens") + iterator = DataIterator(batch, [[0], [1], [2], [3]]) + original_policy_loss = native_loss.policy_loss_function + policy_calls = 0 + + def observed_loss(*loss_args, **loss_kwargs): + nonlocal policy_calls + policy_calls += 1 + return original_policy_loss(*loss_args, **loss_kwargs) + + evidence = {"step": step, "fixture": fixture.content_sha256, "sample_position": step * 4} + native_loss.policy_loss_function = observed_loss + try: + with observe_native_optimizer_step( + optimizer, model, required_groups=required_groups, evidence=evidence + ): + metrics, norm = train_one_step( + args, + rollout_id=0, + step_id=step - 1, + data_iterator=[iterator], + model=model, + optimizer=optimizer, + opt_param_scheduler=scheduler, + num_microbatches=4, + step_global_batch_size=4, + ) + finally: + native_loss.policy_loss_function = original_policy_loss + if policy_calls != 4 or iterator.offset != 4: + raise ValueError("Native policy loss must consume exactly the four fixed samples") + if not math.isfinite(float(norm)): + raise ValueError("Native training returned a nonfinite gradient norm") + evidence.update({"policy_loss_calls": policy_calls, "metrics": metrics}) + fixture.validate() + return evidence diff --git a/rl_engine/integrations/orchestrators/vime/providers/qwen3_next_vime.py b/rl_engine/integrations/orchestrators/vime/providers/qwen3_next_vime.py new file mode 100644 index 000000000..046959593 --- /dev/null +++ b/rl_engine/integrations/orchestrators/vime/providers/qwen3_next_vime.py @@ -0,0 +1,403 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""VIME ModuleSpec and HF weight hooks for the explicit shared TP4 GDN provider. + + --spec rl_engine.integrations.orchestrators.vime.providers.qwen3_next_vime \ + get_qwen3_next_shared_spec + +Installing this spec installs Qwen3-Next-only weight conversion hooks in this +training process. Other model families keep their existing conversion paths. +The decoder spec covers both attention families, routed/shared experts, and +decoder norms. Call install_vime_model_providers after constructing the GPT +model to replace its embedding, final norm and output layer as well. +""" + +import re + +import torch +from megatron.core import mpu +from megatron.core.tensor_parallel.layers import ( + set_defaults_if_not_set_tensor_model_parallel_attributes, +) +from megatron.core.transformer.identity_op import IdentityOp +from megatron.core.transformer.spec_utils import ModuleSpec +from torch import nn +from vime_plugins.models.hf_attention import HuggingfaceAttention + +from rl_engine.integrations.engines.train.vllm.qwen3_next_provider import GDNProviderConfig +from rl_engine.models.qwen3_next.qwen3_next_engine_weights import ( + conv_hf_to_rank_major, + conv_rank_major_to_hf, + expert_hf_to_rank_major, + expert_rank_major_to_hf, + kv_hf_to_rank_major, + kv_rank_major_to_hf, + set_gdn_tp_metadata, + validate_training_topology, +) +from rl_engine.models.qwen3_next.qwen3_next_tp import _CopyToTP +from rl_engine.models.qwen3_next.qwen3_next_tp_blocks import TP4FullAttention, TP4MoE +from rl_engine.models.qwen3_next.qwen3_next_tp_gdn import TP4GDN + + +class SharedInputNorm(nn.Module): + def __init__(self, eps, device, weight=None): + super().__init__() + self.eps = eps + if weight is not None and not isinstance(weight, nn.Parameter): + raise ValueError("Shared decoder norm weight must be an existing Parameter") + if weight is not None and (weight.shape != (2048,) or weight.dtype != torch.bfloat16): + raise ValueError("Shared decoder norm requires a BF16 [2048] weight") + self.weight = ( + weight + if weight is not None + else nn.Parameter(torch.zeros(2048, dtype=torch.bfloat16, device=device)) + ) + self.weight.tensor_model_parallel = False + self.weight.partition_dim = -1 + self.weight.partition_stride = 1 + self.weight.sequence_parallel = False + + def forward(self, value): + from rl_engine.backends.cuda.norm.rmsnorm import Qwen3NextRMSNormCudaOp + + return Qwen3NextRMSNormCudaOp()(value, self.weight, eps=self.eps) + + +class SharedVIMELMHead(nn.Module): + """Megatron output-layer API with shared GEMM and the original weight name. + + A forward hook on this module observes BF16 logits before Float16Module + widens the model output for VIME's policy loss. + """ + + def __init__(self, weight, group): + super().__init__() + if not isinstance(weight, nn.Parameter): + raise ValueError("Shared TP4 LM head weight must be an existing Parameter") + if weight.shape != (37984, 2048) or weight.dtype != torch.bfloat16: + raise ValueError("Shared TP4 LM head requires BF16 [37984, 2048] weight") + if torch.distributed.get_world_size(group) != 4: + raise ValueError("Shared LM head requires TP4") + self.weight = weight + self.weight.tensor_model_parallel = True + self.weight.partition_dim = 0 + self.weight.partition_stride = 1 + self.group = group + self.gather_output = False + self.sequence_parallel = False + + def forward(self, input_, weight=None, runtime_gather_output=None): + from megatron.core.tensor_parallel.mappings import gather_from_tensor_model_parallel_region + + from rl_engine.models.qwen3_next.qwen3_next_forward import shared_linear + + if self.sequence_parallel: + raise ValueError("Shared LM head requires sequence parallelism disabled") + selected = self.weight if weight is None else weight + if selected.shape != self.weight.shape or selected.dtype != torch.bfloat16: + raise ValueError("Shared LM head received an incompatible tied weight") + value = shared_linear(_CopyToTP.apply(input_, self.group), selected) + gather = self.gather_output if runtime_gather_output is None else runtime_gather_output + if gather: + value = gather_from_tensor_model_parallel_region(value, group=self.group) + return value, None + + +class SharedVIMEGDN(HuggingfaceAttention): + def __init__( + self, args, config, layer_number, cp_comm_type="p2p", pg_collection=None, name=None + ): + validate_training_topology(config, args) + super().__init__(args, config, layer_number, cp_comm_type, pg_collection) + if self.hf_config.hidden_size != 2048: + raise ValueError("Shared VIME GDN requires the pinned Qwen3-Next architecture") + group = ( + pg_collection.tp if pg_collection is not None else mpu.get_tensor_model_parallel_group() + ) + device = torch.device("cuda", torch.cuda.current_device()) + self.linear_attn = TP4GDN( + group=group, device=device, config=GDNProviderConfig(), eps=self.hf_config.rms_norm_eps + ) + set_gdn_tp_metadata(self.linear_attn) + self.input_layernorm = SharedInputNorm(self.hf_config.rms_norm_eps, device) + self.trace_state_hook = None + self.subnode_hook = None + + def hf_forward(self, hidden_states, packed_seq_params): + if hidden_states.ndim != 3 or hidden_states.shape[0] != 1: + raise ValueError("VIME packed GDN expects [1, tokens, 2048]") + if packed_seq_params is None: + raise ValueError("VIME GDN requires packed sequence boundaries") + cu = packed_seq_params.cu_seqlens_q.to(device="cpu") + hidden = self.input_layernorm(hidden_states[0]) + if self.subnode_hook is not None: + self.subnode_hook("input_layernorm", hidden) + indices = torch.arange(1, cu.numel(), device=hidden.device, dtype=torch.int32) + initial = self.linear_attn.initial_state(cu.numel()) + output, state = self.linear_attn(hidden, initial, indices, cu) + if self.trace_state_hook is not None: + self.trace_state_hook(state, indices, cu) + if self.subnode_hook is not None: + self.subnode_hook("mixer", output) + return output.unsqueeze(0) + + +class SharedVIMEFullAttention(HuggingfaceAttention): + def __init__( + self, args, config, layer_number, cp_comm_type="p2p", pg_collection=None, name=None + ): + validate_training_topology(config, args) + super().__init__(args, config, layer_number, cp_comm_type, pg_collection) + group = pg_collection.tp if pg_collection else mpu.get_tensor_model_parallel_group() + device = torch.device("cuda", torch.cuda.current_device()) + rope = getattr(self.hf_config, "rope_parameters", None) + if rope is None: + rope = {"rope_theta": self.hf_config.rope_theta, "partial_rotary_factor": 0.25} + if any( + ( + rope.get("partial_rotary_factor") != 0.25, + rope.get("rope_type", "default") != "default", + ) + ): + raise ValueError("Shared full attention requires default RoPE with rotary dimension 64") + self.self_attn = TP4FullAttention( + group=group, + device=device, + eps=self.hf_config.rms_norm_eps, + rope_theta=rope["rope_theta"], + ) + self.input_layernorm = SharedInputNorm(self.hf_config.rms_norm_eps, device) + self.trace_state_hook = None + self.subnode_hook = None + for parameter in self.parameters(): + set_defaults_if_not_set_tensor_model_parallel_attributes(parameter) + parameter.sequence_parallel = False + + def hf_forward(self, hidden_states, packed_seq_params): + if hidden_states.ndim != 3 or hidden_states.shape[0] != 1 or packed_seq_params is None: + raise ValueError("Shared VIME attention requires packed [1, tokens, 2048]") + hidden = self.input_layernorm(hidden_states[0]) + if self.subnode_hook is not None: + self.subnode_hook("input_layernorm", hidden) + cu = packed_seq_params.cu_seqlens_q.to(device="cpu") + indices = torch.arange(1, cu.numel(), device=hidden.device, dtype=torch.int32) + output, state = self.self_attn( + hidden, self.self_attn.initial_state(cu.numel()), indices, cu + ) + if self.trace_state_hook is not None: + self.trace_state_hook(state, indices, cu) + if self.subnode_hook is not None: + self.subnode_hook("mixer", output) + return output.unsqueeze(0) + + +class SharedVIMEMoE(TP4MoE): + def __init__(self, config, submodules=None): + validate_training_topology(config, config) + if config.expert_tensor_parallel_size != 4: + raise ValueError("Shared MoE requires expert tensor parallel size 4") + super().__init__( + group=mpu.get_tensor_model_parallel_group(), + device=torch.device("cuda", torch.cuda.current_device()), + ) + # Native VIME only recognizes stride-two FC1 names; our paired loader + # already packs complete per-rank gate/up blocks before the generic split. + self.experts.gate_up.partition_stride = 1 + for parameter in self.parameters(): + set_defaults_if_not_set_tensor_model_parallel_attributes(parameter) + parameter.sequence_parallel = False + + def forward(self, hidden_states, padding_mask=None): + if padding_mask is not None and bool(padding_mask.any()): + raise ValueError("Shared VIME MoE requires packed tokens without padding") + value = super().forward(hidden_states.reshape(-1, 2048)) + if self.subnode_hook is not None: + self.subnode_hook("mlp", value) + return value.reshape_as(hidden_states), None + + +class SharedDecoderNorm(SharedInputNorm): + def __init__(self, config, hidden_size, eps): + if hidden_size != 2048 or config.params_dtype != torch.bfloat16: + raise ValueError("Shared decoder norm requires the official BF16 architecture") + super().__init__(eps, torch.device("cuda", torch.cuda.current_device())) + # Set by a trace owner: this instance is a layer's pre-MLP norm. + self.subnode_hook = None + + def forward(self, value): + output = super().forward(value) + if self.subnode_hook is not None: + self.subnode_hook("post_attention_layernorm", output.reshape(-1, output.shape[-1])) + return output + + +class SharedVIMEEmbedding(nn.Module): + def __init__(self, weight, group): + super().__init__() + if weight.shape != (37984, 2048) or weight.dtype != torch.bfloat16: + raise ValueError("Shared embedding requires the official BF16 TP4 weight") + self.weight = weight + self.group = group + self.subnode_hook = None + + def forward(self, tokens): + from rl_engine.models.qwen3_next.qwen3_next_embedding import shared_embedding + + output = shared_embedding(tokens, self.weight, self.group) + if self.subnode_hook is not None: + self.subnode_hook("embedding", output) + return output + + +def install_vime_model_providers(model): + """Replace outer GPT providers while retaining each original parameter object.""" + group = mpu.get_tensor_model_parallel_group() + validate_training_topology(model.config, model.config) + if len(model.decoder.layers) != 48: + raise ValueError("The complete provider requires all 48 decoder layers") + for layer in model.decoder.layers: + if not isinstance(layer.self_attention, (SharedVIMEGDN, SharedVIMEFullAttention)): + raise ValueError("Construct the model with get_qwen3_next_shared_spec first") + if not isinstance(layer.mlp, SharedVIMEMoE): + raise ValueError("Shared decoder MoE provider is missing") + model.embedding.word_embeddings = SharedVIMEEmbedding( + model.embedding.word_embeddings.weight, group + ) + previous = model.decoder.final_layernorm + model.decoder.final_layernorm = SharedInputNorm( + model.config.layernorm_epsilon, previous.weight.device, weight=previous.weight + ) + model.output_layer = SharedVIMELMHead(model.output_layer.weight, group) + return model + + +def install_vime_gdn_weight_hooks(): + """Install exact shared-model layouts in VIME's real load/export entrypoints.""" + import vime.backends.megatron_utils.hf_to_megatron as load_api + import vime.backends.megatron_utils.megatron_to_hf as export_api + from vime.backends.megatron_utils.hf_to_megatron.common import strip_mcore_wrappers + + original_load = load_api._LOADERS["qwen3_next"] + if getattr(original_load, "_rl_kernel_tp4_gdn", False): + return + original_export = export_api.convert_qwen3_next_to_hf + + def layer_parts(name): + match = re.fullmatch(r"decoder\.layers\.(\d+)\.(.+)", strip_mcore_wrappers(name)) + return match.groups() if match else (None, None) + + def direct_moe(rest): + return rest in { + "mlp.gate.weight", + "mlp.shared_expert_gate.weight", + "mlp.shared_expert.gate_proj.weight", + "mlp.shared_expert.up_proj.weight", + "mlp.shared_expert.down_proj.weight", + } + + def load(name, reader, config): + layer, rest = layer_parts(name) + prefix = f"model.layers.{layer}" + if rest == "mlp.experts.gate_up": + value = torch.empty((512, 1024, 2048), dtype=torch.bfloat16) + for expert in range(512): + gate, up = ( + reader.get_tensor(f"{prefix}.mlp.experts.{expert}.{part}_proj.weight") + for part in ("gate", "up") + ) + value[expert].copy_(expert_hf_to_rank_major(gate, up)) + return value + if rest == "mlp.experts.down": + value = torch.empty((512, 2048, 512), dtype=torch.bfloat16) + for expert in range(512): + weight = reader.get_tensor(f"{prefix}.mlp.experts.{expert}.down_proj.weight") + if weight.shape != (2048, 512) or weight.dtype != torch.bfloat16: + raise ValueError("Official expert down projection requires BF16 [2048, 512]") + value[expert].copy_(weight) + return value + if direct_moe(rest): + return reader.get_tensor(f"{prefix}.{rest}") + value = original_load(name, reader, config) + if name.endswith("self_attention.linear_attn.conv1d.weight"): + if mpu.get_tensor_model_parallel_world_size() != 4: + raise ValueError("The shared GDN weight loader requires TP4") + value = conv_hf_to_rank_major(value) + if rest in ( + "self_attention.self_attn.k_proj.weight", + "self_attention.self_attn.v_proj.weight", + ): + value = kv_hf_to_rank_major(value) + return value + + def export(args, name, value): + layer, rest = layer_parts(name) + prefix = f"model.layers.{layer}" + if rest == "mlp.experts.gate_up": + if value.shape != (512, 1024, 2048): + raise ValueError("Gathered routed gate/up shape is not the complete TP4 tensor") + return [ + (f"{prefix}.mlp.experts.{expert}.{part}_proj.weight", weight) + for expert in range(512) + for part, weight in zip(("gate", "up"), expert_rank_major_to_hf(value[expert])) + ] + if rest == "mlp.experts.down": + if value.shape != (512, 2048, 512) or value.dtype != torch.bfloat16: + raise ValueError("Gathered routed down shape is not the complete TP4 tensor") + return [ + (f"{prefix}.mlp.experts.{expert}.down_proj.weight", value[expert]) + for expert in range(512) + ] + if direct_moe(rest): + return [(f"{prefix}.{rest}", value)] + if name.endswith("self_attention.linear_attn.conv1d.weight"): + if mpu.get_tensor_model_parallel_world_size() != 4: + raise ValueError("The shared GDN weight exporter requires TP4") + value = conv_rank_major_to_hf(value) + if rest in ( + "self_attention.self_attn.k_proj.weight", + "self_attention.self_attn.v_proj.weight", + ): + value = kv_rank_major_to_hf(value) + return original_export(args, name, value) + + load._rl_kernel_tp4_gdn = True + load_api._LOADERS["qwen3_next"] = load + export_api.convert_qwen3_next_to_hf = export + + +def get_qwen3_next_shared_spec(args, config, vp_stage=None): + """Use the explicit provider for every decoder normalization and sublayer.""" + from vime_plugins.models.qwen3_next import Attention, get_qwen3_next_spec + + validate_training_topology(config, args) + if config.expert_tensor_parallel_size != 4: + raise ValueError("Shared model requires expert tensor parallel size 4") + if vp_stage is not None: + raise ValueError("The shared GDN profile does not use virtual pipeline stages") + spec = get_qwen3_next_spec(args, config, vp_stage) + replaced = 0 + for layer in spec.layer_specs: + if layer.submodules.self_attention.module is Attention: + layer.submodules.self_attention = ModuleSpec( + module=SharedVIMEGDN, params={"args": args} + ) + replaced += 1 + else: + layer.submodules.self_attention = ModuleSpec( + module=SharedVIMEFullAttention, params={"args": args} + ) + layer.submodules.input_layernorm = IdentityOp + layer.submodules.pre_mlp_layernorm = SharedDecoderNorm + layer.submodules.mlp = ModuleSpec(module=SharedVIMEMoE) + # The native TE sharded-state map refers to fused norm/projection names. + # Shared adapters retain explicit HF-compatible norm parameter names. + layer.submodules.sharded_state_dict_keys_map = {} + if replaced != 36: + raise ValueError(f"Pinned Qwen3-Next must contain 36 GDN layers, found {replaced}") + if len(spec.layer_specs) != 48: + raise ValueError("Pinned Qwen3-Next must contain all 48 decoder layers") + spec.layer_norm = SharedDecoderNorm + install_vime_gdn_weight_hooks() + return spec diff --git a/rl_engine/integrations/orchestrators/vime/providers/qwen3_next_vime_runtime.py b/rl_engine/integrations/orchestrators/vime/providers/qwen3_next_vime_runtime.py new file mode 100644 index 000000000..a7481150a --- /dev/null +++ b/rl_engine/integrations/orchestrators/vime/providers/qwen3_next_vime_runtime.py @@ -0,0 +1,187 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Construct the native VIME/Megatron actor for the fixed Qwen TP4 profile.""" + +import copy +import os +import sys +from pathlib import Path + +from rl_engine.validation.models.qwen3_next_rl_fixture import ( + OPTIMIZER_SETTINGS, + POLICY_SETTINGS, + require_policy_configuration, +) + + +def model_provider(pre_process=True, post_process=True, vp_stage=None): + """Native GPTModel construction, with providers installed before DDP/optimizer.""" + from megatron.training.global_vars import get_args + from vime.backends.megatron_utils.model_provider import get_model_provider_func + + from rl_engine.integrations.orchestrators.vime.providers.qwen3_next_vime import ( + install_vime_model_providers, + ) + + args = copy.copy(get_args()) + args.custom_model_provider_path = None + factory = get_model_provider_func(args, "actor") + model = factory(pre_process=pre_process, post_process=post_process, vp_stage=vp_stage) + install_vime_model_providers(model) + return model + + +def runtime_argv(checkpoint, *, training): + """Use native argument parsing/validation; no precision-policy overrides.""" + checkpoint = str(Path(checkpoint).absolute()) + values = { + "hf-checkpoint": checkpoint, + "load": checkpoint, + "actor-num-nodes": 1, + "actor-num-gpus-per-node": 4, + "num-gpus-per-node": 4, + "tensor-model-parallel-size": 4, + "pipeline-model-parallel-size": 1, + "context-parallel-size": 1, + "expert-model-parallel-size": 1, + "expert-tensor-parallel-size": 4, + "num-attention-heads": 16, + "num-query-groups": 2, + "kv-channels": 256, + "num-layers": 48, + "hidden-size": 2048, + "ffn-hidden-size": 5120, + "normalization": "RMSNorm", + "position-embedding-type": "rope", + "norm-epsilon": 1e-6, + "rotary-percent": 0.25, + "rotary-base": 10000000, + "vocab-size": 151936, + "make-vocab-size-divisible-by": 1, + "padded-vocab-size": 151936, + "moe-ffn-hidden-size": 512, + "moe-shared-expert-intermediate-size": 512, + "moe-router-score-function": "softmax", + "moe-router-dtype": "fp32", + "moe-router-topk": 10, + "num-experts": 512, + "moe-layer-freq": "[" + ",".join(["1"] * 48) + "]", + "moe-aux-loss-coeff": 0, + "moe-token-dispatcher-type": "alltoall", + "hidden-dropout": 0, + "attention-dropout": 0, + "seq-length": 1040, + "max-position-embeddings": 262144, + "global-batch-size": 4, + "micro-batch-size": 1, + "data-pad-size-multiplier": 1, + "num-rollout": 3 if training else 0, + "rollout-batch-size": 4, + "n-samples-per-prompt": 1, + "rollout-num-gpus": 0, + "advantage-estimator": "grpo", + "eps-clip": 0.2, + "eps-clip-high": 0.2, + "kl-coef": 0, + "kl-loss-coef": 0, + "entropy-coef": 0, + "optimizer": "adam", + "lr": 1e-6, + "lr-decay-style": "constant", + "adam-beta1": 0.9, + "adam-beta2": 0.98, + "adam-eps": 1e-8, + "weight-decay": 0.1, + "clip-grad": 1.0, + "optimizer-offload-fraction": 1.0, + "custom-model-provider-path": ( + "rl_engine.integrations.orchestrators.vime.providers.qwen3_next_vime_runtime" + ".model_provider" + ), + } + switches = [ + "debug-train-only", + "disable-bias-linear", + "qk-layernorm", + "group-query-attention", + "use-gated-attention", + "apply-layernorm-1p", + "swiglu", + "untie-embeddings-and-output-weights", + "attention-output-gate", + "moe-shared-expert-gate", + "moe-grouped-gemm", + "use-rollout-logprobs", + "disable-compute-advantages-and-returns", + "optimizer-cpu-offload", + "use-precision-aware-optimizer", + # Megatron's fused weight-gradient accumulation needs APEX's + # fused_weight_gradient_mlp_cuda, which the pinned environment does not + # ship; the unfused path accumulates the same GEMM result into main_grad. + "no-gradient-accumulation-fusion", + ] + argv = ["qwen3-next-native-actor"] + for name, value in values.items(): + argv.extend((f"--{name}", str(value))) + argv.extend(f"--{name}" for name in switches) + argv.extend( + ( + "--spec", + "rl_engine.integrations.orchestrators.vime.providers.qwen3_next_vime", + "get_qwen3_next_shared_spec", + ) + ) + return argv + + +def create_actor(checkpoint, *, training): + """Call real native setup/load after the caller initializes Torch distributed.""" + import torch + import torch.distributed as dist + from vime.backends.megatron_utils.initialize import init + from vime.utils.arguments import parse_args + + if sys.prefix == sys.base_prefix: + raise RuntimeError("Native VIME actor must actually run inside the isolated venv") + if not dist.is_initialized() or dist.get_world_size() != 4 or torch.cuda.device_count() != 4: + raise ValueError("Native VIME actor requires four initialized ranks and visible GPUs") + saved_argv = sys.argv + try: + sys.argv = runtime_argv(checkpoint, training=training) + args = parse_args() + finally: + sys.argv = saved_argv + precision = {name: getattr(args, name, None) for name in ("optimization_dtype", "reduce_dtype")} + for name, value in {**POLICY_SETTINGS, **OPTIMIZER_SETTINGS}.items(): + setattr(args, name, value) + args.rank, args.local_rank = dist.get_rank(), int(os.environ["LOCAL_RANK"]) + args.world_size = 4 + args.num_rollout = 3 if training else 0 + args.sequence_parallel = False + args.fp32_residual_connection = False + args.overlap_grad_reduce = False + args.overlap_param_gather = False + args.recompute_granularity = None + args.use_critic = False + require_policy_configuration(args) + if any(getattr(args, name, None) != value for name, value in precision.items()): + raise ValueError("Optimizer/reduction precision changed during profile setup") + init(args) + # vime's actor bootstrap creates a gloo group next to the NCCL one; the HF weight + # exporter (HfWeightIteratorDirect) gathers its parameter metadata over it. + # This runtime bypasses that bootstrap, so create the group here on every rank. + from vime.utils.distributed_utils import init_gloo_group + + init_gloo_group() + if (args.vocab_size, args.padded_vocab_size) != (151936, 151936): + raise ValueError("Tokenizer initialization changed the official LM-head vocabulary") + from vime.backends.megatron_utils.checkpoint import load_checkpoint + from vime.backends.megatron_utils.model import setup_model_and_optimizer + + from rl_engine.models.qwen3_next.qwen3_next_logprob import install_vime_logprob_provider + + model, optimizer, scheduler = setup_model_and_optimizer(args, role="actor") + load_checkpoint(model, optimizer, scheduler, checkpointing_context={}) + install_vime_logprob_provider() + return args, model, optimizer, scheduler diff --git a/rl_engine/models/qwen3_next/__init__.py b/rl_engine/models/qwen3_next/__init__.py new file mode 100644 index 000000000..988131360 --- /dev/null +++ b/rl_engine/models/qwen3_next/__init__.py @@ -0,0 +1 @@ +# SPDX-License-Identifier: Apache-2.0 diff --git a/rl_engine/models/qwen3_next/qwen3_next_embedding.py b/rl_engine/models/qwen3_next/qwen3_next_embedding.py new file mode 100644 index 000000000..f62feceb9 --- /dev/null +++ b/rl_engine/models/qwen3_next/qwen3_next_embedding.py @@ -0,0 +1,57 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Shared TP4 vocabulary embedding with a fixed-order, non-atomic VJP.""" + +import torch +import torch.distributed as dist + +from rl_engine.models.qwen3_next.qwen3_next_tp import _reduce + + +class _Embedding(torch.autograd.Function): + @staticmethod + def forward(ctx, tokens, weight, rank, group): + flat = tokens.reshape(-1) + local = flat - rank * 37984 + valid = (local >= 0) & (local < 37984) + rows = local.clamp(0, 37983) + value = weight.index_select(0, rows) + value = torch.where(valid[:, None], value, torch.zeros_like(value)) + ctx.save_for_backward(local, valid) + ctx.weight_shape, ctx.weight_dtype = weight.shape, weight.dtype + return _reduce(value, group).reshape(*tokens.shape, 2048) + + @staticmethod + def backward(ctx, dy): + local, valid = ctx.saved_tensors + local = local[valid] + values = dy.reshape(-1, 2048)[valid] + gradient = torch.zeros(ctx.weight_shape, dtype=ctx.weight_dtype, device=dy.device) + order = torch.argsort(local, stable=True) + local, values = local[order], values[order] + unique, counts = torch.unique_consecutive(local, return_counts=True) + start = 0 + # Every row is written once. Pairwise FP32 additions use a fixed tree + # over source token order; there is no floating-point scatter/atomic. + for row, count in zip(unique.cpu().tolist(), counts.cpu().tolist(), strict=True): + part = values[start : start + count].float() + while part.shape[0] > 1: + pairs = part.shape[0] // 2 + merged = part[: 2 * pairs : 2] + part[1 : 2 * pairs : 2] + part = torch.cat((merged, part[-1:]), dim=0) if part.shape[0] % 2 else merged + gradient[row].copy_(part[0].to(ctx.weight_dtype)) + start += count + return None, gradient, None, None + + +def shared_embedding(tokens, weight, group): + if not dist.is_initialized() or group is None or dist.get_world_size(group) != 4: + raise ValueError("Shared Qwen embedding requires an explicit TP4 group") + if tokens.dtype != torch.int64 or tokens.device != weight.device: + raise ValueError("Embedding token IDs must be int64 on the weight device") + if weight.shape != (37984, 2048) or weight.dtype != torch.bfloat16: + raise ValueError("Each rank must own a BF16 [37984, 2048] embedding shard") + if weight.device.type != "cuda" or bool(((tokens < 0) | (tokens >= 151936)).any()): + raise ValueError("Embedding requires valid official vocabulary IDs on CUDA") + return _Embedding.apply(tokens, weight, dist.get_rank(group), group) diff --git a/rl_engine/models/qwen3_next/qwen3_next_engine_weights.py b/rl_engine/models/qwen3_next/qwen3_next_engine_weights.py new file mode 100644 index 000000000..c1fa7eba9 --- /dev/null +++ b/rl_engine/models/qwen3_next/qwen3_next_engine_weights.py @@ -0,0 +1,88 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Explicit TP metadata and convolution layout conversion at engine boundaries.""" + +import torch + + +def conv_hf_to_rank_major(weight): + """Arrange HF [Q(all ranks), K(all ranks), V(all ranks)] for a dim-0 TP split.""" + if weight.shape != (8192, 1, 4) or weight.dtype != torch.bfloat16: + raise ValueError("Qwen3-Next convolution must be BF16 [8192, 1, 4]") + q, k, v = weight.split((2048, 2048, 4096)) + return torch.cat([part.chunk(4)[rank] for rank in range(4) for part in (q, k, v)]) + + +def conv_rank_major_to_hf(weight): + """Undo VIME's rank-major TP gather before exporting the official HF layout.""" + if weight.shape != (8192, 1, 4) or weight.dtype != torch.bfloat16: + raise ValueError("Gathered Qwen3-Next convolution must be BF16 [8192, 1, 4]") + shards = [part.split((512, 512, 1024)) for part in weight.chunk(4)] + return torch.cat([shards[rank][segment] for segment in range(3) for rank in range(4)]) + + +def kv_hf_to_rank_major(weight): + if weight.shape != (512, 2048) or weight.dtype != torch.bfloat16: + raise ValueError("Official KV projection requires BF16 [512, 2048]") + first, second = weight.chunk(2) + return torch.cat((first, first, second, second)) + + +def kv_rank_major_to_hf(weight): + from rl_engine.validation.common.tensor_identity import assert_tensor_bitwise_equal + + if weight.shape != (1024, 2048) or weight.dtype != torch.bfloat16: + raise ValueError("Gathered pair-replicated KV requires BF16 [1024, 2048]") + parts = weight.chunk(4) + assert_tensor_bitwise_equal(parts[0], parts[1], name="KV replica pair 0") + assert_tensor_bitwise_equal(parts[2], parts[3], name="KV replica pair 1") + return torch.cat((parts[0], parts[2])) + + +def expert_hf_to_rank_major(gate, up): + if any(value.shape != (512, 2048) or value.dtype != torch.bfloat16 for value in (gate, up)): + raise ValueError("Official expert gate/up require BF16 [512, 2048]") + return torch.cat([value.chunk(4)[rank] for rank in range(4) for value in (gate, up)]) + + +def expert_rank_major_to_hf(weight): + if weight.shape != (1024, 2048) or weight.dtype != torch.bfloat16: + raise ValueError("Gathered fused expert requires BF16 [1024, 2048]") + ranks = [rank.chunk(2) for rank in weight.chunk(4)] + return tuple(torch.cat([ranks[rank][segment] for rank in range(4)]) for segment in range(2)) + + +def set_gdn_tp_metadata(module): + """Tell VIME/Megatron which weights are replicated and how TP gathers them. + + Convolution uses stride one because import/export hooks handle its unequal + Q/K/V segments. The shared norm's gradient is already reduced by TP4GDN. + """ + for name, parameter in module.named_parameters(): + replicated = name == "norm.weight" + parameter.tensor_model_parallel = not replicated + parameter.partition_dim = -1 if replicated else (1 if name == "out_proj.weight" else 0) + parameter.partition_stride = 1 + parameter.sequence_parallel = False + parameter.allreduce = True + + +def validate_training_topology(config, args): + for name, expected in ( + ("tensor_model_parallel_size", 4), + ("pipeline_model_parallel_size", 1), + ("context_parallel_size", 1), + ("expert_model_parallel_size", 1), + ): + if getattr(config, name, None) != expected: + raise ValueError(f"Shared Qwen3-Next requires {name}={expected}") + if getattr(config, "sequence_parallel", False) or getattr(args, "sequence_parallel", False): + raise ValueError("Shared Qwen3-Next requires sequence parallelism disabled") + if getattr(config, "fp32_residual_connection", False): + raise ValueError("Shared Qwen3-Next requires BF16 residual additions") + if any( + getattr(config, name, 0) + for name in ("attention_dropout", "hidden_dropout", "mtp_num_layers") + ): + raise ValueError("Shared Qwen3-Next requires dropout and MTP disabled") diff --git a/rl_engine/models/qwen3_next/qwen3_next_forward.py b/rl_engine/models/qwen3_next/qwen3_next_forward.py new file mode 100644 index 000000000..e9de7d0ab --- /dev/null +++ b/rl_engine/models/qwen3_next/qwen3_next_forward.py @@ -0,0 +1,409 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Explicit CUDA forward primitives for the Qwen3-Next shared TP4 profile. + +These functions do not install framework hooks or advertise engine capabilities. +The caller owns parameter sharding, TP collectives, positions and cache identity. +Weights remain BF16; only the router explicitly computes in FP32, as in VIME's +Qwen3-Next configuration. No CPU or alternate-kernel fallback is permitted. +""" + +from dataclasses import dataclass +from functools import lru_cache +from importlib.metadata import version + +import torch +import torch.nn.functional as F +from torch.autograd.function import once_differentiable + +from rl_engine.contracts.operators.logprob import LogprobContract + +FORWARD_PROVIDER_ID = "qwen3-next-shared-cuda-forward-v1" + + +@lru_cache(maxsize=1) +def _vllm_linear(): + if version("vllm") != "0.30.0": + raise RuntimeError("Shared Qwen3-Next linear requires pinned vLLM 0.30.0") + from vllm.model_executor.determinism.batch_invariant import linear_batch_invariant + + return linear_batch_invariant + + +# The batch-invariant tile vLLM itself selects under VLLM_BATCH_INVARIANT=1 +# (fused_moe.get_default_config), passed explicitly so no environment variable, +# tuned-config file or token count can change it. +_GROUPED_CONFIG = { + "BLOCK_SIZE_M": 64, + "BLOCK_SIZE_N": 64, + "BLOCK_SIZE_K": 32, + "GROUP_SIZE_M": 8, + "SPLIT_K": 1, +} + + +@lru_cache(maxsize=1) +def _vllm_grouped(): + if version("vllm") != "0.30.0": + raise RuntimeError("Shared Qwen3-Next experts require pinned vLLM 0.30.0") + from vllm.model_executor.layers.fused_moe.fused_moe import ( + _prepare_expert_assignment, + dispatch_fused_moe_kernel, + ) + from vllm.model_executor.layers.fused_moe.utils import resolve_moe_use_td + + return _prepare_expert_assignment, dispatch_fused_moe_kernel, resolve_moe_use_td + + +def grouped_route_linear(rows, weight, route_indices): + """Per-route ``rows @ weight[expert].T`` through vLLM's fused MoE Triton kernel. + + ``rows`` is [T, K] (one row per token, shared by its ten routes) or + [T*10, K] (one row per route); the result is [T, 10, N] in route order. + No routed weight is applied and nothing is summed: every output row has + exactly one writer, and its K loop has the fixed order of the fixed tile. + """ + prepare, dispatch, use_td = _vllm_grouped() + if use_td(): + raise RuntimeError("VLLM_TRITON_USE_TD changes the MoE kernel; strict mode requires 0") + import triton.language as tl + + tokens, top_k = route_indices.shape + out = rows.new_empty((tokens, top_k, weight.shape[1])) + if tokens == 0: + return out + indices = route_indices.to(torch.int32).contiguous() + sorted_ids, expert_ids, padded = prepare( + indices, _GROUPED_CONFIG, tokens, top_k, weight.shape[0], None, ignore_invalid_experts=True + ) + dispatch( + rows.contiguous(), + weight, + out, + None, + None, + None, + None, + sorted_ids, + expert_ids, + padded, + False, + top_k if rows.shape[0] == tokens else 1, + _GROUPED_CONFIG, + compute_type=tl.bfloat16, + use_fp8_w8a8=False, + use_int8_w8a8=False, + use_int8_w8a16=False, + use_int4_w4a16=False, + per_channel_quant=False, + ) + return out + + +def _cuda_tensors(*tensors): + if torch.version.hip is not None or any(not value.is_cuda for value in tensors): + raise ValueError("Shared Qwen3-Next forward requires CUDA tensors; no CPU fallback") + if any(value.device != tensors[0].device for value in tensors[1:]): + raise ValueError("Shared Qwen3-Next tensors must be on the same device") + + +class _SharedLinear(torch.autograd.Function): + @staticmethod + def forward(ctx, x, weight, bias): + ctx.save_for_backward(x, weight) + ctx.has_bias = bias is not None + if x.shape[0] == 0: + return x.new_empty((0, weight.shape[0])) + with torch.cuda.device(x.device): + return _vllm_linear()(x, weight, bias) + + @staticmethod + @once_differentiable + def backward(ctx, grad_output): + x, weight = ctx.saved_tensors + if x.shape[0] == 0: + return ( + torch.empty_like(x) if ctx.needs_input_grad[0] else None, + torch.zeros_like(weight) if ctx.needs_input_grad[1] else None, + weight.new_zeros(weight.shape[0]) if ctx.has_bias else None, + ) + grad = grad_output.contiguous() + with torch.cuda.device(x.device): + linear = _vllm_linear() + dx = linear(grad, weight.t()) if ctx.needs_input_grad[0] else None + dw = linear(grad.t(), x.t()) if ctx.needs_input_grad[1] else None + db = grad.sum(dim=0) if ctx.has_bias and ctx.needs_input_grad[2] else None + return dx, dw, db + + +def shared_linear(x, weight, bias=None): + """Pinned vLLM deterministic GEMM with an explicit first-order VJP. + + x is [..., K], weight is [N, K], output is [..., N]. Operands have one + common BF16 or FP32 dtype. Empty token dimensions preserve autograd. + Backward executes dX=dY@W and dW=dY.T@X through the same fixed provider. + """ + _cuda_tensors(x, weight, *(() if bias is None else (bias,))) + if x.ndim < 2 or weight.ndim != 2 or x.shape[-1] != weight.shape[1]: + raise ValueError("Shared linear requires x[..., K] and weight[N, K]") + if x.dtype not in (torch.bfloat16, torch.float32) or weight.dtype != x.dtype: + raise ValueError("Shared linear operands must have one common BF16 or FP32 dtype") + if x.dtype == torch.float32: + import triton + + if triton.knobs.language.fp32_default != "ieee": + raise RuntimeError( + "FP32 shared linear requires TRITON_F32_DEFAULT=ieee at process startup" + ) + if min(weight.shape) < 1: + raise ValueError("Shared linear weight dimensions must be positive") + if bias is not None and (bias.shape != (weight.shape[0],) or bias.dtype != x.dtype): + raise ValueError("Shared linear bias must be [N] with the input dtype") + out = _SharedLinear.apply(x.reshape(-1, x.shape[-1]), weight, bias) + return out.reshape(*x.shape[:-1], weight.shape[0]) + + +def shared_router(x, weight): + """Compute the 512-expert FP32 router from BF16 inputs/parameter storage.""" + _cuda_tensors(x, weight) + if x.dtype != torch.bfloat16 or weight.dtype != torch.bfloat16: + raise ValueError("Qwen3-Next router input and stored weight must be BF16") + if x.ndim != 2 or weight.shape != (512, x.shape[-1]): + raise ValueError("Qwen3-Next router requires x[T, H] and weight[512, H]") + return shared_linear(x.float(), weight.float()) + + +@dataclass(frozen=True) +class Routing: + """Descending probability routes; equal scores prefer smaller expert IDs.""" + + weights: torch.Tensor + indices: torch.Tensor + + +def fixed_order_row_sum(values): + """Sum the last dimension by a pairwise tree of elementwise adds. + + ``torch.sum`` picks its reduction order from the tensor shape, so the same + row summed inside an 8-row and a 32-row tensor can differ by one ulp unless + vLLM's batch-invariant aten overrides are installed. Qualification runs + execute with ``VLLM_BATCH_INVARIANT=0``, where those overrides are absent. + Elementwise adds have no such freedom: every row is summed in one fixed + tree whatever the row count. Odd widths are padded with exact zeros. + """ + while values.shape[-1] > 1: + if values.shape[-1] % 2: + values = torch.cat((values, values.new_zeros((*values.shape[:-1], 1))), dim=-1) + values = values[..., 0::2] + values[..., 1::2] + return values + + +def fixed_order_softmax(logits): + """Row softmax from a max subtraction, exp and one fixed-order row sum.""" + shifted = logits - torch.amax(logits, dim=-1, keepdim=True) + exponentials = torch.exp(shifted) + return exponentials / fixed_order_row_sum(exponentials) + + +def stable_top10_routes(router_logits): + """Select ten distinct experts and normalize their FP32 probabilities. + + The full 512-way softmax precedes selection, preserving Qwen's normalized + top-k arithmetic. Stable sort fixes the otherwise ambiguous tie boundary. + Indices are discrete; gradients flow through the selected probabilities. + Both row sums use the fixed-order tree, so a token's route weights do not + depend on how many other tokens share its forward pass. + """ + _cuda_tensors(router_logits) + if router_logits.ndim != 2 or router_logits.shape[1] != 512: + raise ValueError("Qwen3-Next routing requires logits[T, 512]") + if router_logits.dtype != torch.float32: + raise ValueError("Qwen3-Next router logits must be FP32") + if not torch.isfinite(router_logits).all(): + raise ValueError("Qwen3-Next router logits must be finite") + probabilities = fixed_order_softmax(router_logits) + indices = torch.argsort(router_logits, dim=-1, descending=True, stable=True)[:, :10] + selected = probabilities.gather(1, indices) + return Routing(selected / fixed_order_row_sum(selected), indices) + + +def combine_routes(expert_outputs, route_weights): + """Combine [T, 10, H] BF16 outputs by ten ordered FP32 multiply-adds. + + There are no atomic sums. Each route's product and each addition is a + separate eager operation; the single BF16 cast follows the final route. + """ + _cuda_tensors(expert_outputs, route_weights) + if expert_outputs.ndim != 3 or expert_outputs.shape[1] != 10: + raise ValueError("Qwen3-Next expert outputs must have shape [T, 10, H]") + if route_weights.shape != expert_outputs.shape[:2]: + raise ValueError("Route weights must have shape [T, 10]") + if expert_outputs.dtype != torch.bfloat16 or route_weights.dtype != torch.float32: + raise ValueError("Combine requires BF16 expert outputs and FP32 route weights") + output = expert_outputs[:, 0].float() * route_weights[:, 0, None] + for slot in range(1, 10): + output = output + expert_outputs[:, slot].float() * route_weights[:, slot, None] + return output.to(torch.bfloat16) + + +def _expert_activation(gate_up_rows): + """SwiGLU in FP32 from the BF16 [gate, up] projection; returns its parts too.""" + gate, up = gate_up_rows.float().chunk(2, dim=-1) + silu_gate = F.silu(gate) + return silu_gate * up, silu_gate, gate, up + + +class _RoutedExperts(torch.autograd.Function): + """Grouped expert forward; per-expert backward into one dense gradient buffer.""" + + @staticmethod + def forward(ctx, x, gate_up, down, route_indices): + ctx.save_for_backward(x, gate_up, down, route_indices) + with torch.cuda.device(x.device): + projected = grouped_route_linear(x, gate_up, route_indices) + activated = _expert_activation(projected)[0] + activated = activated.to(x.dtype).reshape(-1, activated.shape[-1]) + return grouped_route_linear(activated, down, route_indices) + + @staticmethod + @once_differentiable + def backward(ctx, grad_output): + x, gate_up, down, route_indices = ctx.saved_tensors + dx = torch.zeros_like(x) if ctx.needs_input_grad[0] else None + dgate_up = torch.zeros_like(gate_up) if ctx.needs_input_grad[1] else None + ddown = torch.zeros_like(down) if ctx.needs_input_grad[2] else None + top_k = route_indices.shape[1] + slots_by_expert = [[] for _ in range(gate_up.shape[0])] + for slot, expert in enumerate(route_indices.flatten().tolist()): + slots_by_expert[expert].append(slot) + grad_flat = grad_output.reshape(-1, x.shape[1]) + with torch.cuda.device(x.device): + linear = _vllm_linear() + projected = grouped_route_linear(x, gate_up, route_indices) + projected = projected.reshape(-1, projected.shape[-1]) + for expert, slots in enumerate(slots_by_expert): + if not slots: + continue + slots = torch.tensor(slots, dtype=torch.long, device=x.device) + tokens = slots // top_k + activated, silu_gate, gate32, up32 = _expert_activation( + projected.index_select(0, slots) + ) + activated = activated.to(x.dtype) + grad = grad_flat.index_select(0, slots) + if ddown is not None: + ddown[expert].copy_(linear(grad.t(), activated.t())) + if dx is None and dgate_up is None: + continue + rows = x.index_select(0, tokens) + dactivated = linear(grad, down[expert].t()).float() + sigmoid = gate32.sigmoid() + dgate = dactivated * up32 * (sigmoid + gate32 * sigmoid * (1 - sigmoid)) + dup = dactivated * silu_gate + dprojected = torch.cat((dgate, dup), dim=-1).to(x.dtype) + if dgate_up is not None: + dgate_up[expert].copy_(linear(dprojected.t(), rows.t())) + if dx is not None: + # Top-k has distinct experts, so tokens are unique within this + # launch. Ascending expert order fixes each token's sum order. + partial = linear(dprojected, gate_up[expert].t()) + dx.index_copy_(0, tokens, dx.index_select(0, tokens) + partial) + return dx, dgate_up, ddown, None + + +def shared_moe(x, router_weight, gate_up_weights, down_weights): + """Evaluate TP-local routed experts; caller reduces the returned output. + + Weights are [512, 2*I_local, H] (gate then up) and [512, H, I_local]. + All experts belong to EP=1. Each (token, route) output row has exactly one + writer and the ten routes are combined in route order. Shared-expert and + TP-reduction ownership remains with the model adapter. The forward has no + host synchronisation; the backward builds per-expert row lists on the host. + """ + _cuda_tensors(x, router_weight, gate_up_weights, down_weights) + if x.ndim != 2 or x.dtype != torch.bfloat16: + raise ValueError("Qwen3-Next MoE input must be BF16 [T, H]") + if gate_up_weights.ndim != 3 or down_weights.ndim != 3: + raise ValueError("Qwen3-Next expert weights must have three dimensions") + local_intermediate = down_weights.shape[-1] + if local_intermediate < 1: + raise ValueError("Expert intermediate dimension must be positive") + if gate_up_weights.shape != (512, 2 * local_intermediate, x.shape[1]): + raise ValueError("gate_up_weights must have shape [512, 2*I_local, H]") + if down_weights.shape != (512, x.shape[1], local_intermediate): + raise ValueError("down_weights must have shape [512, H, I_local]") + if gate_up_weights.dtype != x.dtype or down_weights.dtype != x.dtype: + raise ValueError("Qwen3-Next expert weights must remain BF16") + routes = stable_top10_routes(shared_router(x, router_weight)) + outputs = _RoutedExperts.apply(x, gate_up_weights, down_weights, routes.indices) + return combine_routes(outputs, routes.weights), routes + + +@lru_cache(maxsize=1) +def _attention_op(): + from rl_engine.backends.cuda.attention.deterministic_attn import DeterministicAttentionOp + + return DeterministicAttentionOp() + + +def shared_attention(q, k, v): + """Qwen TP4 GQA core: BF16 [B,4,Sq,256] over [B,1,Skv,256]. + + Queries must be the final Sq positions of the supplied KV prefix. This + covers full prefill, any contiguous prefill chunk, and one-token decode. + KV tensors can carry the prompt's gradient graph; no state is detached. + """ + _cuda_tensors(q, k, v) + if q.ndim != 4 or k.ndim != 4 or v.ndim != 4: + raise ValueError("Qwen3-Next attention requires four-dimensional Q/K/V") + if q.shape[1] != 4 or k.shape[1] != 1 or q.shape[-1] != 256: + raise ValueError("Qwen3-Next TP4 attention requires Q heads=4, KV heads=1, D=256") + if q.dtype != torch.bfloat16 or k.dtype != q.dtype or v.dtype != q.dtype: + raise ValueError("Qwen3-Next attention inputs must be BF16") + if q.shape[2] > k.shape[2]: + raise ValueError("Query tokens must fit within the supplied KV prefix") + return _attention_op()(q, k, v, causal=True, scale=1 / 16) + + +def shared_logprob(local_logits, targets, *, contract, tp_group=None, with_entropy=True): + """Return FP32 (selected logprob, LSE, optional entropy) with 64 vocab tiles. + + The existing CUDA WS2 provider supplies forward and autograd. Native VIME + policy_loss requests entropy even with a zero regularization coefficient. + Both invocation modes therefore use its same entropy-capable path, keeping + selected-logprob forward/backward identical across training and rollout. + """ + _cuda_tensors(local_logits, targets) + if not isinstance(contract, LogprobContract): + raise ValueError("An explicit LogprobContract is required") + if contract.sharding.real_vocab_size != 151936 or contract.sharding.padded_vocab_size != 151936: + raise ValueError("Qwen3-Next logprob requires the full 151936-entry vocabulary") + if contract.sharding.cp_world_size != 1 or contract.sharding.tp_world_size not in (1, 4): + raise ValueError("Qwen3-Next logprob requires CP1 and TP4 (TP1 for component tests)") + if local_logits.dtype not in (torch.bfloat16, torch.float32): + raise ValueError("Qwen3-Next logits must be BF16 or FP32") + if targets.dtype not in (torch.int32, torch.int64): + raise ValueError("Qwen3-Next targets must have integer token IDs") + if not isinstance(with_entropy, bool): + raise ValueError("with_entropy must be a bool") + if not torch.isfinite(local_logits).all(): + raise ValueError("Qwen3-Next logits must be finite") + from rl_engine.backends.cuda.logprob.vocab_parallel_logp import ( + CudaVocabParallelLogprobOp, + native_tile_stats_available, + ) + + if not native_tile_stats_available(): + raise RuntimeError("Qwen3-Next logprob requires rebuilt CUDA tile-stat kernels") + selected, lse, entropy = CudaVocabParallelLogprobOp().apply_with_entropy( + local_logits, + targets, + contract=contract, + tp_group=tp_group, + num_vocab_tiles=64, + validate=True, + with_entropy_grad=with_entropy, + deterministic=True, + ) + return selected, lse, entropy if with_entropy else None diff --git a/rl_engine/models/qwen3_next/qwen3_next_logprob.py b/rl_engine/models/qwen3_next/qwen3_next_logprob.py new file mode 100644 index 000000000..5fb827aec --- /dev/null +++ b/rl_engine/models/qwen3_next/qwen3_next_logprob.py @@ -0,0 +1,89 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Explicit shared Qwen TP4 logprob/entropy boundary for native VIME policy loss.""" + +import torch +import torch.distributed as dist + +from rl_engine.contracts.operators.logprob import ( + LogprobContract, + LogprobDType, + LogprobRole, + MaskSpec, + ReductionSpec, + ShardingSpec, +) +from rl_engine.models.qwen3_next.qwen3_next_forward import shared_logprob + + +def qwen_logprob_contract(logits, *, rank, world_size, role=LogprobRole.TRAIN): + if world_size != 4 or type(rank) is not int or not 0 <= rank < 4: + raise ValueError("Full Qwen logprob execution requires TP4") + if logits.ndim != 2 or logits.shape[1] != 37984: + raise ValueError("Each Qwen TP4 rank must own 37984 vocabulary columns") + dtype = {torch.bfloat16: LogprobDType.BF16, torch.float32: LogprobDType.FP32}.get(logits.dtype) + if dtype is None: + raise ValueError("Qwen LM head produces BF16 logits, optionally promoted by VIME") + return LogprobContract( + role=role, + dtype=dtype, + mask=MaskSpec(num_tokens=logits.shape[0], active_mask=(True,) * logits.shape[0]), + sharding=ShardingSpec( + tp_rank=rank, + tp_world_size=4, + vocab_shard_bounds=tuple((index * 37984, (index + 1) * 37984) for index in range(4)), + real_vocab_size=151936, + padded_vocab_size=151936, + cp_rank=0, + cp_world_size=1, + ), + reduction=ReductionSpec(), + ) + + +def calculate_log_probs_and_entropy( + logits, + tokens, + tp_group, + with_entropy=False, + chunk_size=-1, + log_prob_keep_mask=None, + with_entropy_grad=True, +): + """VIME's numerical callback; its policy loss and response alignment stay native.""" + if log_prob_keep_mask is not None: + raise ValueError("Fixed Qwen eager profile does not support top-p replay") + if not dist.is_initialized() or tp_group is None: + raise ValueError("Shared Qwen logprob requires an explicit initialized TP4 group") + if logits.device.type != "cuda" or tokens.device != logits.device: + raise ValueError("Logits and target IDs must share a CUDA device") + if tokens.shape != (logits.shape[0],): + raise ValueError("Logprob target IDs must match the token rows") + contract = qwen_logprob_contract( + logits, rank=dist.get_rank(tp_group), world_size=dist.get_world_size(tp_group) + ) + # Keep one fixed numerical path even when VIME requests chunking or metrics + # only. Its chunk_size is a memory hint; this explicit provider owns tiling. + selected, _lse, entropy = shared_logprob( + logits, tokens, contract=contract, tp_group=tp_group, with_entropy=True + ) + if not with_entropy_grad: + entropy = entropy.detach() + return selected.unsqueeze(-1), entropy if with_entropy else None + + +def install_vime_logprob_provider(): + """Install explicitly in each worker, without modifying the shared VIME checkout.""" + from megatron.core import mpu + from vime.backends.megatron_utils import loss + + topology = (mpu.get_context_parallel_world_size(), mpu.get_tensor_model_parallel_world_size()) + if topology != (1, 4): + raise ValueError("The Qwen native policy adapter supports TP4/CP1 only") + original = loss.calculate_log_probs_and_entropy + if original is calculate_log_probs_and_entropy: + return + if original.__module__ != "vime.utils.ppo_utils": + raise ValueError("Refusing to replace an unknown VIME logprob provider") + loss.calculate_log_probs_and_entropy = calculate_log_probs_and_entropy diff --git a/rl_engine/models/qwen3_next/qwen3_next_subnode.py b/rl_engine/models/qwen3_next/qwen3_next_subnode.py new file mode 100644 index 000000000..cc9fc79cd --- /dev/null +++ b/rl_engine/models/qwen3_next/qwen3_next_subnode.py @@ -0,0 +1,109 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Sub-node observations inside each Qwen3-Next decoder layer, for first-drift localisation. + +Both the rollout model (vLLM) and the replay model (VIME) call a module's +``subnode_hook(name, packed_rows)`` at the same five points of every decoder +layer, in this order: + +* ``input_layernorm`` - the normed mixer input; +* ``mixer`` - the GDN or full-attention output after the TP reduction; +* ``post_attention_layernorm`` - the normed MLP input; +* ``router`` - the ten selected expert ids per token; +* ``mlp`` - the MoE output after the TP reduction. + +The embedding output is observed once per model as ``embedding`` (on the +embedding module itself) so a drift there is not attributed to layer 0's norm. + +A trace owner binds the layer index, maps packed token rows to the 16 +response positions of each sample, and stores them in :class:`SubnodeBuffer`. +Observing copies values and never changes one. +""" + +from functools import partial + +import torch + +SUBNODES = ("input_layernorm", "mixer", "post_attention_layernorm", "router", "mlp") +EMBEDDING = "embedding" +LAYERS, RESPONSE_LENGTH, HIDDEN, TOP_K = 48, 16, 2048, 10 + + +def subnode_layout(name): + if name == "router": + return TOP_K, torch.int64 + if name in SUBNODES or name == EMBEDDING: + return HIDDEN, torch.bfloat16 + raise ValueError(f"Unknown Qwen3-Next sub-node: {name}") + + +class SubnodeBuffer: + """[48, B, 16, width] host copies of every sub-node, each written exactly once.""" + + def __init__(self, batch): + self.batch = batch + self.values, self.written = {}, {} + for name in SUBNODES: + width, dtype = subnode_layout(name) + self.values[name] = torch.zeros(LAYERS, batch, RESPONSE_LENGTH, width, dtype=dtype) + self.written[name] = torch.zeros(LAYERS, batch, RESPONSE_LENGTH, dtype=torch.bool) + self.embedding = torch.zeros(batch, RESPONSE_LENGTH, HIDDEN, dtype=torch.bfloat16) + self.embedding_written = torch.zeros(batch, RESPONSE_LENGTH, dtype=torch.bool) + + def put_embedding(self, row, response, value): + if value.dtype != torch.bfloat16 or value.shape != (HIDDEN,): + raise ValueError("The embedding must keep its original BF16 [2048] storage") + if self.embedding_written[row, response]: + raise ValueError("The embedding of one response position was observed twice") + self.embedding[row, response].copy_(value.detach().cpu()) + self.embedding_written[row, response] = True + + def embedding_rows(self): + if not bool(self.embedding_written.all()): + raise ValueError("The embedding was not observed at every response position") + return self.embedding + + def put(self, layer, name, row, response, value): + width, dtype = subnode_layout(name) + if value.dtype != dtype or value.shape != (width,): + raise ValueError(f"Sub-node {name} must keep its original {dtype} [{width}] storage") + if self.written[name][layer, row, response]: + raise ValueError(f"Sub-node {name} of layer {layer} was observed twice") + self.values[name][layer, row, response].copy_(value.detach().cpu()) + self.written[name][layer, row, response] = True + + def put_rows(self, layer, name, values): + """Store a complete [B, 16, width] block, as the replay model produces it.""" + for row in range(self.batch): + for response in range(RESPONSE_LENGTH): + self.put(layer, name, row, response, values[row, response]) + + def layer(self, layer): + missing = [name for name in SUBNODES if not bool(self.written[name][layer].all())] + if missing: + raise ValueError(f"Layer {layer} sub-nodes were not all observed: {missing}") + return {name: self.values[name][layer] for name in SUBNODES} + + +def install(layers, modules_of, record): + """Bind ``record(layer_index, name, packed_rows)`` to every hook-bearing module.""" + for index, layer in enumerate(layers): + for module in modules_of(layer): + module.subnode_hook = partial(record, index) + + +def remove(layers, modules_of): + for layer in layers: + for module in modules_of(layer): + module.subnode_hook = None + + +def vllm_modules(layer): + """vLLM ``SharedVLLMDecoderLayer``: the layer itself and its MoE.""" + return (layer, layer.mlp) + + +def vime_modules(layer): + """MCore layer with the shared VIME providers: mixer, pre-MLP norm and MoE.""" + return (layer.self_attention, layer.pre_mlp_layernorm, layer.mlp) diff --git a/rl_engine/models/qwen3_next/qwen3_next_tp.py b/rl_engine/models/qwen3_next/qwen3_next_tp.py new file mode 100644 index 000000000..876d373ff --- /dev/null +++ b/rl_engine/models/qwen3_next/qwen3_next_tp.py @@ -0,0 +1,65 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Differentiable TP4 boundaries and parameter metadata shared by Qwen3-Next blocks. + +The forward copy and reduction follow Megatron's column/row-parallel autograd +pair. Reductions go through ``collective_for_group`` so a strict deployment +can pin the collective algorithm; nothing here selects one implicitly. +""" + +import torch +import torch.distributed as dist + + +def _reduce(value, group): + from rl_engine.distributed.algorithms.collectives import collective_for_group + + collective = collective_for_group(group, min_size_bytes=value.numel() * value.element_size()) + return collective.all_reduce(value.contiguous()) + + +class _CopyToTP(torch.autograd.Function): + @staticmethod + def forward(ctx, value, group): + ctx.group = group + return value + + @staticmethod + def backward(ctx, gradient): + return _reduce(gradient, ctx.group), None + + +class _ReduceFromTP(torch.autograd.Function): + @staticmethod + def forward(ctx, value, group): + return _reduce(value, group) + + @staticmethod + def backward(ctx, gradient): + return gradient, None + + +def _rank(rank): + if isinstance(rank, bool) or not isinstance(rank, int) or rank not in range(4): + raise ValueError("TP4 rank must be an integer in [0, 4)") + + +def _weight(value, shape, name): + if value.dtype != torch.bfloat16 or value.shape != shape: + raise ValueError(f"{name} must be BF16 {shape}") + + +def _tp_group(group): + if not dist.is_initialized() or dist.get_world_size(group) != 4: + raise ValueError("Qwen3-Next blocks require an initialized four-rank TP group") + return dist.group.WORLD if group is None else group + + +def _parallel_parameter(parameter, dimension, *, stride=1, duplicate=False): + # MCore uses these attributes when computing the global optimizer gradient + # norm. A replicated copy updates normally but must not count twice. + parameter.tensor_model_parallel = True + parameter.partition_dim = dimension + parameter.partition_stride = stride + parameter.shared = duplicate diff --git a/rl_engine/models/qwen3_next/qwen3_next_tp_blocks.py b/rl_engine/models/qwen3_next/qwen3_next_tp_blocks.py new file mode 100644 index 000000000..950130a73 --- /dev/null +++ b/rl_engine/models/qwen3_next/qwen3_next_tp_blocks.py @@ -0,0 +1,380 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Official Qwen3-Next TP4 full-attention and MoE blocks for shared adapters. + +These blocks own the local arithmetic and differentiable TP boundaries. They +do not register an engine backend or advertise full-model acceptance. +""" + +from collections.abc import Mapping, Sequence +from dataclasses import dataclass +from functools import lru_cache + +import torch +import torch.distributed as dist +import torch.nn.functional as F +from torch import nn + +from rl_engine.models.qwen3_next.qwen3_next_forward import ( + shared_attention, + shared_linear, + shared_moe, +) +from rl_engine.models.qwen3_next.qwen3_next_tp import ( + _CopyToTP, + _parallel_parameter, + _rank, + _ReduceFromTP, + _tp_group, + _weight, +) +from rl_engine.validation.common.tensor_identity import tensor_bitwise_equal + +ATTENTION_HF_SHAPES = { + "q_proj.weight": (8192, 2048), + "k_proj.weight": (512, 2048), + "v_proj.weight": (512, 2048), + "o_proj.weight": (2048, 4096), + "q_norm.weight": (256,), + "k_norm.weight": (256,), +} + + +def shard_attention_weights(weights: Mapping[str, torch.Tensor], rank: int): + """Preserve Q/gate interleaving and replicate each KV head on a rank pair.""" + _rank(rank) + if set(weights) != set(ATTENTION_HF_SHAPES): + raise ValueError("Attention weight names do not match the official HF contract") + result = {} + for name, shape in ATTENTION_HF_SHAPES.items(): + value = weights[name] + _weight(value, shape, name) + if name.startswith(("q_norm.", "k_norm.")): + part = value + elif name in ("k_proj.weight", "v_proj.weight"): + part = value.chunk(2, dim=0)[rank // 2] + else: + part = value.chunk(4, dim=1 if name == "o_proj.weight" else 0)[rank] + result[name] = part.contiguous() + return result + + +def assemble_attention_weights(shards: Sequence[Mapping[str, torch.Tensor]]): + """Invert four local HF mappings and reject divergent replicated storage.""" + if len(shards) != 4 or any(set(shard) != set(ATTENTION_HF_SHAPES) for shard in shards): + raise ValueError("Exactly four complete attention HF shards are required") + result = {} + for name, shape in ATTENTION_HF_SHAPES.items(): + values = [shard[name] for shard in shards] + if name.startswith(("q_norm.", "k_norm.")): + for value in values: + _weight(value, shape, name) + if any(not tensor_bitwise_equal(value, values[0]) for value in values[1:]): + raise ValueError(f"Replicated attention norm differs: {name}") + result[name] = values[0] + elif name in ("k_proj.weight", "v_proj.weight"): + for value in values: + _weight(value, (256, 2048), name) + if not tensor_bitwise_equal(values[0], values[1]) or not tensor_bitwise_equal( + values[2], values[3] + ): + raise ValueError(f"Replicated KV head differs within its rank pair: {name}") + result[name] = torch.cat((values[0], values[2]), dim=0) + else: + axis = 1 if name == "o_proj.weight" else 0 + local_shape = list(shape) + local_shape[axis] //= 4 + for value in values: + _weight(value, tuple(local_shape), name) + result[name] = torch.cat(values, dim=axis) + return result + + +@lru_cache(maxsize=4) +def _kv_replica_groups(group): + ranks = dist.get_process_group_ranks(group) + # Every TP rank creates both groups in the same order. Only members use a + # group's collective, and the rank pairs follow the official KV layout. + return tuple( + dist.new_group(ranks[start : start + 2], use_local_synchronization=True) for start in (0, 2) + ) + + +def _norm_module(device): + module = nn.Module() + module.register_parameter( + "weight", nn.Parameter(torch.zeros(256, device=device, dtype=torch.bfloat16)) + ) + return module + + +@dataclass(frozen=True) +class KVState: + """Per-slot [1,1,length,256] KV tensors; length is the next absolute position.""" + + keys: tuple[torch.Tensor, ...] + values: tuple[torch.Tensor, ...] + + +def _packed_sequences(hidden, state, indices, cu_seqlens): + if ( + hidden.ndim != 2 + or hidden.shape[1] != 2048 + or hidden.dtype != torch.bfloat16 + or not hidden.is_cuda + ): + raise ValueError("Attention hidden must be CUDA BF16 [tokens, 2048]") + if hidden.shape[0] < 1: + raise ValueError("Attention requires at least one active token") + if ( + not isinstance(state, KVState) + or len(state.keys) < 2 + or len(state.keys) != len(state.values) + ): + raise ValueError("KVState requires a reserved slot and matching key/value slots") + if ( + indices.ndim != 1 + or indices.dtype not in (torch.int32, torch.int64) + or indices.device != hidden.device + ): + raise ValueError("State indices must be an integer vector on the input device") + if ( + cu_seqlens.device.type != "cpu" + or cu_seqlens.ndim != 1 + or cu_seqlens.dtype not in (torch.int32, torch.int64) + ): + raise ValueError("cu_seqlens must be a CPU integer vector") + slots, ends = indices.tolist(), cu_seqlens.tolist() + if len(ends) != len(slots) + 1 or ends[0] != 0 or ends[-1] != hidden.shape[0]: + raise ValueError("cu_seqlens must describe all packed tokens") + if any(left > right for left, right in zip(ends, ends[1:])): + raise ValueError("cu_seqlens must be nondecreasing") + if len(set(slots)) != len(slots) or any(slot <= 0 or slot >= len(state.keys) for slot in slots): + raise ValueError("Active state slots must be unique and exclude reserved slot zero") + for key, value in zip(state.keys, state.values): + if ( + key.ndim != 4 + or key.shape[:2] != (1, 1) + or key.shape[-1] != 256 + or key.shape != value.shape + ): + raise ValueError("KV slots must have matching [1,1,length,256] tensors") + if ( + key.dtype != hidden.dtype + or value.dtype != hidden.dtype + or key.device != hidden.device + or value.device != hidden.device + ): + raise ValueError("KV slots must have the input device and BF16 dtype") + return slots, ends + + +class TP4FullAttention(nn.Module): + """Four local query heads and one pair-replicated KV head, with explicit state.""" + + def __init__(self, *, group, device, eps=1e-6, rope_theta=10000000): + super().__init__() + self.group = _tp_group(group) + self.rank = dist.get_rank(self.group) + self.kv_group = _kv_replica_groups(self.group)[self.rank // 2] + if eps != 1e-6 or rope_theta != 10000000: + raise ValueError("Full attention requires official epsilon and RoPE theta") + self.eps = eps + factory = {"device": device, "dtype": torch.bfloat16} + self.q_proj = nn.Linear(2048, 2048, bias=False, **factory) + self.k_proj = nn.Linear(2048, 256, bias=False, **factory) + self.v_proj = nn.Linear(2048, 256, bias=False, **factory) + self.o_proj = nn.Linear(1024, 2048, bias=False, **factory) + self.q_norm, self.k_norm = _norm_module(device), _norm_module(device) + _parallel_parameter(self.q_proj.weight, 0) + _parallel_parameter(self.o_proj.weight, 1) + _parallel_parameter(self.k_proj.weight, 0, duplicate=self.rank % 2 == 1) + _parallel_parameter(self.v_proj.weight, 0, duplicate=self.rank % 2 == 1) + # Kept as a Python float, not a buffer: Megatron's Float16Module casts every + # floating-point buffer of the actor to BF16, and BF16-rounded inverse + # frequencies rotate keys differently from the rollout engine's FP32 ones. + self.rope_theta = float(rope_theta) + + def load_hf_weights(self, weights): + self.load_state_dict(shard_attention_weights(weights, self.rank), strict=True) + + def export_local_hf_weights(self): + return self.state_dict() + + def initial_state(self, blocks): + if isinstance(blocks, bool) or not isinstance(blocks, int) or blocks < 2: + raise ValueError("KV state requires a reserved slot and an active slot") + return KVState( + tuple(self.q_proj.weight.new_empty((1, 1, 0, 256)) for _ in range(blocks)), + tuple(self.q_proj.weight.new_empty((1, 1, 0, 256)) for _ in range(blocks)), + ) + + @staticmethod + def inverse_frequencies(rope_theta, device): + """FP32 inverse frequencies of the 64-wide rotary quarter, computed on demand.""" + exponents = torch.arange(0, 64, 2, dtype=torch.float32, device=device) / 64 + return 1.0 / (float(rope_theta) ** exponents) + + def _rotate(self, value, positions): + inv_freq = TP4FullAttention.inverse_frequencies(self.rope_theta, value.device) + angles = positions.float()[:, None] * inv_freq[None, :] + angles = torch.cat((angles, angles), dim=-1) + cos, sin = angles.cos().to(value.dtype)[:, None], angles.sin().to(value.dtype)[:, None] + rotary, tail = value[..., :64], value[..., 64:] + rotated = torch.cat((-rotary[..., 32:], rotary[..., :32]), dim=-1) + return torch.cat((rotary * cos + rotated * sin, tail), dim=-1) + + def forward(self, hidden, state, indices, cu_seqlens): + from rl_engine.backends.cuda.norm.rmsnorm import Qwen3NextRMSNormCudaOp + + slots, ends = _packed_sequences(hidden, state, indices, cu_seqlens) + copied = _CopyToTP.apply(hidden, self.group) + query, gate = shared_linear(copied, self.q_proj.weight).reshape(-1, 4, 512).chunk(2, dim=-1) + key = shared_linear(copied, _CopyToTP.apply(self.k_proj.weight, self.kv_group)).reshape( + -1, 1, 256 + ) + value = shared_linear(copied, _CopyToTP.apply(self.v_proj.weight, self.kv_group)).reshape( + -1, 1, 256 + ) + norm = Qwen3NextRMSNormCudaOp() + query = norm(query, _CopyToTP.apply(self.q_norm.weight, self.group), eps=self.eps) + key = norm(key, _CopyToTP.apply(self.k_norm.weight, self.group), eps=self.eps) + next_keys, next_values = list(state.keys), list(state.values) + outputs = [] + for slot, begin, end in zip(slots, ends[:-1], ends[1:]): + if begin == end: + continue + offset = state.keys[slot].shape[2] + if offset + end - begin > 262144: + raise ValueError("KV continuation exceeds the official maximum position") + positions = torch.arange(offset, offset + end - begin, device=hidden.device) + q = self._rotate(query[begin:end], positions).transpose(0, 1).unsqueeze(0) + k = self._rotate(key[begin:end], positions).transpose(0, 1).unsqueeze(0) + v = value[begin:end].transpose(0, 1).unsqueeze(0) + next_keys[slot] = torch.cat((state.keys[slot], k), dim=2) + next_values[slot] = torch.cat((state.values[slot], v), dim=2) + out = shared_attention(q, next_keys[slot], next_values[slot]) + outputs.append(out.squeeze(0).transpose(0, 1)) + attended = torch.cat(outputs, dim=0) * gate.sigmoid() + local = shared_linear(attended.reshape(-1, 1024), self.o_proj.weight) + return _ReduceFromTP.apply(local, self.group), KVState(tuple(next_keys), tuple(next_values)) + + +def moe_hf_shapes(): + result = { + "gate.weight": (512, 2048), + "shared_expert_gate.weight": (1, 2048), + } + for prefix in ("shared_expert", *(f"experts.{expert}" for expert in range(512))): + result[f"{prefix}.gate_proj.weight"] = (512, 2048) + result[f"{prefix}.up_proj.weight"] = (512, 2048) + result[f"{prefix}.down_proj.weight"] = (2048, 512) + return result + + +def shard_moe_weight(name, value, rank): + """Shard one official HF tensor without materializing all expert weights.""" + _rank(rank) + shapes = moe_hf_shapes() + if name not in shapes: + raise ValueError(f"Unknown Qwen3-Next MoE weight: {name}") + _weight(value, shapes[name], name) + if name in ("gate.weight", "shared_expert_gate.weight"): + return value + return value.chunk(4, dim=1 if name.endswith("down_proj.weight") else 0)[rank].contiguous() + + +def assemble_moe_weight(name, values): + if len(values) != 4: + raise ValueError("Exactly four MoE weight shards are required") + shapes = moe_hf_shapes() + if name not in shapes: + raise ValueError(f"Unknown Qwen3-Next MoE weight: {name}") + if name in ("gate.weight", "shared_expert_gate.weight"): + for value in values: + _weight(value, shapes[name], name) + if any(not tensor_bitwise_equal(value, values[0]) for value in values[1:]): + raise ValueError(f"Replicated MoE weight differs across TP: {name}") + return values[0] + axis = 1 if name.endswith("down_proj.weight") else 0 + shape = list(shapes[name]) + shape[axis] //= 4 + for value in values: + _weight(value, tuple(shape), name) + return torch.cat(tuple(values), dim=axis) + + +class TP4MoE(nn.Module): + """All 512 experts at EP1 with intermediate width 128 per TP rank.""" + + # Set by a trace owner (see qwen3_next_subnode); receives the route indices. + subnode_hook = None + + def __init__(self, *, group, device): + super().__init__() + self.group = _tp_group(group) + self.rank = dist.get_rank(self.group) + factory = {"device": device, "dtype": torch.bfloat16} + self.gate = nn.Linear(2048, 512, bias=False, **factory) + self.experts = nn.Module() + self.experts.register_parameter( + "gate_up", nn.Parameter(torch.empty(512, 256, 2048, **factory)) + ) + self.experts.register_parameter( + "down", nn.Parameter(torch.empty(512, 2048, 128, **factory)) + ) + self.shared_expert = nn.Module() + self.shared_expert.gate_proj = nn.Linear(2048, 128, bias=False, **factory) + self.shared_expert.up_proj = nn.Linear(2048, 128, bias=False, **factory) + self.shared_expert.down_proj = nn.Linear(128, 2048, bias=False, **factory) + self.shared_expert_gate = nn.Linear(2048, 1, bias=False, **factory) + _parallel_parameter(self.experts.gate_up, 1, stride=2) + _parallel_parameter(self.experts.down, 2) + _parallel_parameter(self.shared_expert.gate_proj.weight, 0) + _parallel_parameter(self.shared_expert.up_proj.weight, 0) + _parallel_parameter(self.shared_expert.down_proj.weight, 1) + + def _hf_tensor(self, name): + if name.startswith("experts."): + _, expert, projection, _ = name.split(".") + expert = int(expert) + if projection == "down_proj": + return self.experts.down[expert] + offset = 0 if projection == "gate_proj" else 128 + return self.experts.gate_up[expert, offset : offset + 128] + obj = self + for part in name.split("."): + obj = getattr(obj, part) + return obj + + def load_hf_weights(self, weights): + if set(weights) != set(moe_hf_shapes()): + raise ValueError("MoE weight names do not match the official HF contract") + with torch.no_grad(): + for name in moe_hf_shapes(): + self._hf_tensor(name).copy_(shard_moe_weight(name, weights[name], self.rank)) + + def export_local_hf_weights(self): + return {name: self._hf_tensor(name).detach() for name in moe_hf_shapes()} + + def forward(self, hidden): + if hidden.ndim != 2 or hidden.shape[1] != 2048 or hidden.dtype != torch.bfloat16: + raise ValueError("MoE hidden must be BF16 [tokens, 2048]") + copied = _CopyToTP.apply(hidden, self.group) + routed, routes = shared_moe( + copied, + _CopyToTP.apply(self.gate.weight, self.group), + self.experts.gate_up, + self.experts.down, + ) + if self.subnode_hook is not None: + self.subnode_hook("router", routes.indices) + gate = shared_linear(copied, self.shared_expert.gate_proj.weight) + up = shared_linear(copied, self.shared_expert.up_proj.weight) + activated = (F.silu(gate.float()) * up.float()).to(hidden.dtype) + shared = shared_linear(activated, self.shared_expert.down_proj.weight) + shared_gate = shared_linear( + copied, _CopyToTP.apply(self.shared_expert_gate.weight, self.group) + ).sigmoid() + return _ReduceFromTP.apply(routed + shared * shared_gate, self.group) diff --git a/rl_engine/models/qwen3_next/qwen3_next_tp_gdn.py b/rl_engine/models/qwen3_next/qwen3_next_tp_gdn.py new file mode 100644 index 000000000..07abaea20 --- /dev/null +++ b/rl_engine/models/qwen3_next/qwen3_next_tp_gdn.py @@ -0,0 +1,163 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""TP4 Qwen3-Next GDN projections, HF weight mapping and explicit recurrent state. + +The module is shared by engine adapters. It does not install a vLLM backend or +claim model-level acceptance. The process group must contain exactly four ranks. +""" + +from collections.abc import Mapping, Sequence + +import torch +import torch.distributed as dist +from torch import nn + +from rl_engine.integrations.engines.train.vllm.qwen3_next_provider import ( + GDNProviderConfig, + GDNState, + shared_gdn_core, +) +from rl_engine.models.qwen3_next.qwen3_next_tp import _CopyToTP, _rank, _ReduceFromTP +from rl_engine.validation.common.tensor_identity import tensor_bitwise_equal + +_GLOBAL_SHAPES = { + "in_proj_qkvz.weight": (12288, 2048), + "in_proj_ba.weight": (64, 2048), + "conv1d.weight": (8192, 1, 4), + "A_log": (32,), + "dt_bias": (32,), + "norm.weight": (128,), + "out_proj.weight": (2048, 4096), +} +_LOCAL_SHAPES = { + "in_proj_qkvz.weight": (3072, 2048), + "in_proj_ba.weight": (16, 2048), + "conv1d.weight": (2048, 1, 4), + "A_log": (8,), + "dt_bias": (8,), + "norm.weight": (128,), + "out_proj.weight": (2048, 1024), +} + + +def _validate_weights(weights, shapes): + if set(weights) != set(shapes): + raise ValueError("GDN weight names do not match the explicit HF contract") + device = weights["A_log"].device + for name, shape in shapes.items(): + value = weights[name] + if value.shape != shape or value.dtype != torch.bfloat16 or value.device != device: + raise ValueError(f"{name} must be BF16 {shape} on {device}") + + +def shard_gdn_weights(weights: Mapping[str, torch.Tensor], rank: int) -> dict[str, torch.Tensor]: + """Shard official HF GQA-interleaved projections and Q/K/V-segmented conv.""" + _rank(rank) + _validate_weights(weights, _GLOBAL_SHAPES) + result = {} + for name, value in weights.items(): + if name == "norm.weight": + shard = value + elif name == "out_proj.weight": + shard = value[:, rank * 1024 : (rank + 1) * 1024] + elif name == "conv1d.weight": + q, k, v = value.split((2048, 2048, 4096), dim=0) + shard = torch.cat([part.chunk(4, dim=0)[rank] for part in (q, k, v)]) + else: + shard = value.chunk(4, dim=0)[rank] + result[name] = shard.contiguous() + return result + + +def assemble_gdn_weights(shards: Sequence[Mapping[str, torch.Tensor]]) -> dict[str, torch.Tensor]: + """Inverse mapping; reject divergent replicated norm weights.""" + if len(shards) != 4: + raise ValueError("Exactly four ordered TP shards are required") + for shard in shards: + _validate_weights(shard, _LOCAL_SHAPES) + result = {} + for name in _GLOBAL_SHAPES: + values = [shard[name] for shard in shards] + if name == "norm.weight": + if any(not tensor_bitwise_equal(value, values[0]) for value in values[1:]): + raise ValueError("Replicated GDN norm weights differ across TP ranks") + result[name] = values[0] + elif name == "conv1d.weight": + segments = [value.split((512, 512, 1024), dim=0) for value in values] + result[name] = torch.cat( + [segments[rank][part] for part in range(3) for rank in range(4)] + ) + else: + result[name] = torch.cat(values, dim=1 if name == "out_proj.weight" else 0) + return result + + +class TP4GDN(nn.Module): + """Complete GDN projection/core/output block with differentiable TP semantics.""" + + def __init__(self, *, group, device, config: GDNProviderConfig, eps: float = 1e-6): + super().__init__() + if not dist.is_initialized() or dist.get_world_size(group) != 4: + raise ValueError("TP4GDN requires an initialized four-rank process group") + config.validate() + self.group = dist.group.WORLD if group is None else group + self.provider_config, self.eps = config, eps + self.rank = dist.get_rank(group) + factory = {"device": device, "dtype": torch.bfloat16} + self.in_proj_qkvz = nn.Linear(2048, 3072, bias=False, **factory) + self.in_proj_ba = nn.Linear(2048, 16, bias=False, **factory) + self.conv1d = nn.Conv1d(2048, 2048, 4, groups=2048, bias=False, **factory) + self.A_log = nn.Parameter(torch.zeros(8, **factory)) + self.dt_bias = nn.Parameter(torch.zeros(8, **factory)) + self.norm = nn.Module() + self.norm.register_parameter("weight", nn.Parameter(torch.ones(128, **factory))) + self.out_proj = nn.Linear(1024, 2048, bias=False, **factory) + + def load_hf_weights(self, weights: Mapping[str, torch.Tensor]): + self.load_state_dict(shard_gdn_weights(weights, self.rank), strict=True) + + def initial_state(self, blocks: int) -> GDNState: + if blocks < 2: + raise ValueError("State must include a reserved slot and at least one active slot") + return GDNState( + self.A_log.new_zeros((blocks, 2048, 3)), + torch.zeros(blocks, 8, 128, 128, dtype=torch.float32, device=self.A_log.device), + ) + + def forward(self, hidden, state, indices, cu_seqlens): + from rl_engine.models.qwen3_next.qwen3_next_forward import shared_linear + + if hidden.ndim != 2 or hidden.shape[1] != 2048 or hidden.dtype != torch.bfloat16: + raise ValueError("GDN hidden states must be BF16 [tokens, 2048]") + copied = _CopyToTP.apply(hidden, self.group) + qkvz = shared_linear(copied, self.in_proj_qkvz.weight).reshape(-1, 4, 768) + ba = shared_linear(copied, self.in_proj_ba.weight).reshape(-1, 4, 4) + q, k, v, z = qkvz.split((128, 128, 256, 256), dim=-1) + b, a = ba.split(2, dim=-1) + tokens = hidden.shape[0] + packed = torch.cat( + [value.reshape(tokens, width) for value, width in ((q, 512), (k, 512), (v, 1024))], + dim=-1, + ) + # The norm weight is shared by heads on all four ranks; its gradient + # sums contributions from all local head partitions exactly once. + norm_weight = _CopyToTP.apply(self.norm.weight, self.group) + output, next_state = shared_gdn_core( + packed, + a.reshape(tokens, 8), + b.reshape(tokens, 8), + z.reshape(tokens, 8, 128), + self.A_log.float(), + self.dt_bias.float(), + self.conv1d.weight[:, 0], + norm_weight, + state, + indices, + cu_seqlens, + config=self.provider_config, + num_k_heads=4, + eps=self.eps, + ) + local = shared_linear(output.reshape(tokens, 1024), self.out_proj.weight) + return _ReduceFromTP.apply(local, self.group), next_state diff --git a/rl_engine/reference/linear_attn/__init__.py b/rl_engine/reference/linear_attn/__init__.py new file mode 100644 index 000000000..80a2a86b9 --- /dev/null +++ b/rl_engine/reference/linear_attn/__init__.py @@ -0,0 +1,18 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Linear-attention operators (Gated DeltaNet and friends).""" + +from rl_engine.reference.linear_attn.causal_conv1d import CausalConv1dUpdateOp +from rl_engine.reference.linear_attn.gated_delta_rule import ( + NULL_BLOCK_ID, + SOFTPLUS_THRESHOLD, + GatedDeltaRuleRecurrentStepOp, +) + +__all__ = [ + "CausalConv1dUpdateOp", + "GatedDeltaRuleRecurrentStepOp", + "NULL_BLOCK_ID", + "SOFTPLUS_THRESHOLD", +] diff --git a/rl_engine/reference/linear_attn/causal_conv1d.py b/rl_engine/reference/linear_attn/causal_conv1d.py new file mode 100644 index 000000000..97886c8c1 --- /dev/null +++ b/rl_engine/reference/linear_attn/causal_conv1d.py @@ -0,0 +1,184 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Causal depthwise conv1d single-token state update (WS1 ground truth, RFC #428 C6). + +The trainer-side reference for ``causal_conv1d_update``, which vLLM calls once +per decode token before the Gated DeltaNet recurrence. + +The incoming token is rounded to the cache dtype. Products are rounded in +operand dtype before sequential FP32 accumulation, starting from bias (or zero). +This matters for BF16 caches: promoting operands before multiplication loses the +provider's product rounding. Activation may still differ at transcendental ULP +scale; this reference does not establish model-level bitwise equality. + +""" + +from __future__ import annotations + +import torch + +from rl_engine.reference.linear_attn.gated_delta_rule import NULL_BLOCK_ID, _validate_state_indices + +__all__ = ["CausalConv1dUpdateOp"] + + +class CausalConv1dUpdateOp: + """One decode token through the paged causal-conv1d cache. + + ============== ========================== ========================== + tensor shape notes + ============== ========================== ========================== + ``x`` ``[B, dim]`` + ``conv_state`` ``[num_blocks, dim, W-1]`` paged; ``dim_first`` layout + ``weight`` ``[dim, W]`` + ``bias`` ``[dim]`` or ``None`` + ``indices`` ``[B]`` ``<= 0`` skips (vLLM: ``== 0``) + ============== ========================== ========================== + + Returns ``(out, conv_state)``; the state is updated out of place. + """ + + def __call__( + self, + x: torch.Tensor, + conv_state: torch.Tensor, + weight: torch.Tensor, + conv_state_indices: torch.Tensor, + *, + bias: torch.Tensor | None = None, + activation: str | None = "silu", + dim_first: bool = True, + ) -> tuple[torch.Tensor, torch.Tensor]: + return self.forward( + x, + conv_state, + weight, + conv_state_indices, + bias=bias, + activation=activation, + dim_first=dim_first, + ) + + def forward( + self, + x: torch.Tensor, + conv_state: torch.Tensor, + weight: torch.Tensor, + conv_state_indices: torch.Tensor, + *, + bias: torch.Tensor | None = None, + activation: str | None = "silu", + dim_first: bool = True, + ) -> tuple[torch.Tensor, torch.Tensor]: + return self._update( + x, + conv_state, + weight, + conv_state_indices, + bias=bias, + activation=activation, + dim_first=dim_first, + output_dtype=x.dtype, + ) + + def forward_fp32( + self, + x: torch.Tensor, + conv_state: torch.Tensor, + weight: torch.Tensor, + conv_state_indices: torch.Tensor, + *, + bias: torch.Tensor | None = None, + activation: str | None = "silu", + dim_first: bool = True, + ) -> tuple[torch.Tensor, torch.Tensor]: + """Ground truth: fp32 output, so only the cache dtype rounds.""" + return self._update( + x, + conv_state, + weight, + conv_state_indices, + bias=bias, + activation=activation, + dim_first=dim_first, + output_dtype=torch.float32, + ) + + @staticmethod + def _update( + x, + conv_state, + weight, + conv_state_indices, + *, + bias, + activation, + dim_first, + output_dtype, + ): + if activation not in (None, "silu", "swish"): + raise ValueError(f"activation must be None, 'silu' or 'swish', got {activation!r}") + if x.dim() != 2: + raise ValueError(f"x must be 2-D [B, dim], got {tuple(x.shape)}") + if conv_state.dim() != 3: + raise ValueError( + f"conv_state must be 3-D [num_blocks, dim, W-1], got {tuple(conv_state.shape)}" + ) + if conv_state_indices.dim() != 1 or conv_state_indices.shape[0] != x.shape[0]: + raise ValueError("conv_state_indices must be 1-D with one entry per row of x") + + # The "SD" layout stores (state_len, dim); the kernels want (dim, state_len). + state = conv_state if dim_first else conv_state.transpose(-1, -2) + dim, tail = state.shape[-2], state.shape[-1] + if weight.ndim != 2 or dim <= 0 or weight.shape[-1] <= 0: + raise ValueError("weight must be 2-D [dim, W] with positive dimensions") + if x.shape[1] != dim: + raise ValueError("x and conv_state must have the same dim") + _validate_state_indices(conv_state_indices, x.shape[0], state.shape[0], x.device) + for name, tensor in ( + ("x", x), + ("conv_state", conv_state), + ("weight", weight), + ("bias", bias), + ): + if tensor is not None and (tensor.device != x.device or not tensor.is_floating_point()): + raise ValueError(f"{name} must be floating point on the input device") + if bias is not None and bias.shape != (dim,): + raise ValueError("bias must have shape [dim]") + width = weight.shape[-1] + if weight.shape[0] != dim: + raise ValueError(f"weight must be [dim, W] with dim={dim}, got {tuple(weight.shape)}") + if tail != width - 1: + raise ValueError(f"conv_state tail must be W-1={width - 1}, got {tail}") + + active = conv_state_indices > NULL_BLOCK_ID + out = torch.zeros(x.shape, dtype=torch.float32, device=x.device) + new_state = conv_state.clone() # the cache dtype is the contract here + if not bool(active.any()): + return out.to(output_dtype), new_state + + rows = torch.nonzero(active, as_tuple=False).flatten() + blocks = conv_state_indices[rows].long() + + # The incoming token is rounded to the cache dtype before it is used. + token = x[rows].to(conv_state.dtype) + window = torch.cat([state[blocks], token.unsqueeze(-1)], dim=-1) # [R, dim, W] + + # Match the provider's product rounding and bias-before-taps order. + acc = torch.zeros(len(rows), dim, dtype=torch.float32, device=x.device) + if bias is not None: + acc = acc + bias.float() + for tap in range(width): + product = window[..., tap] * weight[:, tap].unsqueeze(0) + acc = acc + product.float() + if activation in ("silu", "swish"): + acc = acc / (1.0 + torch.exp(-acc)) + + out[rows] = acc + rolled = window[..., 1:] + if dim_first: + new_state[blocks] = rolled.to(conv_state.dtype) + else: + new_state[blocks] = rolled.transpose(-1, -2).to(conv_state.dtype) + return out.to(output_dtype), new_state diff --git a/rl_engine/reference/linear_attn/gated_delta_rule.py b/rl_engine/reference/linear_attn/gated_delta_rule.py new file mode 100644 index 000000000..442f1f6ac --- /dev/null +++ b/rl_engine/reference/linear_attn/gated_delta_rule.py @@ -0,0 +1,334 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Gated DeltaNet single-token recurrent step (WS1 ground truth for RFC #428 C6). + +This is the trainer-side reference for what vLLM runs during rollout decode: +``fused_recurrent_gated_delta_rule_packed_decode``. That kernel -- not +``fused_sigmoid_gating_delta_rule_update`` -- is the path a pure RL rollout +takes, because ``VLLM_ENABLE_FLA_PACKED_RECURRENT_DECODE`` defaults to true and +a decode-only, non-speculative batch returns early into it. + +Three things are transcribed from the kernel rather than from the HuggingFace +model, because they differ: + +* **The gating is fused.** ``beta = sigmoid(b)`` and + ``g = -exp(A_log) * softplus(a + dt_bias)`` are computed here, in fp32, with + the kernel's ``softplus`` threshold branch. HF computes them separately in + PyTorch, which is a different rounding path. +* **No ``repeat_interleave``.** The kernel indexes ``i_h = i_hv // (HV // H)``, + so q/k stay at ``H`` heads while v has ``HV``. HF materializes the repeat. +* **The QK norm is an L2 norm over a plain sum**, ``x / sqrt(sum(x*x) + 1e-6)``, + not an RMSNorm and not ``F.normalize``. It divides by ``sqrt`` rather than + multiplying by ``rsqrt``; the two differ in the last bit, so the division is + kept. + +``scale`` is applied to ``q`` *after* the L2 norm; ``k`` is never scaled. + +State ABI (mirrored, not reinvented) +------------------------------------ +The recurrent state is paged: ``[num_blocks, HV, V, K]``, addressed per +sequence by ``ssm_state_indices``. Index ``<= 0`` is ``NULL_BLOCK_ID`` and means +"skip": the kernel writes zeros to the output and leaves the block untouched. +The accumulator is fp32 throughout the step, and the store rounds to the state +tensor's dtype -- which upstream allows to be fp32 *or* bf16. That rounding is +part of the recurrence and compounds across tokens, so it is modelled here +rather than skipped. +""" + +from __future__ import annotations + +import torch + +__all__ = ["GatedDeltaRuleRecurrentStepOp", "NULL_BLOCK_ID", "SOFTPLUS_THRESHOLD"] + +#: Paged-state sentinel. Both goldens skip a row whose index is ``<= NULL_BLOCK_ID``: +#: that is the recurrent provider's semantics (``state_idx <= 0``). vLLM's conv +#: provider skips only ``== null_block_id`` (0), so a negative index is a real index +#: there; see the design note's NULL_BLOCK_ID table. +NULL_BLOCK_ID = 0 + +#: Above this, softplus is the identity (matches the kernel's constexpr). +SOFTPLUS_THRESHOLD = 20.0 + +#: Width of the fixed-order reduction chunks. The contraction order must not +#: depend on the batch layout, so it is pinned here exactly as +#: :func:`~rl_engine.reference.norm.rms_norm.shape_invariant_rstd` +#: pins the RMSNorm statistic. +_REDUCTION_CHUNK = 32 + + +def _validate_state_indices(indices, batch, blocks, device): + """Each active row owns one cache block; inactive sentinels may repeat.""" + if indices.ndim != 1 or indices.shape[0] != batch: + raise ValueError("state indices must be 1-D with one entry per sequence") + if indices.dtype not in (torch.int32, torch.int64): + raise ValueError("state indices must have int32 or int64 dtype") + if indices.device != device: + raise ValueError("state indices must be on the input device") + active = indices[indices > NULL_BLOCK_ID] + if bool((active >= blocks).any()): + raise ValueError("active state index is out of range") + if active.unique().numel() != active.numel(): + raise ValueError("active state indices must be unique") + + +def _chunked_sum(x: torch.Tensor) -> torch.Tensor: + """Sum the last dim in a fixed 32-wide chunk order. + + The single reduction primitive for this module. Deliberately not + ``sum``/``matmul``/``einsum`` on the whole axis: their reduction order is + unspecified and may vary with shape, which is what a batch-invariant claim + cannot tolerate. Mirrors + :func:`~rl_engine.kernels.ops.pytorch.norm.rms_norm.shape_invariant_rstd`. + """ + tail = x.shape[-1] + if tail % _REDUCTION_CHUNK != 0: + # Zero-pad to the next chunk boundary instead of falling back to an + # unpinned ``sum``: exact zeros add nothing, so the result is the same + # fixed chunk order for every width. + x = torch.nn.functional.pad(x, (0, _REDUCTION_CHUNK - tail % _REDUCTION_CHUNK)) + tail = x.shape[-1] + return ( + x.reshape(*x.shape[:-1], tail // _REDUCTION_CHUNK, _REDUCTION_CHUNK).sum(dim=-1).sum(dim=-1) + ) + + +def _fixed_order_contract(mat: torch.Tensor, vec: torch.Tensor) -> torch.Tensor: + """``sum(mat * vec, dim=-1)`` in a fixed chunk order.""" + return _chunked_sum(mat * vec) + + +def _l2_normalize(x: torch.Tensor, eps: float = 1e-6) -> torch.Tensor: + """``x / sqrt(sum(x*x) + eps)`` over the last dim, in fp32. + + A plain sum, not a mean: this is an L2 norm, not an RMSNorm. The division is + kept rather than folded into a reciprocal-sqrt multiply because the kernel + divides. + """ + return x / torch.sqrt(_chunked_sum(x * x) + eps).unsqueeze(-1) + + +def _softplus(x: torch.Tensor, threshold: float = SOFTPLUS_THRESHOLD) -> torch.Tensor: + """The kernel's branched softplus; the branch matters for large ``a + dt_bias``.""" + small = x <= threshold + safe = torch.where(small, x, torch.zeros_like(x)) + return torch.where(small, torch.log1p(torch.exp(safe)), x) + + +class GatedDeltaRuleRecurrentStepOp: + """One decode token of the Gated DeltaNet recurrence, over a paged state. + + Shapes follow the provider, not the model definition: + + ============= ====================================== =================== + tensor shape notes + ============= ====================================== =================== + ``mixed_qkv`` ``[B, H*K + H*K + HV*V]`` q | k | v, packed + ``a``, ``b`` ``[B, HV]`` + ``A_log`` ``[HV]`` fp32 + ``dt_bias`` ``[HV]`` fp32 + ``state`` ``[num_blocks, HV, V, K]`` paged, V-major + ``indices`` ``[B]`` ``<= 0`` skips + ============= ====================================== =================== + + Returns ``(out, state)`` with ``out`` of shape ``[B, 1, HV, V]``. The state + is updated out of place; pass the result back to continue the recurrence. + """ + + def __call__( + self, + mixed_qkv: torch.Tensor, + a: torch.Tensor, + b: torch.Tensor, + A_log: torch.Tensor, + dt_bias: torch.Tensor, + state: torch.Tensor, + ssm_state_indices: torch.Tensor, + *, + scale: float, + num_k_heads: int, + use_qk_l2norm: bool = True, + ) -> tuple[torch.Tensor, torch.Tensor]: + return self.forward( + mixed_qkv, + a, + b, + A_log, + dt_bias, + state, + ssm_state_indices, + scale=scale, + num_k_heads=num_k_heads, + use_qk_l2norm=use_qk_l2norm, + ) + + def forward( + self, + mixed_qkv: torch.Tensor, + a: torch.Tensor, + b: torch.Tensor, + A_log: torch.Tensor, + dt_bias: torch.Tensor, + state: torch.Tensor, + ssm_state_indices: torch.Tensor, + *, + scale: float, + num_k_heads: int, + use_qk_l2norm: bool = True, + ) -> tuple[torch.Tensor, torch.Tensor]: + """Step once, rounding the stored state to ``state.dtype``.""" + return self._step( + mixed_qkv, + a, + b, + A_log, + dt_bias, + state, + ssm_state_indices, + scale=scale, + num_k_heads=num_k_heads, + use_qk_l2norm=use_qk_l2norm, + state_dtype=state.dtype, + output_dtype=mixed_qkv.dtype, + ) + + def forward_fp32( + self, + mixed_qkv: torch.Tensor, + a: torch.Tensor, + b: torch.Tensor, + A_log: torch.Tensor, + dt_bias: torch.Tensor, + state: torch.Tensor, + ssm_state_indices: torch.Tensor, + *, + scale: float, + num_k_heads: int, + use_qk_l2norm: bool = True, + ) -> tuple[torch.Tensor, torch.Tensor]: + """Ground truth: keep the state and the output in fp32. + + The difference from :meth:`forward` is the per-token state rounding, so + running both and comparing isolates how much that rounding costs. + """ + return self._step( + mixed_qkv, + a, + b, + A_log, + dt_bias, + state, + ssm_state_indices, + scale=scale, + num_k_heads=num_k_heads, + use_qk_l2norm=use_qk_l2norm, + state_dtype=torch.float32, + output_dtype=torch.float32, + ) + + @staticmethod + def _step( + mixed_qkv, + a, + b, + A_log, + dt_bias, + state, + ssm_state_indices, + *, + scale, + num_k_heads, + use_qk_l2norm, + state_dtype, + output_dtype, + ): + if mixed_qkv.dim() != 2: + raise ValueError(f"mixed_qkv must be 2-D [B, D], got {tuple(mixed_qkv.shape)}") + if state.dim() != 4: + raise ValueError(f"state must be 4-D [num_blocks, HV, V, K], got {tuple(state.shape)}") + + batch = mixed_qkv.shape[0] + hv, v_dim, k_dim = state.shape[-3:] + if isinstance(num_k_heads, bool) or not isinstance(num_k_heads, int) or num_k_heads <= 0: + raise ValueError("num_k_heads must be a positive integer") + if min(hv, v_dim, k_dim) <= 0: + raise ValueError("state head dimensions must be positive") + heads = num_k_heads + _validate_state_indices(ssm_state_indices, batch, state.shape[0], mixed_qkv.device) + for name, tensor in ( + ("a", a), + ("b", b), + ("A_log", A_log), + ("dt_bias", dt_bias), + ("state", state), + ): + if tensor.device != mixed_qkv.device: + raise ValueError(f"{name} must be on the input device") + if not tensor.is_floating_point(): + raise ValueError(f"{name} must be floating point") + if not mixed_qkv.is_floating_point(): + raise ValueError("mixed_qkv must be floating point") + if A_log.shape != (hv,) or dt_bias.shape != (hv,): + raise ValueError("A_log and dt_bias must have shape [HV]") + if hv % heads != 0: + raise ValueError(f"HV={hv} must be a multiple of num_k_heads={heads}") + if a.shape != (batch, hv) or b.shape != (batch, hv): + raise ValueError( + f"a/b must be [B, HV] = {(batch, hv)}, got {tuple(a.shape)} / {tuple(b.shape)}" + ) + expected = heads * k_dim * 2 + hv * v_dim + if mixed_qkv.shape[1] != expected: + raise ValueError( + f"mixed_qkv last dim must be {expected} (q|k|v packed), " + f"got {mixed_qkv.shape[1]}" + ) + + group = hv // heads + qkv32 = mixed_qkv.float() + + # Unpack q | k | v. q and k carry H heads, v carries HV. + q = qkv32[:, : heads * k_dim].reshape(batch, heads, k_dim) + k = qkv32[:, heads * k_dim : 2 * heads * k_dim].reshape(batch, heads, k_dim) + v = qkv32[:, 2 * heads * k_dim :].reshape(batch, hv, v_dim) + + if use_qk_l2norm: + q = _l2_normalize(q) + k = _l2_normalize(k) + q = q * scale + + # i_h = i_hv // (HV // H): index, do not materialize a repeat. + head_of = torch.arange(hv, device=q.device) // group + q = q[:, head_of, :] # [B, HV, K] + k = k[:, head_of, :] + + # Fused gating, fp32, with the kernel's softplus branch. + decay = -torch.exp(A_log.float()) * _softplus(a.float() + dt_bias.float()) + beta = torch.sigmoid(b.float()) + + active = ssm_state_indices > NULL_BLOCK_ID + out = torch.zeros(batch, 1, hv, v_dim, dtype=torch.float32, device=q.device) + # The returned state carries `state_dtype`, not the caller's: forward_fp32 + # exists precisely to run the recurrence without the per-token rounding, + # so it must be able to widen a bf16 cache to fp32. + new_state = state.to(state_dtype).clone() + if not bool(active.any()): + return out.to(output_dtype), new_state + + rows = torch.nonzero(active, as_tuple=False).flatten() + blocks = ssm_state_indices[rows].long() + + h = state[blocks].float() # [R, HV, V, K] + h = h * torch.exp(decay[rows]).unsqueeze(-1).unsqueeze(-1) + + k_sel, q_sel, v_sel = k[rows], q[rows], v[rows] + # v -= h @ k, then v *= beta, then h += outer(v, k), then o = h @ q. + v_sel = v_sel - _fixed_order_contract(h, k_sel.unsqueeze(-2)) + v_sel = v_sel * beta[rows].unsqueeze(-1) + h = h + v_sel.unsqueeze(-1) * k_sel.unsqueeze(-2) + o = _fixed_order_contract(h, q_sel.unsqueeze(-2)) + + out[rows, 0] = o + # The store rounds; that rounding is part of the recurrence. + new_state[blocks] = h.to(state_dtype) + return out.to(output_dtype), new_state diff --git a/rl_engine/reference/norm/qwen3_next_rms_norm.py b/rl_engine/reference/norm/qwen3_next_rms_norm.py new file mode 100644 index 000000000..14ecdcfa6 --- /dev/null +++ b/rl_engine/reference/norm/qwen3_next_rms_norm.py @@ -0,0 +1,161 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Qwen3-Next RMSNorm references (WS1 ground truth for RFC #428 C1). + +Qwen3-Next ships two RMSNorm conventions. They differ in how the weight is applied +and in where the dtype casts sit, so they are separate operators rather than a flag: + +``Qwen3NextRMSNorm`` (decoder / final norm) + Normalize in fp32, scale by ``(1 + weight)`` in fp32, cast once at the end. The + stored weight is zero-centred, so the ``1 +`` must be applied after the fp32 + upcast; folding it into a bf16 weight first rounds the offset. + +``Qwen3NextRMSNormGated`` (inside the Gated DeltaNet block) + Normalize in fp32, scale by a plain weight, then gate by ``silu(gate)``. + vLLM's ``RMSNormGated`` multiplies the weight in fp32; transformers casts the + normalized value back to the input dtype first. ``Qwen3NextRMSNormGatedOp`` + follows vLLM; ``Qwen3NextRMSNormGatedHFOp`` keeps the transformers convention + as a witness, and ``test_gated_conventions_diverge_in_low_precision`` pins that + the two differ in bf16 and agree bitwise in fp32. + +All three reuse :func:`shape_invariant_rstd`, a fixed-order reduction. They +reproduce the weight convention and cast order, not vLLM's reduction tree, and are +not bitwise equal to any vLLM path probed so far. Claim levels, measurements and +limitations are in ``docs/operators/qwen3-next-rms-norm.md`` and, for the gated +pair, ``docs/operators/qwen3-next-rms-norm-gated.md``. +""" + +from __future__ import annotations + +import torch +import torch.nn.functional as F + +from rl_engine.reference.norm.rms_norm import ( + NativeRMSNormOp, + check_norm_weight, + shape_invariant_rstd, +) + +__all__ = [ + "Qwen3NextRMSNormOp", + "Qwen3NextRMSNormGatedOp", + "Qwen3NextRMSNormGatedHFOp", +] + + +class Qwen3NextRMSNormOp(NativeRMSNormOp): + """Zero-centred RMSNorm: ``out = x * rstd * (1 + weight)``. + + Only the weight convention differs from :class:`NativeRMSNormOp`, so that is + all this overrides. The base applies the offset in fp32, after the upcast, + which is what ``transformers`` and vLLM both do -- folding ``1 +`` into a + bf16 weight beforehand would round the offset away. + """ + + weight_offset = 1.0 + + +class Qwen3NextRMSNormGatedOp: + """Gated RMSNorm used by the Gated DeltaNet block (vLLM/strict convention). + + ``out = (x * rstd * weight) * silu(gate)``, with every multiply in fp32 and + a single cast on the way out. This is the convention vLLM's ``RMSNormGated`` + uses with ``norm_before_gate=True``. Which gated convention is the strict + default is still open; see ``docs/operators/qwen3-next-rms-norm-gated.md``. + + Not a subclass of the plain op: it takes an extra tensor and its epilogue + differs, so it is not a drop-in substitute for one. + + The weight is plain, NOT zero-centred -- upstream initializes it to ones. + """ + + def __call__( + self, + x: torch.Tensor, + weight: torch.Tensor, + gate: torch.Tensor, + *, + eps: float = 1e-6, + ) -> torch.Tensor: + return self.forward(x, weight, gate, eps=eps) + + def forward( + self, + x: torch.Tensor, + weight: torch.Tensor, + gate: torch.Tensor, + *, + eps: float = 1e-6, + ) -> torch.Tensor: + return self._rms_norm_gated(x, weight, gate, eps=eps, output_dtype=x.dtype) + + def forward_fp32( + self, + x: torch.Tensor, + weight: torch.Tensor, + gate: torch.Tensor, + *, + eps: float = 1e-6, + ) -> torch.Tensor: + """Ground-truth: fp32 in, fp32 out.""" + return self._rms_norm_gated(x, weight, gate, eps=eps, output_dtype=torch.float32) + + # ------------------------------------------------------------------ # + # Shared by both conventions; only `_scale_by_weight` differs. + # ------------------------------------------------------------------ # + @staticmethod + def _normalized( + x: torch.Tensor, weight: torch.Tensor, gate: torch.Tensor, *, eps: float + ) -> torch.Tensor: + check_norm_weight(x, weight) + if gate.shape != x.shape: + raise ValueError( + f"gate must match x, got tuple(gate.shape)={tuple(gate.shape)} " + f"vs tuple(x.shape)={tuple(x.shape)}" + ) + if gate.dtype != x.dtype or gate.device != x.device: + raise ValueError("gate must have the same dtype and device as x") + x_f = x.float() + rstd = shape_invariant_rstd(x_f, float(eps)).unsqueeze(-1) + return x_f * rstd + + @staticmethod + def _scale_by_weight( + normed: torch.Tensor, weight: torch.Tensor, input_dtype: torch.dtype + ) -> torch.Tensor: + """vLLM: the weight multiply stays in fp32.""" + del input_dtype + return normed * weight.float() + + @classmethod + def _rms_norm_gated( + cls, + x: torch.Tensor, + weight: torch.Tensor, + gate: torch.Tensor, + *, + eps: float, + output_dtype: torch.dtype, + ) -> torch.Tensor: + normed = cls._normalized(x, weight, gate, eps=eps) + scaled = cls._scale_by_weight(normed, weight, x.dtype) + # The gate activation is evaluated in fp32 and promotes the product. + gated = scaled * F.silu(gate.float()) + return gated.to(output_dtype) + + +class Qwen3NextRMSNormGatedHFOp(Qwen3NextRMSNormGatedOp): + """``transformers`` gated convention: weight multiply in the input dtype. + + Kept so the HF-vs-vLLM divergence documented in the module docstring stays + covered by a test rather than discovered in a drift report. Do NOT use this + for an L2 claim against vLLM rollout. + """ + + @staticmethod + def _scale_by_weight( + normed: torch.Tensor, weight: torch.Tensor, input_dtype: torch.dtype + ) -> torch.Tensor: + """transformers: round-trip through the input dtype first.""" + return weight * normed.to(input_dtype) diff --git a/rl_engine/reference/norm/rms_norm.py b/rl_engine/reference/norm/rms_norm.py index 76dc13b49..e08738a2e 100644 --- a/rl_engine/reference/norm/rms_norm.py +++ b/rl_engine/reference/norm/rms_norm.py @@ -86,6 +86,15 @@ def strict_add_rms_norm( return _strict_add_rms_norm(x, residual, weight, eps) +def check_norm_weight(x: torch.Tensor, weight: torch.Tensor) -> None: + """Shared shape guard for the RMSNorm family (plain, zero-centred, gated).""" + if weight.dim() != 1 or weight.shape[0] != x.shape[-1]: + raise ValueError( + f"weight must be 1-D of size x.shape[-1]={x.shape[-1]}, " + f"got tuple(weight.shape)={tuple(weight.shape)}" + ) + + def shape_invariant_rstd(x_f: torch.Tensor, eps: float) -> torch.Tensor: """Shape-invariant per-row rstd (the shared RMSNorm statistic). @@ -113,6 +122,10 @@ class NativeRMSNormOp: out = x * rsqrt(mean(x^2, dim=-1) + eps) * weight """ + #: Added to the weight in fp32 before it scales the normalized value. + #: Subclasses set 1.0 for the zero-centred ``(1 + w)`` convention. + weight_offset = 0.0 + def __init__(self) -> None: pass @@ -151,21 +164,24 @@ def forward_fp32( # ------------------------------------------------------------------ # # Helpers # ------------------------------------------------------------------ # - @staticmethod + @classmethod def _rms_norm( + cls, x: torch.Tensor, weight: torch.Tensor, *, eps: float, output_dtype: torch.dtype, ) -> torch.Tensor: - if weight.dim() != 1 or weight.shape[0] != x.shape[-1]: - raise ValueError( - f"weight must be 1-D of size x.shape[-1]={x.shape[-1]}, " - f"got tuple(weight.shape)={tuple(weight.shape)}" - ) + check_norm_weight(x, weight) x_f = x.float() rstd = shape_invariant_rstd(x_f, float(eps)).unsqueeze(-1) normed = x_f * rstd - out = normed * weight.float() + scale = weight.float() + # Guarded rather than unconditional: `0.0 + w` rewrites -0.0 to +0.0, + # which torch.equal does not notice but a bitwise comparison does. The + # plain path must stay bit-for-bit what it was. + if cls.weight_offset: + scale = cls.weight_offset + scale + out = normed * scale return out.to(output_dtype) diff --git a/rl_engine/runtime/registry.py b/rl_engine/runtime/registry.py index a190bbca1..9a6494d5d 100644 --- a/rl_engine/runtime/registry.py +++ b/rl_engine/runtime/registry.py @@ -159,6 +159,18 @@ class OpBackend(Enum, metaclass=_KernelEnumMeta): TRITON_RMS_NORM = "rl_engine.kernels.ops.triton.rmsnorm_triton.RMSNormTritonOp" PYTORCH_NATIVE_RMS_NORM = "rl_engine.kernels.ops.pytorch.norm.rms_norm.NativeRMSNormOp" + # Zero-centred RMSNorm (Qwen3-Next decoder / final norm) + CUDA_QWEN3_NEXT_RMS_NORM = "rl_engine.kernels.ops.cuda.norm.rmsnorm.Qwen3NextRMSNormCudaOp" + PYTORCH_NATIVE_QWEN3_NEXT_RMS_NORM = ( + "rl_engine.reference.norm.qwen3_next_rms_norm.Qwen3NextRMSNormOp" + ) + + # Gated RMSNorm (Qwen3-Next Gated DeltaNet block) + CUDA_RMS_NORM_GATED = "rl_engine.kernels.ops.cuda.norm.rmsnorm.Qwen3NextRMSNormGatedCudaOp" + PYTORCH_NATIVE_RMS_NORM_GATED = ( + "rl_engine.reference.norm.qwen3_next_rms_norm.Qwen3NextRMSNormGatedOp" + ) + # Generic fallback TRITON_GENERIC = "rl_engine.kernels.ops.triton.generic.TritonOp" PYTORCH_ATTN = "rl_engine.kernels.ops.pytorch.attention.NativeAttentionOp" @@ -594,6 +606,14 @@ def __init__(self): OpBackend.CUDA_RMS_NORM, OpBackend.PYTORCH_NATIVE_RMS_NORM, ], + "rms_norm_gated": [ + OpBackend.CUDA_RMS_NORM_GATED, + OpBackend.PYTORCH_NATIVE_RMS_NORM_GATED, + ], + "qwen3_next_rms_norm": [ + OpBackend.CUDA_QWEN3_NEXT_RMS_NORM, + OpBackend.PYTORCH_NATIVE_QWEN3_NEXT_RMS_NORM, + ], "lm_head": [OpBackend.PYTORCH_NATIVE_LM_HEAD], "embedding": [OpBackend.PYTORCH_NATIVE_EMBEDDING], "silu": [ @@ -649,6 +669,8 @@ def __init__(self): ], "matmul": [OpBackend.PYTORCH_NATIVE_MATMUL], "rms_norm": [OpBackend.PYTORCH_NATIVE_RMS_NORM], + "rms_norm_gated": [OpBackend.PYTORCH_NATIVE_RMS_NORM_GATED], + "qwen3_next_rms_norm": [OpBackend.PYTORCH_NATIVE_QWEN3_NEXT_RMS_NORM], "lm_head": [OpBackend.PYTORCH_NATIVE_LM_HEAD], "embedding": [OpBackend.PYTORCH_NATIVE_EMBEDDING], "silu": [OpBackend.TRITON_SILU, OpBackend.PYTORCH_NATIVE_SILU], @@ -694,6 +716,8 @@ def __init__(self): OpBackend.TRITON_RMS_NORM, OpBackend.PYTORCH_NATIVE_RMS_NORM, ], + "rms_norm_gated": [OpBackend.PYTORCH_NATIVE_RMS_NORM_GATED], + "qwen3_next_rms_norm": [OpBackend.PYTORCH_NATIVE_QWEN3_NEXT_RMS_NORM], "lm_head": [OpBackend.PYTORCH_NATIVE_LM_HEAD], "embedding": [ OpBackend.TRITON_EMBEDDING, @@ -722,6 +746,8 @@ def __init__(self): "batch_invariant_logp": [OpBackend.PYTORCH_BATCH_INVARIANT_LOGP], "matmul": [OpBackend.PYTORCH_NATIVE_MATMUL], "rms_norm": [OpBackend.PYTORCH_NATIVE_RMS_NORM], + "rms_norm_gated": [OpBackend.PYTORCH_NATIVE_RMS_NORM_GATED], + "qwen3_next_rms_norm": [OpBackend.PYTORCH_NATIVE_QWEN3_NEXT_RMS_NORM], "lm_head": [OpBackend.PYTORCH_NATIVE_LM_HEAD], "embedding": [OpBackend.PYTORCH_NATIVE_EMBEDDING], "silu": [OpBackend.PYTORCH_NATIVE_SILU], @@ -762,6 +788,12 @@ def __init__(self): OpBackend.ASCEND_RMS_NORM, OpBackend.PYTORCH_NATIVE_RMS_NORM, ] + self._priority_map["npu"]["rms_norm_gated"] = [ + OpBackend.PYTORCH_NATIVE_RMS_NORM_GATED, + ] + self._priority_map["npu"]["qwen3_next_rms_norm"] = [ + OpBackend.PYTORCH_NATIVE_QWEN3_NEXT_RMS_NORM, + ] self._priority_map["npu"]["embedding"] = [ OpBackend.ASCEND_EMBEDDING, OpBackend.PYTORCH_NATIVE_EMBEDDING, diff --git a/rl_engine/validation/common/file_digest.py b/rl_engine/validation/common/file_digest.py new file mode 100644 index 000000000..f8858a956 --- /dev/null +++ b/rl_engine/validation/common/file_digest.py @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Content identities for validation artifacts, including large tensor files.""" + +import hashlib +from pathlib import Path + + +def file_sha256(path: str | Path) -> str: + """Hash a file in bounded chunks on every supported Python version.""" + digest = hashlib.sha256() + with Path(path).open("rb") as stream: + for chunk in iter(lambda: stream.read(8 * 1024 * 1024), b""): + digest.update(chunk) + return digest.hexdigest() diff --git a/rl_engine/validation/common/tensor_identity.py b/rl_engine/validation/common/tensor_identity.py new file mode 100644 index 000000000..5d05c0fe9 --- /dev/null +++ b/rl_engine/validation/common/tensor_identity.py @@ -0,0 +1,38 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Finite tensor identity in the original storage dtype, including signed zero.""" + +import torch + + +def tensor_bitwise_equal(actual: torch.Tensor, expected: torch.Tensor) -> bool: + """Compare logical values by bytes without widening or accepting NaN/Inf. + + Strides need not match. A cross-device comparison copies expected bytes to + the actual tensor's device; it never converts either tensor's dtype. + """ + if actual.shape != expected.shape or actual.dtype != expected.dtype: + return False + for value in (actual, expected): + if (value.is_floating_point() or value.is_complex()) and not bool( + torch.isfinite(value).all() + ): + return False + actual_bytes = actual.detach().contiguous().reshape(-1).view(torch.uint8) + expected_bytes = expected.detach().contiguous().reshape(-1).view(torch.uint8) + if actual_bytes.device != expected_bytes.device: + expected_bytes = expected_bytes.to(actual_bytes.device) + return bool(torch.equal(actual_bytes, expected_bytes)) + + +def assert_tensor_bitwise_equal( + actual: torch.Tensor, expected: torch.Tensor, *, name: str = "tensor" +) -> None: + """Require finite, same-dtype, same-shape raw-bit identity.""" + if not tensor_bitwise_equal(actual, expected): + raise AssertionError( + f"{name}: finite raw-bit identity failed; " + f"actual={tuple(actual.shape)}/{actual.dtype}, " + f"expected={tuple(expected.shape)}/{expected.dtype}" + ) diff --git a/rl_engine/validation/models/pytest_case_manifest.py b/rl_engine/validation/models/pytest_case_manifest.py new file mode 100644 index 000000000..a25e41769 --- /dev/null +++ b/rl_engine/validation/models/pytest_case_manifest.py @@ -0,0 +1,80 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Pytest plugin enforcing Qwen3-Next's declared mandatory case identities.""" + +import json +import time +from pathlib import Path + +from rl_engine.validation.models.qwen3_next_cases import execution_verdict, load_cases + + +def pytest_addoption(parser): + group = parser.getgroup("qwen3-next acceptance") + group.addoption("--case-manifest", required=True) + group.addoption("--case-suite", choices=("norm", "core", "all", "diagnostics"), required=True) + group.addoption("--case-report", required=True) + + +def pytest_configure(config): + plugin = CaseRecorder( + load_cases(Path(config.getoption("--case-manifest")), config.getoption("--case-suite")), + Path(config.getoption("--case-report")), + ) + config.pluginmanager.register(plugin, "qwen3-next-case-recorder") + + +class CaseRecorder: + def __init__(self, expected, output): + self.expected = expected + self.output = output + self.collected = [] + self.outcomes = {} + self.active = None + + def _progress(self, status="running"): + """Observable progress is separate from the final acceptance artifact.""" + self.output.parent.mkdir(parents=True, exist_ok=True) + target = self.output.with_suffix(".progress.json") + partial = target.with_suffix(".partial") + payload = json.dumps( + { + "status": status, + "active_case": self.active, + "observed_at": time.time(), + "collected": len(self.collected), + "required": len(self.expected), + "finished_calls": sum("call" in phases for phases in self.outcomes.values()), + "outcomes": self.outcomes, + }, + indent=2, + ) + partial.write_text(payload + "\n") + partial.replace(target) + + def pytest_collection_finish(self, session): + self.collected = [item.nodeid for item in session.items] + self._progress() + + def pytest_runtest_logstart(self, nodeid, location): + self.active = nodeid + self._progress() + + def pytest_runtest_logreport(self, report): + outcome = "skipped" if hasattr(report, "wasxfail") else report.outcome + self.outcomes.setdefault(report.nodeid, {})[report.when] = outcome + self._progress() + + def pytest_sessionfinish(self, session, exitstatus): + result = execution_verdict(self.expected, self.collected, self.outcomes) + result["pytest_exit_code"] = int(exitstatus) + result["passed"] = result["passed"] and exitstatus == 0 + self.output.parent.mkdir(parents=True, exist_ok=True) + partial = self.output.with_suffix(self.output.suffix + ".partial") + partial.write_text(json.dumps(result, indent=2) + "\n") + partial.replace(self.output) + self.active = None + self._progress("complete") + if not result["passed"] and exitstatus == 0: + session.exitstatus = 1 diff --git a/rl_engine/validation/models/qwen3_next_attention_prior_art.py b/rl_engine/validation/models/qwen3_next_attention_prior_art.py new file mode 100644 index 000000000..db705b56f --- /dev/null +++ b/rl_engine/validation/models/qwen3_next_attention_prior_art.py @@ -0,0 +1,601 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Prior-art comparison for the Qwen3-Next TP4 full-attention core (D=256, GQA 4:1). + +Every candidate computes causal attention for one rank of Qwen3-Next's TP4 +layout: 4 query heads over 1 KV head, head dim 256, scale 1/16, queries aligned +to the end of the KV sequence. For each candidate the report records + +* **batch invariance** - a target sequence's output computed alone, and inside + a batch with three other sequences (placed first and last), must be bitwise + equal; for candidates with a backward, the same for its dq/dk/dv, in one + packed launch where the engine has a packed backward; +* **prefill/decode invariance** - the last 64 query rows, and the last single + row, computed against the full KV must equal the same rows of the full + prefill. This is the replay-vs-rollout boundary of RFC #428; +* **repeatability** - two identical calls are bitwise equal; +* **accuracy** - error against an FP64 evaluation; +* **performance** - median CUDA-event latency of prefill, decode and backward. + +A candidate that cannot be imported or launched in the pinned environment is +recorded as ``unavailable`` with the reason instead of failing the run. +""" + +from __future__ import annotations + +import statistics +from typing import Any, Callable + +import torch +import torch.nn.functional as F + +HQ, HKV, D = 4, 1, 256 +SCALE = 1.0 / 16 +TARGET = 1000 +COMPANIONS = (777, 1500, 64) +CHUNK = 64 +PREFILL_TOKENS = (512, 2048, 8192) +DECODE_KV = 8192 +BACKWARD_TOKENS = 2048 + + +# --------------------------------------------------------------------------- # +# Measurement helpers +# --------------------------------------------------------------------------- # + + +def _sample_us(fn: Callable[[], Any]) -> float: + torch.cuda.synchronize() + start = torch.cuda.Event(enable_timing=True) + end = torch.cuda.Event(enable_timing=True) + start.record() + fn() + end.record() + torch.cuda.synchronize() + return start.elapsed_time(end) * 1000.0 + + +def time_interleaved(calls: dict[str, Callable[..., Any]], warmup: int = 5, iters: int = 30): + keys = list(calls) + orders = (keys, list(reversed(keys))) + for i in range(warmup): + for key in orders[i % 2]: + calls[key]() + samples: dict[str, list[float]] = {key: [] for key in keys} + for i in range(iters): + for key in orders[i % 2]: + samples[key].append(_sample_us(calls[key])) + return {key: statistics.median(values) for key, values in samples.items()} + + +def _bitwise(a: torch.Tensor, b: torch.Tensor) -> bool: + return a.shape == b.shape and a.dtype == b.dtype and torch.equal(a, b) + + +def _guard(key: str, factory: Callable[[], dict[str, Any]]) -> dict[str, Any]: + try: + return {"key": key, **factory()} + except Exception as exc: # noqa: BLE001 - record and continue + return {"key": key, "unavailable": f"{type(exc).__name__}: {str(exc)[:300]}"} + + +def make_sequence(length: int, seed: int, *, kv_length: int | None = None): + """q [Lq, HQ, D], k/v [Lk, HKV, D] in BF16 (token-major, as engines store them).""" + kv_length = length if kv_length is None else kv_length + g = torch.Generator(device="cuda").manual_seed(seed) + + def randn(*shape): + return torch.randn(shape, device="cuda", generator=g).to(torch.bfloat16) + + return randn(length, HQ, D), randn(kv_length, HKV, D), randn(kv_length, HKV, D) + + +def fp64_reference(q, k, v): + lq, lk = q.shape[0], k.shape[0] + qd, kd, vd = (t.double().transpose(0, 1) for t in (q, k, v)) + kd, vd = kd.expand(HQ, -1, -1), vd.expand(HQ, -1, -1) + scores = qd @ kd.transpose(1, 2) * SCALE + rows = torch.arange(lq, device=q.device)[:, None] + (lk - lq) + scores = scores.masked_fill(torch.arange(lk, device=q.device)[None, :] > rows, float("-inf")) + return (scores.softmax(-1) @ vd).transpose(0, 1) + + +# --------------------------------------------------------------------------- # +# Candidates +# +# ``run(seqs) -> outputs``: ``seqs`` is a list of (q, k, v) with queries aligned +# to the end of each KV sequence; every candidate computes the whole list in the +# way its engine batches it (one varlen launch, or one launch per sequence). +# ``grad(q, k, v, dy) -> (dq, dk, dv)`` when the candidate has a backward. +# --------------------------------------------------------------------------- # + + +def _rl_kernel(): + from rl_engine.models.qwen3_next.qwen3_next_forward import shared_attention + + def one(q, k, v): + out = shared_attention(*(t.transpose(0, 1).unsqueeze(0) for t in (q, k, v))) + return out.squeeze(0).transpose(0, 1) + + def run(seqs): + with torch.no_grad(): + return [one(*s) for s in seqs] + + def grad(q, k, v, dy): + leaves = [t.detach().clone().requires_grad_(True) for t in (q, k, v)] + return torch.autograd.grad(one(*leaves), leaves, dy) + + return { + "name": "RL-Kernel deterministic attention (one launch per sequence)", + "source": "rl_engine.models.qwen3_next.qwen3_next_forward.shared_attention", + "run": run, + "grad": grad, + } + + +def _sdpa(): + def one(q, k, v): + lq, lk = q.shape[0], k.shape[0] + qh, kh, vh = (t.transpose(0, 1).unsqueeze(0) for t in (q, k, v)) + if lq == lk: + out = F.scaled_dot_product_attention( + qh, kh, vh, is_causal=True, scale=SCALE, enable_gqa=True + ) + else: + rows = torch.arange(lq, device=q.device)[:, None] + (lk - lq) + mask = torch.arange(lk, device=q.device)[None, :] <= rows + out = F.scaled_dot_product_attention( + qh, kh, vh, attn_mask=mask, scale=SCALE, enable_gqa=True + ) + return out.squeeze(0).transpose(0, 1) + + def run(seqs): + with torch.no_grad(): + return [one(*s) for s in seqs] + + def grad(q, k, v, dy): + leaves = [t.detach().clone().requires_grad_(True) for t in (q, k, v)] + return torch.autograd.grad(one(*leaves), leaves, dy) + + return { + "name": "torch SDPA (default backend, one launch per sequence)", + "source": f"torch {torch.__version__} scaled_dot_product_attention", + "run": run, + "grad": grad, + } + + +def _cu(lengths): + out = [0] + for n in lengths: + out.append(out[-1] + n) + return torch.tensor(out, device="cuda", dtype=torch.int32) + + +def _split(out, lengths): + return list(out.split(list(lengths))) + + +def _vllm_fa(num_splits: int): + import vllm + from vllm.vllm_flash_attn import flash_attn_varlen_func + + def run(seqs): + lq = [s[0].shape[0] for s in seqs] + lk = [s[1].shape[0] for s in seqs] + q, k, v = (torch.cat([s[i] for s in seqs]) for i in range(3)) + out = flash_attn_varlen_func( + q, + k, + v, + max_seqlen_q=max(lq), + cu_seqlens_q=_cu(lq), + max_seqlen_k=max(lk), + cu_seqlens_k=_cu(lk), + softmax_scale=SCALE, + causal=True, + num_splits=num_splits, + fa_version=2, + ) + return _split(out, lq) + + return { + "name": f"vLLM FlashAttention-2 varlen, num_splits={num_splits}", + "source": f"vllm {vllm.__version__} vllm_flash_attn.flash_attn_varlen_func", + "run": run, + } + + +def _vllm_triton(): + import vllm + from vllm.v1.attention.ops.triton_unified_attention import unified_attention + + block = 16 + + def run(seqs): + lq = [s[0].shape[0] for s in seqs] + lk = [s[1].shape[0] for s in seqs] + blocks = [(n + block - 1) // block for n in lk] + k_cache = torch.zeros(sum(blocks), block, HKV, D, device="cuda", dtype=torch.bfloat16) + v_cache = torch.zeros_like(k_cache) + table = torch.zeros(len(seqs), max(blocks), device="cuda", dtype=torch.int32) + first = 0 + for i, (s, n) in enumerate(zip(seqs, blocks)): + pad = n * block - s[1].shape[0] + k_cache[first : first + n] = F.pad(s[1], (0, 0, 0, 0, 0, pad)).view(n, block, HKV, D) + v_cache[first : first + n] = F.pad(s[2], (0, 0, 0, 0, 0, pad)).view(n, block, HKV, D) + table[i, :n] = torch.arange(first, first + n, device="cuda") + first += n + q = torch.cat([s[0] for s in seqs]) + out = torch.empty_like(q) + unified_attention( + q, + k_cache, + v_cache, + out, + cu_seqlens_q=_cu(lq), + max_seqlen_q=max(lq), + seqused_k=torch.tensor(lk, device="cuda", dtype=torch.int32), + max_seqlen_k=max(lk), + softmax_scale=SCALE, + causal=True, + window_size=(-1, -1), + block_table=table, + softcap=0, + q_descale=None, + k_descale=None, + v_descale=None, + ) + return _split(out, lq) + + return { + # Without split-softmax buffers the 2D kernel runs for every batch, which + # is also the only kernel vLLM's batch-invariant mode allows. + "name": "vLLM Triton unified attention (2D kernel)", + "source": f"vllm {vllm.__version__} v1/attention/ops/triton_unified_attention", + "run": run, + } + + +def _flashinfer(): + import flashinfer + + workspace = torch.empty(256 << 20, device="cuda", dtype=torch.uint8) + wrapper = flashinfer.BatchPrefillWithRaggedKVCacheWrapper(workspace, "NHD") + + def run(seqs): + lq = [s[0].shape[0] for s in seqs] + lk = [s[1].shape[0] for s in seqs] + wrapper.plan( + _cu(lq), + _cu(lk), + HQ, + HKV, + D, + causal=True, + sm_scale=SCALE, + q_data_type=torch.bfloat16, + ) + q, k, v = (torch.cat([s[i] for s in seqs]) for i in range(3)) + return _split(wrapper.run(q, k, v), lq) + + return { + "name": "FlashInfer BatchPrefillWithRaggedKVCache", + "source": f"flashinfer {flashinfer.__version__}", + "run": run, + } + + +def _bottom_right_mask(lq, lk, device): + """True where query row i (aligned to the end of the KV sequence) may not attend.""" + rows = torch.arange(lq, device=device)[:, None] + (lk - lq) + return torch.arange(lk, device=device)[None, :] > rows + + +def _fa4(): + """FlashAttention-4 (CuTe DSL), as vendored by vLLM 0.30.0: varlen forward and backward.""" + import vllm + from vllm.vllm_flash_attn.cute import interface as fa4 + + def call(q, k, v, lq, lk): + out = fa4.flash_attn_varlen_func( + q, + k, + v, + cu_seqlens_q=_cu(lq), + cu_seqlens_k=_cu(lk), + max_seqlen_q=max(lq), + max_seqlen_k=max(lk), + softmax_scale=SCALE, + causal=True, + ) + return out[0] if isinstance(out, tuple) else out + + def run(seqs): + lq, lk = [s[0].shape[0] for s in seqs], [s[1].shape[0] for s in seqs] + q, k, v = (torch.cat([s[i] for s in seqs]) for i in range(3)) + with torch.no_grad(): + return _split(call(q, k, v, lq, lk), lq) + + def grad_batch(seqs, dys): + lq, lk = [s[0].shape[0] for s in seqs], [s[1].shape[0] for s in seqs] + leaves = [torch.cat([s[i] for s in seqs]).detach().requires_grad_(True) for i in range(3)] + dq, dk, dv = torch.autograd.grad(call(*leaves, lq, lk), leaves, torch.cat(dys)) + return list(zip(_split(dq, lq), _split(dk, lk), _split(dv, lk))) + + return { + "name": "FlashAttention-4 (CuTe DSL) varlen, vendored by vLLM", + "source": f"vllm {vllm.__version__} vllm_flash_attn/cute " + "(its head-dim-256 SM100 backward has no deterministic mode)", + "run": run, + "grad_batch": grad_batch, + } + + +def _te(training: bool): + """Transformer Engine DotProductAttention on THD-packed sequences. + + With cuDNN 9.20 on SM100, TE has a fused (cuDNN) head-dim-256 backend only for + inference; in training mode it falls back to its unfused PyTorch path. Both are + measured, the fused one forward-only. + """ + import transformer_engine + import transformer_engine.pytorch as te + + attention = te.DotProductAttention( + HQ, + D, + num_gqa_groups=HKV, + attention_dropout=0.0, + qkv_format="thd", + attn_mask_type="padding_causal_bottom_right", + softmax_scale=SCALE, + ) + attention.train(training) + + def call(q, k, v, lq, lk): + out = attention( + q, + k, + v, + cu_seqlens_q=_cu(lq), + cu_seqlens_kv=_cu(lk), + max_seqlen_q=max(lq), + max_seqlen_kv=max(lk), + ) + return out.view(q.shape[0], HQ, D) + + def run(seqs): + lq, lk = [s[0].shape[0] for s in seqs], [s[1].shape[0] for s in seqs] + q, k, v = (torch.cat([s[i] for s in seqs]) for i in range(3)) + with torch.no_grad(): + return _split(call(q, k, v, lq, lk), lq) + + def grad_batch(seqs, dys): + lq, lk = [s[0].shape[0] for s in seqs], [s[1].shape[0] for s in seqs] + leaves = [torch.cat([s[i] for s in seqs]).detach().requires_grad_(True) for i in range(3)] + dq, dk, dv = torch.autograd.grad(call(*leaves, lq, lk), leaves, torch.cat(dys)) + return list(zip(_split(dq, lq), _split(dk, lk), _split(dv, lk))) + + version = f"transformer-engine {transformer_engine.__version__}" + if not training: + return { + "name": "Transformer Engine DotProductAttention (THD), inference: cuDNN fused", + "source": f"{version} (no fused head-dim-256 backward on SM100)", + "run": run, + } + return { + "name": "Transformer Engine DotProductAttention (THD), training: unfused fallback", + "source": f"{version} (selected for head-dim-256 training on SM100)", + "run": run, + "grad_batch": grad_batch, + } + + +def _megatron_local(): + """Megatron-core's own (non-TE) DotProductAttention; it has no packed-sequence path.""" + import os + + import megatron.core + import torch.distributed as dist + from megatron.core import parallel_state + from megatron.core.tensor_parallel.random import model_parallel_cuda_manual_seed + from megatron.core.transformer.dot_product_attention import DotProductAttention + from megatron.core.transformer.enums import AttnMaskType + from megatron.core.transformer.transformer_config import TransformerConfig + + if not dist.is_initialized(): + os.environ.setdefault("MASTER_ADDR", "127.0.0.1") + os.environ.setdefault("MASTER_PORT", "29532") + device = torch.device("cuda", torch.cuda.current_device()) + dist.init_process_group("nccl", rank=0, world_size=1, device_id=device) + if not parallel_state.model_parallel_is_initialized(): + parallel_state.initialize_model_parallel(1, 1) + model_parallel_cuda_manual_seed(0) + config = TransformerConfig( + num_layers=1, + hidden_size=HQ * D, + num_attention_heads=HQ, + num_query_groups=HKV, + kv_channels=D, + attention_dropout=0.0, + bf16=True, + params_dtype=torch.bfloat16, + ) + attention = DotProductAttention( + config, + layer_number=1, + attn_mask_type=AttnMaskType.padding, + attention_type="self", + softmax_scale=SCALE, + ) + + def one(q, k, v): + mask = _bottom_right_mask(q.shape[0], k.shape[0], q.device)[None, None] + out = attention(q.unsqueeze(1), k.unsqueeze(1), v.unsqueeze(1), mask) + return out.view(q.shape[0], HQ, D) + + def run(seqs): + with torch.no_grad(): + return [one(*s) for s in seqs] + + def grad(q, k, v, dy): + leaves = [t.detach().clone().requires_grad_(True) for t in (q, k, v)] + return torch.autograd.grad(one(*leaves), leaves, dy) + + return { + "name": "Megatron-core DotProductAttention (local, one launch per sequence)", + "source": f"megatron-core {megatron.core.__version__}", + "run": run, + "grad": grad, + } + + +def candidates() -> list[dict[str, Any]]: + return [ + _guard("rl_kernel_cuda", _rl_kernel), + _guard("torch_sdpa", _sdpa), + _guard("vllm_fa2_auto", lambda: _vllm_fa(0)), + _guard("vllm_fa2_split1", lambda: _vllm_fa(1)), + _guard("vllm_triton_2d", _vllm_triton), + _guard("flashinfer", _flashinfer), + _guard("fa4_cute", _fa4), + _guard("te_fused", lambda: _te(False)), + _guard("te_training", lambda: _te(True)), + _guard("megatron_local", _megatron_local), + ] + + +# --------------------------------------------------------------------------- # +# Checks +# --------------------------------------------------------------------------- # + + +def _batch_bi(cand, target, others) -> dict[str, bool]: + alone = cand["run"]([target])[0] + first = cand["run"]([target, *others])[0] + last = cand["run"]([*others, target])[-1] + return {"first": _bitwise(first, alone), "last": _bitwise(last, alone)} + + +def _prefill_decode(cand, target) -> dict[str, bool]: + q, k, v = target + full = cand["run"]([target])[0] + result = {} + for rows in (CHUNK, 1): + part = cand["run"]([(q[-rows:], k, v)])[0] + result[f"last_{rows}"] = _bitwise(part, full[-rows:]) + return result + + +def has_backward(cand) -> bool: + return "grad" in cand or "grad_batch" in cand + + +def grad_batch(cand, seqs, dys): + """Each sequence's (dq, dk, dv): one packed launch where the engine has one.""" + if "grad_batch" in cand: + return cand["grad_batch"](seqs, dys) + return [cand["grad"](*s, dy) for s, dy in zip(seqs, dys)] + + +def _grad_bi(cand, target, others) -> dict[str, bool]: + """The target's dq/dk/dv alone vs. packed first and last with the other sequences.""" + g = torch.Generator(device="cuda").manual_seed(5) + + def dy_for(q): + return torch.randn(q.shape, device="cuda", generator=g).to(torch.bfloat16) + + dy = dy_for(target[0]) + dys = [dy_for(o[0]) for o in others] + alone = grad_batch(cand, [target], [dy])[0] + first = grad_batch(cand, [target, *others], [dy, *dys])[0] + last = grad_batch(cand, [*others, target], [*dys, dy])[-1] + return { + name: _bitwise(f, a) and _bitwise(l_, a) + for name, f, l_, a in zip(("dq", "dk", "dv"), first, last, alone) + } + + +def _one(cand, target, others) -> dict[str, Any]: + if "unavailable" in cand: + return cand + out = {"key": cand["key"], "name": cand["name"], "source": cand["source"]} + try: + out["batch_bitwise"] = _batch_bi(cand, target, others) + try: + out["prefill_decode_bitwise"] = _prefill_decode(cand, target) + except Exception as exc: # noqa: BLE001 - recorded; the other checks still run + out["prefill_decode_failed"] = f"{type(exc).__name__}: {str(exc)[:300]}" + out["prefill_decode_bitwise"] = {"last_64": False, "last_1": False} + out["repeatable"] = _bitwise(cand["run"]([target])[0], cand["run"]([target])[0]) + if has_backward(cand): + out["backward_batch_bitwise"] = _grad_bi(cand, target, others) + ref = fp64_reference(*target) + got = cand["run"]([target])[0].double() + out["accuracy"] = { + "rel_l2_vs_fp64": float((got - ref).norm() / ref.norm()), + "max_abs_vs_fp64": float((got - ref).abs().max()), + } + except Exception as exc: # noqa: BLE001 - a crash is a result, not a harness failure + out["failed"] = f"{type(exc).__name__}: {str(exc)[:300]}" + out["batch_invariant"] = bool( + "failed" not in out + and all(out["batch_bitwise"].values()) + and all(out["prefill_decode_bitwise"].values()) + and all(out.get("backward_batch_bitwise", {"": True}).values()) + ) + return out + + +def _latency(cands) -> dict[str, Any]: + ready = [c for c in cands if "unavailable" not in c] + + def calls_for(seqs): + calls = {} + for cand in ready: + try: + cand["run"](seqs) + except Exception: # noqa: BLE001 - recorded by the BI section + continue + calls[cand["key"]] = lambda c=cand: c["run"](seqs) + return calls + + prefill = { + str(n): time_interleaved(calls_for([make_sequence(n, 300 + n)])) for n in PREFILL_TOKENS + } + decode = time_interleaved(calls_for([make_sequence(1, 401, kv_length=DECODE_KV)])) + q, k, v = make_sequence(BACKWARD_TOKENS, 402) + dy = torch.randn_like(q) + backward = time_interleaved( + { + c["key"]: (lambda c=c: grad_batch(c, [(q, k, v)], [dy])) + for c in ready + if has_backward(c) + }, + warmup=3, + iters=15, + ) + return { + "prefill_us": prefill, + f"decode_us_kv{DECODE_KV}": decode, + f"forward_plus_backward_us_{BACKWARD_TOKENS}": backward, + } + + +def attention_report(only=None) -> dict[str, Any]: + """Every candidate, or only the keys in ``only`` (run each Python environment separately).""" + target = make_sequence(TARGET, 1) + others = [make_sequence(n, 10 + i) for i, n in enumerate(COMPANIONS)] + cands = [c for c in candidates() if only is None or c["key"] in only] + if only is not None and set(only) - {c["key"] for c in cands}: + raise ValueError(f"Unknown candidates: {sorted(set(only) - {c['key'] for c in cands})}") + return { + "op": "qwen3_next_tp4_attention", + "shape": {"q_heads": HQ, "kv_heads": HKV, "head_dim": D, "scale": SCALE}, + "target_tokens": TARGET, + "companion_tokens": list(COMPANIONS), + "candidates": [_one(c, target, others) for c in cands], + "latency": _latency(cands), + } diff --git a/rl_engine/validation/models/qwen3_next_binary.py b/rl_engine/validation/models/qwen3_next_binary.py new file mode 100644 index 000000000..929c6a6c5 --- /dev/null +++ b/rl_engine/validation/models/qwen3_next_binary.py @@ -0,0 +1,89 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Bind each native model execution to its freshly built and archived CUDA binary.""" + +import json +import os +import shutil +from pathlib import Path + +from rl_engine.validation.common.file_digest import file_sha256 + + +def _digest(path): + return file_sha256(Path(path)) + + +def archive_provider_binary(source, output, *, source_tree): + source, output = Path(source).absolute(), Path(output).absolute() + binaries = list((source / "rl_engine").glob("_C.cpython*.so")) + if len(binaries) != 1 or not source_tree: + raise ValueError("Expected one freshly built CUDA provider and its source tree") + binary = binaries[0] + digest = _digest(binary) + archive = output / "provider-binary.so" + temporary = archive.with_suffix(".partial") + shutil.copyfile(binary, temporary) + with temporary.open("rb") as stream: + os.fsync(stream.fileno()) + if _digest(temporary) != digest: + raise ValueError("CUDA provider changed while archiving its execution identity") + temporary.replace(archive) + payload = { + "schema_version": 1, + "source_tree": source_tree, + "actual": {"module": "rl_engine._C", "path": str(binary), "sha256": digest}, + "archive": {"path": str(archive), "sha256": digest}, + } + path = output / "provider-binary.json" + path.write_text(json.dumps(payload, indent=2) + "\n") + with path.open("rb") as stream: + os.fsync(stream.fileno()) + return {"path": str(path), "sha256": _digest(path)} + + +def validate_binary_record(record, *, source_tree=None, artifact_root=None): + """Check archived bytes, without depending on a subsequently rebuilt live file.""" + if not isinstance(record, dict) or set(record) != {"path", "sha256"}: + raise ValueError("Native execution requires a pinned CUDA binary evidence record") + + def checked(item): + path = Path(item["path"]) + if not path.is_absolute() or not path.is_file(): + raise ValueError("CUDA binary evidence requires an existing absolute path") + if artifact_root is not None and not path.resolve().is_relative_to( + Path(artifact_root).resolve() + ): + raise ValueError("CUDA binary evidence escaped its owning stage") + if _digest(path) != item["sha256"]: + raise ValueError("CUDA provider evidence content changed") + return path + + payload = json.loads(checked(record).read_text()) + if payload.get("schema_version") != 1 or not payload.get("source_tree"): + raise ValueError("Unsupported CUDA provider evidence") + if source_tree is not None and payload["source_tree"] != source_tree: + raise ValueError("CUDA provider belongs to another source tree") + actual = payload.get("actual", {}) + if set(actual) != {"module", "path", "sha256"} or actual["module"] != "rl_engine._C": + raise ValueError("The actual native CUDA extension identity is missing") + if not Path(actual["path"]).is_absolute() or not Path(actual["path"]).name.startswith( + "_C.cpython" + ): + raise ValueError("Provider identity does not name the actual native extension") + archive = payload.get("archive", {}) + if archive.get("sha256") != actual["sha256"]: + raise ValueError("Archived binary differs from the binary imported by workers") + checked(archive) + return actual + + +def verify_imported_provider(record, *, source_tree): + from rl_engine.integrations.common.qwen3_next_binary import imported_provider_identity + + expected = validate_binary_record(record, source_tree=source_tree) + actual = imported_provider_identity() + if actual != expected: + raise ValueError("Worker imported a different CUDA binary than its stage built") + return actual diff --git a/rl_engine/validation/models/qwen3_next_cases.py b/rl_engine/validation/models/qwen3_next_cases.py new file mode 100644 index 000000000..72e1794c7 --- /dev/null +++ b/rl_engine/validation/models/qwen3_next_cases.py @@ -0,0 +1,69 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Pinned operator case identities and complete execution verdicts.""" + +import hashlib +import json +from pathlib import Path + + +def load_cases(path: Path, suite: str) -> list[str]: + manifest = json.loads(path.read_text()) + if manifest.get("schema_version") != 1: + raise ValueError("Unsupported operator case manifest schema") + groups = manifest["suites"] + all_ids = [case for cases in groups.values() for case in cases] + if len(all_ids) != len(set(all_ids)): + raise ValueError("Operator case IDs must be unique across suites") + names = ("norm", "core") if suite == "all" else (suite,) + cases = sorted(case for name in names for case in groups[name]) + if not cases or any(not isinstance(case, str) or "::test_" not in case for case in cases): + raise ValueError("Operator suites must contain nonempty pytest case IDs") + return cases + + +def case_digest(cases: list[str]) -> str: + return hashlib.sha256(("\n".join(sorted(cases)) + "\n").encode()).hexdigest() + + +def execution_verdict(expected: list[str], collected: list[str], outcomes: dict) -> dict: + """Require the complete declared collection and successful setup/call/teardown.""" + missing = sorted(set(expected) - set(collected)) + unexpected = sorted(set(collected) - set(expected)) + duplicates = len(collected) != len(set(collected)) + counts = {"tests": len(expected), "failures": 0, "errors": 0, "skipped": 0} + incomplete = [] + for case in expected: + phases = outcomes.get(case, {}) + if any(value == "skipped" for value in phases.values()): + counts["skipped"] += 1 + elif phases.get("setup") == "failed" or phases.get("teardown") == "failed": + counts["errors"] += 1 + elif phases.get("call") == "failed": + counts["failures"] += 1 + elif phases != {"setup": "passed", "call": "passed", "teardown": "passed"}: + incomplete.append(case) + passed = not any( + ( + missing, + unexpected, + duplicates, + incomplete, + counts["failures"], + counts["errors"], + counts["skipped"], + ) + ) + return { + "passed": passed, + "expected_case_ids": expected, + "expected_case_ids_sha256": case_digest(expected), + "collected_case_ids": collected, + "missing": missing, + "unexpected": unexpected, + "duplicate_collection": duplicates, + "incomplete": incomplete, + "counts": counts, + "outcomes": outcomes, + } diff --git a/rl_engine/validation/models/qwen3_next_chain_report.py b/rl_engine/validation/models/qwen3_next_chain_report.py new file mode 100644 index 000000000..28cc0fae8 --- /dev/null +++ b/rl_engine/validation/models/qwen3_next_chain_report.py @@ -0,0 +1,268 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Qwen3-Next full-model chain as a WS1 chain-gate report. + +The Qwen3-Next chain runs as stages (``tools/validation/models/qwen3_next_run.py``): L2 on the +pinned weights, then L2 again after each of two optimizer updates and after a +reload. Each L2 stage writes a 16-case raw-bit matrix comparing rollout +(native vLLM prefill + decode) with replay (VIME recompute). This module turns +those matrices into the same report shape as the Qwen3-8B chain gate +(:class:`rl_engine.validation.models.chain_gate.ChainGateReport`), built from the +same dataclasses, so the two models' reports can be read side by side. + +Every case of every weight version becomes one cell. Bitwise rollout/replay +equality of logits and selected logprobs becomes one +:class:`TensorComparisonDetail` each, with ``atol = rtol = 0``. The first +divergence names a decoder layer and a sub-node (see +``rl_engine.models.qwen3_next.qwen3_next_subnode``), which this report also maps to +a layer family. +""" + +from __future__ import annotations + +from collections.abc import Mapping +from typing import Any + +import torch + +from rl_engine.contracts.numerical import ( + BackendProvenance, + compute_logprob_aggregates, + default_clip_interval, + judge_logprob_aggregates, + resolve_comparison_roles, +) +from rl_engine.validation.models.chain_gate import CellOutput, ChainGateReport +from rl_engine.validation.operators.forward_invariance import TensorComparisonDetail + +SCHEMA_VERSION = "qwen3-next-chain-v1" +COMPATIBLE_SCHEMA = "ws1-c10-c11-v5" +PROFILE = "qwen3_next_tp4_shared_eager_v1" +WEIGHT_VERSIONS = ("baseline", "update1", "update2", "reload") +FAMILIES = ("embedding", "norm", "gdn", "full_attention", "moe", "lm_head_logprob") +_TRAIN_INFER_KIND = "train_infer_logprob_parity" +DISCLAIMER = ( + "Qwen3-Next-80B-A3B-Instruct, TP4 x EP1, BF16, strict shared providers. Cells are the " + "16-case raw-bit L2 matrix (prompt 8/64/256/1024 x batch 1/4 x full/chunked prefill, 16 " + "response tokens) at each weight version; rollout is native vLLM prefill and decode, " + "replay is VIME recompute. Gradients are judged by the training stages (two updates, " + "reload and resumption), not by C11 gradient rows, so gradient fields are empty here." +) + + +def family_of(layer: int | None, node: str | None) -> str | None: + """Map a first divergence to the layer family that produced it.""" + if node is None: + return None + if node == "embedding": + return "embedding" + if node in ("logits", "logprobs", "response_tokens", "lm_head_logprob"): + return "lm_head_logprob" + if layer is None or layer not in range(48): + raise ValueError(f"Divergence node {node!r} needs a decoder layer, got {layer!r}") + if node in ("input_layernorm", "post_attention_layernorm"): + return "norm" + if node in ("router", "mlp"): + return "moe" + if node in ("mixer", "output", "state"): + return "full_attention" if (layer + 1) % 4 == 0 else "gdn" + raise ValueError(f"Unknown divergence node {node!r}") + + +def first_drift_of(record: Mapping[str, Any]) -> tuple[str | None, int | None, str | None]: + """``(dense first_drift, layer, family)`` of one L2 case record.""" + if record["passed"]: + return None, None, None + divergence = record.get("first_divergent_node") + if divergence is not None: + layer, node = divergence["layer"], divergence["node"] + label = "embedding" if node == "embedding" else f"layer{layer}.{node}" + else: + layer = None + difference = record.get("first_difference") or {} + node = difference.get("tensor", "lm_head_logprob") + label = node + return f"{label}:rollout->recompute", layer, family_of(layer, node) + + +def _detail(name, cell_id, rollout, recompute, roles) -> TensorComparisonDetail: + lhs, rhs = rollout.double(), recompute.double() + error = (lhs - rhs).abs() + return TensorComparisonDetail( + tensor_name=name, + config_pair=(f"{cell_id}/rollout", f"{cell_id}/recompute"), + shape=tuple(rollout.shape), + dtype=str(rollout.dtype).replace("torch.", ""), + max_abs_error=float(error.max()), + mean_abs_error=float(error.mean()), + max_rel_error=float((error / rhs.abs().clamp_min(1e-12)).max()), + atol=0.0, + rtol=0.0, + passed=bool(torch.equal(rollout, recompute)), + judgment="forward_invariance", + comparison_lhs_role=roles.comparison_lhs_role, + comparison_rhs_role=roles.comparison_rhs_role, + ) + + +def build_report( + matrices: Mapping[str, Mapping[str, Any]], + artifacts: Mapping[str, Mapping[str, Mapping[str, Any]]], + *, + contract: Mapping[str, Any], + measured_commit: str, + weight_source: str, + weight_hash: str, + device: str, + gpu_name: str | None, + compute_capability: str | None, +) -> dict[str, Any]: + """Build the chain report from L2 matrices and their loaded case artifacts. + + ``matrices[version]`` is an ``l2-matrix.json`` report; ``artifacts[version] + [case_id][role]`` is the loaded rollout/recompute artifact of that case. + """ + if not matrices or set(matrices) - set(WEIGHT_VERSIONS): + raise ValueError(f"Weight versions must be a subset of {WEIGHT_VERSIONS}") + roles = resolve_comparison_roles(contract, "forward_invariance") + train_roles = resolve_comparison_roles(contract, _TRAIN_INFER_KIND) + clip = default_clip_interval(contract) + cells, invariance, decode_prefill = {}, [], [] + lhs_all, rhs_all = [], [] + first = None + for version in WEIGHT_VERSIONS: + if version not in matrices: + continue + matrix = matrices[version] + for case_id in matrix["case_ids"]: + record = matrix["cases"][case_id] + rollout = artifacts[version][case_id]["rollout"] + recompute = artifacts[version][case_id]["recompute"] + cell_id = f"{version}/{case_id}" + drift, layer, family = first_drift_of(record) + if drift is not None and first is None: + first = (drift, layer, family, cell_id) + batch = rollout["logprobs"].shape[0] + cells[cell_id] = CellOutput( + cell_id=cell_id, + selected_logp={ + (f"sample{row}", position): rollout["logprobs"][row, position] + for row in range(batch) + for position in range(16) + }, + loss=None, + grads={}, + first_drift_node=drift, + node_digests={ + "embedding": rollout["embedding_digest"]["sha256"], + **{ + f"layer{item['layer']}": item["output_sha256"] + for item in rollout["layer_digests"] + }, + }, + requested_backend=PROFILE, + actual_backend=PROFILE, + ) + for name in ("logprobs", "logits"): + invariance.append(_detail(name, cell_id, rollout[name], recompute[name], roles)) + lhs_all.append(rollout["logprobs"].reshape(-1)) + rhs_all.append(recompute["logprobs"].reshape(-1)) + if case_id.endswith("-chunked"): + full = artifacts[version][case_id.replace("-chunked", "-full")]["rollout"] + verdict = judge_logprob_aggregates( + compute_logprob_aggregates( + rollout["logprobs"].reshape(-1), + full["logprobs"].reshape(-1), + torch.ones(rollout["logprobs"].numel(), dtype=torch.bool), + contract=contract, + report_kind=_TRAIN_INFER_KIND, + clip_interval=clip, + comparison_lhs_role=train_roles.comparison_lhs_role, + comparison_rhs_role=train_roles.comparison_rhs_role, + ), + contract, + execution_dtype="bf16", + ) + decode_prefill.append((cell_id, verdict)) + lhs, rhs = torch.cat(lhs_all), torch.cat(rhs_all) + train_infer = judge_logprob_aggregates( + compute_logprob_aggregates( + lhs, + rhs, + torch.ones(lhs.numel(), dtype=torch.bool), + contract=contract, + report_kind=_TRAIN_INFER_KIND, + clip_interval=clip, + comparison_lhs_role=train_roles.comparison_lhs_role, + comparison_rhs_role=train_roles.comparison_rhs_role, + ), + contract, + execution_dtype="bf16", + ) + passed = ( + first is None + and all(matrix["status"] == "passed" for matrix in matrices.values()) + and all(item.passed for item in invariance) + ) + report = ChainGateReport( + backend_profile=PROFILE, + workload_id="qwen3-next-l2-matrix-16", + fixture_hash=matrices[next(iter(matrices))]["fixture"]["content_sha256"], + config_fingerprint={"model": "Qwen3-Next-80B-A3B-Instruct", "tp": 4, "ep": 1, "pp": 1}, + weight_source=weight_source, + weight_hash=weight_hash, + seed=1234, + workload_seed=1234, + device=device, + gpu_name=gpu_name, + compute_capability=compute_capability, + backend_provenance=BackendProvenance( + backend_profile=PROFILE, + requested_backend=PROFILE, + actual_backend=PROFILE, + execution_dtype="bf16", + accumulation_dtype="fp32", + output_dtype="bf16", + reference_dtype="bf16", + candidate_tf32_enabled=False, + reference_tf32_enabled=False, + ), + runtime_backend_observations={}, + backward_runtime_observations={}, + cells=cells, + invariance=tuple(invariance), + gradient_invariance=(), + accuracy=(), + gradient_accuracy=(), + accuracy_aggregates=(), + train_infer=train_infer, + train_infer_bn=None, + decode_prefill=tuple(decode_prefill), + first_drift=None if first is None else first[0], + aggregates=train_infer, + gradient_scope="training_stage_reports", + required_grad_names=(), + all_parameter_gradients=False, + representative_case_ids=tuple(cells), + workflow_url=None, + c8_evidence_path="", + c8_source_commit=None, + passed=passed, + backward_executed="update1" in matrices, + train_infer_executed=True, + accuracy_executed=False, + gradient_accuracy_executed=False, + disclaimer=DISCLAIMER, + ) + payload = report.to_dict() + payload.update( + schema_version=SCHEMA_VERSION, + compatible_schema=COMPATIBLE_SCHEMA, + measured_commit=measured_commit, + weight_versions=[version for version in WEIGHT_VERSIONS if version in matrices], + first_drift_cell=None if first is None else first[3], + first_drift_layer=None if first is None else first[1], + first_drift_family=None if first is None else first[2], + ) + return payload diff --git a/rl_engine/validation/models/qwen3_next_export_schema.json b/rl_engine/validation/models/qwen3_next_export_schema.json new file mode 100644 index 000000000..e1389c4f5 --- /dev/null +++ b/rl_engine/validation/models/qwen3_next_export_schema.json @@ -0,0 +1,10 @@ +{ + "schema_version": 1, + "checkpoint_revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "tensor_count": 75944, + "weight_schema_sha256": "babe9f7e7cf398ad6a8607ee03bb6549139b26fcdd919bb65e9d22b059536361", + "weights_dtype": "bfloat16", + "architecture_layers": 48, + "encoding": "sha256 of sorted compact JSON mapping every HF tensor name to dtype and shape", + "scope": "Official safetensors header schema only; no numerical or full-model L2 acceptance" +} diff --git a/rl_engine/validation/models/qwen3_next_l2.py b/rl_engine/validation/models/qwen3_next_l2.py new file mode 100644 index 000000000..d20a76a88 --- /dev/null +++ b/rl_engine/validation/models/qwen3_next_l2.py @@ -0,0 +1,1052 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Frozen full-model Qwen3-Next inputs and original-dtype L2 artifacts. + +Native workers receive only JSON requests (tokens, weights and provider identity). +They write a weights_only-safe torch artifact with metadata, prompt_tokens, +response_tokens, prediction_positions, BF16 logits [B,16,151936], FP32 logprobs +[B,16], and layer_digests for all 48 layers. Recurrent debug states describe the +same prediction positions: P-1 through P+14, before consuming response token 16. +No rollout hidden tensor or recurrent state is a recompute input. +""" + +import hashlib +import json +import os +from dataclasses import dataclass +from pathlib import Path + +import torch + +from rl_engine.models.qwen3_next.qwen3_next_subnode import SUBNODES, subnode_layout +from rl_engine.validation.common.file_digest import file_sha256 +from rl_engine.validation.common.tensor_identity import tensor_bitwise_equal + +VOCAB_SIZE = 151936 +RESPONSE_LENGTH = 16 +PROMPT_LENGTHS = (8, 64, 256, 1024) +FROZEN_TEXTS = ( + "The capital of France is Paris. Explain the route from the library to the river. ", + "Compute seven plus five, then describe a careful way to check the answer. ", + "A robot observes a red cup beside a blue plate on a wooden kitchen table. ", + "Write a precise explanation of how rain reaches a mountain stream in autumn. ", +) +NATIVE_WORKER_MODULE = ( + "rl_engine.integrations.orchestrators.vime.experiments.qwen3_next.native_workers" +) + + +# The native rollout cache budget every certified profile pins (4 GiB per GPU). +NATIVE_KV_CACHE_BYTES = 4 << 30 + + +def json_digest(value): + return hashlib.sha256( + json.dumps(value, sort_keys=True, separators=(",", ":")).encode() + ).hexdigest() + + +def tensor_digest(value): + value = value.detach().cpu().contiguous() + digest = hashlib.sha256(str((str(value.dtype), tuple(value.shape))).encode()) + digest.update(value.reshape(-1).view(torch.uint8).numpy().tobytes()) + return digest.hexdigest() + + +@dataclass(frozen=True) +class L2Case: + prompt_length: int + batch_size: int + prefill: str + + @property + def case_id(self): + return f"p{self.prompt_length:04d}-b{self.batch_size}-{self.prefill}" + + @property + def chunks(self): + if self.prefill == "full": + return [self.prompt_length] + remaining = self.prompt_length - 1 + chunks = [1, min(63, remaining)] + remaining -= chunks[-1] + while remaining: + size = min(64, remaining) + chunks.append(size) + remaining -= size + return chunks + + +def case_matrix(): + return [ + L2Case(length, batch, prefill) + for length in PROMPT_LENGTHS + for batch in (1, 4) + for prefill in ("full", "chunked") + ] + + +def prompt_fixture(tokenizer, tokenizer_identity): + encoded = [tokenizer.encode(text, add_special_tokens=False) for text in FROZEN_TEXTS] + if any( + not row or any(type(token) is not int or not 0 <= token < VOCAB_SIZE for token in row) + for row in encoded + ): + raise ValueError("Pinned tokenizer produced an empty or out-of-range prompt") + prompts = {} + for length in PROMPT_LENGTHS: + prompts[str(length)] = torch.tensor( + [(row * ((length + len(row) - 1) // len(row)))[:length] for row in encoded], + dtype=torch.int64, + ) + if torch.unique(prompts[str(length)], dim=0).shape[0] != 4: + raise ValueError("The four pinned prompt samples must be distinct") + identity = { + "texts": list(FROZEN_TEXTS), + "tokenizer": tokenizer_identity, + "prompt_hashes": {key: tensor_digest(value) for key, value in prompts.items()}, + } + return { + "schema_version": 1, + "prompts": prompts, + "prompt_identity": identity, + "prompt_sha256": json_digest(identity), + } + + +def freeze_responses(prompts, baseline_artifacts, *, baseline_identity, baseline_records): + responses, old_logprobs = {}, {} + for length in PROMPT_LENGTHS: + artifact = baseline_artifacts[str(length)] + response = artifact["response_tokens"] + selected = artifact["logprobs"] + if response.shape != (4, RESPONSE_LENGTH) or response.dtype != torch.int64: + raise ValueError( + "Baseline generation must produce sixteen real tokens for four samples" + ) + if ( + selected.shape != (4, RESPONSE_LENGTH) + or selected.dtype != torch.float32 + or not torch.isfinite(selected).all() + ): + raise ValueError("Baseline logprobs must be finite FP32 [4,16]") + if bool(((response < 0) | (response >= VOCAB_SIZE)).any()): + raise ValueError("Baseline response token is outside the official vocabulary") + responses[str(length)] = response.detach().cpu().clone() + old_logprobs[str(length)] = selected.detach().cpu().clone() + fixture = { + **prompts, + "responses": responses, + "old_logprobs": old_logprobs, + "baseline_identity": baseline_identity, + "baseline_artifacts": baseline_records, + } + fixture["content_sha256"] = fixture_digest(fixture) + return fixture + + +def fixture_digest(fixture): + identity = { + "prompt_sha256": fixture["prompt_sha256"], + "baseline_identity": fixture["baseline_identity"], + "baseline_artifacts": fixture["baseline_artifacts"], + "responses": {key: tensor_digest(value) for key, value in fixture["responses"].items()}, + "old_logprobs": { + key: tensor_digest(value) for key, value in fixture["old_logprobs"].items() + }, + } + return json_digest(identity) + + +def validate_fixture(fixture): + expected_keys = {str(length) for length in PROMPT_LENGTHS} + if fixture.get("schema_version") != 1 or any( + set(fixture[name]) != expected_keys + for name in ("prompts", "responses", "old_logprobs", "baseline_artifacts") + ): + raise ValueError("Incomplete frozen L2 input matrix") + for record in fixture["baseline_artifacts"].values(): + if ( + set(record) != {"path", "sha256"} + or not Path(record["path"]).is_absolute() + or len(record["sha256"]) != 64 + ): + raise ValueError("Baseline generation artifact identity is incomplete") + for length in PROMPT_LENGTHS: + key = str(length) + prompt, response, logprobs = ( + fixture[name][key] for name in ("prompts", "responses", "old_logprobs") + ) + if ( + prompt.shape != (4, length) + or prompt.dtype != torch.int64 + or tensor_digest(prompt) != fixture["prompt_identity"]["prompt_hashes"][key] + ): + raise ValueError("Frozen prompt was changed") + if ( + response.shape != (4, RESPONSE_LENGTH) + or response.dtype != torch.int64 + or bool(((response < 0) | (response >= VOCAB_SIZE)).any()) + ): + raise ValueError("Invalid frozen response") + if ( + logprobs.shape != (4, RESPONSE_LENGTH) + or logprobs.dtype != torch.float32 + or not torch.isfinite(logprobs).all() + ): + raise ValueError("Invalid frozen baseline logprobs") + if ( + json_digest(fixture["prompt_identity"]) != fixture["prompt_sha256"] + or fixture_digest(fixture) != fixture["content_sha256"] + ): + raise ValueError("Frozen L2 fixture content identity mismatch") + + +def save_tensor_artifact(path, payload): + path = Path(path) + path.parent.mkdir(parents=True, exist_ok=True) + temporary = path.with_suffix(path.suffix + ".partial") + with temporary.open("wb") as stream: + torch.save(payload, stream) + stream.flush() + os.fsync(stream.fileno()) + temporary.replace(path) + directory = os.open(path.parent, os.O_RDONLY | os.O_DIRECTORY) + try: + os.fsync(directory) + finally: + os.close(directory) + + +def load_tensor_artifact(path): + return torch.load(path, map_location="cpu", weights_only=True) + + +def validate_weight_identity(identity): + """Bind mutable export bytes separately from the fixed official model identity. + + This is the JSON boundary check. The native loaders and profile activation also + call validate_training_export to rehash and inspect the actual exported files. + """ + if identity.get("provider_config", {}).get("profile") != "qwen3_next_tp4_shared_eager_v1": + return + version = identity.get("weight_version") + if not isinstance(version, str) or not version: + raise ValueError("Official shared model identity requires an explicit weight version") + actual = identity.get("checkpoint_identity", {}) + if version == "baseline": + if actual.get("kind") == "qwen3_next_native_hf_export": + raise ValueError("An updated native export cannot masquerade as the official baseline") + if any(key in identity for key in ("base_checkpoint", "base_checkpoint_identity")) and any( + ( + identity.get("base_checkpoint") != identity.get("checkpoint"), + identity.get("base_checkpoint_identity") != actual, + ) + ): + raise ValueError("Baseline identity cannot redirect its official base checkpoint") + return + if any(key not in identity for key in ("base_checkpoint", "base_checkpoint_identity")): + raise ValueError("Updated weights require a separately pinned official base identity") + if any( + ( + not Path(identity["checkpoint"]).is_absolute(), + not Path(identity["base_checkpoint"]).is_absolute(), + identity["checkpoint"] == identity["base_checkpoint"], + actual.get("schema_version") != 1, + actual.get("kind") != "qwen3_next_native_hf_export", + actual.get("status") != "complete", + actual.get("weight_version") != version, + actual.get("base_checkpoint") != identity["base_checkpoint"], + actual.get("base_checkpoint_identity") != identity["base_checkpoint_identity"], + actual.get("architecture_layers") != 48, + actual.get("weights_dtype") != "bfloat16", + type(actual.get("step")) is not int, + actual.get("step", 0) < 1, + ) + ): + raise ValueError("Updated checkpoint identity differs from its published native export") + training = actual.get("training_identity", {}) + fields = ("source_commit", "source_tree", "environment_sha256", "provider_config", "topology") + if any(training.get(key) != identity.get(key) for key in fields) or any( + ( + training.get("checkpoint") != identity["base_checkpoint"], + training.get("checkpoint_identity") != identity["base_checkpoint_identity"], + ) + ): + raise ValueError("Native export training provenance differs from the model/base identity") + + +def worker_request(case, fixture, *, role, identity, generate=False, trace_layers=None): + if role not in ("rollout", "recompute"): + raise ValueError("Unknown native model role") + validate_weight_identity(identity) + if generate and (role != "rollout" or case.batch_size != 4 or case.prefill != "full"): + raise ValueError("Only initial B4 full-prefill rollout may define frozen responses") + if not generate: + validate_fixture(fixture) + prompt = fixture["prompts"][str(case.prompt_length)][: case.batch_size] + request = { + "schema_version": 1, + "case_id": case.case_id, + "role": role, + "identity": identity, + "sample_ids": list(range(case.batch_size)), + "prompt_tokens": prompt.tolist(), + "response_tokens": ( + None + if generate + else fixture["responses"][str(case.prompt_length)][: case.batch_size].tolist() + ), + "response_length": RESPONSE_LENGTH, + "prediction_positions": list( + range(case.prompt_length - 1, case.prompt_length + RESPONSE_LENGTH - 1) + ), + "consumed_response_tokens": RESPONSE_LENGTH - 1, + "rollout_prefill_chunks": case.chunks, + "prefill_chunks": case.chunks if role == "rollout" else None, + "consumed_input_tokens": ( + None + if generate + else [ + left + right[:-1] + for left, right in zip( + prompt.tolist(), + fixture["responses"][str(case.prompt_length)][: case.batch_size].tolist(), + ) + ] + ), + "state_position": case.prompt_length + RESPONSE_LENGTH - 2, + "execution": ( + { + "rollout_mode": "autoregressive", + "prefill_chunks": case.chunks, + "response_mode": "generate" if generate else "teacher_forced", + } + if role == "rollout" + else { + "recompute_mode": "full_from_tokens", + "input_sequence_length": case.prompt_length + RESPONSE_LENGTH - 1, + } + ), + "fixture_sha256": fixture["prompt_sha256"] if generate else fixture["content_sha256"], + "logits_dtype": "bfloat16", + "logprobs_dtype": "float32", + "vocab_size": VOCAB_SIZE, + "trace_layers": list(trace_layers or []), + "required_layer_digests": list(range(48)), + "generation": { + "temperature": 0.0, + "top_p": 1.0, + "top_k": -1, + "seed": 1234, + "ignore_eos": True, + }, + } + request["request_sha256"] = json_digest(request) + return request + + +def layer_state_names(layer): + kinds = ("convolution", "recurrent_state") if (layer + 1) % 4 else ("key", "value") + return sorted(f"tp{rank}.{kind}" for rank in range(4) for kind in kinds) + + +def layer_digest(layer, output, states, *, request=None, subnodes=None): + """Hash each sample's real layer outputs, sub-nodes and all TP-owned state tensors.""" + if ( + layer not in range(48) + or output.ndim != 3 + or output.shape[1:] != (16, 2048) + or output.dtype != torch.bfloat16 + ): + raise ValueError( + "Layer diagnostics require original BF16 response hidden states [B,16,2048]" + ) + batch = output.shape[0] + if sorted(states) != layer_state_names(layer) or any( + not isinstance(value, torch.Tensor) or value.shape[0] != batch or not value.numel() + for value in states.values() + ): + raise ValueError("Actual convolution/recurrent or KV state tensors are required") + shapes = ( + native_state_shapes(request) + if request is not None + and request["identity"].get("provider_config", {}).get("profile") + == "qwen3_next_tp4_shared_eager_v1" + else None + ) + for name, value in states.items(): + if shapes is not None: + validate_native_state_storage(value, name.rsplit(".", 1)[-1], shapes) + if "recurrent_state" in name and value.dtype != torch.float32: + raise ValueError("Recurrent diagnostic state must preserve FP32") + if not torch.isfinite(value).all(): + raise ValueError("Nonfinite recurrent/KV diagnostic state") + if not torch.isfinite(output).all(): + raise ValueError("Nonfinite layer diagnostic output") + if subnodes is None or tuple(subnodes) != SUBNODES: + raise ValueError(f"Layer diagnostics require the sub-nodes {SUBNODES} in order") + for name, value in subnodes.items(): + width, dtype = subnode_layout(name) + if value.dtype != dtype or tuple(value.shape) != (batch, 16, width): + raise ValueError(f"Sub-node {name} must be original {dtype} [B,16,{width}]") + subnode_hashes = { + name: [tensor_digest(value[index]) for index in range(batch)] + for name, value in subnodes.items() + } + outputs = [tensor_digest(output[index]) for index in range(batch)] + state_hashes = [ + json_digest({name: tensor_digest(value[index]) for name, value in sorted(states.items())}) + for index in range(batch) + ] + return { + "layer": layer, + "sample_output_sha256": outputs, + "sample_state_sha256": state_hashes, + "output_sha256": json_digest({"layer": layer, "samples": outputs}), + "state_sha256": json_digest({"layer": layer, "samples": state_hashes}), + "state_names": sorted(states), + "sample_subnode_sha256": subnode_hashes, + "subnode_sha256": json_digest({"layer": layer, "subnodes": subnode_hashes}), + } + + +def embedding_digest(values): + """Per-sample digests of the [B, 16, 2048] BF16 embedding rows at the response positions.""" + if values.dtype != torch.bfloat16 or values.ndim != 3 or values.shape[1:] != (16, 2048): + raise ValueError("Embedding diagnostics require original BF16 [B,16,2048] rows") + samples = [tensor_digest(values[index]) for index in range(values.shape[0])] + return {"sample_sha256": samples, "sha256": json_digest({"embedding": samples})} + + +def first_divergent_node(reference, candidate): + """The first (layer, sub-node) whose sample digests differ, in execution order. + + Within a layer the sub-nodes are compared in SUBNODES order, then the layer + output and the recurrent/KV state. Returns ``{"layer", "node"}`` or None. + """ + batch = candidate["logits"].shape[0] + left, right = reference["embedding_digest"], candidate["embedding_digest"] + if left["sample_sha256"][:batch] != right["sample_sha256"]: + return {"layer": 0, "node": "embedding"} + for left, right in zip(reference["layer_digests"], candidate["layer_digests"]): + for node in SUBNODES: + if left["sample_subnode_sha256"][node][:batch] != right["sample_subnode_sha256"][node]: + return {"layer": right["layer"], "node": node} + for node, name in (("output", "sample_output_sha256"), ("state", "sample_state_sha256")): + if left[name][:batch] != right[name]: + return {"layer": right["layer"], "node": node} + return None + + +def first_divergent_layer(reference, candidate): + batch = candidate["logits"].shape[0] + for left, right in zip(reference["layer_digests"], candidate["layer_digests"]): + for name in ("sample_output_sha256", "sample_state_sha256"): + if left[name][:batch] != right[name]: + return right["layer"] + return None + + +def validate_model_artifact(artifact, request): + validate_weight_identity(request["identity"]) + batch = len(request["prompt_tokens"]) + metadata = artifact.get("metadata", {}) + if metadata != { + key: request[key] + for key in ("schema_version", "case_id", "role", "identity", "request_sha256") + }: + raise ValueError("Model artifact provenance differs from its independent worker request") + if artifact.get("execution") != request["execution"]: + raise ValueError("Artifact execution mode does not match its rollout/recompute contract") + profile = request["identity"].get("provider_config", {}) + if profile.get("profile") == "qwen3_next_tp4_shared_eager_v1" and request["role"] == "rollout": + validate_native_scheduler_execution(artifact, request) + expected = { + "logits": ((batch, RESPONSE_LENGTH, VOCAB_SIZE), torch.bfloat16), + "logprobs": ((batch, RESPONSE_LENGTH), torch.float32), + "response_tokens": ((batch, RESPONSE_LENGTH), torch.int64), + "prompt_tokens": ((batch, len(request["prompt_tokens"][0])), torch.int64), + "prediction_positions": ((RESPONSE_LENGTH,), torch.int64), + } + for name, (shape, dtype) in expected.items(): + tensor = artifact.get(name) + if ( + not isinstance(tensor, torch.Tensor) + or tensor.device.type != "cpu" + or tensor.dtype != dtype + or tuple(tensor.shape) != shape + ): + raise ValueError(f"{name}: expected CPU {dtype} {shape}, preserving original storage") + if tensor.is_floating_point() and not torch.isfinite(tensor).all(): + raise ValueError(f"{name}: nonfinite full-model artifact") + if not torch.equal( + artifact["prompt_tokens"], torch.tensor(request["prompt_tokens"], dtype=torch.int64) + ) or not torch.equal( + artifact["prediction_positions"], + torch.tensor(request["prediction_positions"], dtype=torch.int64), + ): + raise ValueError("Prompt or response prediction offsets do not match") + if request["response_tokens"] is not None and not torch.equal( + artifact["response_tokens"], torch.tensor(request["response_tokens"], dtype=torch.int64) + ): + raise ValueError("Worker changed frozen response tokens") + if bool( + ((artifact["response_tokens"] < 0) | (artifact["response_tokens"] >= VOCAB_SIZE)).any() + ): + raise ValueError("Generated token is outside the official vocabulary") + embedding = artifact.get("embedding_digest", {}) + samples = embedding.get("sample_sha256", []) + if len(samples) != batch or embedding.get("sha256") != json_digest({"embedding": samples}): + raise ValueError("The artifact must identify every sample's embedding rows") + layers = artifact.get("layer_digests", []) + if [layer.get("layer") for layer in layers] != list(range(48)): + raise ValueError("Full 48-layer diagnostic identities are required") + for layer in layers: + if layer.get("state_names") != layer_state_names(layer["layer"]): + raise ValueError("Per-layer state identities must cover every TP rank") + for name in ("output", "state"): + values = layer.get(f"sample_{name}_sha256", []) + if len(values) != batch: + raise ValueError("Every layer must identify every sample's output and state") + if any( + not isinstance(value, str) + or len(value) != 64 + or any(char not in "0123456789abcdef" for char in value) + for value in values + ): + raise ValueError("Invalid per-sample layer tensor digest") + if layer.get(f"{name}_sha256") != json_digest( + {"layer": layer["layer"], "samples": values} + ): + raise ValueError("Layer digest is not bound to its sample tensor identities") + subnodes = layer.get("sample_subnode_sha256", {}) + if tuple(subnodes) != SUBNODES or any( + len(values) != batch or any(not isinstance(v, str) or len(v) != 64 for v in values) + for values in subnodes.values() + ): + raise ValueError("Every layer must identify every sample's sub-node outputs") + if layer.get("subnode_sha256") != json_digest( + {"layer": layer["layer"], "subnodes": subnodes} + ): + raise ValueError("Layer sub-node digest is not bound to its sample identities") + for name, value in artifact.get("debug_tensors", {}).items(): + if ( + not isinstance(value, torch.Tensor) + or value.device.type != "cpu" + or not torch.isfinite(value).all() + ): + raise ValueError("Debug layer/state tensors must be finite CPU tensors") + if "recurrent_state" in name and value.dtype != torch.float32: + raise ValueError("Recurrent state diagnostics must preserve FP32 storage") + + +def validate_debug_capture(artifact, request): + tensors = artifact.get("debug_tensors", {}) + for layer in request["trace_layers"]: + record = artifact["layer_digests"][layer] + prefix = f"layer.{layer}." + names = [prefix + "output"] + [prefix + name for name in record["state_names"]] + names += [f"{prefix}subnode.{name}" for name in SUBNODES] + if any(name not in tensors for name in names): + raise ValueError("First-divergence capture is missing layer output or state tensors") + actual = layer_digest( + layer, + tensors[prefix + "output"], + {name: tensors[prefix + name] for name in record["state_names"]}, + request=request, + subnodes={name: tensors[f"{prefix}subnode.{name}"] for name in SUBNODES}, + ) + if actual != record: + raise ValueError("Saved first-divergence tensors differ from their layer identities") + + +def validate_native_scheduler_execution(artifact, request): + expected = { + "kv_cache_memory_bytes_per_gpu": NATIVE_KV_CACHE_BYTES, + "max_model_len": 1040, + "max_num_seqs": 64, + "max_num_batched_tokens": 16384, + "scheduler": ( + "rl_engine.integrations.engines.rollout.vllm.qwen3_next_native_rollout" + ".ExactPrefillScheduler" + ), + "async_scheduling": False, + "prefix_caching": False, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32", + "model_runner": "v1", + } + if artifact.get("native_runtime_profile") != expected: + raise ValueError("Native rollout runtime differs from its fixed scheduler/cache profile") + mode = ( + "certified" if "scheduler_profile_certificate" in request["identity"] else "qualification" + ) + if artifact.get("provider_execution_mode") != mode: + raise ValueError("Native rollout execution mode differs from its certificate identity") + if ( + request["identity"]["provider_config"].get("native_rollout_kv_cache_memory_bytes") + != NATIVE_KV_CACHE_BYTES + ): + raise ValueError("The submitted profile did not pin the native cache budget") + sizes = [*request["prefill_chunks"], *([1] * request["consumed_response_tokens"])] + steps = artifact.get("native_scheduler_steps", []) + if len(steps) != len(sizes): + raise ValueError("Native scheduler did not execute every requested prefill/decode boundary") + samples = request["sample_ids"] + consumed = 0 + for step, size in zip(steps, sizes): + if set(step) != {"samples", "computed_before", "token_counts"} or any( + ( + sorted(step["samples"]) != sorted(samples), + len(set(step["samples"])) != len(samples), + step["computed_before"] != [consumed] * len(samples), + step["token_counts"] != [size] * len(samples), + ) + ): + raise ValueError("Native scheduler executed a different sample/chunk/offset matrix") + consumed += size + + +def compare_artifacts(rollout, recompute): + comparisons = { + name: tensor_bitwise_equal(rollout[name], recompute[name]) + for name in ("response_tokens", "logits", "logprobs") + } + first_layer = first_divergent_layer(rollout, recompute) + first_node = first_divergent_node(rollout, recompute) + comparisons["layer_states"] = first_node is None + first_difference = None + for name, passed in comparisons.items(): + if passed: + continue + if name == "layer_states": + break + left, right = rollout[name], recompute[name] + if left.shape == right.shape and left.dtype == right.dtype: + width = left.element_size() + changed = ( + left.contiguous().reshape(-1).view(torch.uint8) + != right.contiguous().reshape(-1).view(torch.uint8) + ).nonzero() + if changed.numel(): + flat = int(changed[0, 0]) // width + first_difference = { + "tensor": name, + "flat_element": flat, + "byte_offset": int(changed[0, 0]), + } + break + return { + "passed": all(comparisons.values()), + "comparisons": comparisons, + "first_divergent_layer": first_layer, + "first_divergent_node": first_node, + "first_difference": first_difference, + } + + +def native_state_shapes(request): + """Complete canonical per-rank state after P prompt plus 15 response inputs. + + TP4GDN owns 2048 convolution channels with three prior samples and eight + 128x128 recurrent heads. Full attention owns one 256-wide KV head per rank; + the paired replicas remain independently recorded and compared. + """ + prompts = request["prompt_tokens"] + batch = len(prompts) + if batch not in (1, 4) or any(len(row) != len(prompts[0]) for row in prompts): + raise ValueError("Native state evidence requires the fixed equal-length batch1/4 matrix") + prompt_length = len(prompts[0]) + consumed = prompt_length + RESPONSE_LENGTH - 1 + if ( + prompt_length not in PROMPT_LENGTHS + or request.get("consumed_response_tokens") != RESPONSE_LENGTH - 1 + or request.get("state_position") != consumed - 1 + ): + raise ValueError("Native state position must consume the prompt and exactly 15 responses") + return { + "convolution": (batch, 2048, 3), + "recurrent_state": (batch, 8, 128, 128), + "key": (batch, 1, consumed, 256), + "value": (batch, 1, consumed, 256), + } + + +def validate_native_state_storage(value, name, expected_shapes): + """One dtype/shape/finite boundary shared by assembly and stored trace audits.""" + if not isinstance(value, torch.Tensor) or tuple(value.shape) != expected_shapes[name]: + raise ValueError( + f"Original worker must retain complete {name} state shape " + f"{expected_shapes[name]} after the consumed prompt/response prefix" + ) + dtype = torch.float32 if name == "recurrent_state" else torch.bfloat16 + if value.dtype != dtype or not torch.isfinite(value).all(): + raise ValueError("Original worker state violates BF16/FP32 finite storage") + + +def validate_native_worker_traces(artifact, request, *, artifact_root=None): + """Rehash four actual traces and reconstruct every layer and state digest.""" + profile = request["identity"].get("provider_config", {}).get("profile") + if profile != "qwen3_next_tp4_shared_eager_v1": + return + records = artifact.get("worker_traces", []) + if len(records) != 4 or sorted(record.get("rank", -1) for record in records) != [0, 1, 2, 3]: + raise ValueError("Native model needs one original trace from each TP rank") + binary = artifact.get("provider_binary", {}) + digest = binary.get("sha256", "") + if ( + binary.get("module") != "rl_engine._C" + or not isinstance(binary.get("path"), str) + or not Path(binary["path"]).is_absolute() + or not isinstance(digest, str) + or len(digest) != 64 + or any(character not in "0123456789abcdef" for character in digest) + ): + raise ValueError("Native model must identify the actual imported CUDA provider binary") + batch = len(request["sample_ids"]) + expected_state_shapes = native_state_shapes(request) + state_hashes = [[{} for _ in range(batch)] for _ in range(48)] + for record in records: + rank = record["rank"] + if record.get("request_sha256") != request["request_sha256"]: + raise ValueError("Worker trace request identity mismatch") + trace = load_tensor_artifact(checked_artifact_path(record, artifact_root=artifact_root)) + provenance = { + "rank": rank, + "request_sha256": request["request_sha256"], + "provider_binary": binary, + } + if request["role"] == "rollout": + provenance.update( + native_runtime_profile=artifact["native_runtime_profile"], + provider_execution_mode=artifact["provider_execution_mode"], + schedule=artifact["native_scheduler_steps"], + ) + else: + provenance.update(role="recompute", execution=request["execution"]) + if any(trace.get(key) != value for key, value in provenance.items()): + raise ValueError("Worker trace rank/runtime/scheduler provenance mismatch") + tensors = { + "logprobs": artifact["logprobs"], + "responses": artifact["response_tokens"], + "local_logits": artifact["logits"][..., rank * 37984 : (rank + 1) * 37984], + } + # Recompute keeps the gathered full logits on rank zero, and every rank + # retains its original local shard and independently selected logprobs. + if request["role"] == "rollout" or rank == 0: + tensors["logits"] = artifact["logits"] + for key, expected in tensors.items(): + if not isinstance(trace.get(key), torch.Tensor) or not tensor_bitwise_equal( + trace[key], expected + ): + raise ValueError(f"Original worker {key} bytes contradict the assembled artifact") + if request["role"] == "recompute": + layers = trace.get("layers", {}) + if not isinstance(layers, dict) or set(layers) != {*range(48), "model"}: + raise ValueError("Original recompute worker must retain all 48 layer traces") + outputs = [layers[layer].get("output") for layer in range(48)] + if any( + not isinstance(value, torch.Tensor) + or value.shape != (batch, 16, 2048) + or value.dtype != torch.bfloat16 + for value in outputs + ): + raise ValueError("Original recompute worker must retain all 48 BF16 layer outputs") + hidden = torch.stack(outputs) + states = [layers[layer].get("states", {}) for layer in range(48)] + subnodes = { + name: torch.stack([layers[layer]["subnodes"][name] for layer in range(48)]) + for name in SUBNODES + } + embedding = layers["model"]["embedding"] + else: + hidden = trace.get("hidden") + states = trace.get("states", []) + subnodes, embedding = trace.get("subnodes", {}), trace.get("embedding") + if embedding_digest(embedding) != artifact["embedding_digest"]: + raise ValueError("Original worker embedding rows contradict the assembled artifact") + for name in SUBNODES: + for layer in range(48): + if [ + tensor_digest(subnodes[name][layer, sample]) for sample in range(batch) + ] != artifact["layer_digests"][layer]["sample_subnode_sha256"][name]: + raise ValueError( + f"Original worker {name} rows contradict the assembled artifact" + ) + if ( + not isinstance(hidden, torch.Tensor) + or hidden.shape != (48, batch, 16, 2048) + or hidden.dtype != torch.bfloat16 + ): + raise ValueError("Original worker must retain all 48 BF16 layer outputs") + if not torch.isfinite(hidden).all() or len(states) != 48: + raise ValueError("Original worker has nonfinite outputs or missing layer states") + for layer in range(48): + expected_names = ( + ("key", "value") if (layer + 1) % 4 == 0 else ("convolution", "recurrent_state") + ) + if set(states[layer]) != set(expected_names): + raise ValueError("Worker trace state types differ from the official layer layout") + for sample in range(batch): + if ( + tensor_digest(hidden[layer, sample]) + != artifact["layer_digests"][layer]["sample_output_sha256"][sample] + ): + raise ValueError("Original worker layer output contradicts its declared digest") + for name, value in states[layer].items(): + validate_native_state_storage(value, name, expected_state_shapes) + for sample in range(batch): + state_hashes[layer][sample][f"tp{rank}.{name}"] = tensor_digest(value[sample]) + for layer in range(48): + if [json_digest(values) for values in state_hashes[layer]] != artifact["layer_digests"][ + layer + ]["sample_state_sha256"]: + raise ValueError("Original TP state bytes contradict the assembled layer digests") + + +def compare_batch_prefill(reference, candidate): + batch = candidate["logits"].shape[0] + compared = { + name: tensor_bitwise_equal(reference[name][:batch], candidate[name]) + for name in ("response_tokens", "logits", "logprobs") + } + compared["layer_states"] = first_divergent_node(reference, candidate) is None + return compared + + +def validate_matrix_report(report, *, expected_identity=None, artifact_root=None): + """A passed label alone cannot close the full-model matrix.""" + expected_ids = [case.case_id for case in case_matrix()] + required = { + "schema_version": 1, + "status": "passed", + "scope": "qwen3_next_full_model_l2", + "raw_bit_comparison": True, + "logits_dtype": "bfloat16", + "logprobs_dtype": "float32", + "response_length": 16, + "vocab_size": 151936, + "case_ids": expected_ids, + } + if any(report.get(key) != value for key, value in required.items()) or set( + report.get("cases", {}) + ) != set(expected_ids): + raise ValueError("Full-model L2 requires the complete sixteen-case raw-bit matrix") + identity = report.get("identity", {}) + if identity.get("architecture_layers") != 48 or identity.get("topology") != { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1, + }: + raise ValueError("Full-model L2 cannot change model depth or topology") + processes = report.get("processes", {}) + if ( + set(processes) != {"rollout", "recompute"} + or any( + row.get("exit_code") != 0 + or row.get("gpu_release_verified") is not True + or type(row.get("pid")) is not int + or row["pid"] <= 0 + for row in processes.values() + ) + or processes["rollout"]["pid"] == processes["recompute"]["pid"] + ): + raise ValueError("Independent process completion and GPU release evidence are required") + checks = {"response_tokens", "logits", "logprobs", "layer_states"} + for case in report["cases"].values(): + compared = case.get("comparisons", {}) + if ( + case.get("passed") is not True + or set(compared) != checks + or any(value is not True for value in compared.values()) + ): + raise ValueError( + "Every response token, full logits, logprob and layer/state identity must pass" + ) + groups = [case.get("batch_prefill", {})] + if identity.get("weight_version") == "baseline": + groups.append(case.get("baseline_generation", {})) + for group in groups: + if set(group) != {"rollout", "recompute"} or any( + set(row) != checks or any(value is not True for value in row.values()) + for row in group.values() + ): + raise ValueError( + "Batch, chunk and actual baseline generation comparisons are mandatory" + ) + if set(case.get("artifacts", {})) != {"rollout", "recompute"}: + raise ValueError("Both independent full-vocabulary tensor artifacts are required") + _validate_report_artifacts( + report, + roles=("rollout", "recompute"), + expected_identity=expected_identity, + artifact_root=artifact_root, + ) + + +def checked_artifact_path(record, *, artifact_root=None): + """Rehash bytes before parsing; artifact paths cannot escape this attempt.""" + if not isinstance(record, dict) or not {"path", "sha256"} <= record.keys(): + raise ValueError("Tensor evidence requires a path and SHA256") + path = Path(record["path"]) + if not path.is_absolute(): + raise ValueError("Tensor artifact path must be absolute") + path = path.resolve(strict=True) + if artifact_root is not None and not path.is_relative_to(Path(artifact_root).resolve()): + raise ValueError("Tensor artifact escaped its current attempt") + digest = file_sha256(path) + if digest != record["sha256"]: + raise ValueError("Tensor artifact content digest changed") + return path + + +def _validate_report_artifacts(report, *, roles, expected_identity, artifact_root): + identity = report["identity"] + if expected_identity is not None and identity != expected_identity: + raise ValueError("Model matrix source/environment/provider identity mismatch") + from rl_engine.validation.models.qwen3_next_binary import validate_binary_record + + binary = validate_binary_record( + report.get("provider_binary"), + source_tree=identity.get("source_tree"), + artifact_root=artifact_root, + ) + # Inputs may be the explicit frozen baseline shared by subsequent training + # runs. Their bytes are pinned separately; outputs must be in this attempt. + fixture = load_tensor_artifact(checked_artifact_path(report.get("fixture"))) + validate_fixture(fixture) + if fixture["content_sha256"] != report["fixture"].get("content_sha256"): + raise ValueError("Matrix frozen-input content identity mismatch") + baselines = {} + for length, record in fixture["baseline_artifacts"].items(): + baseline = load_tensor_artifact(checked_artifact_path(record)) + original_identity = baseline.get("metadata", {}).get("identity", {}) + if json_digest(original_identity) != fixture["baseline_identity"]: + raise ValueError("Baseline generation provenance changed") + if identity.get("weight_version") == "baseline" and original_identity != identity: + raise ValueError("Baseline weights/provider differ from the matrix") + baseline_request = worker_request( + L2Case(int(length), 4, "full"), + fixture, + role="rollout", + identity=original_identity, + generate=True, + ) + validate_model_artifact(baseline, baseline_request) + validate_native_worker_traces(baseline, baseline_request) + baselines[length] = baseline + worker_records = report.get("worker_results", {}) + if set(worker_records) != set(roles): + raise ValueError("Independent worker result artifacts are missing") + workers = {} + for role in roles: + worker = json.loads( + checked_artifact_path( + worker_records[role], + artifact_root=artifact_root, + ).read_text() + ) + if any( + worker.get(key) != value + for key, value in { + "status": "passed", + "role": role, + "identity": identity, + "fixture_sha256": fixture["content_sha256"], + "pid": report["processes"][role]["pid"], + "provider_binary": binary, + }.items() + ) or set(worker.get("cases", {})) != {case.case_id for case in case_matrix()}: + raise ValueError("Independent worker provenance or case inventory mismatch") + workers[role] = worker + for case in case_matrix(): + row = report["cases"][case.case_id] + outputs = {} + for role in roles: + record = row["artifacts"][role] + path = checked_artifact_path(record, artifact_root=artifact_root) + request = worker_request(case, fixture, role=role, identity=identity) + worker_record = workers[role]["cases"][case.case_id] + if worker_record != {**record, "request_sha256": request["request_sha256"]}: + raise ValueError("Worker and matrix refer to different model output artifacts") + outputs[role] = load_tensor_artifact(path) + if outputs[role].get("provider_binary") != binary: + raise ValueError("Model output used a different native CUDA provider") + validate_model_artifact(outputs[role], request) + validate_native_worker_traces(outputs[role], request, artifact_root=artifact_root) + reference_record = report["cases"][L2Case(case.prompt_length, 4, "full").case_id][ + "artifacts" + ][role] + reference = load_tensor_artifact( + checked_artifact_path(reference_record, artifact_root=artifact_root) + ) + actual = compare_batch_prefill(reference, outputs[role]) + if not all(actual.values()) or actual != row["batch_prefill"][role]: + raise ValueError("Batch/prefill tensor bytes contradict matrix acceptance") + if identity.get("weight_version") == "baseline": + actual = compare_batch_prefill(baselines[str(case.prompt_length)], outputs[role]) + if not all(actual.values()) or actual != row["baseline_generation"][role]: + raise ValueError("Generated baseline tensor bytes contradict matrix acceptance") + if len(roles) == 2: + actual = compare_artifacts(outputs["rollout"], outputs["recompute"]) + if not actual["passed"] or actual["comparisons"] != row["comparisons"]: + raise ValueError("Independent full-model tensor bytes contradict matrix acceptance") + + +def validate_scheduler_report(report, *, expected_identity=None, artifact_root=None): + expected_ids = [case.case_id for case in case_matrix()] + required = { + "schema_version": 1, + "status": "passed", + "raw_bit_comparison": True, + "scope": "qwen3_next_native_scheduler_only", + "case_ids": expected_ids, + "full_model_l2": "not_evaluated", + } + if any(report.get(key) != value for key, value in required.items()): + raise ValueError("Actual scheduler requires its complete native sixteen-case matrix") + if set(report.get("cases", {})) != set(expected_ids): + raise ValueError("Scheduler matrix omitted mandatory cases") + identity = report.get("identity", {}) + if identity.get("architecture_layers") != 48 or identity.get("topology") != { + "tp": 4, + "pp": 1, + "cp": 1, + "ep": 1, + }: + raise ValueError("Scheduler gate must execute the complete TP4 model") + processes = report.get("processes", {}) + process = processes.get("rollout", {}) + if set(processes) != {"rollout"} or any( + ( + process.get("exit_code") != 0, + process.get("gpu_release_verified") is not True, + type(process.get("pid")) is not int, + process.get("pid", 0) <= 0, + ) + ): + raise ValueError("Scheduler process completion and memory release evidence missing") + checks = {"response_tokens", "logits", "logprobs", "layer_states"} + for row in report["cases"].values(): + if row.get("passed") is not True or set(row.get("artifacts", {})) != {"rollout"}: + raise ValueError("Scheduler case failed or has no native tensor artifact") + for field in ("batch_prefill", "baseline_generation"): + group = row.get(field, {}) + values = group.get("rollout", {}) + if any( + ( + set(group) != {"rollout"}, + set(values) != checks, + not all(value is True for value in values.values()), + ) + ): + raise ValueError("Scheduler batch/prefill/raw-bit comparisons are incomplete") + _validate_report_artifacts( + report, + roles=("rollout",), + expected_identity=expected_identity, + artifact_root=artifact_root, + ) diff --git a/rl_engine/validation/models/qwen3_next_layer_cases.json b/rl_engine/validation/models/qwen3_next_layer_cases.json new file mode 100644 index 000000000..4e1af4c67 --- /dev/null +++ b/rl_engine/validation/models/qwen3_next_layer_cases.json @@ -0,0 +1,122 @@ +{ + "schema_version": 1, + "gates": { + "gdn": { + "script": "tools/validation/models/qwen3_next_tp_gdn_check.py", + "output_option": "--output", + "scope": "tp4_gdn_layer0", + "groups": { + "cases": [ + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "prompt-gradient", + "replicated-norm-gradient", + "hf-load-export" + ] + } + }, + "attention": { + "script": "tools/validation/models/qwen3_next_tp_attention_check.py", + "output_option": "--output", + "scope": "tp4_full_attention_layer3", + "groups": { + "attention.cases": [ + "hf-load-export", + "full-chunk-8", + "full-chunk-64", + "full-chunk-256", + "full-chunk-1024", + "batch4-varlen-reorder", + "sixteen-token-decode", + "prompt-gradient", + "kv-pair-gradient", + "qk-norm-gradient" + ] + } + }, + "moe": { + "script": "tools/validation/models/qwen3_next_tp_moe_check.py", + "output_option": "--output", + "scope": "tp4_moe_block_layer0", + "groups": { + "moe.cases": [ + "hf-load-export-all512experts", + "routes-replicated-8", + "full-chunk-reorder-8", + "routes-replicated-64", + "full-chunk-reorder-64", + "routes-replicated-256", + "full-chunk-reorder-256", + "routes-replicated-1024", + "full-chunk-reorder-1024", + "training-forward", + "all-parameter-gradient", + "replicated-router-gradient" + ] + } + }, + "adapters": { + "script": "tools/validation/models/qwen3_next_adapter_check.py", + "output_option": "--out", + "scope": "gdn_engine_adapter_component", + "groups": { + "cases": [ + "batch1-length8", + "batch1-length64", + "batch1-length256", + "batch1-length1024", + "batch4-length8", + "batch4-length64", + "batch4-length256", + "batch4-length1024", + "mixed-prefill-decode16-reorder" + ] + }, + "fields": { + "prompt_gradient": "passed", + "hf_conv_roundtrip": "passed", + "batch_invariance_capability_registered": false + } + }, + "heads": { + "script": "tools/validation/models/qwen3_next_tp_head_check.py", + "output_option": "--output", + "scope": "tp4_embedding_lm_head_only", + "groups": { + "cases": [ + "hf-embedding-roundtrip", + "hf-lm-head-roundtrip", + "replicated-norm-gradient", + "nonzero-finite-embedding-head-gradient", + "embedding-repeat-100", + "batch-invariant-prompt8", + "batch-invariant-prompt64", + "batch-invariant-prompt256", + "batch-invariant-prompt1024", + "logprob-original-and-promoted-logits", + "entropy-interface" + ] + } + } + }, + "scheduler_case_ids": [ + "p0008-b1-full", + "p0008-b1-chunked", + "p0008-b4-full", + "p0008-b4-chunked", + "p0064-b1-full", + "p0064-b1-chunked", + "p0064-b4-full", + "p0064-b4-chunked", + "p0256-b1-full", + "p0256-b1-chunked", + "p0256-b4-full", + "p0256-b4-chunked", + "p1024-b1-full", + "p1024-b1-chunked", + "p1024-b4-full", + "p1024-b4-chunked" + ] +} diff --git a/rl_engine/validation/models/qwen3_next_moe_prior_art.py b/rl_engine/validation/models/qwen3_next_moe_prior_art.py new file mode 100644 index 000000000..7c0cc33c9 --- /dev/null +++ b/rl_engine/validation/models/qwen3_next_moe_prior_art.py @@ -0,0 +1,688 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Prior-art comparison for the Qwen3-Next routed MoE (RFC #428 ``moe_route_combine_contract``). + +Every candidate computes the routed half of ``Qwen3NextSparseMoeBlock`` at the +official TP1 shape (H=2048, 512 experts, top-10, expert width 512): router +logits, top-10 selection with renormalised weights, the selected SwiGLU +experts and the weighted combine. The shared expert is left out because every +candidate evaluates it as the same dense MLP. + +For each candidate the report records + +* **routing batch invariance** - the expert ids and weights of a fixed block + of probe tokens computed alone, and embedded first and last in larger + batches, must be bitwise equal; +* **output batch invariance** - the same for the routed output; +* **dx / dW batch invariance** (candidates with a backward) - the probe rows' + input gradient must not change when unrelated rows join the batch, and the + expert weight gradient must not change when rows whose output gradient is + zero join it (mathematically neither can); +* **repeatability** - two identical calls are bitwise equal; +* **accuracy** - error against an FP64 evaluation of the HF formula with FP64 + routing, plus the fraction of tokens whose selected expert set differs; +* **performance** - median CUDA-event latency, candidates interleaved. + +A candidate that cannot be imported or launched in the pinned environment is +recorded as ``unavailable`` with the reason instead of failing the run. +""" + +from __future__ import annotations + +import os +import statistics +from contextlib import contextmanager +from typing import Any, Callable + +import torch +import torch.nn.functional as F + +HIDDEN = 2048 +EXPERTS = 512 +TOPK = 10 +WIDTH = 512 +PROBE = 8 +BI_SIZES = (16, 64, 256, 1024) +PERF_TOKENS = (1, 8, 64, 256, 1024, 4096) +BACKWARD_TOKENS = (64, 1024) + + +# --------------------------------------------------------------------------- # +# Measurement helpers +# --------------------------------------------------------------------------- # + + +def _sample_us(fn: Callable[[], Any]) -> float: + torch.cuda.synchronize() + start = torch.cuda.Event(enable_timing=True) + end = torch.cuda.Event(enable_timing=True) + start.record() + fn() + end.record() + torch.cuda.synchronize() + return start.elapsed_time(end) * 1000.0 + + +def time_interleaved(calls: dict[str, Callable[..., Any]], warmup: int = 5, iters: int = 30): + """Median latency per candidate; the order alternates so none always runs first.""" + keys = list(calls) + orders = (keys, list(reversed(keys))) + for i in range(warmup): + for key in orders[i % 2]: + calls[key]() + samples: dict[str, list[float]] = {key: [] for key in keys} + for i in range(iters): + for key in orders[i % 2]: + samples[key].append(_sample_us(calls[key])) + return {key: statistics.median(values) for key, values in samples.items()} + + +def _bitwise(a: torch.Tensor, b: torch.Tensor) -> bool: + return a.shape == b.shape and a.dtype == b.dtype and torch.equal(a, b) + + +def _rel(value: torch.Tensor, reference: torch.Tensor) -> float: + reference = reference.double() + return float((value.double() - reference).norm() / reference.norm().clamp_min(1e-300)) + + +def _guard(key: str, factory: Callable[[], dict[str, Any]]) -> dict[str, Any]: + try: + return {"key": key, **factory()} + except Exception as exc: # noqa: BLE001 - record and continue + return {"key": key, "unavailable": f"{type(exc).__name__}: {str(exc)[:300]}"} + + +@contextmanager +def _env(name: str, value: str | None): + old = os.environ.get(name) + if value is None: + os.environ.pop(name, None) + else: + os.environ[name] = value + try: + yield + finally: + if old is None: + os.environ.pop(name, None) + else: + os.environ[name] = old + + +# --------------------------------------------------------------------------- # +# Inputs and the FP64 reference +# --------------------------------------------------------------------------- # + + +def make_weights(seed: int = 0) -> dict[str, torch.Tensor]: + g = torch.Generator(device="cuda").manual_seed(seed) + + def randn(*shape, scale): + return (torch.randn(shape, device="cuda", generator=g) * scale).to(torch.bfloat16) + + return { + "router": randn(EXPERTS, HIDDEN, scale=0.02), + "gate_up": randn(EXPERTS, 2 * WIDTH, HIDDEN, scale=0.02), + "down": randn(EXPERTS, HIDDEN, WIDTH, scale=0.02), + } + + +def make_tokens(count: int, seed: int) -> torch.Tensor: + g = torch.Generator(device="cuda").manual_seed(seed) + return torch.randn(count, HIDDEN, device="cuda", generator=g).to(torch.bfloat16) + + +def fp64_reference(x: torch.Tensor, w: dict[str, torch.Tensor]): + """HF formula in FP64 with FP64 routing; returns (output, expert ids).""" + x64 = x.double() + probs = (x64 @ w["router"].double().T).softmax(-1) + weights, ids = probs.topk(TOPK, dim=-1) + weights = weights / weights.sum(-1, keepdim=True) + out = torch.zeros_like(x64) + gate_up, down = w["gate_up"], w["down"] + for expert in ids.unique().tolist(): + token, slot = torch.where(ids == expert) + gate, up = (x64[token] @ gate_up[expert].double().T).chunk(2, dim=-1) + y = (F.silu(gate) * up) @ down[expert].double().T + out.index_add_(0, token, y * weights[token, slot, None]) + return out, ids + + +# --------------------------------------------------------------------------- # +# Candidates +# +# ``route(x) -> (ids [T,10], weights [T,10])`` exposes the routing decision; +# ``fwd(x) -> [T, H]`` is the routed output; ``graph(x) -> (y, leaves)`` (when +# the candidate is differentiable) returns the output and [x, gate_up, down]. +# --------------------------------------------------------------------------- # + + +def _rl_kernel(w): + from rl_engine.models.qwen3_next import qwen3_next_forward as provider + + def route(x): + routes = provider.stable_top10_routes(provider.shared_router(x, w["router"])) + return routes.indices, routes.weights + + def fwd(x): + with torch.no_grad(): + return provider.shared_moe(x, w["router"], w["gate_up"], w["down"])[0] + + gate_up = w["gate_up"].detach().clone().requires_grad_(True) + down = w["down"].detach().clone().requires_grad_(True) + + def graph(x): + leaf = x.detach().clone().requires_grad_(True) + y, _ = provider.shared_moe(leaf, w["router"], gate_up, down) + return y, [leaf, gate_up, down] + + return { + "name": "rl-kernel shared_moe", + "source": "rl_engine.models.qwen3_next.qwen3_next_forward.shared_moe", + "route": route, + "fwd": fwd, + "graph": graph, + } + + +def _hf_modules(w, device="cuda"): + from transformers import Qwen3NextConfig + from transformers.models.qwen3_next import modeling_qwen3_next as hf + + config = Qwen3NextConfig( + hidden_size=HIDDEN, + num_experts=EXPERTS, + num_experts_per_tok=TOPK, + moe_intermediate_size=WIDTH, + norm_topk_prob=True, + ) + router = hf.Qwen3NextTopKRouter(config).to(device=device, dtype=torch.bfloat16) + experts = hf.Qwen3NextExperts(config).to(device=device, dtype=torch.bfloat16) + with torch.no_grad(): + router.weight.copy_(w["router"]) + experts.gate_up_proj.copy_(w["gate_up"]) + experts.down_proj.copy_(w["down"]) + return router, experts + + +def _hf(w): + import transformers + + router, experts = _hf_modules(w) + + def route(x): + _, weights, ids = router(x) + return ids, weights + + def call(x, mod): + _, weights, ids = router(x) + return mod(x, ids, weights) + + def fwd(x): + with torch.no_grad(): + return call(x, experts) + + def graph(x): + leaf = x.detach().clone().requires_grad_(True) + return call(leaf, experts), [leaf, experts.gate_up_proj, experts.down_proj] + + return { + "name": "HF transformers Qwen3NextExperts (eager)", + "source": f"transformers {transformers.__version__} modeling_qwen3_next", + "route": route, + "fwd": fwd, + "graph": graph, + } + + +def _vllm(w, batch_invariant: bool): + import vllm + from vllm.model_executor.layers.fused_moe.fused_moe import fused_experts + from vllm.model_executor.layers.fused_moe.router.fused_topk_router import fused_topk + + flag = "1" if batch_invariant else "0" + linear = F.linear + if batch_invariant: + from vllm.model_executor.determinism.batch_invariant import linear_batch_invariant + + linear = linear_batch_invariant + + def route(x): + with _env("VLLM_BATCH_INVARIANT", flag): + # vLLM's Qwen3-Next gate is a BF16 ReplicatedLinear; batch-invariant + # mode replaces its aten GEMM with vLLM's persistent Triton matmul. + logits = linear(x, w["router"]) + weights, ids, _ = fused_topk(x, logits, TOPK, renormalize=True) + return ids.long(), weights + + def fwd(x): + with torch.no_grad(), _env("VLLM_BATCH_INVARIANT", flag): + ids, weights = route(x) + return fused_experts(x, w["gate_up"], w["down"], weights, ids.int()) + + return { + "name": f"vLLM fused_topk + fused_experts (Triton), VLLM_BATCH_INVARIANT={flag}", + "source": f"vllm {vllm.__version__} model_executor/layers/fused_moe", + "route": route, + "fwd": fwd, + } + + +def _flashinfer(w): + import flashinfer + from flashinfer.fused_moe import cutlass_fused_moe + + # CUTLASS SwiGLU takes fc1 as [up; gate] (the opposite half order of HF). + gate, up = w["gate_up"].chunk(2, dim=1) + fc1 = torch.cat((up, gate), dim=1).contiguous() + + def route(x): + probs = F.linear(x, w["router"]).float().softmax(-1) + weights, ids = probs.topk(TOPK, dim=-1) + return ids, weights / weights.sum(-1, keepdim=True) + + def fwd(x): + with torch.no_grad(): + ids, weights = route(x) + out = cutlass_fused_moe( + x, ids.int(), weights, fc1, w["down"], torch.bfloat16, quant_scales=[] + ) + return out[0] if isinstance(out, (list, tuple)) else out + + return { + "name": "FlashInfer cutlass_fused_moe (routes from torch.topk)", + "source": f"flashinfer {flashinfer.__version__} fused_moe.cutlass_fused_moe", + "route": route, + "fwd": fwd, + } + + +def _megatron_layer(w): + """Megatron-core MoELayer configured as VIME runs Qwen3-Next. + + VIME's ``scripts/models/qwen3-next-80B-A3B.sh``: + + Softmax router computed in FP32, top-10 of 512, all-to-all dispatcher, TE + grouped GEMM and TE fused permute, no auxiliary loss. Single process, TP1/EP1. + """ + import os + + import torch.distributed as dist + from megatron.core import parallel_state + from megatron.core.models.gpt.moe_module_specs import get_moe_module_spec + from megatron.core.tensor_parallel.random import model_parallel_cuda_manual_seed + from megatron.core.transformer.spec_utils import build_module + from megatron.core.transformer.transformer_config import TransformerConfig + + if not dist.is_initialized(): + os.environ.setdefault("MASTER_ADDR", "127.0.0.1") + os.environ.setdefault("MASTER_PORT", "29531") + device = torch.device("cuda", torch.cuda.current_device()) + dist.init_process_group("nccl", rank=0, world_size=1, device_id=device) + if not parallel_state.model_parallel_is_initialized(): + parallel_state.initialize_model_parallel(1, 1) + model_parallel_cuda_manual_seed(0) + config = TransformerConfig( + num_layers=1, + hidden_size=HIDDEN, + num_attention_heads=16, + ffn_hidden_size=WIDTH, + moe_ffn_hidden_size=WIDTH, + num_moe_experts=EXPERTS, + moe_router_topk=TOPK, + moe_router_score_function="softmax", + moe_router_dtype="fp32", + moe_token_dispatcher_type="alltoall", + moe_grouped_gemm=True, + moe_permute_fusion=True, + moe_aux_loss_coeff=0.0, + moe_router_load_balancing_type="none", + add_bias_linear=False, + gated_linear_unit=True, + activation_func=F.silu, + bf16=True, + params_dtype=torch.bfloat16, + ) + spec = get_moe_module_spec(use_te=True, num_experts=EXPERTS, moe_grouped_gemm=True) + layer = build_module(spec, config=config).cuda() + with torch.no_grad(): + layer.router.weight.copy_(w["router"]) + for expert in range(EXPERTS): + getattr(layer.experts.linear_fc1, f"weight{expert}").copy_(w["gate_up"][expert]) + getattr(layer.experts.linear_fc2, f"weight{expert}").copy_(w["down"][expert]) + return layer + + +def _megatron(w): + import megatron.core + import transformer_engine + + layer = _megatron_layer(w) + gate_up = [getattr(layer.experts.linear_fc1, f"weight{e}") for e in range(EXPERTS)] + down = [getattr(layer.experts.linear_fc2, f"weight{e}") for e in range(EXPERTS)] + + def route(x): + with torch.no_grad(): + probs, routing_map = layer.router(x) + weights, ids = probs.topk(TOPK, dim=-1) + if not bool(routing_map.gather(1, ids).all()): + raise RuntimeError("Megatron routing map disagrees with its routed probabilities") + return ids, weights + + def call(x): + return layer(x.unsqueeze(1))[0].squeeze(1) + + def fwd(x): + with torch.no_grad(): + return call(x) + + def grads(x, dy): + leaf = x.detach().clone().requires_grad_(True) + dx, *dw = torch.autograd.grad(call(leaf), [leaf, *gate_up, *down], dy) + return dx, torch.stack(dw[:EXPERTS]), torch.stack(dw[EXPERTS:]) + + return { + "name": "Megatron-core MoELayer + TE grouped GEMM (VIME's Qwen3-Next config)", + "source": f"megatron-core {megatron.core.__version__}, " + f"transformer-engine {transformer_engine.__version__}", + "route": route, + "fwd": fwd, + "grads": grads, + } + + +def _sglang_shims(): + """Make SGLang's Triton MoE path importable next to torch 2.13. + + ``sgl_kernel`` 0.3.21 is built against another libtorch ABI and cannot load + here. On CUDA, SGLang's Triton MoE calls two of its kernels; both are + replaced by SGLang's own implementations of the same operation: the Triton + ``moe_sum_reduce_triton`` and the JIT ``moe_align_block_size`` that SGLang + registers with the same signature. Every other ``sgl_kernel`` symbol only + has to import; calling one raises. + """ + import importlib.abc + import importlib.machinery + import sys + import types + + class Missing: + def __init__(self, name): + self.name = name + + def __getattr__(self, name): + if name.startswith("__"): + raise AttributeError(name) + return Missing(f"{self.name}.{name}") + + def __call__(self, *args, **kwargs): + raise RuntimeError(f"{self.name} called, but sgl_kernel cannot load next to torch 2.13") + + class Stub(types.ModuleType): + def __getattr__(self, name): + if name.startswith("__"): + raise AttributeError(name) + return Missing(f"{self.__name__}.{name}") + + class Finder(importlib.abc.MetaPathFinder, importlib.abc.Loader): + def find_spec(self, name, path=None, target=None): + if name in ("sgl_kernel", "gguf") or name.startswith("sgl_kernel."): + return importlib.machinery.ModuleSpec(name, self, is_package=True) + + def create_module(self, spec): + module = Stub(spec.name) + module.__path__ = [] + return module + + def exec_module(self, module): + pass + + if not any(type(f).__name__ == "Finder" for f in sys.meta_path): + sys.meta_path.insert(0, Finder()) + import sgl_kernel + import sglang.kernels.ops.moe as moe_ops + from sglang.kernels.ops.moe.fused_moe_triton_kernels import moe_sum_reduce_triton + from sglang.kernels.spec import KernelBackend + + sgl_kernel.moe_sum_reduce = moe_sum_reduce_triton + lookup = moe_ops.get_kernel + moe_ops.get_kernel = lambda op, backend: lookup( + op, KernelBackend.JIT if op == "moe.moe_align_block_size" else backend + ) + + +def _sglang(w, deterministic: bool): + import sglang + + _sglang_shims() + from sglang.srt.layers.moe.moe_runner.base import MoeRunnerConfig + from sglang.srt.layers.moe.moe_runner.triton_utils import fused_moe as fm + from sglang.srt.layers.moe.moe_runner.triton_utils import fused_moe_triton_config as fc + from sglang.srt.layers.moe.topk import StandardTopKOutput, fused_topk_torch_native + + class Bag: + def __init__(self, **values): + self.__dict__.update(values) + + def __getattr__(self, name): + return False + + # SGLang reads these switches from its published server config; publishing + # needs a full server (and sgl_kernel). Only the deterministic switch matters. + settings = Bag(deterministic=Bag(enable_deterministic_inference=deterministic), moe=Bag()) + from sglang.srt.batch_invariant_ops import batch_invariant_ops as bio + + def linear(x, weight): + # Deterministic mode: what enable_batch_invariant_mode() installs for aten::mm, + # called directly so the override does not leak into other candidates. + return bio.mm_batch_invariant(x, weight.t()) if deterministic else F.linear(x, weight) + + config = MoeRunnerConfig( + num_experts=EXPERTS, + num_local_experts=EXPERTS, + hidden_size=HIDDEN, + intermediate_size_per_partition=WIDTH, + top_k=TOPK, + params_dtype=torch.bfloat16, + inplace=False, + ) + + def set_mode(): + fm.get_exec = fc.get_exec = lambda: settings + fm.is_batch_invariant_mode_enabled = lambda: deterministic + # One process, no TP group: symmetric memory is disabled, the group unused. + fm.get_parallel = lambda: Bag(tp_group=None) + fm.is_allocation_symmetric = lambda: False + + def route(x): + set_mode() + logits = linear(x, w["router"]) + weights, ids = fused_topk_torch_native(x, logits, TOPK, renormalize=True)[:2] + return ids.long(), weights + + def fwd(x): + with torch.no_grad(): + ids, weights = route(x) + topk = StandardTopKOutput(weights, ids.int(), None) + return fm.fused_experts(x, w["gate_up"], w["down"], topk, config) + + mode = "deterministic inference" if deterministic else "default" + return { + "name": f"SGLang fused_moe (Triton), {mode}", + "source": f"sglang {sglang.__version__} moe_runner/triton_utils", + "route": route, + "fwd": fwd, + } + + +def candidates(w) -> list[dict[str, Any]]: + return [ + _guard("rl_kernel_cuda", lambda: _rl_kernel(w)), + _guard("hf_transformers", lambda: _hf(w)), + _guard("vllm_bi0", lambda: _vllm(w, False)), + _guard("vllm_bi1", lambda: _vllm(w, True)), + _guard("flashinfer_cutlass", lambda: _flashinfer(w)), + _guard("megatron_te", lambda: _megatron(w)), + _guard("sglang_triton", lambda: _sglang(w, False)), + _guard("sglang_deterministic", lambda: _sglang(w, True)), + ] + + +# --------------------------------------------------------------------------- # +# Checks +# --------------------------------------------------------------------------- # + + +def _embedded(x: torch.Tensor, size: int): + """Probe rows first in a batch of ``size``, and the same probe rows last.""" + first = x[:size] + last = x[:size].clone() + last[size - PROBE :] = x[:PROBE] + return first, last + + +def _rows_bi(fn, x) -> dict[str, bool]: + alone = fn(x[:PROBE]) + result = {} + for size in BI_SIZES: + first, last = _embedded(x, size) + a, b = fn(first), fn(last) + if isinstance(alone, tuple): + ok = all( + _bitwise(p[:PROBE], q) and _bitwise(r[size - PROBE :], q) + for p, r, q in zip(a, b, alone) + ) + else: + ok = _bitwise(a[:PROBE], alone) and _bitwise(b[size - PROBE :], alone) + result[str(size)] = bool(ok) + return result + + +def has_backward(cand) -> bool: + return "graph" in cand or "grads" in cand + + +def cand_grads(cand, rows, dy_rows): + """``(dx, d gate_up, d down)`` of one backward.""" + if "grads" in cand: + return cand["grads"](rows, dy_rows) + y, leaves = cand["graph"](rows) + return torch.autograd.grad(y, leaves, dy_rows) + + +def _grad_bi(cand, x) -> dict[str, Any]: + """dx of the probe rows, and dW with zero-gradient rows appended.""" + g = torch.Generator(device="cuda").manual_seed(7) + dy = torch.randn(x.shape, device="cuda", generator=g).to(torch.bfloat16) + + def grads(rows, dy_rows): + return cand_grads(cand, rows, dy_rows) + + alone = grads(x[:PROBE], dy[:PROBE]) + dx, dw = {}, {} + for size in BI_SIZES: + full = grads(x[:size], dy[:size]) + dx[str(size)] = bool(_bitwise(full[0][:PROBE], alone[0])) + padded = dy[:size].clone() + padded[PROBE:] = 0 + masked = grads(x[:size], padded) + dw[str(size)] = bool(all(_bitwise(m, a) for m, a in zip(masked[1:], alone[1:]))) + return {"dx_rows_bitwise": dx, "dweight_zero_rows_bitwise": dw} + + +def _accuracy(cand, x, w) -> dict[str, Any]: + ref, ref_ids = fp64_reference(x, w) + ids, _ = cand["route"](x) + same = ids.long().sort(-1).values == ref_ids.sort(-1).values + out = cand["fwd"](x) + return { + "rel_l2_vs_fp64": _rel(out, ref), + "max_abs_vs_fp64": float((out.double() - ref).abs().max()), + "tokens_with_different_expert_set": int((~same.all(-1)).sum()), + "tokens": int(x.shape[0]), + } + + +def _one(cand, x, w) -> dict[str, Any]: + if "unavailable" in cand: + return cand + out = {"key": cand["key"], "name": cand["name"], "source": cand["source"]} + try: + out["route_rows_bitwise"] = _rows_bi(cand["route"], x) + out["output_rows_bitwise"] = _rows_bi(cand["fwd"], x) + out["repeatable"] = bool(_bitwise(cand["fwd"](x[:256]), cand["fwd"](x[:256]))) + if has_backward(cand): + out.update(_grad_bi(cand, x)) + out["accuracy"] = _accuracy(cand, x[:256], w) + except Exception as exc: # noqa: BLE001 - a crash is a result, not a harness failure + out["failed"] = f"{type(exc).__name__}: {str(exc)[:300]}" + out["batch_invariant"] = bool( + "failed" not in out + and all(out["route_rows_bitwise"].values()) + and all(out["output_rows_bitwise"].values()) + and all(out.get("dx_rows_bitwise", {"": True}).values()) + and all(out.get("dweight_zero_rows_bitwise", {"": True}).values()) + ) + return out + + +def _latency(cands, tokens) -> dict[str, Any]: + ready = [c for c in cands if "unavailable" not in c] + forward = {} + for count in tokens: + x = make_tokens(count, seed=100 + count) + calls = {} + for cand in ready: + try: + cand["fwd"](x) + calls[cand["key"]] = lambda c=cand: c["fwd"](x) + except Exception: # noqa: BLE001 - recorded by the BI section + continue + forward[str(count)] = time_interleaved(calls) + backward = {} + for count in BACKWARD_TOKENS: + x = make_tokens(count, seed=200 + count) + dy = torch.randn_like(x) + calls = {} + for cand in ready: + if not has_backward(cand): + continue + + def step(c=cand): + cand_grads(c, x, dy) + + calls[cand["key"]] = step + backward[str(count)] = time_interleaved(calls, warmup=2, iters=10) + return {"forward_us": forward, "forward_plus_backward_us": backward} + + +def moe_report(only=None) -> dict[str, Any]: + """The report for every candidate, or only for the keys in ``only``. + + Some candidates need another Python environment (SGLang's pinned torch ABI, + Megatron's training stack); run each environment with ``only`` and merge. + """ + torch.manual_seed(0) + w = make_weights() + x = make_tokens(max(BI_SIZES), seed=1) + keys = [ + "rl_kernel_cuda", + "hf_transformers", + "vllm_bi0", + "vllm_bi1", + "flashinfer_cutlass", + "megatron_te", + "sglang_triton", + "sglang_deterministic", + ] + if only is not None and set(only) - set(keys): + raise ValueError(f"Unknown candidates: {sorted(set(only) - set(keys))}") + cands = [c for c in candidates(w) if only is None or c["key"] in only] + return { + "op": "qwen3_next_routed_moe", + "shape": {"hidden": HIDDEN, "experts": EXPERTS, "top_k": TOPK, "expert_width": WIDTH}, + "probe_rows": PROBE, + "candidates": [_one(c, x, w) for c in cands], + "latency": _latency(cands, PERF_TOKENS), + } diff --git a/rl_engine/validation/models/qwen3_next_norm_manifest.json b/rl_engine/validation/models/qwen3_next_norm_manifest.json new file mode 100644 index 000000000..9cf5977ef --- /dev/null +++ b/rl_engine/validation/models/qwen3_next_norm_manifest.json @@ -0,0 +1,759 @@ +{ + "version": "1.0", + "workload_id": "qwen3-next-80b-a3b-norm-c3-c4-v1", + "seed": 20260812, + "model_identity": { + "model_id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "revision": "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7", + "config_fingerprint": { + "num_hidden_layers": 48, + "hidden_size": 2048, + "intermediate_size": 5120, + "num_attention_heads": 16, + "num_key_value_heads": 2, + "head_dim": 256, + "vocab_size": 151936, + "linear_key_head_dim": 128, + "linear_value_head_dim": 128, + "linear_num_key_heads": 16, + "linear_num_value_heads": 32, + "num_experts": 512, + "num_experts_per_tok": 10 + }, + "exit_forbids_architecture_shrink": true, + "weight_snapshot": { + "pin_method": "revision-and-sha256", + "total_size_bytes": 162649725440, + "index_file": "model.safetensors.index.json", + "index_sha256": "0e5274f538d750abdd7fd55a36bad64100f9e881d59c65f6a59f364d2f8b6dd7", + "content_hash_algorithm": "sha256-of-sorted-shard-records-v1", + "content_hash": "00a6a3b5573ccbac2e01fadb673c2cd7bca172d40ddd73f95ed7afa5cbdb9dcd", + "shards": [ + { + "filename": "model-00001-of-00041.safetensors", + "size_bytes": 3999619256, + "sha256": "d8908fd48650169854b5ed815cb01bfc1741152cc58795ec99188862c6a29e11" + }, + { + "filename": "model-00002-of-00041.safetensors", + "size_bytes": 3999841784, + "sha256": "c753c9bfaca220781d4030c3a99e69b4a256434c9d6ec223f5147edc265289df" + }, + { + "filename": "model-00003-of-00041.safetensors", + "size_bytes": 3999515584, + "sha256": "51aaa14dd50c5ab90c363227bfb1ac51182118f588e0141dcaadda012548407c" + }, + { + "filename": "model-00004-of-00041.safetensors", + "size_bytes": 3999842000, + "sha256": "82a33096134fb6e7751a423f142e79b1bbe89f45242b75397c2d7170fffa75bd" + }, + { + "filename": "model-00005-of-00041.safetensors", + "size_bytes": 3999842208, + "sha256": "41abda7bf93f27c36cb28382114f5b33defa6dbfd154abb6886a6fec20f9e479" + }, + { + "filename": "model-00006-of-00041.safetensors", + "size_bytes": 3999853216, + "sha256": "a7794475040ebd62c9a1f9c94c17e7c600873e14fcabc656b32faea09bc7fd2d" + }, + { + "filename": "model-00007-of-00041.safetensors", + "size_bytes": 3999841912, + "sha256": "64d7e90d00ce15cc8bbf7677ad07bf3cffc9e90a1b777e3334fa15ffea219d6b" + }, + { + "filename": "model-00008-of-00041.safetensors", + "size_bytes": 3999842000, + "sha256": "9ace9b99e71490d619656956d457744f727647b3f36fa3d801798a5156599d35" + }, + { + "filename": "model-00009-of-00041.safetensors", + "size_bytes": 3999843192, + "sha256": "5b1b374c9e6100077c446a293566c1f644475c94739ab08b7fa26ba847110216" + }, + { + "filename": "model-00010-of-00041.safetensors", + "size_bytes": 3999517808, + "sha256": "38e51dc850a39c325324e6ddd23347e6e3e76cba1341aeef2e1f260ca2cb9f49" + }, + { + "filename": "model-00011-of-00041.safetensors", + "size_bytes": 4000181296, + "sha256": "c06719dc79fbbc796b8751ccbb29c8ecbdb686de9f89e3c741b5bbfec203cf0c" + }, + { + "filename": "model-00012-of-00041.safetensors", + "size_bytes": 3999843880, + "sha256": "349036c3e3f6a8645af47906dae7272bd5352f822a3c354a16ef4084b3555679" + }, + { + "filename": "model-00013-of-00041.safetensors", + "size_bytes": 3999517472, + "sha256": "bfab17d1535ef23e99e54ff3156ce1456aa5f0a4a93b281a7adb9d8b921dc829" + }, + { + "filename": "model-00014-of-00041.safetensors", + "size_bytes": 3999843984, + "sha256": "318d10df78f1647189941884acc01616a6a78d5d45d74ea30955be7f509c580a" + }, + { + "filename": "model-00015-of-00041.safetensors", + "size_bytes": 4000181736, + "sha256": "aa3400abde789ecca625b8cea37aa31232bf6696923f10981d028518a2393173" + }, + { + "filename": "model-00016-of-00041.safetensors", + "size_bytes": 3999517256, + "sha256": "3776700f68222f0174bb14fea8480da41d928a1bfd6b5317c4fc2b14006d506e" + }, + { + "filename": "model-00017-of-00041.safetensors", + "size_bytes": 3999843880, + "sha256": "052726cd55224d3d217dac93eaed060215b8029afb44861c0d927d87c6a046ab" + }, + { + "filename": "model-00018-of-00041.safetensors", + "size_bytes": 3999843880, + "sha256": "dd1b8d843e0013ed3beb6ba7fc36dc4b1f2df5d71b40520f82f369cd8fce5cba" + }, + { + "filename": "model-00019-of-00041.safetensors", + "size_bytes": 3999844096, + "sha256": "bfe5489c61334f9ce9bc6b369c3edf44420d7f585c6438f3afb98a120b26e6f3" + }, + { + "filename": "model-00020-of-00041.safetensors", + "size_bytes": 3999855040, + "sha256": "eba3113cbd34304751e148502f314be5ceae6e7d830bd33f2c0cf3bb8dfb28c2" + }, + { + "filename": "model-00021-of-00041.safetensors", + "size_bytes": 3999843792, + "sha256": "9ddd72e8ada4480e86e4230639210df1039802db9f78537673c19117d2e69b95" + }, + { + "filename": "model-00022-of-00041.safetensors", + "size_bytes": 3999843880, + "sha256": "c6fc2bb1762d34b8db83fb11566e462c9166e132bb2bfcef45a33a4bd41c02db" + }, + { + "filename": "model-00023-of-00041.safetensors", + "size_bytes": 3999517464, + "sha256": "484bf8c327f7f7aaa20fbc4f6800d4aab7870749335b6f6bbfdb83570a1f66e2" + }, + { + "filename": "model-00024-of-00041.safetensors", + "size_bytes": 3999844264, + "sha256": "cfbb94709f5dac71ffe144ee3b9a976a49a2a9b9863caa29620fbc65820c2342" + }, + { + "filename": "model-00025-of-00041.safetensors", + "size_bytes": 4000181296, + "sha256": "b5799d19dcccfb17b108b5349900a4c42eb7bc241149cb7d1b38b48c707070cf" + }, + { + "filename": "model-00026-of-00041.safetensors", + "size_bytes": 3999517472, + "sha256": "98003819929196d2f6f05c42603e9124a7a7853f372089eed3ffbd0c244fbdac" + }, + { + "filename": "model-00027-of-00041.safetensors", + "size_bytes": 3999843880, + "sha256": "3d6b8b9d1c0c262cc8a63c41c3f75053ab8b31b6107130800718048da64b86db" + }, + { + "filename": "model-00028-of-00041.safetensors", + "size_bytes": 3999843984, + "sha256": "836d4a85cc72243c6caee2b6cf470cd598d6ab817e0685daf1128fd97bb133e3" + }, + { + "filename": "model-00029-of-00041.safetensors", + "size_bytes": 3999855320, + "sha256": "7b083d02c732458cfaaee8b0d1407626ad5ee10fc7eeed6b294b7d6853ac30e8" + }, + { + "filename": "model-00030-of-00041.safetensors", + "size_bytes": 3999843672, + "sha256": "e81006eeaa1152c67798640be46b710e87d44a307effca60cbdb7e9d1a3b268b" + }, + { + "filename": "model-00031-of-00041.safetensors", + "size_bytes": 3999843880, + "sha256": "4fd46dbc55ceefa6146a7687cd02d040087c58b0f7ea42c4cd7dc66b838f531c" + }, + { + "filename": "model-00032-of-00041.safetensors", + "size_bytes": 3999843880, + "sha256": "7edf6738b9bc204f0b39e9c7899515d1a1ed9d7d5f7c1cce32c981120c4f034d" + }, + { + "filename": "model-00033-of-00041.safetensors", + "size_bytes": 3999517688, + "sha256": "9f0f735e75e8d648b4b8d601a598d489fc4e4c7876da4f3406bf3bcc8990a181" + }, + { + "filename": "model-00034-of-00041.safetensors", + "size_bytes": 4000181496, + "sha256": "3499ba70dbb6a9acf87509c3b82c5790461a73f8d0d12f0e3699354f34dc02b7" + }, + { + "filename": "model-00035-of-00041.safetensors", + "size_bytes": 3999843792, + "sha256": "de04b5e39b9494b44becacf22fbe9c02890ef323a3dfe37640a2bfa80335504c" + }, + { + "filename": "model-00036-of-00041.safetensors", + "size_bytes": 3999517472, + "sha256": "3eddb88c62194513f94ef3b1c11577ad324fdcc21265ff7b11a4b50d50b03c5f" + }, + { + "filename": "model-00037-of-00041.safetensors", + "size_bytes": 3999843872, + "sha256": "01992493e00d45d5fec4b5989392f401c9ebe3e13973edaaf1973577e132ca11" + }, + { + "filename": "model-00038-of-00041.safetensors", + "size_bytes": 3999844264, + "sha256": "e328c6d2e5f2a42eb99a0335bde7aa4c42cbd72b88fb988d5a2c96ba6231e95e" + }, + { + "filename": "model-00039-of-00041.safetensors", + "size_bytes": 3999854888, + "sha256": "15063cd0a46af3fa37e74590534f62a81f1ede5340e7640713bf98f39f20961d" + }, + { + "filename": "model-00040-of-00041.safetensors", + "size_bytes": 3365572496, + "sha256": "e458c4f4345d7082e7063f381ee1962725f84c44d53a5b70afb77e601ff22017" + }, + { + "filename": "model-00041-of-00041.safetensors", + "size_bytes": 3301131296, + "sha256": "1f3ac4d828f7e08dd14eb4dc6f282139ae1fa0d894e43f247da2539d2ef43826" + } + ], + "weight_files_total_size_bytes": 162659161528 + } + }, + "chain_semantics": { + "execution_dtype": "bfloat16", + "reference_dtype": "float32", + "accumulation_dtype": "float32", + "temperature": 1.0, + "loss_reduction": "sum_over_active_tokens_then_optional_mean_by_active_count", + "logprob_selection": "selected_token_logprob_on_active_mask", + "active_token_policy": "active selected tokens only", + "aggregates": [ + "max_abs_dlogp", + "approx_kl0", + "clipfrac0" + ], + "clip_interval": [ + 0.8, + 1.2 + ], + "clip_interval_note": "Pinned for clipfrac0; must match C1 chain_logprob_aggregates.default_clip_interval unless an explicit contract revision changes both.", + "comparison_roles_source": "rl_engine/kernels/gtest/tolerance_contract.json", + "forbidden_comparison_roles": [ + "baseline", + "singleton_aggregate" + ], + "singleton_aggregate_note": "singleton_aggregate is a C2 execution/aggregation mode only. It must never populate comparison_lhs_role or comparison_rhs_role.", + "tf32_policy_ref": "rl_engine/kernels/gtest/tolerance_contract.json#/policy/tf32", + "tf32_note": "WS1 TF32 enable/disable is owned by the C1 contract; C2 gates must not introduce a private TF32 policy.", + "report_naming": { + "comparison_lhs_role": "from_c1_by_report_kind", + "comparison_rhs_role": "from_c1_by_report_kind", + "forbidden_in_reports": [ + "baseline", + "singleton_aggregate" + ], + "singleton_aggregate_is": "c2_execution_aggregation_mode_only", + "note": "C2 freezes naming rules; C3+ emit reports that must obey these roles." + }, + "backend_actual_semantics": { + "c2_representative_actual_source": "scripts/ws1_candidate_evidence.py runtime execution", + "full_model_runtime_observed_actual_owner": [ + "C3", + "C8", + "C10", + "C11" + ], + "note": "C2 executes every representative case and records runtime-observed actual backend/kernel provenance. Later children own full-model dispatch provenance." + } + }, + "stochastic_policy": { + "dropout": 0.0, + "attention_dropout": 0.0, + "sampling_in_logprob_parity": false, + "canonical_gate_uses_dropout_zero": true, + "rng_source": "manifest_seed_plus_logical_sample_token_identity", + "undeclared_randomness": "hard_fail", + "retained_stochastic_ops": [] + }, + "primary_matrix": { + "description": "Fixed #150 Batch \u00d7 Chunked-Prefill matrix prerequisite workload cells.", + "N": 4, + "batch_size_bn": 4, + "sample_ids": [ + "s0", + "s1", + "s2", + "s3" + ], + "sample_order_fixed": true, + "batch_permutation": { + "enabled": true, + "permutation": [ + 2, + 0, + 3, + 1 + ], + "target_sample_position_in_bn": 0, + "note": "Permutation exercises layout invariance; logical compare restores sample_id order." + }, + "chunk": { + "chunk_size_tokens": 7, + "require_ge_2_chunks": true, + "non_divisible_case": true, + "note": "Longest primary seq_len=19 with chunk_size=7 yields chunks [7,7,5]." + }, + "cells": [ + { + "cell_id": "B1-singleton_aggregate/full", + "batch_mode": "singleton_aggregate", + "batch_size_per_run": 1, + "num_runs": 4, + "prefill_mode": "full", + "aggregation": { + "order": "sample_ids", + "denominator": "active_token_count_across_all_samples" + } + }, + { + "cell_id": "BN/full", + "batch_mode": "batched", + "batch_size_per_run": 4, + "num_runs": 1, + "prefill_mode": "full", + "aggregation": { + "order": "sample_ids", + "denominator": "active_token_count_across_all_samples" + } + }, + { + "cell_id": "B1-singleton_aggregate/chunked", + "batch_mode": "singleton_aggregate", + "batch_size_per_run": 1, + "num_runs": 4, + "prefill_mode": "chunked", + "aggregation": { + "order": "sample_ids", + "denominator": "active_token_count_across_all_samples" + } + }, + { + "cell_id": "BN/chunked", + "batch_mode": "batched", + "batch_size_per_run": 4, + "num_runs": 1, + "prefill_mode": "chunked", + "aggregation": { + "order": "sample_ids", + "denominator": "active_token_count_across_all_samples" + } + } + ] + }, + "fixtures": { + "prompt_template": "ws1_fixed_token_fixture", + "dtype_for_token_tensors": "int64", + "position_ids": { + "basis": "logical_zero_based_per_sample", + "reset_after_pack_boundary": true + }, + "attention_mask": { + "active_value": 1, + "padding_value": 0, + "causal": true + }, + "primary_seq_len": 19, + "primary_prompt_len": 8, + "short_seq_len": 8, + "long_seq_len": 32, + "varlen_seq_lens": [ + 11, + 16, + 13, + 19 + ], + "padding": { + "modes": [ + "right", + "left" + ], + "pad_token_id": 151643, + "primary_padded_len": 20 + }, + "packing": { + "status": "supported", + "implementation": "rl_engine.kernels.ops.pytorch.packing.pack.NativePackOp", + "packed_fixture": { + "sample_order": [ + "s0", + "s1", + "s2", + "s3" + ], + "segment_lengths": [ + 11, + 16, + 13, + 19 + ], + "total_tokens": 59, + "restore_key": [ + "sample_id", + "token_position" + ] + } + }, + "loss_mask": { + "prompt_tokens_active": false, + "completion_tokens_active": true + }, + "samples": [ + { + "sample_id": "s0", + "seq_len": 11, + "prompt_len": 8, + "token_ids": [ + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 200, + 201, + 202 + ] + }, + { + "sample_id": "s1", + "seq_len": 16, + "prompt_len": 8, + "token_ids": [ + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217 + ] + }, + { + "sample_id": "s2", + "seq_len": 13, + "prompt_len": 8, + "token_ids": [ + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 220, + 221, + 222, + 223, + 224 + ] + }, + { + "sample_id": "s3", + "seq_len": 19, + "prompt_len": 8, + "token_ids": [ + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ] + } + ], + "short_full_model_fixture": { + "fixture_id": "short_full_model_seq8", + "seq_len": 8, + "prompt_len": 4, + "token_ids": [ + 310, + 311, + 312, + 313, + 410, + 411, + 412, + 413 + ], + "note": "Shorter sequence on full architecture+weights only; never shrinks layers/hidden/heads/vocab.", + "candidate_case_ids": [ + "short_full_model_seq8_qwen3_next_rms_norm", + "short_full_model_seq8_rms_norm_gated" + ] + }, + "long_full_model_fixture": { + "fixture_id": "long_full_model_seq32", + "seq_len": 32, + "prompt_len": 16, + "token_ids": [ + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615 + ], + "note": "Long fixed sequence on the same full architecture and pinned weight snapshot.", + "candidate_case_ids": [ + "long_full_model_seq32_qwen3_next_rms_norm", + "long_full_model_seq32_rms_norm_gated" + ] + }, + "representative_full_model_fixture": { + "fixture_id": "rep_full_model_seq16", + "seq_len": 16, + "prompt_len": 8, + "sample_ids": [ + "s0", + "s1", + "s2", + "s3" + ], + "note": "Primary variable-length matrix fixture; full architecture+weights.", + "candidate_case_ids": [ + "rep_full_model_seq16_qwen3_next_rms_norm", + "rep_full_model_seq16_rms_norm_gated" + ] + }, + "prompt_lens": [ + 8, + 8, + 8, + 8 + ], + "completion_lens": [ + 3, + 8, + 5, + 11 + ], + "max_completion_len": 11 + }, + "logical_identity": { + "key": [ + "sample_id", + "token_position" + ], + "token_position_basis": "logical_unpadded_index_in_sample", + "restore_before_compare_after": [ + "pad", + "pack", + "chunk", + "batch_permute" + ], + "gradient_singleton_aggregate": { + "definition": "N independent B=1 runs of the same N logical samples, aggregated with fixed sample order and active-token denominator", + "compare_to": "single B=N run of the same logical sample/token multiset", + "forbid_different_sample_sets": true + } + }, + "capabilities": { + "required_chain_ops": [ + { + "op": "qwen3_next_rms_norm", + "status": "required" + }, + { + "op": "rms_norm_gated", + "status": "required" + } + ], + "operator_spec_map": { + "qwen3_next_rms_norm": "qwen3_next_rms_norm", + "rms_norm_gated": "rms_norm_gated" + } + }, + "backend_profiles": { + "cuda_bf16": { + "backend_family": "cuda", + "execution_dtype": "bfloat16", + "required_nodes": [ + { + "node": "qwen3_next_rms_norm", + "status": "declared", + "expected_backend_id": "cuda", + "expected_kernel_config_id": "rl_engine.kernels.ops.cuda.norm.rmsnorm.Qwen3NextRMSNormCudaOp", + "algorithm_property": "fixed row reduction and ordered FP32 parameter fold" + }, + { + "node": "rms_norm_gated", + "status": "declared", + "expected_backend_id": "cuda", + "expected_kernel_config_id": "rl_engine.kernels.ops.cuda.norm.rmsnorm.Qwen3NextRMSNormGatedCudaOp", + "algorithm_property": "fixed row reduction and ordered FP32 parameter fold" + } + ] + }, + "triton_cuda_bf16": { + "backend_family": "triton", + "execution_dtype": "bfloat16", + "required_nodes": [ + { + "node": "qwen3_next_rms_norm", + "status": "missing_required", + "expected_backend_id": null, + "expected_kernel_config_id": null, + "algorithm_property": "fixed row reduction and ordered FP32 parameter fold" + }, + { + "node": "rms_norm_gated", + "status": "missing_required", + "expected_backend_id": null, + "expected_kernel_config_id": null, + "algorithm_property": "fixed row reduction and ordered FP32 parameter fold" + } + ] + }, + "ascend_bf16": { + "backend_family": "ascend", + "execution_dtype": "bfloat16", + "required_nodes": [ + { + "node": "qwen3_next_rms_norm", + "status": "missing_required", + "expected_backend_id": null, + "expected_kernel_config_id": null, + "algorithm_property": "fixed row reduction and ordered FP32 parameter fold" + }, + { + "node": "rms_norm_gated", + "status": "missing_required", + "expected_backend_id": null, + "expected_kernel_config_id": null, + "algorithm_property": "fixed row reduction and ordered FP32 parameter fold" + } + ] + } + }, + "representative_cases": [ + { + "case_id": "short_full_model_seq8_qwen3_next_rms_norm", + "fixture_id": "short_full_model_seq8", + "operator_spec": "qwen3_next_rms_norm", + "hidden": 2048, + "architecture_identity": "qwen3_next_80b_a3b_norm_operators" + }, + { + "case_id": "short_full_model_seq8_rms_norm_gated", + "fixture_id": "short_full_model_seq8", + "operator_spec": "rms_norm_gated", + "hidden": 128, + "architecture_identity": "qwen3_next_80b_a3b_norm_operators" + }, + { + "case_id": "long_full_model_seq32_qwen3_next_rms_norm", + "fixture_id": "long_full_model_seq32", + "operator_spec": "qwen3_next_rms_norm", + "hidden": 2048, + "architecture_identity": "qwen3_next_80b_a3b_norm_operators" + }, + { + "case_id": "long_full_model_seq32_rms_norm_gated", + "fixture_id": "long_full_model_seq32", + "operator_spec": "rms_norm_gated", + "hidden": 128, + "architecture_identity": "qwen3_next_80b_a3b_norm_operators" + }, + { + "case_id": "rep_full_model_seq16_qwen3_next_rms_norm", + "fixture_id": "rep_full_model_seq16", + "operator_spec": "qwen3_next_rms_norm", + "hidden": 2048, + "architecture_identity": "qwen3_next_80b_a3b_norm_operators" + }, + { + "case_id": "rep_full_model_seq16_rms_norm_gated", + "fixture_id": "rep_full_model_seq16", + "operator_spec": "rms_norm_gated", + "hidden": 128, + "architecture_identity": "qwen3_next_80b_a3b_norm_operators" + } + ], + "fixture_identity_sha256": "3ac9490ffbb1486edac6ea509811fd4d5affbe880b208bd7d9b052b0ce418442", + "provenance_boundary": { + "scope": "Synthetic norm inputs at checkpoint dimensions; not checkpoint execution or model-level L2.", + "runtime_verified": false + }, + "scope": "qwen3_next_norm_operators", + "full_model_evidence": false +} diff --git a/rl_engine/validation/models/qwen3_next_operator_cases.json b/rl_engine/validation/models/qwen3_next_operator_cases.json new file mode 100644 index 000000000..101ad30f1 --- /dev/null +++ b/rl_engine/validation/models/qwen3_next_operator_cases.json @@ -0,0 +1,293 @@ +{ + "schema_version": 1, + "description": "Mandatory norm/core contracts; alternative-provider approximate comparisons are diagnostics only. Generated by tools/validation/models/qwen3_next_operator_cases.py; case changes require review before a frozen run.", + "suites": { + "norm": [ + "tests/models/qwen3_next/check_qwen3_next_norm_providers.py::test_custom_op_has_distinct_native_and_cuda_paths", + "tests/models/qwen3_next/check_qwen3_next_norm_providers.py::test_gdn_decode_provider_env_defaults_are_recorded", + "tests/models/qwen3_next/check_qwen3_next_norm_providers.py::test_our_gated_op_is_batch_invariant", + "tests/models/qwen3_next/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_cuda]", + "tests/models/qwen3_next/check_qwen3_next_norm_providers.py::test_vllm_gated_norm_is_batch_invariant[forward_native]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_bad_weight_shape_raises", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[16]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[1]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[2]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[32]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[48]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[64]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_batch_invariance_across_concurrency[8]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_batch_invariance_slice[128]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_batch_invariance_slice[2048]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_batch_invariance_with_padding", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_call_matches_forward", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[128]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_chunked_reduction_is_slice_invariant_on_device[2048]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_default_offset_preserves_plain_convention", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_backward_matches_autograd_golden", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[16]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[1]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[2]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[32]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[48]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[512]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[64]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_batch_invariance[8]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype1]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_dgate_keeps_signed_zero_weight[dtype2]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[1]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[512]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[64]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_dweight_is_batch_invariant[8]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_matches_golden_within_contract", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[sigmoid-dtype1]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_parameter_vjp_contributions_match_the_fold[silu-dtype1]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rejects_bad_activation", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rejects_mismatched_gate", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-0.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-sigmoid-1.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-0.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-128-silu-1.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-0.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-sigmoid-1.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-0.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-2048-silu-1.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-0.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-sigmoid-1.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-0.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[bf16-5120-silu-1.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-0.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-sigmoid-1.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-0.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-128-silu-1.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-0.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-sigmoid-1.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-0.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-2048-silu-1.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-0.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-sigmoid-1.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-0.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp16-5120-silu-1.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-0.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-sigmoid-1.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-0.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-128-silu-1.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-0.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-sigmoid-1.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-0.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-2048-silu-1.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-0.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-sigmoid-1.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-0.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel[fp32-5120-silu-1.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_activation", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_sigmoid_backward_uses_the_sigmoid_derivative", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype1]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_signed_zero_weight_is_preserved[dtype2]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_swish_is_an_alias_for_silu", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_unit_weight_is_plain_norm_times_silu", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_weight_offset_is_applied_in_fp32", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_wrapper_rejects_equal_numel_wrong_shape", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_gated_zero_gate_zeroes_output", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_offset_equals_explicit_fp32_weight", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_offset_is_not_folded_through_bfloat16", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-0.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape0-1.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-0.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype0-shape1-1.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-0.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape0-1.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-0.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_parameter_contributions_reproduce_backward[dtype1-shape1-1.0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype1]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_plain_signed_zero_is_preserved[dtype2]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_zero_centred_backward_is_offset_aware", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[16]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[1]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[2]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[32]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[48]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[512]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[64]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_zero_centred_batch_invariance[8]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_cuda_zero_centred_within_tolerance_of_golden", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_deterministic_repeat", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_dtype_paths[dtype0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_dtype_paths[dtype1]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_dtype_paths[dtype2]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_eps_inside_sqrt", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_gated_batch_invariance_slice", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedHFOp]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_gated_call_matches_forward[Qwen3NextRMSNormGatedOp]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_gated_conventions_diverge_in_low_precision", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_gated_cuda_op_rejects_bad_activation_at_construction", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_gated_extension_handles_empty_batch_and_nondefault_stream", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[dy_dtype]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[gate_dtype]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[rstd_dtype]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_dtype]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_gated_extension_rejects_invalid_tensor_contract[weight_shape]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_gated_hf_witness_low_precision[dtype1]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_gated_hf_witness_matches_hf_formula_fp32", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_gated_shape_mismatch_raises", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_gated_strict_low_precision[dtype1]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_gated_strict_matches_vllm_formula_fp32", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[128]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_matches_upstream_formula_fp32[2048]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype0]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_matches_upstream_formula_low_precision[dtype1]", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_offset_applied_in_fp32_not_folded_into_bf16", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_op_batch_invariance_on_device", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_plain_reference_is_unchanged_by_the_offset_plumbing", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_weight_offset_is_one", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_zero_centred_cuda_constructor_rejects_missing_extension", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_zero_centred_op_inherits_the_plain_reference", + "tests/models/qwen3_next/test_qwen3_next_norm.py::test_zero_weight_is_identity_scaling" + ], + "core": [ + "tests/models/qwen3_next/check_qwen3_next_attention.py::test_d256_backward_with_cached_prefix_matches_float64_formula", + "tests/models/qwen3_next/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[1024]", + "tests/models/qwen3_next/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[256]", + "tests/models/qwen3_next/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[64]", + "tests/models/qwen3_next/check_qwen3_next_attention.py::test_d256_full_chunk_decode_and_batch_are_raw_bit_equal[8]", + "tests/models/qwen3_next/check_qwen3_next_attention.py::test_d256_input_device_guard_and_nondefault_stream", + "tests/models/qwen3_next/check_qwen3_next_attention.py::test_native_backward_rejects_malformed_probability_and_gradient_buffers", + "tests/models/qwen3_next/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype0]", + "tests/models/qwen3_next/check_qwen3_next_batch_invariance.py::test_causal_conv1d_update_is_batch_invariant[state_dtype1]", + "tests/models/qwen3_next/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[0]", + "tests/models/qwen3_next/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[1]", + "tests/models/qwen3_next/check_qwen3_next_batch_invariance.py::test_chunk_metadata_partition_is_batch_invariant[2]", + "tests/models/qwen3_next/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype0]", + "tests/models/qwen3_next/check_qwen3_next_batch_invariance.py::test_packed_recurrent_decode_is_batch_invariant[state_dtype1]", + "tests/models/qwen3_next/check_qwen3_next_batch_invariance.py::test_target_inputs_do_not_depend_on_companions", + "tests/models/qwen3_next/check_qwen3_next_batch_invariance.py::test_triton_chunked_prefill_is_batch_invariant", + "tests/models/qwen3_next/check_qwen3_next_conv_bridge.py::test_chunked_and_reordered_sequences_match", + "tests/models/qwen3_next/check_qwen3_next_conv_bridge.py::test_empty_sequence_preserves_cache_and_gradients", + "tests/models/qwen3_next/check_qwen3_next_conv_bridge.py::test_response_gradient_reaches_prompt_and_convolution_weight", + "tests/models/qwen3_next/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths0]", + "tests/models/qwen3_next/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths1]", + "tests/models/qwen3_next/check_qwen3_next_conv_bridge.py::test_varlen_matches_repeated_decode_and_preserves_inputs[lengths2]", + "tests/models/qwen3_next/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-1]", + "tests/models/qwen3_next/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[1024-4]", + "tests/models/qwen3_next/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-1]", + "tests/models/qwen3_next/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[256-4]", + "tests/models/qwen3_next/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-1]", + "tests/models/qwen3_next/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[64-4]", + "tests/models/qwen3_next/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-1]", + "tests/models/qwen3_next/check_qwen3_next_core_matrix.py::test_full_chunked_reordered_shared_core[8-4]", + "tests/models/qwen3_next/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[1]", + "tests/models/qwen3_next/check_qwen3_next_core_matrix.py::test_shared_core_one_hundred_repetitions[4]", + "tests/models/qwen3_next/check_qwen3_next_core_matrix.py::test_variable_lengths_empty_and_mixed_step_match_independent_sequences", + "tests/models/qwen3_next/check_qwen3_next_forward.py::test_combine_has_fixed_route_order_and_differentiable_weights", + "tests/models/qwen3_next/check_qwen3_next_forward.py::test_full_vocabulary_logprob_entropy_modes_and_gradient", + "tests/models/qwen3_next/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-128]", + "tests/models/qwen3_next/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[1-512]", + "tests/models/qwen3_next/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-128]", + "tests/models/qwen3_next/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[13-512]", + "tests/models/qwen3_next/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-128]", + "tests/models/qwen3_next/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[300-512]", + "tests/models/qwen3_next/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-128]", + "tests/models/qwen3_next/check_qwen3_next_forward.py::test_grouped_experts_are_bitwise_the_per_expert_gemms[7-512]", + "tests/models/qwen3_next/check_qwen3_next_forward.py::test_grouped_experts_fail_closed_on_the_tensor_descriptor_path", + "tests/models/qwen3_next/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[128]", + "tests/models/qwen3_next/check_qwen3_next_forward.py::test_grouped_projection_is_bitwise_the_per_expert_gemm[512]", + "tests/models/qwen3_next/check_qwen3_next_forward.py::test_logprob_nan_rejected_before_comparison", + "tests/models/qwen3_next/check_qwen3_next_forward.py::test_moe_vjp_matches_independent_double_formula", + "tests/models/qwen3_next/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[1024-2048]", + "tests/models/qwen3_next/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[128-2048]", + "tests/models/qwen3_next/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-16]", + "tests/models/qwen3_next/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-256]", + "tests/models/qwen3_next/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-3072]", + "tests/models/qwen3_next/check_qwen3_next_forward.py::test_qwen_linear_shapes_batch_chunk_and_reorder[2048-37984]", + "tests/models/qwen3_next/check_qwen3_next_forward.py::test_qwen_moe_actual_tp4_shapes_and_independent_training_forward", + "tests/models/qwen3_next/check_qwen3_next_forward.py::test_route_weights_are_batch_invariant", + "tests/models/qwen3_next/check_qwen3_next_forward.py::test_shared_linear_vjp_and_empty_tokens", + "tests/models/qwen3_next/check_qwen3_next_forward.py::test_stable_route_tie_boundary_and_router_gradient", + "tests/models/qwen3_next/check_qwen3_next_gdn_bridge.py::test_bridge_backward_matches_recomputed_recurrence_vjp", + "tests/models/qwen3_next/check_qwen3_next_gdn_bridge.py::test_bridge_forward_is_provider_exact_and_does_not_mutate_inputs", + "tests/models/qwen3_next/check_qwen3_next_gdn_bridge.py::test_bridge_keeps_prompt_state_gradient_through_response", + "tests/models/qwen3_next/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[False]", + "tests/models/qwen3_next/check_qwen3_next_gdn_bridge.py::test_inactive_state_is_identity_in_backward[True]", + "tests/models/qwen3_next/check_qwen3_next_gdn_bridge.py::test_initial_state_vjp_matches_provider_directional_difference", + "tests/models/qwen3_next/check_qwen3_next_gdn_sequence.py::test_1024_token_chunk_continuation_is_bitwise_exact", + "tests/models/qwen3_next/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad0]", + "tests/models/qwen3_next/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad1]", + "tests/models/qwen3_next/check_qwen3_next_gdn_sequence.py::test_bad_packing_is_rejected[bad2]", + "tests/models/qwen3_next/check_qwen3_next_gdn_sequence.py::test_chunk_boundary_retains_prompt_and_initial_state_gradients", + "tests/models/qwen3_next/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths0]", + "tests/models/qwen3_next/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths1]", + "tests/models/qwen3_next/check_qwen3_next_gdn_sequence.py::test_packed_matches_independent_sequences_and_reordering[lengths2]", + "tests/models/qwen3_next/check_qwen3_next_gdn_sequence.py::test_reserved_and_duplicate_slots_are_rejected", + "tests/models/qwen3_next/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-1]", + "tests/models/qwen3_next/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[1024-4]", + "tests/models/qwen3_next/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-1]", + "tests/models/qwen3_next/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[65-4]", + "tests/models/qwen3_next/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-1]", + "tests/models/qwen3_next/check_qwen3_next_paged_attention.py::test_paged_attention_full_chunk_reorder_and_cache_bits[8-4]", + "tests/models/qwen3_next/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots0]", + "tests/models/qwen3_next/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots1]", + "tests/models/qwen3_next/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots2]", + "tests/models/qwen3_next/check_qwen3_next_paged_attention.py::test_paged_attention_invalid_indices_do_not_mutate_cache[bad_slots3]", + "tests/models/qwen3_next/check_qwen3_next_shared_core.py::test_independent_training_forward_matches_inference_and_retains_gradients", + "tests/models/qwen3_next/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[1024]", + "tests/models/qwen3_next/check_qwen3_next_shared_core.py::test_shared_core_chunk_and_decode_state_match[8]", + "tests/models/qwen3_next/check_qwen3_next_shared_core.py::test_unimplemented_provider_profile_is_rejected" + ], + "diagnostics": [ + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_bf16_state_rounding_stays_within_fixed_fixture_bound", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_conv_dim_first_false_matches_the_transposed_layout", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_conv_forward_fp32_and_call_entry_points", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_conv_golden_is_batch_invariant[False-None-state_dtype0]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_conv_golden_is_batch_invariant[False-None-state_dtype1]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_conv_golden_is_batch_invariant[False-silu-state_dtype0]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_conv_golden_is_batch_invariant[False-silu-state_dtype1]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_conv_golden_is_batch_invariant[True-None-state_dtype0]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_conv_golden_is_batch_invariant[True-None-state_dtype1]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_conv_golden_is_batch_invariant[True-silu-state_dtype0]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_conv_golden_is_batch_invariant[True-silu-state_dtype1]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_conv_null_block_id_is_skipped", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_conv_output_bf16_cache_matches_rounded_product_path[17]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_conv_output_bf16_cache_matches_rounded_product_path[1]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_conv_output_matches_provider_with_fp32_cache[17]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_conv_output_matches_provider_with_fp32_cache[1]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_conv_output_matches_provider_with_fp32_cache[4]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_conv_output_matches_provider_with_fp32_cache[64]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_conv_provider_preserves_bf16_product_cancellation", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_conv_rejects_unknown_activation_and_bad_shapes", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_conv_state_update_is_bitwise_exact[17]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_conv_state_update_is_bitwise_exact[1]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_conv_state_update_is_bitwise_exact[4]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_conv_state_update_is_bitwise_exact[64]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_golden_is_batch_invariant[state_dtype0]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_golden_is_batch_invariant[state_dtype1]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_golden_matches_packed_decode_provider[bf16-17]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_golden_matches_packed_decode_provider[bf16-1]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_golden_matches_packed_decode_provider[bf16-4]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_golden_matches_packed_decode_provider[bf16-64]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_golden_matches_packed_decode_provider[fp32-17]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_golden_matches_packed_decode_provider[fp32-1]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_golden_matches_packed_decode_provider[fp32-4]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_golden_matches_packed_decode_provider[fp32-64]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_null_block_id_is_skipped_by_both", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_recurrent_call_matches_forward", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_recurrent_forward_fp32_widens_the_state[state_dtype0]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_recurrent_forward_fp32_widens_the_state[state_dtype1]", + "tests/models/qwen3_next/check_gdn_recurrent_golden.py::test_recurrent_without_in_kernel_l2norm_differs", + "tests/models/qwen3_next/check_qwen3_next_batch_invariance.py::test_flashinfer_chunked_prefill_deviation_stays_rounding_scale", + "tests/models/qwen3_next/check_qwen3_next_batch_invariance.py::test_triton_chunked_prefill_split_matches_one_pass[100]", + "tests/models/qwen3_next/check_qwen3_next_batch_invariance.py::test_triton_chunked_prefill_split_matches_one_pass[128]", + "tests/models/qwen3_next/check_qwen3_next_batch_invariance.py::test_triton_chunked_prefill_split_matches_one_pass[192]", + "tests/models/qwen3_next/check_qwen3_next_batch_invariance.py::test_triton_chunked_prefill_split_matches_one_pass[64]", + "tests/models/qwen3_next/check_qwen3_next_norm_providers.py::test_ours_tracks_each_vllm_path_within_bounds[forward_cuda]", + "tests/models/qwen3_next/check_qwen3_next_norm_providers.py::test_ours_tracks_each_vllm_path_within_bounds[forward_native]", + "tests/models/qwen3_next/check_qwen3_next_norm_providers.py::test_vllm_paths_disagree_only_within_bounds[dtype0-0.02-0.05]", + "tests/models/qwen3_next/check_qwen3_next_norm_providers.py::test_vllm_paths_disagree_only_within_bounds[dtype1-1e-05-1.0]" + ] + } +} diff --git a/rl_engine/validation/models/qwen3_next_rl_fixture.py b/rl_engine/validation/models/qwen3_next_rl_fixture.py new file mode 100644 index 000000000..7942c7801 --- /dev/null +++ b/rl_engine/validation/models/qwen3_next_rl_fixture.py @@ -0,0 +1,150 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Frozen inputs for real VIME policy-loss/optimizer recovery acceptance.""" + +import hashlib +import json +from dataclasses import dataclass + +import torch + +from rl_engine.validation.common.tensor_identity import assert_tensor_bitwise_equal + +POLICY_SETTINGS = { + "loss_type": "policy_loss", + "advantage_estimator": "grpo", + "use_rollout_logprobs": True, + "disable_compute_advantages_and_returns": True, + "normalize_advantages": False, + "eps_clip": 0.2, + "eps_clip_high": 0.2, + "eps_clip_c": None, + "entropy_coef": 0.0, + "kl_coef": 0.0, + "kl_loss_coef": 0.0, + "opd_kl_coef": 0.0, + "use_kl_loss": False, + "use_tis": False, + "use_opsm": False, + "get_mismatch_metrics": False, + "custom_pg_loss_reducer_function_path": None, + "global_batch_size": 4, + "micro_batch_size": 1, + "use_dynamic_batch_size": False, + "rollout_temperature": 1.0, + "rollout_top_p": 1.0, + "rollout_top_k": -1, + "seed": 1234, +} +OPTIMIZER_SETTINGS = { + "optimizer": "adam", + "lr": 1e-6, + "lr_decay_style": "constant", + "weight_decay": 0.1, + "adam_beta1": 0.9, + "adam_beta2": 0.98, + "adam_eps": 1e-8, + "clip_grad": 1.0, + "optimizer_cpu_offload": True, + "optimizer_offload_fraction": 1.0, + "overlap_cpu_optimizer_d2h_h2d": False, + "use_precision_aware_optimizer": True, + "use_distributed_optimizer": True, + "use_stateless_adam": False, + "no_save_optim": False, + "no_save_rng": False, +} + + +def _tensor_digest(tensor): + value = tensor.detach().cpu().contiguous() + digest = hashlib.sha256() + digest.update(str((str(value.dtype), tuple(value.shape))).encode()) + digest.update(value.reshape(-1).view(torch.uint8).numpy().tobytes()) + return digest.hexdigest() + + +@dataclass(frozen=True) +class PolicyFixture: + tokens: torch.Tensor + old_logprobs: torch.Tensor + baseline_identity: str + content_sha256: str + + @classmethod + def freeze(cls, tokens, old_logprobs, *, baseline_identity): + if tokens.shape != (4, 80) or tokens.dtype != torch.int64: + raise ValueError("Policy fixture requires four int64 prompt64+response16 samples") + if old_logprobs.shape != (4, 16) or old_logprobs.dtype != torch.float32: + raise ValueError("Baseline selected logprobs must be FP32 [4, 16]") + if not torch.isfinite(old_logprobs).all() or old_logprobs.requires_grad: + raise ValueError("Baseline logprobs must be finite, frozen rollout values") + if not baseline_identity or not isinstance(baseline_identity, str): + raise ValueError("A verified baseline run/content identity is required") + if bool(((tokens < 0) | (tokens >= 151936)).any()): + raise ValueError("Token ID is outside the official Qwen3-Next vocabulary") + if torch.unique(tokens, dim=0).shape[0] != 4: + raise ValueError("The four policy samples must be distinct") + tokens = tokens.detach().cpu().clone() + old_logprobs = old_logprobs.detach().cpu().clone() + digest = cls._identity(tokens, old_logprobs, baseline_identity) + return cls(tokens, old_logprobs, baseline_identity, digest) + + @staticmethod + def _identity(tokens, old_logprobs, baseline_identity): + payload = { + "tokens": _tensor_digest(tokens), + "old_logprobs": _tensor_digest(old_logprobs), + "baseline": baseline_identity, + "advantages": [1.0, -0.5, 0.75, -0.25], + "response_mask": [1] * 16, + "sample_order": [[0], [1], [2], [3]], + "policy": POLICY_SETTINGS, + "optimizer": OPTIMIZER_SETTINGS, + } + return hashlib.sha256(json.dumps(payload, sort_keys=True).encode()).hexdigest() + + def validate(self): + if ( + self._identity(self.tokens, self.old_logprobs, self.baseline_identity) + != self.content_sha256 + ): + raise ValueError("Frozen policy fixture was modified") + + def verify_initial_recompute(self, logprobs): + self.validate() + assert_tensor_bitwise_equal( + logprobs.cpu(), self.old_logprobs, name="baseline policy logprobs" + ) + + def batch(self, sample_ids, *, device): + """Produce native VIME loss fields; no rollout hidden/state tensors are used.""" + self.validate() + if not sample_ids or any(type(i) is not int or i not in range(4) for i in sample_ids): + raise ValueError("Policy sample IDs must be nonempty integers in [0, 4)") + if len(set(sample_ids)) != len(sample_ids): + raise ValueError("A microbatch cannot duplicate policy samples") + advantages = [1.0, -0.5, 0.75, -0.25] + return { + "unconcat_tokens": [self.tokens[i].to(device=device) for i in sample_ids], + "rollout_log_probs": [self.old_logprobs[i].to(device=device) for i in sample_ids], + "advantages": [ + torch.full((16,), advantages[i], dtype=torch.float32, device=device) + for i in sample_ids + ], + "loss_masks": [torch.ones(16, dtype=torch.int32, device=device) for _ in sample_ids], + "rollout_mask_sums": torch.full( + (len(sample_ids),), 16, dtype=torch.float32, device=device + ), + "total_lengths": [80] * len(sample_ids), + "response_lengths": [16] * len(sample_ids), + "partition": list(sample_ids), + } + + +def require_policy_configuration(args): + """Reject drift rather than changing an already constructed training configuration.""" + for name, expected in {**POLICY_SETTINGS, **OPTIMIZER_SETTINGS}.items(): + if not hasattr(args, name) or getattr(args, name) != expected: + raise ValueError(f"Policy acceptance requires {name}={expected!r}") diff --git a/rl_engine/validation/models/qwen3_next_workload.py b/rl_engine/validation/models/qwen3_next_workload.py new file mode 100644 index 000000000..ee56f90da --- /dev/null +++ b/rl_engine/validation/models/qwen3_next_workload.py @@ -0,0 +1,93 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Qwen3-Next norm-only C3/C4 workload, explicitly separate from the Dense chain.""" + +from collections.abc import Mapping +from typing import Any + +from rl_engine.config.workload import ( + WorkloadError, + _validate_backend_profiles, + _validate_fixtures, + _validate_logical_identity, + _validate_model_identity, + _validate_primary_matrix, + _validate_stochastic_policy, + manifest_identity_hash, +) + +MODEL_ID = "Qwen/Qwen3-Next-80B-A3B-Instruct" +REVISION = "9c7f2fbe84465e40164a94cc16cd30b6999b0cc7" +FINGERPRINT = { + "num_hidden_layers": 48, + "hidden_size": 2048, + "intermediate_size": 5120, + "num_attention_heads": 16, + "num_key_value_heads": 2, + "head_dim": 256, + "vocab_size": 151936, + "linear_key_head_dim": 128, + "linear_value_head_dim": 128, + "linear_num_key_heads": 16, + "linear_num_value_heads": 32, + "num_experts": 512, + "num_experts_per_tok": 10, +} +NORM_OPS = {"qwen3_next_rms_norm": 2048, "rms_norm_gated": 128} + + +def validate_norm_manifest(raw: Mapping[str, Any]) -> None: + identity = raw["model_identity"] + if identity["model_id"] != MODEL_ID or identity["revision"] != REVISION: + raise WorkloadError("Qwen3-Next norm workload requires the pinned official checkpoint") + _validate_model_identity(identity, fingerprint=FINGERPRINT, model_label="Qwen3-Next") + if ( + raw.get("scope") != "qwen3_next_norm_operators" + or raw.get("full_model_evidence") is not False + ): + raise WorkloadError("norm workload cannot claim full-model evidence") + _validate_stochastic_policy(raw["stochastic_policy"]) + _validate_primary_matrix(raw["primary_matrix"], raw["fixtures"]) + _validate_fixtures(raw["fixtures"], raw["primary_matrix"]) + _validate_logical_identity(raw["logical_identity"]) + caps = raw["capabilities"] + if {e["op"] for e in caps["required_chain_ops"]} != set(NORM_OPS): + raise WorkloadError("norm workload must contain exactly the two Qwen3-Next norms") + if any(e["status"] != "required" for e in caps["required_chain_ops"]): + raise WorkloadError("both norm operators are required") + _validate_backend_profiles(raw["backend_profiles"], caps) + cases = {case["case_id"]: case for case in raw["representative_cases"]} + if len(cases) != len(raw["representative_cases"]): + raise WorkloadError("duplicate norm case ID") + referenced = set() + for key in ( + "short_full_model_fixture", + "long_full_model_fixture", + "representative_full_model_fixture", + ): + fixture = raw["fixtures"][key] + for case_id in fixture["candidate_case_ids"]: + if case_id not in cases or cases[case_id]["fixture_id"] != fixture["fixture_id"]: + raise WorkloadError("norm case fixture binding mismatch") + referenced.add(case_id) + if referenced != set(cases): + raise WorkloadError("unreferenced norm case") + if {case["operator_spec"] for case in cases.values()} != set(NORM_OPS): + raise WorkloadError("representative cases must cover both norms") + for case in cases.values(): + if case["hidden"] != NORM_OPS[case["operator_spec"]]: + raise WorkloadError("norm case hidden dimension does not match checkpoint") + if case["architecture_identity"] != "qwen3_next_80b_a3b_norm_operators": + raise WorkloadError("norm cases cannot claim Dense or full-model architecture evidence") + if raw["fixture_identity_sha256"] != manifest_identity_hash(raw): + raise WorkloadError("Qwen3-Next fixture identity hash mismatch") + + +def validate_norm_dimensions(raw: Mapping[str, Any], op: str, hidden: int, head_dim: int) -> None: + if raw.get("scope") != "qwen3_next_norm_operators": + return + if op not in NORM_OPS or hidden != 2048 or head_dim != 128: + raise WorkloadError( + "Qwen3-Next norm gate requires its two norm ops, --hidden 2048 --head-dim 128" + ) diff --git a/rl_engine/validation/operators/gradient_adapters.py b/rl_engine/validation/operators/gradient_adapters.py index f22d80285..9831fb670 100644 --- a/rl_engine/validation/operators/gradient_adapters.py +++ b/rl_engine/validation/operators/gradient_adapters.py @@ -53,6 +53,7 @@ class GradientAdapterSpec: source_files: tuple[str, ...] shape_dependent_bwd_accum: str = "forbidden" atomic_add: str = "forbidden" + model_id: str | None = None @dataclass(frozen=True) @@ -115,6 +116,26 @@ def to_dict(self) -> dict[str, Any]: "csrc/cuda/norm/rmsnorm.cu", ), ), + "qwen3_next_rms_norm": GradientAdapterSpec( + op_name="qwen3_next_rms_norm", + chain_node="qwen3_next_rms_norm", + op_class="reduction", + spec_name="qwen3_next_rms_norm", + tensors=(_DX, _DWEIGHT), + requirement="required", + source_files=("rl_engine/backends/cuda/norm/rmsnorm.py", "csrc/cuda/norm/rmsnorm.cu"), + model_id="Qwen/Qwen3-Next-80B-A3B-Instruct", + ), + "rms_norm_gated": GradientAdapterSpec( + op_name="rms_norm_gated", + chain_node="rms_norm_gated", + op_class="reduction", + spec_name="rms_norm_gated", + tensors=(_DX, _DWEIGHT, _DGATE), + requirement="required", + source_files=("rl_engine/backends/cuda/norm/rmsnorm.py", "csrc/cuda/norm/rmsnorm.cu"), + model_id="Qwen/Qwen3-Next-80B-A3B-Instruct", + ), "qk_norm": GradientAdapterSpec( op_name="qk_norm", chain_node="qk_norm", @@ -291,18 +312,27 @@ def get_adapter(op_name: str) -> GradientAdapterSpec: raise KeyError(f"unknown gradient adapter {op_name!r}") from exc -def required_gradient_adapters() -> tuple[GradientAdapterSpec, ...]: +def required_gradient_adapters( + manifest: WS1Manifest | None = None, +) -> tuple[GradientAdapterSpec, ...]: + selected = manifest or load_manifest() + model_id = selected.model_identity["model_id"] + subset = selected.raw.get("scope") == "qwen3_next_norm_operators" return tuple( spec for spec in GRADIENT_ADAPTERS.values() if spec.requirement in ("required", "layout_supported") + and spec.model_id in (None, model_id) + and (not subset or spec.model_id == model_id) ) -def required_forward_adapters() -> tuple[GradientAdapterSpec, ...]: +def required_forward_adapters( + manifest: WS1Manifest | None = None, +) -> tuple[GradientAdapterSpec, ...]: """Same enumerable WS1 ops as C4; C3 reuses the registry, not a second list.""" - return required_gradient_adapters() + return required_gradient_adapters(manifest) @dataclass(frozen=True) @@ -620,9 +650,9 @@ def _row_parameters( head_dim: int = 16, ) -> dict[str, torch.Tensor]: """Config-independent trainable parameters, built in the execution dtype.""" - if op_name == "rms_norm": + if op_name in {"rms_norm", "qwen3_next_rms_norm"}: return {"weight": _shared_parameter((hidden,), device=device, dtype=dtype, offset=1)} - if op_name == "qk_norm": + if op_name in {"qk_norm", "rms_norm_gated"}: return {"weight": _shared_parameter((head_dim,), device=device, dtype=dtype, offset=1)} if op_name == "det_gemm": return {"b": _shared_parameter((hidden, hidden), device=device, dtype=dtype, offset=2)} @@ -663,12 +693,19 @@ def _row_inputs( """ n = len(keys) leading = (n,) - if op_name == "rms_norm": + if op_name in {"rms_norm", "qwen3_next_rms_norm"}: return { "x": _stack_rows(keys, leading, (hidden,), device=device, dtype=dtype), "weight": params["weight"], "eps": 1.0e-6, } + if op_name == "rms_norm_gated": + return { + "x": _stack_rows(keys, leading, (head_dim,), device=device, dtype=dtype), + "gate": _stack_rows(keys, leading, (head_dim,), device=device, dtype=dtype, offset=7), + "weight": params["weight"], + "eps": 1.0e-6, + } if op_name == "qk_norm": return { "x": _stack_rows(keys, leading, (head_dim,), device=device, dtype=dtype), @@ -1228,6 +1265,15 @@ def resolve_profile_candidate( manifest: WS1Manifest | None = None, ) -> dict[str, Any]: m = manifest if manifest is not None else load_manifest() + subset = m.raw.get("scope") == "qwen3_next_norm_operators" + if adapter.model_id not in (None, m.model_identity["model_id"]) or ( + subset and adapter.model_id != m.model_identity["model_id"] + ): + return { + "status": "absent_not_required", + "expected_backend_id": None, + "candidate_path": None, + } if adapter.requirement == "absent_not_required": return { "status": "absent_not_required", diff --git a/rl_engine/validation/operators/operator_inputs.py b/rl_engine/validation/operators/operator_inputs.py index ca3b7c120..1cd03d31f 100644 --- a/rl_engine/validation/operators/operator_inputs.py +++ b/rl_engine/validation/operators/operator_inputs.py @@ -26,6 +26,8 @@ def make_operator_inputs( ) -> dict[str, Any]: builders = { "rms_norm": _make_rms_norm_inputs, + "rms_norm_gated": _make_rms_norm_gated_inputs, + "qwen3_next_rms_norm": _make_rms_norm_inputs, "qk_norm": _make_qk_norm_inputs, "pack": _make_pack_inputs, "matmul": _make_matmul_inputs, @@ -54,6 +56,8 @@ def operator_shape_name(op_name: str, args: argparse.Namespace) -> str: vocab = _arg_int(args, "vocab", DEFAULT_VOCAB) names = { "rms_norm": f"{batch}x{seq}x{_normalized_dim(args)}", + "rms_norm_gated": f"{batch}x{seq}x{_arg_int(args, 'head_dim', DEFAULT_HEAD_DIM)}", + "qwen3_next_rms_norm": f"{batch}x{seq}x{_normalized_dim(args)}", "qk_norm": f"{batch}x{seq}x{_arg_int(args, 'n_heads', DEFAULT_N_HEADS)}x" f"{_arg_int(args, 'head_dim', DEFAULT_HEAD_DIM)}", "pack": f"{batch}x{seq}x{_normalized_dim(args)}", @@ -91,6 +95,25 @@ def _make_rms_norm_inputs( } +def _make_rms_norm_gated_inputs( + args: argparse.Namespace, dtype: torch.dtype, device: torch.device +) -> dict[str, Any]: + """Gated RMSNorm inputs at the GDN block's width. + + The gated norm normalizes over ``linear_value_head_dim`` (128 for + Qwen3-Next), not ``hidden_size``, so it follows ``head_dim`` rather than + ``normalized_dim``. + """ + batch, seq = _batch_seq(args) + head_dim = _arg_int(args, "head_dim", DEFAULT_HEAD_DIM) + return { + "x": _floating_tensor((batch, seq, head_dim), args, dtype, device, offset=0), + "weight": _floating_tensor((head_dim,), args, dtype, device, offset=1), + "gate": _floating_tensor((batch, seq, head_dim), args, dtype, device, offset=2), + "eps": _arg_float(args, "eps", DEFAULT_RMS_EPS), + } + + def _make_qk_norm_inputs( args: argparse.Namespace, dtype: torch.dtype, device: torch.device ) -> dict[str, Any]: diff --git a/rl_engine/validation/operators/operator_specs.py b/rl_engine/validation/operators/operator_specs.py index 2323f4787..7f17c369d 100644 --- a/rl_engine/validation/operators/operator_specs.py +++ b/rl_engine/validation/operators/operator_specs.py @@ -46,6 +46,30 @@ def _load_object(path: str) -> Any: }, grad_input_names=("x", "weight"), ), + "rms_norm_gated": OperatorSpec( + name="rms_norm_gated", + op_class="reduction", + gold_path=("rl_engine.reference.norm.qwen3_next_rms_norm.Qwen3NextRMSNormGatedOp"), + gold_method="forward_fp32", + candidate_paths={ + "pytorch": ("rl_engine.reference.norm.qwen3_next_rms_norm.Qwen3NextRMSNormGatedOp"), + "cuda": ("rl_engine.kernels.ops.cuda.norm.rmsnorm.Qwen3NextRMSNormGatedCudaOp"), + "cuda-sm90": ("rl_engine.kernels.ops.cuda.norm.rmsnorm.Qwen3NextRMSNormGatedCudaOp"), + }, + grad_input_names=("x", "weight", "gate"), + ), + "qwen3_next_rms_norm": OperatorSpec( + name="qwen3_next_rms_norm", + op_class="reduction", + gold_path=("rl_engine.reference.norm.qwen3_next_rms_norm.Qwen3NextRMSNormOp"), + gold_method="forward_fp32", + candidate_paths={ + "pytorch": ("rl_engine.reference.norm.qwen3_next_rms_norm.Qwen3NextRMSNormOp"), + "cuda": "rl_engine.kernels.ops.cuda.norm.rmsnorm.Qwen3NextRMSNormCudaOp", + "cuda-sm90": ("rl_engine.kernels.ops.cuda.norm.rmsnorm.Qwen3NextRMSNormCudaOp"), + }, + grad_input_names=("x", "weight"), + ), "qk_norm": OperatorSpec( name="qk_norm", op_class="reduction", diff --git a/tests/models/qwen3_next/__init__.py b/tests/models/qwen3_next/__init__.py new file mode 100644 index 000000000..988131360 --- /dev/null +++ b/tests/models/qwen3_next/__init__.py @@ -0,0 +1 @@ +# SPDX-License-Identifier: Apache-2.0 diff --git a/tests/models/qwen3_next/check_gdn_recurrent_golden.py b/tests/models/qwen3_next/check_gdn_recurrent_golden.py new file mode 100644 index 000000000..043df421a --- /dev/null +++ b/tests/models/qwen3_next/check_gdn_recurrent_golden.py @@ -0,0 +1,521 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""The GDN recurrent-step golden against the kernel vLLM actually runs (RFC #428 C6). + +Named ``check_`` rather than ``test_``, following ``tests/distributed/check_*.py``: +this module imports real vLLM. The integration isolation test +asserts ``vllm`` is absent from ``sys.modules`` -- an invariant any collected test +importing vLLM would break for the whole session. Run it explicitly: + + pytest tests/models/qwen3_next/check_gdn_recurrent_golden.py -v + +The provider here is ``fused_recurrent_gated_delta_rule_packed_decode``, not +``fused_sigmoid_gating_delta_rule_update``. A pure RL rollout decode -- N +sequences each emitting one token, no speculative decoding -- returns early into +the packed path because ``VLLM_ENABLE_FLA_PACKED_RECURRENT_DECODE`` defaults to +true. Aligning against the sigmoid-gating kernel would be validating a path +production does not take. + +Claim levels (RFC #428 section 2.1): L0 and L1 for the golden. L2 is not claimed; +the golden agrees with the provider at fp32-ULP scale but not bitwise, because +its contractions run in a fixed 32-wide chunk order rather than the kernel's +tree. + +The fixed-seed 128-step rounding test below is a bounded synthetic regression, +not evidence of a universal drift plateau or model-logit agreement. Earlier +1024-step and prefill tables had no reproducible runner and are withdrawn until +those experiments are checked in. Operator outputs are not model logits. + +""" + +from __future__ import annotations + +import pytest +import torch + +pytestmark = pytest.mark.skipif(not torch.cuda.is_available(), reason="CUDA is required") + +from rl_engine.reference.linear_attn import GatedDeltaRuleRecurrentStepOp # noqa: E402 +from rl_engine.validation.models.qwen3_next_workload import FINGERPRINT # noqa: E402 + +# Qwen3-Next-80B-A3B-Instruct dims, from the pinned checkpoint fingerprint. +_H = FINGERPRINT["linear_num_key_heads"] +_HV = FINGERPRINT["linear_num_value_heads"] +_K = FINGERPRINT["linear_key_head_dim"] +_V = FINGERPRINT["linear_value_head_dim"] +_SCALE = _K**-0.5 +_PACKED_DIM = _H * _K * 2 + _HV * _V + +# Every bound in this file is a regression bound against the vLLM provider (or, for +# the bf16-state drift test, against the golden itself), set from measurements. None +# is gate evidence, and none goes through rl_engine.contracts.numerical's +# resolve_tolerance. For scale, the gate contract's +# forward_accuracy/by_op_class/reduction row in +# rl_engine/contracts/profiles/precision/ws1.json is atol = rtol = 1e-4 for float32 +# and atol = 5e-2, rtol = 2e-2 for bfloat16. +# +# (max|d out|, max|d state|) per recurrent-state dtype. Read by +# tools/validation/models/ws1_gdn_provider_agreement.py, so both use the same bounds. +_RECURRENT_BOUNDS = { + # fp32 state: agreement is at fp32-ULP scale. + torch.float32: (1e-3, 1e-5), + # bf16 state: the store rounds every token, so the state carries a bf16 ULP. + torch.bfloat16: (1e-3, 5e-3), +} + + +def _vllm_step(): + pytest.importorskip("vllm", reason="vLLM is required to compare against the provider") + from vllm.third_party.flash_linear_attention.ops import ( + fused_recurrent_gated_delta_rule_packed_decode, + ) + + return fused_recurrent_gated_delta_rule_packed_decode + + +def _inputs(batch, num_blocks, state_dtype, io_dtype, seed, indices=None): + g = torch.Generator(device="cuda").manual_seed(seed) + rand = lambda *shape, dtype: torch.randn( # noqa: E731 + *shape, device="cuda", dtype=dtype, generator=g + ) + if indices is None: + indices = torch.arange(1, batch + 1, device="cuda", dtype=torch.int32) + return { + "mixed_qkv": rand(batch, _PACKED_DIM, dtype=io_dtype), + "a": rand(batch, _HV, dtype=io_dtype), + "b": rand(batch, _HV, dtype=io_dtype), + "A_log": rand(_HV, dtype=torch.float32), + "dt_bias": rand(_HV, dtype=torch.float32), + "state": rand(num_blocks, _HV, _V, _K, dtype=state_dtype) * 0.1, + "indices": indices, + } + + +def _run_provider(inp, io_dtype=torch.bfloat16): + """Returns (out, mutated_state). The kernel updates the state in place.""" + step = _vllm_step() + state = inp["state"].clone() + out = torch.empty(inp["mixed_qkv"].shape[0], 1, _HV, _V, device="cuda", dtype=io_dtype) + step( + inp["mixed_qkv"], + inp["a"], + inp["b"], + inp["A_log"], + inp["dt_bias"], + _SCALE, + state, + out, + inp["indices"], + use_qk_l2norm_in_kernel=True, + ) + return out, state + + +def _run_golden(inp): + return GatedDeltaRuleRecurrentStepOp().forward( + inp["mixed_qkv"], + inp["a"], + inp["b"], + inp["A_log"], + inp["dt_bias"], + inp["state"].clone(), + inp["indices"], + scale=_SCALE, + num_k_heads=_H, + ) + + +# --------------------------------------------------------------------------- # +# 1. Against the provider +# --------------------------------------------------------------------------- # +@pytest.mark.parametrize("batch", [1, 4, 17, 64]) +@pytest.mark.parametrize("state_dtype", list(_RECURRENT_BOUNDS), ids=["fp32", "bf16"]) +def test_golden_matches_packed_decode_provider(batch, state_dtype): + out_atol, state_atol = _RECURRENT_BOUNDS[state_dtype] + inp = _inputs(batch, batch + 2, state_dtype, torch.bfloat16, seed=batch) + out_ref, state_ref = _run_provider(inp) + out_got, state_got = _run_golden(inp) + + assert (out_got.float() - out_ref.float()).abs().max().item() <= out_atol + assert (state_got.float() - state_ref.float()).abs().max().item() <= state_atol + + +def test_null_block_id_is_skipped_by_both(): + """Index 0 means "no state": zeros out, and the block is left alone.""" + indices = torch.tensor([1, 0, 2, 0], device="cuda", dtype=torch.int32) + inp = _inputs(4, 4, torch.float32, torch.bfloat16, seed=7, indices=indices) + + out_ref, state_ref = _run_provider(inp) + out_got, state_got = _run_golden(inp) + + for row in (1, 3): + assert bool((out_ref[row] == 0).all()), f"provider row {row}" + assert bool((out_got[row] == 0).all()), f"golden row {row}" + assert torch.equal(state_got[0], inp["state"][0]), "block 0 must be untouched" + assert torch.equal(state_ref[0], inp["state"][0]), "provider must leave block 0 untouched" + + +# --------------------------------------------------------------------------- # +# 2. L1 -- a sequence is unaffected by the others sharing the batch +# --------------------------------------------------------------------------- # +@pytest.mark.parametrize("state_dtype", [torch.float32, torch.bfloat16]) +def test_golden_is_batch_invariant(state_dtype): + """Bitwise: the same sequence, alone or in a batch of 64, at any position.""" + batch = 64 + inp = _inputs(batch, batch + 2, state_dtype, torch.bfloat16, seed=3) + full_out, full_state = _run_golden(inp) + + op = GatedDeltaRuleRecurrentStepOp() + for row in (0, 1, 31, 63): + alone = { + key: (value[row : row + 1] if key in ("mixed_qkv", "a", "b", "indices") else value) + for key, value in inp.items() + } + out, state = op.forward( + alone["mixed_qkv"], + alone["a"], + alone["b"], + alone["A_log"], + alone["dt_bias"], + alone["state"].clone(), + alone["indices"], + scale=_SCALE, + num_k_heads=_H, + ) + assert torch.equal(out[0], full_out[row]), f"out row {row}" + block = int(inp["indices"][row]) + assert torch.equal(state[block], full_state[block]), f"state block {block}" + + +# --------------------------------------------------------------------------- # +# 3. The state-dtype rounding is modelled, not skipped +# --------------------------------------------------------------------------- # +def test_bf16_state_rounding_stays_within_fixed_fixture_bound(): + """Bound this fixed 128-step fixture; no general contraction claim.""" + batch, steps = 8, 128 + inp = _inputs(batch, batch + 2, torch.float32, torch.bfloat16, seed=11) + op = GatedDeltaRuleRecurrentStepOp() + + # Both runs start from the SAME bf16-representable state, so the initial + # cast is a no-op and drift[0] can only come from a per-token store. + seed_state = inp["state"].to(torch.bfloat16).float() + state_fp32 = seed_state.clone() + state_bf16 = seed_state.to(torch.bfloat16).clone() + assert torch.equal(state_fp32, state_bf16.float()), "the two runs must start equal" + drift = [] + for step in range(steps): + g = torch.Generator(device="cuda").manual_seed(100 + step) + token = torch.randn(batch, _PACKED_DIM, device="cuda", dtype=torch.bfloat16, generator=g) + common = (inp["a"], inp["b"], inp["A_log"], inp["dt_bias"]) + _, state_fp32 = op.forward( + token, *common, state_fp32, inp["indices"], scale=_SCALE, num_k_heads=_H + ) + _, state_bf16 = op.forward( + token, *common, state_bf16, inp["indices"], scale=_SCALE, num_k_heads=_H + ) + scale = max(state_fp32.float().abs().max().item(), 1e-9) + drift.append((state_fp32.float() - state_bf16.float()).abs().max().item() / scale) + + assert drift[0] > 0.0, "a bf16 state must round on the very first store" + # Preserve the original regression bound for this fixed fixture. + # Regression bound for this fixture, golden against golden; not gate evidence. + assert max(drift) < 0.05, f"relative state drift reached {max(drift):.3e}" + # The back half must not be materially worse than the front half. + assert max(drift[steps // 2 :]) < 2.0 * max(drift[: steps // 2]) + 1e-3 + + +# --------------------------------------------------------------------------- # +# 4. The causal-conv1d state update, the other half of a decode step +# --------------------------------------------------------------------------- # +# The conv runs over the packed q|k|v channels; Qwen3-Next's linear_conv_kernel_dim is 4. +_CONV_DIM, _CONV_WIDTH = _PACKED_DIM, 4 + + +def _conv_update(): + pytest.importorskip("vllm", reason="vLLM is required to compare against the provider") + from vllm.model_executor.layers.mamba.ops.causal_conv1d import causal_conv1d_update + + return causal_conv1d_update + + +def _conv_inputs(batch, state_dtype, seed, with_bias=True, indices=None): + g = torch.Generator(device="cuda").manual_seed(seed) + rand = lambda *shape, dtype: torch.randn( # noqa: E731 + *shape, device="cuda", dtype=dtype, generator=g + ) + if indices is None: + indices = torch.arange(1, batch + 1, device="cuda", dtype=torch.int32) + return { + "x": rand(batch, _CONV_DIM, dtype=torch.bfloat16), + # The cache must have room for every index used, plus the null block. + "state": rand(batch + 2, _CONV_DIM, _CONV_WIDTH - 1, dtype=state_dtype), + "weight": rand(_CONV_DIM, _CONV_WIDTH, dtype=torch.bfloat16), + "bias": rand(_CONV_DIM, dtype=torch.bfloat16) if with_bias else None, + "indices": indices, + } + + +def _run_conv_pair(inp, activation="silu"): + from rl_engine.reference.linear_attn import CausalConv1dUpdateOp + + state_ref, out_ref = inp["state"].clone(), torch.empty_like(inp["x"]) + _conv_update()( + inp["x"], + state_ref, + inp["weight"], + inp["bias"], + activation, + conv_state_indices=inp["indices"], + out=out_ref, + ) + out_got, state_got = CausalConv1dUpdateOp().forward( + inp["x"], + inp["state"].clone(), + inp["weight"], + inp["indices"], + bias=inp["bias"], + activation=activation, + ) + return (out_ref, state_ref), (out_got, state_got) + + +@pytest.mark.parametrize("batch", [1, 4, 17, 64]) +def test_conv_state_update_is_bitwise_exact(batch): + """The rolled window is what the next token consumes, so it must be exact. + + Holds for an fp32 and a bf16 cache alike -- the rolling is a copy, not a + computation, which is also why bias and activation are not varied here: they + cannot reach the state. + """ + for state_dtype in (torch.float32, torch.bfloat16): + inp = _conv_inputs(batch, state_dtype, seed=batch) + (_, state_ref), (_, state_got) = _run_conv_pair(inp) + assert torch.equal(state_got, state_ref), f"{state_dtype} batch={batch}" + + +@pytest.mark.parametrize("state_dtype", [torch.float32, torch.bfloat16]) +@pytest.mark.parametrize("activation", ["silu", None]) +@pytest.mark.parametrize("with_bias", [True, False]) +def test_conv_golden_is_batch_invariant(state_dtype, activation, with_bias): + """L1 for the conv golden, bitwise: a sequence's output row and state block + do not depend on which other sequences share the step. + + Every sequence of a batch of 257 is run alone; sub-batches of 2, 7 and 64 at + other offsets and a shuffled batch order are run too, with contiguous and + shuffled cache blocks, over three seeds. + """ + from rl_engine.reference.linear_attn import CausalConv1dUpdateOp + + op = CausalConv1dUpdateOp() + batch = 257 + for seed in (3, 4, 5): + g = torch.Generator(device="cpu").manual_seed(seed) + perm = torch.randperm(batch, generator=g).cuda() + shuffled_blocks = (torch.randperm(batch, generator=g) + 1).to("cuda", torch.int32) + for indices in (None, shuffled_blocks): + inp = _conv_inputs(batch, state_dtype, seed, with_bias=with_bias, indices=indices) + + def run(rows, inp=inp): + return op.forward( + inp["x"][rows], + inp["state"].clone(), + inp["weight"], + inp["indices"][rows], + bias=inp["bias"], + activation=activation, + ) + + full_out, full_state = run(torch.arange(batch, device="cuda")) + picks = [torch.tensor([r], device="cuda") for r in range(batch)] + picks += [ + torch.arange(o, o + s, device="cuda") for s, o in ((2, 0), (7, 100), (64, 193)) + ] + picks.append(perm) + for rows in picks: + out, state = run(rows) + blocks = inp["indices"][rows].long() + where = f"seed={seed} rows[{int(rows[0])}..] n={rows.numel()}" + assert torch.equal(out, full_out[rows]), f"out {where}" + assert torch.equal(state[blocks], full_state[blocks]), f"state {where}" + + +@pytest.mark.parametrize("batch", [1, 4, 17, 64]) +def test_conv_output_matches_provider_with_fp32_cache(batch): + """An fp32 cache reproduces the provider except on a few output elements. + + Measured by tools/validation/models/ws1_gdn_provider_agreement.py (B200, acf38b6): 0 of 8192 + at B=1, 0 at B=4, 1 of 139264 at B=17, 5 of 524288 at B=64; max|diff| 3.9e-3. + The bound is on the magnitude and on a handful of elements rather than on a + tight rate -- + at small batches a single straddling element is already 1.2e-4 of the + tensor, which says nothing about accuracy. + """ + inp = _conv_inputs(batch, torch.float32, seed=batch) + (out_ref, _), (out_got, _) = _run_conv_pair(inp) + mismatch = int((out_got.float().view(torch.int32) != out_ref.float().view(torch.int32)).sum()) + # Regression bounds against the provider, not gate evidence (see the module note). + assert mismatch <= 32, f"{mismatch} of {out_got.numel()} elements differ" + assert (out_got.float() - out_ref.float()).abs().max().item() <= 1e-2 + + +@pytest.mark.parametrize("batch", [1, 17]) +def test_conv_output_bf16_cache_matches_rounded_product_path(batch): + """Product rounding is reproduced; activation ULP residuals remain allowed.""" + inp = _conv_inputs(batch, torch.bfloat16, seed=batch) + (out_ref, _), (out_got, _) = _run_conv_pair(inp) + # Regression bounds against the provider, not gate evidence (see the module note). + assert (out_got.float() - out_ref.float()).abs().max().item() <= 7e-2 + assert int((out_got != out_ref).sum()) <= 32 + + +def test_conv_null_block_id_is_skipped(): + from rl_engine.reference.linear_attn import CausalConv1dUpdateOp + + indices = torch.tensor([1, 0, 2, 0], device="cuda", dtype=torch.int32) + inp = _conv_inputs(4, torch.float32, seed=5, with_bias=False, indices=indices) + out_got, state_got = CausalConv1dUpdateOp().forward( + inp["x"], inp["state"].clone(), inp["weight"], indices, bias=None + ) + for row in (1, 3): + assert bool((out_got[row] == 0).all()) + assert torch.equal(state_got[0], inp["state"][0]) + + +def test_conv_rejects_unknown_activation_and_bad_shapes(): + from rl_engine.reference.linear_attn import CausalConv1dUpdateOp + + op = CausalConv1dUpdateOp() + inp = _conv_inputs(2, torch.float32, seed=1) + with pytest.raises(ValueError, match="activation must be"): + op.forward(inp["x"], inp["state"], inp["weight"], inp["indices"], activation="relu") + with pytest.raises(ValueError, match="conv_state tail must be"): + op.forward( + inp["x"], + inp["state"][..., :1], + inp["weight"], + inp["indices"], + activation=None, + ) + + +# --------------------------------------------------------------------------- # +# 5. forward_fp32, and the branches the provider comparison never reaches +# --------------------------------------------------------------------------- # +@pytest.mark.parametrize("state_dtype", [torch.float32, torch.bfloat16]) +def test_recurrent_forward_fp32_widens_the_state(state_dtype): + """forward_fp32 must run the recurrence without the per-token rounding. + + With a bf16 cache that means widening it -- the whole point of having the + method is to be able to compare against the rounded path. + """ + op = GatedDeltaRuleRecurrentStepOp() + inp = _inputs(4, 6, state_dtype, torch.bfloat16, seed=1) + out, state = op.forward_fp32( + inp["mixed_qkv"], + inp["a"], + inp["b"], + inp["A_log"], + inp["dt_bias"], + inp["state"].clone(), + inp["indices"], + scale=_SCALE, + num_k_heads=_H, + ) + assert out.dtype is torch.float32 and state.dtype is torch.float32 + + rounded, _ = _run_golden(inp) + if state_dtype is torch.bfloat16: + # The rounded path went through bf16; the fp32 path did not. + assert not torch.equal(rounded.float(), out) + + +def test_recurrent_call_matches_forward(): + op = GatedDeltaRuleRecurrentStepOp() + inp = _inputs(4, 6, torch.float32, torch.bfloat16, seed=2) + args = ( + inp["mixed_qkv"], + inp["a"], + inp["b"], + inp["A_log"], + inp["dt_bias"], + inp["state"].clone(), + inp["indices"], + ) + kwargs = dict(scale=_SCALE, num_k_heads=_H) + a_out, a_state = op(*args, **kwargs) + b_out, b_state = op.forward(*args, **kwargs) + assert torch.equal(a_out, b_out) and torch.equal(a_state, b_state) + + +def test_recurrent_without_in_kernel_l2norm_differs(): + """`use_qk_l2norm=False` is the prefill convention and must be reachable.""" + op = GatedDeltaRuleRecurrentStepOp() + inp = _inputs(4, 6, torch.float32, torch.bfloat16, seed=3) + common = ( + inp["mixed_qkv"], + inp["a"], + inp["b"], + inp["A_log"], + inp["dt_bias"], + ) + normed, _ = op.forward( + *common, inp["state"].clone(), inp["indices"], scale=_SCALE, num_k_heads=_H + ) + raw, _ = op.forward( + *common, + inp["state"].clone(), + inp["indices"], + scale=_SCALE, + num_k_heads=_H, + use_qk_l2norm=False, + ) + assert not torch.equal(normed, raw) + + +def test_conv_dim_first_false_matches_the_transposed_layout(): + """`dim_first=False` is vLLM's "SD" cache layout, not a dead branch.""" + from rl_engine.reference.linear_attn import CausalConv1dUpdateOp + + op = CausalConv1dUpdateOp() + inp = _conv_inputs(4, torch.float32, seed=9) + ds_out, ds_state = op.forward( + inp["x"], inp["state"].clone(), inp["weight"], inp["indices"], bias=inp["bias"] + ) + sd_out, sd_state = op.forward( + inp["x"], + inp["state"].transpose(-1, -2).contiguous(), + inp["weight"], + inp["indices"], + bias=inp["bias"], + dim_first=False, + ) + assert torch.equal(ds_out, sd_out) + assert torch.equal(ds_state, sd_state.transpose(-1, -2)) + + +def test_conv_forward_fp32_and_call_entry_points(): + from rl_engine.reference.linear_attn import CausalConv1dUpdateOp + + op = CausalConv1dUpdateOp() + inp = _conv_inputs(4, torch.float32, seed=10) + args = (inp["x"], inp["state"].clone(), inp["weight"], inp["indices"]) + out, _ = op.forward(*args, bias=inp["bias"]) + called, _ = op(*args, bias=inp["bias"]) + fp32, _ = op.forward_fp32(*args, bias=inp["bias"]) + assert torch.equal(out, called) + assert fp32.dtype is torch.float32 + torch.testing.assert_close(fp32, out.float(), atol=1e-2, rtol=1e-2) + + +def test_conv_provider_preserves_bf16_product_cancellation(): + inp = _conv_inputs(1, torch.bfloat16, seed=1, with_bias=False) + inp["state"].zero_() + inp["state"][1, :, -1] = 1.0078125 + inp["weight"].zero_() + inp["weight"][:, -2] = 1.0078125 + inp["weight"][:, -1] = 1.0 + inp["x"].fill_(-1.015625) + (provider, _), (golden, _) = _run_conv_pair(inp, activation=None) + assert torch.count_nonzero(provider) == 0 + assert torch.equal(provider, golden) diff --git a/tests/models/qwen3_next/check_qwen3_next_attention.py b/tests/models/qwen3_next/check_qwen3_next_attention.py new file mode 100644 index 000000000..9dfe6c267 --- /dev/null +++ b/tests/models/qwen3_next/check_qwen3_next_attention.py @@ -0,0 +1,110 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Required Qwen3-Next CUDA attention gates; unavailable CUDA is a failure.""" + +import pytest +import torch + +from rl_engine.backends.cuda.attention.deterministic_attn import DeterministicAttentionOp +from rl_engine.backends.extension import _C +from rl_engine.validation.common.tensor_identity import assert_tensor_bitwise_equal as exact + + +def inputs(tokens, *, batch=1, query_tokens=None, device="cuda", grad=False): + assert torch.cuda.is_available(), "Mandatory attention CUDA gate cannot skip" + gen = torch.Generator(device=device).manual_seed(920) + query_tokens = tokens if query_tokens is None else query_tokens + return tuple( + torch.randn(batch, heads, length, 256, device=device, dtype=torch.bfloat16, generator=gen) + .mul_(0.25) + .requires_grad_(grad) + for heads, length in ((4, query_tokens), (1, tokens), (1, tokens)) + ) + + +@pytest.mark.parametrize("tokens", [8, 64, 256, 1024]) +@torch.no_grad() +def test_d256_full_chunk_decode_and_batch_are_raw_bit_equal(tokens): + q, k, v = inputs(tokens, batch=4) + op = DeterministicAttentionOp() + whole, lse = op.forward_with_lse(q, k, v) + order = torch.tensor([3, 1, 0, 2], device=q.device) + exact(op(q[order], k[order], v[order]), whole[order]) + for row in range(4): + exact(op(q[row : row + 1], k[row : row + 1], v[row : row + 1]), whole[row : row + 1]) + starts = [0, 1, 7, tokens - 1, tokens] + starts = sorted(set(starts)) + for start, end in zip(starts[:-1], starts[1:]): + out, part_lse = op.forward_with_lse(q[:, :, start:end], k[:, :, :end], v[:, :, :end]) + exact(out, whole[:, :, start:end]) + exact(part_lse, lse[:, :, start:end]) + + +def test_d256_backward_with_cached_prefix_matches_float64_formula(): + q, k, v = inputs(19, query_tokens=3, grad=True) + op = DeterministicAttentionOp() + out = op(q, k, v) + grad = torch.linspace(-1, 1, out.numel(), device=q.device).reshape_as(out).to(out.dtype) + out.backward(grad) + qr, kr, vr = (x.detach().double().requires_grad_() for x in (q, k, v)) + scores = qr @ kr.repeat_interleave(4, dim=1).transpose(-1, -2) / 16 + causal = ( + torch.arange(19, device=q.device)[None, :] <= torch.arange(16, 19, device=q.device)[:, None] + ) + expected = scores.masked_fill(~causal, -torch.inf).softmax(-1) @ vr.repeat_interleave(4, dim=1) + expected.backward(grad.double()) + # Formula accuracy is separate from the raw-bit provider comparisons above. + for actual, reference in zip((q, k, v), (qr, kr, vr)): + assert torch.isfinite(actual.grad).all() and actual.grad.abs().max() > 0 + torch.testing.assert_close( + actual.grad.float(), reference.grad.float(), atol=0.002, rtol=0.016 + ) + assert k.grad[:, :, :16].abs().max() > 0 + assert v.grad[:, :, :16].abs().max() > 0 + + +def test_native_backward_rejects_malformed_probability_and_gradient_buffers(): + q, k, v = inputs(8) + out, _, probabilities = _C.deterministic_attention_forward(q, k, v, True, 1 / 16, None) + with pytest.raises(RuntimeError, match="P must be FP32"): + _C.deterministic_attention_backward( + out, q, k, v, probabilities.to(q.dtype), True, 1 / 16, None + ) + with pytest.raises(RuntimeError, match="grad_output must have q shape"): + _C.deterministic_attention_backward( + out[:, :, :1], q, k, v, probabilities, True, 1 / 16, None + ) + with pytest.raises(RuntimeError, match="P must have shape"): + _C.deterministic_attention_backward( + out, q, k, v, probabilities[:, :, :1], True, 1 / 16, None + ) + + +def test_d256_input_device_guard_and_nondefault_stream(): + assert torch.cuda.device_count() >= 2, "Mandatory cross-device gate requires allocated GPUs" + previous = torch.cuda.current_device() + try: + q, k, v = inputs(8, device="cuda:1", grad=True) + op = DeterministicAttentionOp() + torch.cuda.set_device(1) + expected = op(q, k, v) + expected.sum().backward() + gradients = [x.grad.clone() for x in (q, k, v)] + for x in (q, k, v): + x.grad = None + torch.cuda.synchronize(1) + stream = torch.cuda.Stream(device=1) + with torch.cuda.stream(stream): + torch.cuda.set_device(0) + actual = op(q, k, v) + actual.sum().backward() + assert torch.cuda.current_device() == 0 + stream.synchronize() + exact(actual, expected) + for x, expected_grad in zip((q, k, v), gradients): + exact(x.grad, expected_grad) + with pytest.raises(ValueError, match="same device"): + op(q, k.to("cuda:0"), v) + finally: + torch.cuda.set_device(previous) diff --git a/tests/models/qwen3_next/check_qwen3_next_batch_invariance.py b/tests/models/qwen3_next/check_qwen3_next_batch_invariance.py new file mode 100644 index 000000000..84b096f8b --- /dev/null +++ b/tests/models/qwen3_next/check_qwen3_next_batch_invariance.py @@ -0,0 +1,453 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Which GDN components are batch-invariant, per component, measured. + +vLLM refuses strict mode for this model at engine init: + + VLLM batch_invariant mode is not supported for GDN_ATTN. + +The guard is a capability declaration -- `selector.py:235` raises when +`VLLM_BATCH_INVARIANT` is set and the mamba backend's +`supports_batch_invariance()` is False, which `gdn_attn` does not override. So the +question that decides whether full-model L2 is reachable is not "can the guard be +bypassed" (it must not be) but "are the components on the strict path actually +batch-invariant, and if not, which one is not". + +Measured on B200 (sm_100), vLLM 0.30.0, per component: + +========================================= ====================================== +component batch invariance +========================================= ====================================== +`causal_conv1d_update` bitwise (8 seeds x 4 positions, + fp32 and bf16 cache) +`fused_recurrent_..._packed_decode` bitwise (12 seeds x 4 positions, + fp32 and bf16 state) +FLA Triton `chunk_gated_delta_rule` bitwise w.r.t. batch composition +FlashInfer GDN prefill **not** bitwise +========================================= ====================================== + +FlashInfer is the *default* prefill backend on SM100 (`_resolve_gdn_prefill_backend` +returns "flashinfer" for compute capability 100 with `head_k_dim == 128` and CUDA +>= 13), so the default configuration is genuinely not batch-invariant and the +guard is correct rather than conservative. The deviation is rounding-scale, not +structural: adding a companion sequence moved 12149 of 262144 output elements, +`max|diff| = 2.44e-04` against a tensor of scale 7.18e-02 (3.4e-03 relative), and +left the final state within 5.7e-03 relative while almost no bit patterns matched +-- the signature of a pervasive small change in reduction order, consistent with +chunk tiling that depends on the batch's token count. + +**The actionable consequence**: pinning `gdn_prefill_backend="triton"` makes every +component measured here bitwise batch-invariant. That is the configuration a +full-model L2 attempt should use. It does not by itself justify flipping +`supports_batch_invariance()`, which is a statement about the whole backend -- +metadata construction, chunked-prefill splitting, CUDA graphs and the speculative +paths are outside this file's scope and remain unmeasured. + +These assertions therefore state what is true (the three invariant components) and +bound the deviation of the fourth. They deliberately do NOT assert that FlashInfer +*differs*: that would be asserting a defect persists, and would fail the day +upstream fixes it, which is the opposite of what we want to learn. + +Named ``check_`` rather than ``test_`` because it imports real vLLM; see +``tests/distributed/check_*.py``. Run via ``ci/scripts/run_qwen3_next_operator_gates.sh`` +or explicitly: + + CUDA_VISIBLE_DEVICES=1 pytest tests/models/qwen3_next/check_qwen3_next_batch_invariance.py -v +""" + +from __future__ import annotations + +from functools import partial + +import pytest +import torch + +from rl_engine.validation.common.tensor_identity import tensor_bitwise_equal + +pytestmark = pytest.mark.skipif(not torch.cuda.is_available(), reason="CUDA is required") + +# Qwen3-Next-80B-A3B-Instruct GDN dimensions. +_H, _HV, _K, _V = 16, 32, 128, 128 +_SCALE = _K**-0.5 +_CONV_DIM, _CONV_WIDTH = 8192, 4 +_PACKED_DIM = _H * _K * 2 + _HV * _V + +#: Positions within the batch whose target sequence is re-run alone. +_POSITIONS = (0, 1, 31, 63) +_BATCH = 64 + + +def _randn(generator, *shape, dt=torch.bfloat16): + return torch.randn(*shape, device="cuda", dtype=dt, generator=generator) + + +def _l2_normalize(t: torch.Tensor) -> torch.Tensor: + """``t / sqrt(sum(t*t) + 1e-6)`` over the last dim. + + q/k arrive L2-normalized in the real path: prefill runs + ``fused_post_conv_prep(apply_l2norm=True)`` and then passes + ``use_qk_l2norm_in_kernel=False``. Feeding raw randn with that flag off leaves + them unnormalized and the delta-rule update diverges to NaN -- a property of + the inputs, not of the kernel. The division is by the norm cast to ``t``'s + dtype, which is what the measurements recorded in the execution doc used. + """ + norm = torch.sqrt((t.float() * t.float()).sum(-1, keepdim=True) + 1e-6) + return t / norm.to(t.dtype) + + +def _gen(seed: int) -> torch.Generator: + return torch.Generator(device="cuda").manual_seed(seed) + + +def _decay(hv: int, tokens: int, g: torch.Generator) -> torch.Tensor: + """``g = -exp(A_log) * softplus(a)``, which is always <= 0. + + Feeding a sign-free random tensor instead lets ``exp(g) > 1`` and the + recurrence diverges to NaN, which looks like a kernel fault and is not one. + """ + a_log = torch.randn(hv, device="cuda", dtype=torch.float32, generator=g) + a = torch.randn(1, tokens, hv, device="cuda", dtype=torch.float32, generator=g) + return -torch.exp(a_log) * torch.nn.functional.softplus(a) + + +# --------------------------------------------------------------------------- # +# 1. Causal conv1d state update -- bitwise +# --------------------------------------------------------------------------- # +@pytest.mark.parametrize("state_dtype", [torch.float32, torch.bfloat16]) +def test_causal_conv1d_update_is_batch_invariant(state_dtype): + pytest.importorskip("vllm") + from vllm.model_executor.layers.mamba.ops.causal_conv1d import causal_conv1d_update + + for seed in range(8): + g = _gen(seed) + x = torch.randn(_BATCH, _CONV_DIM, device="cuda", dtype=torch.bfloat16, generator=g) + # One cache line per sequence plus the null block. + state = torch.randn( + _BATCH + 2, _CONV_DIM, _CONV_WIDTH - 1, device="cuda", dtype=state_dtype, generator=g + ) + weight = torch.randn( + _CONV_DIM, _CONV_WIDTH, device="cuda", dtype=torch.bfloat16, generator=g + ) + bias = torch.randn(_CONV_DIM, device="cuda", dtype=torch.bfloat16, generator=g) + indices = torch.arange(1, _BATCH + 1, device="cuda", dtype=torch.int32) + + full_state, full_out = state.clone(), torch.empty_like(x) + causal_conv1d_update( + x, full_state, weight, bias, "silu", conv_state_indices=indices, out=full_out + ) + + for row in _POSITIONS: + lone_state = state.clone() + lone_out = torch.empty_like(x[row : row + 1]) + causal_conv1d_update( + x[row : row + 1], + lone_state, + weight, + bias, + "silu", + conv_state_indices=indices[row : row + 1].clone(), + out=lone_out, + ) + block = int(indices[row]) + assert tensor_bitwise_equal(lone_out[0], full_out[row]), f"out seed={seed} row={row}" + assert tensor_bitwise_equal(lone_state[block], full_state[block]), f"state row={row}" + + +# --------------------------------------------------------------------------- # +# 2. Packed recurrent decode -- bitwise. This is the rollout decode provider. +# --------------------------------------------------------------------------- # +@pytest.mark.parametrize("state_dtype", [torch.float32, torch.bfloat16]) +def test_packed_recurrent_decode_is_batch_invariant(state_dtype): + pytest.importorskip("vllm") + from vllm.third_party.flash_linear_attention.ops import ( + fused_recurrent_gated_delta_rule_packed_decode as decode, + ) + + def run(mixed, a, b, a_log, dt_bias, state, indices): + working = state.clone() + out = torch.empty(mixed.shape[0], 1, _HV, _V, device="cuda", dtype=mixed.dtype) + decode( + mixed, + a, + b, + a_log, + dt_bias, + _SCALE, + working, + out, + indices, + use_qk_l2norm_in_kernel=True, + ) + return out, working + + for seed in range(12): + g = _gen(seed) + mk = partial(_randn, g) + mixed, a, b = mk(_BATCH, _PACKED_DIM), mk(_BATCH, _HV), mk(_BATCH, _HV) + a_log, dt_bias = mk(_HV, dt=torch.float32), mk(_HV, dt=torch.float32) + state = mk(_BATCH + 2, _HV, _V, _K, dt=state_dtype) * 0.1 + indices = torch.arange(1, _BATCH + 1, device="cuda", dtype=torch.int32) + + full_out, full_state = run(mixed, a, b, a_log, dt_bias, state, indices) + for row in _POSITIONS: + lone_out, lone_state = run( + mixed[row : row + 1], + a[row : row + 1], + b[row : row + 1], + a_log, + dt_bias, + state, + indices[row : row + 1].clone(), + ) + block = int(indices[row]) + assert tensor_bitwise_equal(lone_out[0], full_out[row]), f"out seed={seed} row={row}" + assert tensor_bitwise_equal(lone_state[block], full_state[block]), f"state row={row}" + + +# --------------------------------------------------------------------------- # +# 3 & 4. Chunked prefill, per backend +# --------------------------------------------------------------------------- # +def _prefill_inputs(seqs, seed): + """Inputs for ``seqs`` packed into one varlen batch. + + Each sequence draws from its own generator (``seed + i``), so the first + sequence's tensors are identical whatever follows it. One generator shared + across the batch would make them depend on the total token count: the CUDA + RNG offset advances in rounded blocks, which hides that for short batches + and stops hiding it for longer ones, silently comparing different data. + """ + a_log = torch.randn(_HV, device="cuda", dtype=torch.float32, generator=_gen(seed + 10_000)) + parts = {name: [] for name in ("q", "k", "v", "g", "beta")} + for index, tokens in enumerate(seqs): + g = _gen(seed + index) + mk = partial(_randn, g) + parts["q"].append(_l2_normalize(mk(1, tokens, _HV, _K))) + parts["k"].append(_l2_normalize(mk(1, tokens, _HV, _K))) + parts["v"].append(mk(1, tokens, _HV, _V)) + a = torch.randn(1, tokens, _HV, device="cuda", dtype=torch.float32, generator=g) + parts["g"].append(-torch.exp(a_log) * torch.nn.functional.softplus(a)) + parts["beta"].append( + torch.rand(1, tokens, _HV, device="cuda", dtype=torch.float32, generator=g) + ) + cu = torch.tensor( + [0, *torch.cumsum(torch.tensor(seqs), 0).tolist()], device="cuda", dtype=torch.int32 + ) + return { + **{name: torch.cat(tensors, dim=1) for name, tensors in parts.items()}, + "cu_seqlens": cu, + "initial_state": torch.zeros(len(seqs), _HV, _V, _K, device="cuda", dtype=torch.float32), + } + + +#: The target sequence, then the companions appended after it. The long ones are +#: what a shared generator used to get wrong; see `_prefill_inputs`. +_COMPANIONS = ([], [64], [17, 95], [3], [1], [64, 64, 64, 64], [2048]) +_TARGET = 64 + + +def test_target_inputs_do_not_depend_on_companions(): + """Guards the comparisons below: they must compare the same target data.""" + alone = _prefill_inputs([_TARGET], seed=0) + for companions in _COMPANIONS: + batch = _prefill_inputs([_TARGET, *companions], seed=0) + for name in ("q", "k", "v", "g", "beta"): + assert tensor_bitwise_equal(batch[name][:, :_TARGET], alone[name]), (name, companions) + + +def test_triton_chunked_prefill_is_batch_invariant(): + """Supplementary native batch probe; shared full/chunk/decode uses packed recurrence.""" + pytest.importorskip("vllm") + from vllm.third_party.flash_linear_attention.ops import chunk_gated_delta_rule + + reference = None + for companions in _COMPANIONS: + inp = _prefill_inputs([_TARGET, *companions], seed=0) + out, final_state = chunk_gated_delta_rule( + inp["q"], + inp["k"], + inp["v"], + inp["g"], + inp["beta"], + scale=_SCALE, + initial_state=None, + output_final_state=True, + cu_seqlens=inp["cu_seqlens"], + use_qk_l2norm_in_kernel=False, + ) + target_out, target_state = out[0, :_TARGET], final_state[0] + assert not torch.isnan(target_out).any(), f"NaN with companions={companions}" + if reference is None: + reference = (target_out.clone(), target_state.clone()) + continue + assert tensor_bitwise_equal(target_out, reference[0]), f"out, companions={companions}" + assert tensor_bitwise_equal(target_state, reference[1]), f"state, companions={companions}" + + +def test_flashinfer_chunked_prefill_deviation_stays_rounding_scale(): + """The DEFAULT prefill backend on SM100, which is not batch-invariant. + + Only the magnitude is asserted. Asserting that it *differs* would be asserting + a defect persists, and would start failing the day upstream makes it + invariant -- which is the outcome we want. A structural regression (a + deviation well past rounding scale) still fails here. + """ + pytest.importorskip("vllm") + pytest.importorskip("flashinfer") + from vllm.model_executor.layers.mamba.gdn.qwen_gdn_linear_attn import fi_chunk_gated_delta_rule + + reference = None + for companions in _COMPANIONS: + inp = _prefill_inputs([_TARGET, *companions], seed=0) + out, final_state = fi_chunk_gated_delta_rule( + inp["q"], + inp["k"], + inp["v"], + inp["g"], + inp["beta"], + inp["initial_state"], + True, + cu_seqlens=inp["cu_seqlens"], + use_qk_l2norm_in_kernel=True, + ) + target_out, target_state = out[0, :_TARGET], final_state[0] + assert not torch.isnan(target_out).any(), f"NaN with companions={companions}" + if reference is None: + reference = (target_out.clone(), target_state.clone()) + continue + for name, got, want in ( + ("out", target_out, reference[0]), + ("state", target_state, reference[1]), + ): + scale = max(want.float().abs().max().item(), 1e-9) + relative = (got.float() - want.float()).abs().max().item() / scale + assert relative <= 5e-2, ( + f"{name} deviation {relative:.3e} relative with companions=" + f"{companions} is past rounding scale; measured baseline was " + "3.4e-03 (out) and 5.7e-03 (state)" + ) + + +# --------------------------------------------------------------------------- # +# 5. Metadata construction +# +# `GDNMetadataBuilder` derives the chunk partition from `cu_seqlens` via +# `prepare_chunk_indices` / `prepare_chunk_offsets`. Per-sequence chunk counts +# are `cdiv(own_length, FLA_CHUNK_SIZE)`, so a sequence's partition cannot depend +# on its companions -- only its sequence id and its offset into the flat chunk +# list shift. This is pure index arithmetic, so it is checked exactly, on CPU. +# --------------------------------------------------------------------------- # +def _chunk_metadata(seqs): + from vllm.third_party.flash_linear_attention.ops.index import ( + prepare_chunk_indices, + prepare_chunk_offsets, + ) + from vllm.third_party.flash_linear_attention.ops.utils import FLA_CHUNK_SIZE + + cu = torch.tensor([0, *torch.cumsum(torch.tensor(seqs), 0).tolist()], dtype=torch.int32) + return ( + prepare_chunk_indices(cu, FLA_CHUNK_SIZE), + prepare_chunk_offsets(cu, FLA_CHUNK_SIZE), + FLA_CHUNK_SIZE, + ) + + +@pytest.mark.parametrize("position", [0, 1, 2]) +def test_chunk_metadata_partition_is_batch_invariant(position): + """A sequence's own chunk partition must not move when the batch changes. + + The sequence id and the flat offset legitimately shift with position; what + must not change is how many chunks the sequence is cut into and which of its + own tokens each chunk covers. + """ + pytest.importorskip("vllm") + target = 150 # deliberately not a multiple of the chunk size + reference = None + for others in ([], [64], [17, 95], [3], [1, 1, 1]): + seqs = list(others) + seqs.insert(min(position, len(seqs)), target) + seq_id = min(position, len(others)) + + indices, offsets, chunk_size = _chunk_metadata(seqs) + mine = indices[indices[:, 0] == seq_id] + # Chunk ids within the sequence, and the flat span it occupies. + partition = ( + mine[:, 1].tolist(), + int(offsets[seq_id + 1] - offsets[seq_id]), + ) + expected_chunks = -(-target // chunk_size) # ceil div + assert partition[0] == list(range(expected_chunks)), f"others={others}" + assert partition[1] == expected_chunks, f"offset span, others={others}" + if reference is None: + reference = partition + else: + assert partition == reference, f"others={others}" + + +# --------------------------------------------------------------------------- # +# 6. Chunked-prefill splitting +# +# vLLM may process one prompt over several forward passes, handing the recurrent +# state between them. Whether that equals a single pass is the prefill analogue +# of the prefill-vs-decode question, and it is what decides L2 for prompts longer +# than `max_num_batched_tokens`. +# --------------------------------------------------------------------------- # +def _run_triton_prefill(inp, tokens, initial_state): + from vllm.third_party.flash_linear_attention.ops import chunk_gated_delta_rule + + lo, hi = tokens + cu = torch.tensor([0, hi - lo], device="cuda", dtype=torch.int32) + return chunk_gated_delta_rule( + inp["q"][:, lo:hi], + inp["k"][:, lo:hi], + inp["v"][:, lo:hi], + inp["g"][:, lo:hi], + inp["beta"][:, lo:hi], + scale=_SCALE, + initial_state=initial_state, + output_final_state=True, + cu_seqlens=cu, + use_qk_l2norm_in_kernel=False, + ) + + +@pytest.mark.parametrize("split", [128, 100, 64, 192]) +def test_triton_chunked_prefill_split_matches_one_pass(split): + """Splitting a prompt and handing over the state, versus one pass. + + `split=128` and `split=64` are multiples of FLA_CHUNK_SIZE; `split=100` and + `split=192` are not, which is the realistic case because an engine-step + boundary is set by the token budget, not by the kernel's chunk size. + """ + pytest.importorskip("vllm") + total = 256 + inp = _prefill_inputs([total], seed=0) + + zero = torch.zeros(1, _HV, _V, _K, device="cuda", dtype=torch.float32) + whole_out, whole_state = _run_triton_prefill(inp, (0, total), zero.clone()) + first_out, first_state = _run_triton_prefill(inp, (0, split), zero.clone()) + second_out, second_state = _run_triton_prefill(inp, (split, total), first_state) + + joined = torch.cat([first_out[0], second_out[0]], dim=0) + aligned = split % 64 == 0 + assert not torch.isnan(whole_out).any(), "degenerate inputs, not a kernel fault" + + out_rel = ( + (joined.float() - whole_out[0].float()).abs().max() + / max(whole_out[0].float().abs().max().item(), 1e-9) + ).item() + state_rel = ( + (second_state.float() - whole_state.float()).abs().max() + / max(whole_state.float().abs().max().item(), 1e-9) + ).item() + + if aligned: + # A chunk-aligned split must be bitwise: the kernel's own chunk + # boundaries already fall there, so no reduction order changes. + assert tensor_bitwise_equal(joined, whole_out[0]), f"split={split} out, rel={out_rel:.3e}" + assert tensor_bitwise_equal(second_state, whole_state), f"split={split} state" + else: + # An unaligned split re-cuts the sequence, so the reduction order moves. + # Bound it; do not assert equality, and do not assert inequality either. + assert out_rel <= 5e-2, f"split={split} out deviation {out_rel:.3e}" + assert state_rel <= 5e-2, f"split={split} state deviation {state_rel:.3e}" diff --git a/tests/models/qwen3_next/check_qwen3_next_conv_bridge.py b/tests/models/qwen3_next/check_qwen3_next_conv_bridge.py new file mode 100644 index 000000000..963d8b630 --- /dev/null +++ b/tests/models/qwen3_next/check_qwen3_next_conv_bridge.py @@ -0,0 +1,99 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""The convolution provider must agree across batch, chunk and cache layouts.""" + +import pytest +import torch + +from rl_engine.integrations.engines.train.vllm.qwen3_next_conv import ( + _provider, + causal_conv_sequence, +) +from rl_engine.validation.common.tensor_identity import assert_tensor_bitwise_equal as exact + + +def inputs(lengths): + assert torch.cuda.is_available(), "Required provider tests cannot skip CUDA" + gen = torch.Generator(device="cuda").manual_seed(17) + + def rand(*shape): + return torch.randn(*shape, device="cuda", dtype=torch.bfloat16, generator=gen) + + return ( + rand(sum(lengths), 2048), + rand(len(lengths) + 1, 2048, 3), + rand(2048, 4), + torch.arange(1, len(lengths) + 1, device="cuda", dtype=torch.int32), + torch.tensor([0, *torch.tensor(lengths).cumsum(0).tolist()]), + ) + + +@torch.no_grad() +@pytest.mark.parametrize("lengths", [(1,), (64, 8, 0, 16), (1024, 256, 64, 8)]) +def test_varlen_matches_repeated_decode_and_preserves_inputs(lengths): + x, state, weight, indices, cu = inputs(lengths) + saved = [tensor.clone() for tensor in (x, state, weight)] + output, final_state = causal_conv_sequence(x, state, weight, indices, cu) + reference_state = state.clone() + reference_rows = [] + for seq in range(len(lengths)): + for token in range(cu[seq], cu[seq + 1]): + value = x[token : token + 1].clone() + reference_rows.append( + _provider()( + value, + reference_state, + weight, + activation="silu", + conv_state_indices=indices[seq : seq + 1], + ) + ) + exact(output, torch.cat(reference_rows)) + exact(final_state, reference_state) + for original, before in zip((x, state, weight), saved): + exact(original, before) + + +@torch.no_grad() +def test_chunked_and_reordered_sequences_match(): + x, state, weight, indices, cu = inputs((1024, 64)) + whole, whole_state = causal_conv_sequence(x, state, weight, indices, cu) + # Continue both sequences after 32 tokens, in the opposite batch order. + prompt = torch.cat((x[:32], x[1024:1056])) + first, next_state = causal_conv_sequence( + prompt, state, weight, indices, torch.tensor([0, 32, 64]) + ) + response = torch.cat((x[1056:], x[32:1024])) + second, next_state = causal_conv_sequence( + response, next_state, weight, indices.flip(0), torch.tensor([0, 32, 1024]) + ) + restored = torch.cat((first[:32], second[32:], first[32:], second[:32])) + exact(restored, whole) + exact(next_state, whole_state) + + +def test_response_gradient_reaches_prompt_and_convolution_weight(): + x, state, weight, indices, _ = inputs((8,)) + x.requires_grad_() + state.requires_grad_() + weight.requires_grad_() + _, prompt_state = causal_conv_sequence(x[:4], state, weight, indices, torch.tensor([0, 4])) + out, final_state = causal_conv_sequence( + x[4:], prompt_state, weight, indices, torch.tensor([0, 4]) + ) + (out.float().square().sum() + final_state.float().square().sum() * 0.01).backward() + for tensor in (x, weight): + assert tensor.grad is not None and torch.isfinite(tensor.grad).all() + assert tensor.grad.abs().max() > 0 + assert x.grad[:4].abs().max() > 0 + + +def test_empty_sequence_preserves_cache_and_gradients(): + x, state, weight, indices, cu = inputs((0,)) + state.requires_grad_() + out, next_state = causal_conv_sequence(x, state, weight, indices, cu) + assert out.shape == x.shape + exact(next_state, state) + next_state.float().sum().backward() + exact(state.grad, torch.ones_like(state)) diff --git a/tests/models/qwen3_next/check_qwen3_next_core_matrix.py b/tests/models/qwen3_next/check_qwen3_next_core_matrix.py new file mode 100644 index 000000000..823471772 --- /dev/null +++ b/tests/models/qwen3_next/check_qwen3_next_core_matrix.py @@ -0,0 +1,101 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Mandatory TP4-shape GDN state tests; no full-model claim or optional skips.""" + +import pytest +import torch + +from rl_engine.integrations.engines.train.vllm.qwen3_next_provider import ( + GDNProviderConfig, + GDNState, + shared_gdn_core, +) +from rl_engine.validation.common.tensor_identity import assert_tensor_bitwise_equal as exact + + +def _inputs(lengths): + assert torch.cuda.is_available(), "Required shared-provider CUDA tests cannot skip" + generator = torch.Generator(device="cuda").manual_seed(20261002) + + def rand(*shape, dtype=torch.bfloat16): + return torch.randn(*shape, device="cuda", dtype=dtype, generator=generator) * 0.1 + + tokens = sum(lengths) + values = [rand(tokens, 2048), rand(tokens, 8), rand(tokens, 8), rand(tokens, 8, 128)] + weights = [rand(8, dtype=torch.float32), rand(8, dtype=torch.float32), rand(2048, 4), rand(128)] + state = GDNState( + rand(len(lengths) + 2, 2048, 3), + rand(len(lengths) + 2, 8, 128, 128, dtype=torch.float32), + ) + indices = torch.arange(1, len(lengths) + 1, device="cuda", dtype=torch.int32) + return values, weights, state, indices + + +def _run(values, weights, state, indices, lengths): + boundaries = torch.tensor([0, *torch.tensor(lengths).cumsum(0).tolist()], dtype=torch.int64) + return shared_gdn_core( + *values, *weights, state, indices, boundaries, config=GDNProviderConfig(), num_k_heads=4 + ) + + +@pytest.mark.parametrize("batch", [1, 4]) +@pytest.mark.parametrize("length", [8, 64, 256, 1024]) +@torch.no_grad() +def test_full_chunked_reordered_shared_core(batch, length): + lengths = [length] * batch + values, weights, initial, indices = _inputs(lengths) + whole, final = _run(values, weights, initial, indices, lengths) + for cut in (1, 63, 64, 65, 100, 528, 576): + cut = min(cut, length) + state = initial + pieces = [[] for _ in lengths] + for start, end in ((0, cut), (cut, length)): + # Reorder the response-bearing step, preserving sequence/cache identity. + order = list(range(batch)) if start == 0 else list(reversed(range(batch))) + rows = [row for seq in order for row in range(seq * length + start, seq * length + end)] + row_ids = torch.tensor(rows, device="cuda", dtype=torch.int64) + chunk = [value.index_select(0, row_ids) for value in values] + part, state = _run(chunk, weights, state, indices[order], [end - start] * batch) + for position, seq in enumerate(order): + pieces[seq].append(part[position * (end - start) : (position + 1) * (end - start)]) + exact(torch.cat([torch.cat(seq) for seq in pieces]), whole, name=f"output cut={cut}") + exact(state.convolution, final.convolution, name=f"conv state cut={cut}") + exact(state.recurrent, final.recurrent, name=f"recurrent state cut={cut}") + exact(final.convolution[0], initial.convolution[0], name="reserved conv slot") + exact(final.recurrent[0], initial.recurrent[0], name="reserved recurrent slot") + + +@torch.no_grad() +def test_variable_lengths_empty_and_mixed_step_match_independent_sequences(): + lengths = [65, 1, 0, 17] + values, weights, initial, indices = _inputs(lengths) + mixed, mixed_state = _run(values, weights, initial, indices, lengths) + start = 0 + for seq, length in enumerate(lengths): + end = start + length + output, state = _run( + [value[start:end] for value in values], + weights, + initial, + indices[seq : seq + 1], + [length], + ) + exact(output, mixed[start:end], name=f"sequence {seq}") + exact(state.convolution[seq + 1], mixed_state.convolution[seq + 1], name="conv state") + exact(state.recurrent[seq + 1], mixed_state.recurrent[seq + 1], name="recurrent state") + start = end + exact(mixed_state.recurrent[3], initial.recurrent[3], name="empty sequence state") + + +@pytest.mark.parametrize("batch", [1, 4]) +@torch.no_grad() +def test_shared_core_one_hundred_repetitions(batch): + lengths = [8] * batch + values, weights, initial, indices = _inputs(lengths) + expected, expected_state = _run(values, weights, initial, indices, lengths) + for repeat in range(100): + output, state = _run(values, weights, initial, indices, lengths) + exact(output, expected, name=f"output repeat={repeat}") + exact(state.convolution, expected_state.convolution, name="conv state") + exact(state.recurrent, expected_state.recurrent, name="recurrent state") diff --git a/tests/models/qwen3_next/check_qwen3_next_engine_metadata.py b/tests/models/qwen3_next/check_qwen3_next_engine_metadata.py new file mode 100644 index 000000000..2dd7ce0f5 --- /dev/null +++ b/tests/models/qwen3_next/check_qwen3_next_engine_metadata.py @@ -0,0 +1,118 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Real vLLM builder semantics; no GPU kernel or capability override is needed.""" + +from types import SimpleNamespace + +import pytest +import torch +from vllm.config import CompilationConfig +from vllm.config.compilation import CompilationMode, CUDAGraphMode +from vllm.v1.attention.backend import CommonAttentionMetadata +from vllm.v1.kv_cache_interface import MambaSpec + +from rl_engine.integrations.engines.rollout.vllm.qwen3_next_vllm import ( + SharedGDNBackend, + SharedGDNMetadataBuilder, + metadata_sequences, +) + + +def build_metadata(lengths, computed, slots): + config = SimpleNamespace( + additional_config={"gdn_prefill_backend": "triton"}, + speculative_config=None, + compilation_config=CompilationConfig( + mode=CompilationMode.NONE, cudagraph_mode=CUDAGraphMode.NONE + ), + scheduler_config=SimpleNamespace(max_num_seqs=4), + parallel_config=SimpleNamespace(decode_context_parallel_size=1), + cache_config=SimpleNamespace(mamba_cache_mode="none"), + model_config=SimpleNamespace(hf_text_config=SimpleNamespace(linear_key_head_dim=128)), + ) + spec = MambaSpec( + block_size=64, + shapes=((3, 2048), (8, 128, 128)), + dtypes=(torch.bfloat16, torch.float32), + mamba_cache_mode="none", + ) + builder = SharedGDNMetadataBuilder( + spec, ["model.layers.0.linear_attn"], config, torch.device("cpu") + ) + cu = torch.tensor([0, *torch.tensor(lengths).cumsum(0).tolist()], dtype=torch.int32) + seq = torch.tensor(lengths, dtype=torch.int32) + torch.tensor(computed, dtype=torch.int32) + common = CommonAttentionMetadata( + query_start_loc=cu, + query_start_loc_cpu=cu, + seq_lens=seq, + num_reqs=len(lengths), + num_actual_tokens=sum(lengths), + max_query_len=max(lengths), + max_seq_len=int(seq.max()), + block_table_tensor=torch.tensor(slots, dtype=torch.int32)[:, None], + slot_mapping=torch.zeros(sum(lengths), dtype=torch.int64), + ) + return builder.build(0, common) + + +def test_fresh_single_token_prompt_resets_reused_slot(): + metadata = build_metadata([1], [0], [3]) + slots, cu, reset = metadata_sequences(metadata, 1) + assert slots.tolist() == [3] and cu.tolist() == [0, 1] and reset.tolist() == [3] + + +def test_mixed_step_resets_only_new_prefill_and_preserves_request_order(): + metadata = build_metadata([1, 8, 3], [64, 0, 7], [7, 3, 5]) + slots, cu, reset = metadata_sequences(metadata, 12) + assert slots.tolist() == [7, 3, 5] + assert cu.tolist() == [0, 1, 9, 12] + assert reset.tolist() == [3] + + +def test_null_padding_has_no_state_owner(): + metadata = build_metadata([1, 0], [64, 0], [7, 0]) + slots, cu, reset = metadata_sequences(metadata, 1) + assert slots.tolist() == [7] and cu.tolist() == [0, 1] and reset.numel() == 0 + + +@pytest.mark.parametrize("slots", [[0], [-1], [3, 3]]) +def test_active_null_negative_or_duplicate_slots_are_rejected(slots): + metadata = build_metadata([1] * len(slots), [2] * len(slots), slots) + with pytest.raises(ValueError, match="distinct positive"): + metadata_sequences(metadata, len(slots)) + + +def test_custom_backend_cannot_bypass_the_batch_invariance_guard(): + from vllm.v1.attention.backends.gdn_attn import GDNAttentionBackend + + assert SharedGDNBackend.supports_batch_invariance() is False + assert GDNAttentionBackend.supports_batch_invariance() is False + assert SharedGDNBackend.get_name() != GDNAttentionBackend.get_name() + + +def test_real_selector_rejects_the_unaccepted_custom_backend(monkeypatch): + from vllm import envs + from vllm.v1.attention.backends.registry import MambaAttentionBackendEnum, register_backend + from vllm.v1.attention.selector import _cached_get_mamba_attn_backend, get_mamba_attn_backend + + from rl_engine.integrations.engines.rollout.vllm.qwen3_next_vllm import _register_backend + + try: + previous = MambaAttentionBackendEnum.CUSTOM.get_path() + except ValueError: + previous = None + monkeypatch.setattr(envs, "VLLM_BATCH_INVARIANT", True) + _cached_get_mamba_attn_backend.cache_clear() + try: + _register_backend() + with pytest.raises(RuntimeError, match="not supported for RL_KERNEL_QWEN3_NEXT_GDN"): + get_mamba_attn_backend(MambaAttentionBackendEnum.CUSTOM) + with pytest.raises(RuntimeError, match="not supported for GDN_ATTN"): + get_mamba_attn_backend(MambaAttentionBackendEnum.GDN_ATTN) + finally: + if previous is None: + MambaAttentionBackendEnum.CUSTOM.clear_override() + else: + register_backend(MambaAttentionBackendEnum.CUSTOM, previous, is_mamba=True) + _cached_get_mamba_attn_backend.cache_clear() diff --git a/tests/models/qwen3_next/check_qwen3_next_forward.py b/tests/models/qwen3_next/check_qwen3_next_forward.py new file mode 100644 index 000000000..ec089be31 --- /dev/null +++ b/tests/models/qwen3_next/check_qwen3_next_forward.py @@ -0,0 +1,291 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Mandatory shared CUDA GEMM/MoE/logprob checks; these do not claim model L2.""" + +from dataclasses import replace + +import pytest +import torch +import torch.nn.functional as F + +from rl_engine.contracts.operators.logprob import ( + LogprobContract, + LogprobDType, + LogprobRole, + MaskSpec, + ReductionSpec, + ShardingSpec, +) +from rl_engine.models.qwen3_next.qwen3_next_forward import ( + combine_routes, + shared_linear, + shared_logprob, + shared_moe, + stable_top10_routes, +) +from rl_engine.validation.common.tensor_identity import assert_tensor_bitwise_equal as exact + + +def random(shape, seed=801, *, grad=False, dtype=torch.bfloat16): + assert torch.cuda.is_available(), "Mandatory shared-forward CUDA gates cannot skip" + gen = torch.Generator(device="cuda").manual_seed(seed) + return ( + torch.randn(shape, generator=gen, device="cuda", dtype=dtype) + .mul_(0.02) + .requires_grad_(grad) + ) + + +@pytest.mark.parametrize( + "k,n", [(2048, 3072), (2048, 16), (1024, 2048), (2048, 256), (128, 2048), (2048, 37984)] +) +@torch.no_grad() +def test_qwen_linear_shapes_batch_chunk_and_reorder(k, n): + x, weight = random((17, k)), random((n, k), seed=802) + output = shared_linear(x, weight) + exact( + torch.cat( + [ + shared_linear(x[:1], weight), + shared_linear(x[1:4], weight), + shared_linear(x[4:], weight), + ] + ), + output, + ) + order = torch.arange(16, -1, -1, device="cuda") + exact(shared_linear(x[order], weight), output[order]) + + +def test_shared_linear_vjp_and_empty_tokens(): + x, weight, bias = ( + random((4, 2048), grad=True), + random((16, 2048), 802, grad=True), + random((16,), 803, grad=True), + ) + output = shared_linear(x, weight, bias) + grad = random(output.shape, 804) + output.backward(grad) + refs = [value.detach().double().requires_grad_() for value in (x, weight, bias)] + F.linear(*refs).backward(grad.double()) + for value, ref in zip((x, weight, bias), refs): + torch.testing.assert_close(value.grad.float(), ref.grad.float(), atol=0.002, rtol=0.016) + assert (value.grad.double() - ref.grad).norm() / ref.grad.norm() < 0.016 + with torch.no_grad(): + exact(output, shared_linear(x, weight, bias)) + empty = random((0, 2048), grad=True) + weight.grad = bias.grad = None + shared_linear(empty, weight, bias).sum().backward() + assert empty.grad.shape == empty.shape + assert torch.count_nonzero(weight.grad) == 0 and torch.count_nonzero(bias.grad) == 0 + + +def test_stable_route_tie_boundary_and_router_gradient(): + logits = random((4, 512), dtype=torch.float32) + logits.zero_().requires_grad_() + routes = stable_top10_routes(logits) + assert torch.equal(routes.indices, torch.arange(10, device="cuda").expand(4, 10)) + exact(routes.weights, torch.full((4, 10), 0.1, device="cuda")) + (routes.weights * torch.arange(10, device="cuda")).sum().backward() + assert torch.isfinite(logits.grad).all() and logits.grad.abs().max() > 0 + bad = logits.detach().clone() + bad[0, 0] = torch.nan + with pytest.raises(ValueError, match="finite"): + stable_top10_routes(bad) + + +def test_combine_has_fixed_route_order_and_differentiable_weights(): + outputs = random((4, 10, 2048), grad=True) + weights = random((4, 10), 802, dtype=torch.float32, grad=True) + actual = combine_routes(outputs, weights) + exact( + torch.cat([combine_routes(outputs[i : i + 1], weights[i : i + 1]) for i in range(4)]), + actual, + ) + actual.float().square().sum().backward() + assert weights.grad.abs().max() > 0 and outputs.grad.abs().max() > 0 + refs = [value.detach().double().requires_grad_() for value in (outputs, weights)] + expected = (refs[0] * refs[1].unsqueeze(-1)).sum(dim=1) + expected.backward((2 * actual.float()).double()) + for value, reference in zip((outputs, weights), refs): + torch.testing.assert_close( + value.grad.float(), reference.grad.float(), atol=0.002, rtol=0.016 + ) + + +def test_qwen_moe_actual_tp4_shapes_and_independent_training_forward(): + x = random((4, 2048), grad=True) + router = random((512, 2048), 802, grad=True) + gate_up = random((512, 256, 2048), 803, grad=True) + down = random((512, 2048, 128), 804, grad=True) + output, routes = shared_moe(x, router, gate_up, down) + with torch.no_grad(): + row_output, row_routes = shared_moe(x[:1], router, gate_up, down) + exact(row_output, output[:1]) + exact(row_routes.weights, routes.weights[:1]) + assert torch.equal(row_routes.indices, routes.indices[:1]) + output.float().square().sum().backward() + for value in (x, router, gate_up, down): + assert value.grad is not None and torch.isfinite(value.grad).all() + assert value.grad.abs().max() > 0 + active = routes.indices.unique() + inactive = torch.ones(512, dtype=torch.bool, device="cuda") + inactive[active] = False + assert torch.count_nonzero(gate_up.grad[inactive]) == 0 + assert torch.count_nonzero(down.grad[inactive]) == 0 + + +def test_moe_vjp_matches_independent_double_formula(): + # A small hidden width isolates the derivative; the previous gate covers + # the unmodified official TP4 widths and expert count. + x = random((2, 32)).mul_(10).requires_grad_() + router = random((512, 32), 802).mul_(5).requires_grad_() + gate_up = random((512, 16, 32), 803).mul_(10).requires_grad_() + down = random((512, 32, 8), 804).mul_(10).requires_grad_() + actual, routes = shared_moe(x, router, gate_up, down) + grad = random(actual.shape, 805) + actual.backward(grad) + xr, rr, gu, dr = [v.detach().double().requires_grad_() for v in (x, router, gate_up, down)] + probability = (xr @ rr.t()).softmax(-1) + selected = probability.gather(1, routes.indices) + selected = selected / selected.sum(-1, keepdim=True) + rows = [] + for token in range(2): + slots = [] + for slot, expert in enumerate(routes.indices[token].tolist()): + gate, up = F.linear(xr[token], gu[expert]).chunk(2) + slots.append(F.linear(F.silu(gate) * up, dr[expert]) * selected[token, slot]) + rows.append(torch.stack(slots).sum(0)) + torch.stack(rows).backward(grad.double()) + for value, reference in zip((x, router, gate_up, down), (xr, rr, gu, dr)): + assert torch.isfinite(value.grad).all() + # BF16 intermediates are rounded by the actual provider; this compares + # derivative correctness, never the raw-bit L1/L2 acceptance criterion. + torch.testing.assert_close( + value.grad.float(), reference.grad.float(), atol=0.00002, rtol=0.016 + ) + assert (value.grad.double() - reference.grad).norm() / reference.grad.norm() < 0.016 + + +def logprob_contract(tokens): + return LogprobContract( + role=LogprobRole.TRAIN, + dtype=LogprobDType.FP32, + mask=MaskSpec(tokens, (True,) * tokens), + sharding=ShardingSpec(0, 1, ((0, 151936),), 151936, 151936), + reduction=ReductionSpec(), + ) + + +def test_full_vocabulary_logprob_entropy_modes_and_gradient(): + logits = random((4, 151936), dtype=torch.float32, grad=True) + targets = torch.tensor([0, 37984, 75968, 151935], device="cuda") + contract = logprob_contract(4) + logp, lse, entropy = shared_logprob(logits, targets, contract=contract) + infer_logp, infer_lse, empty = shared_logprob( + logits, targets, contract=replace(contract, role=LogprobRole.INFER), with_entropy=False + ) + exact(logp, infer_logp) + exact(lse, infer_lse) + assert empty is None + row_logp, _, row_entropy = shared_logprob(logits[:1], targets[:1], contract=logprob_contract(1)) + exact(row_logp, logp[:1]) + exact(row_entropy, entropy[:1]) + (-logp.sum() + 0.03 * entropy.sum()).backward() + reference = logits.detach().double().requires_grad_() + log_softmax = reference.log_softmax(-1) + expected_logp = log_softmax.gather(1, targets[:, None]).squeeze(1) + expected_entropy = -(log_softmax.exp() * log_softmax).sum(-1) + (-expected_logp.sum() + 0.03 * expected_entropy.sum()).backward() + torch.testing.assert_close(logp.double(), expected_logp, atol=0.00002, rtol=0) + torch.testing.assert_close(entropy.double(), expected_entropy, atol=0.00002, rtol=0) + torch.testing.assert_close(logits.grad.double(), reference.grad, atol=0.000002, rtol=0) + + +def test_logprob_nan_rejected_before_comparison(): + logits = random((1, 151936), dtype=torch.float32) + logits[0, 0] = torch.nan + with pytest.raises(ValueError, match="finite"): + shared_logprob(logits, torch.tensor([0], device="cuda"), contract=logprob_contract(1)) + + +@torch.no_grad() +def test_route_weights_are_batch_invariant(): + logits = random((32, 512), 805, dtype=torch.float32).mul_(100) + whole = stable_top10_routes(logits) + for count in (1, 8, 17): + part = stable_top10_routes(logits[:count]) + assert torch.equal(part.indices, whole.indices[:count]) + exact(part.weights, whole.weights[:count]) + moe_x, router = random((32, 2048), 806), random((512, 2048), 807) + gate_up, down = random((512, 256, 2048), 808), random((512, 2048, 128), 809) + whole_out, _ = shared_moe(moe_x, router, gate_up, down) + part_out, _ = shared_moe(moe_x[:8], router, gate_up, down) + exact(part_out, whole_out[:8]) + + +class _PerExpertReference(torch.autograd.Function): + """The previous provider: one pinned vLLM GEMM pair per expert, in expert order.""" + + @staticmethod + def forward(ctx, x, gate_up, down, route_indices): + from rl_engine.models.qwen3_next.qwen3_next_forward import _vllm_linear + + output = x.new_empty((x.shape[0] * 10, x.shape[1])) + flat = route_indices.flatten() + for expert in flat.unique().tolist(): + slots = (flat == expert).nonzero().squeeze(1) + rows = x.index_select(0, slots // 10) + gate, up = _vllm_linear()(rows, gate_up[expert]).chunk(2, dim=-1) + activated = (F.silu(gate.float()) * up.float()).to(x.dtype) + output.index_copy_(0, slots, _vllm_linear()(activated, down[expert])) + return output.reshape(x.shape[0], 10, x.shape[1]) + + +@torch.no_grad() +@pytest.mark.parametrize("width", [128, 512]) +@pytest.mark.parametrize("tokens", [1, 7, 13, 300]) +def test_grouped_experts_are_bitwise_the_per_expert_gemms(width, tokens): + from rl_engine.models.qwen3_next.qwen3_next_forward import _RoutedExperts, shared_router + + x, router = random((tokens, 2048), 811), random((512, 2048), 812) + gate_up, down = random((512, 2 * width, 2048), 813), random((512, 2048, width), 814) + indices = stable_top10_routes(shared_router(x, router)).indices + exact( + _RoutedExperts.apply(x, gate_up, down, indices), + _PerExpertReference.apply(x, gate_up, down, indices), + ) + + +@torch.no_grad() +@pytest.mark.parametrize("width", [128, 512]) +def test_grouped_projection_is_bitwise_the_per_expert_gemm(width): + # The backward recomputes [gate, up] with the grouped kernel; equality here + # leaves every gradient bitwise what the per-expert backward produced. + from rl_engine.models.qwen3_next.qwen3_next_forward import ( + _vllm_linear, + grouped_route_linear, + shared_router, + ) + + x, router = random((300, 2048), 817), random((512, 2048), 818) + gate_up = random((512, 2 * width, 2048), 819) + indices = stable_top10_routes(shared_router(x, router)).indices + grouped = grouped_route_linear(x, gate_up, indices).reshape(-1, 2 * width) + flat = indices.flatten() + for expert in flat.unique().tolist(): + slots = (flat == expert).nonzero().squeeze(1) + exact(grouped[slots], _vllm_linear()(x[slots // 10], gate_up[expert]), name=f"e{expert}") + + +def test_grouped_experts_fail_closed_on_the_tensor_descriptor_path(monkeypatch): + from rl_engine.models.qwen3_next import qwen3_next_forward as provider + + prepare, dispatch, _ = provider._vllm_grouped() + monkeypatch.setattr(provider, "_vllm_grouped", lambda: (prepare, dispatch, lambda: True)) + x = random((4, 2048), 815) + with pytest.raises(RuntimeError, match="VLLM_TRITON_USE_TD"): + provider.grouped_route_linear( + x, random((512, 256, 2048), 816), torch.zeros(4, 10, device="cuda", dtype=torch.long) + ) diff --git a/tests/models/qwen3_next/check_qwen3_next_gdn_bridge.py b/tests/models/qwen3_next/check_qwen3_next_gdn_bridge.py new file mode 100644 index 000000000..9656b80c7 --- /dev/null +++ b/tests/models/qwen3_next/check_qwen3_next_gdn_bridge.py @@ -0,0 +1,118 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Explicit subprocess provider tests; never import vLLM into ordinary pytest.""" + +import pytest +import torch + +from rl_engine.integrations.engines.train.vllm.qwen3_next_gdn import ( + _provider, + packed_decode_training_step, +) +from rl_engine.reference.linear_attn import GatedDeltaRuleRecurrentStepOp +from rl_engine.validation.common.tensor_identity import ( + assert_tensor_bitwise_equal, + tensor_bitwise_equal, +) + +pytestmark = pytest.mark.skipif(not torch.cuda.is_available(), reason="CUDA required") + + +def _inputs(seed=1): + gen = torch.Generator(device="cuda").manual_seed(seed) + + def rand(*shape, dtype=torch.bfloat16): + return torch.randn(*shape, device="cuda", dtype=dtype, generator=gen) + + return [ + rand(2, 512), + rand(2, 2), + rand(2, 2), + rand(2, dtype=torch.float32), + rand(2, dtype=torch.float32), + rand(3, 2, 128, 128, dtype=torch.float32) * 0.01, + ] + + +def test_bridge_forward_is_provider_exact_and_does_not_mutate_inputs(): + inputs = _inputs() + state_before = inputs[-1].clone() + indices = torch.tensor([1, 2], device="cuda", dtype=torch.int32) + out, state = packed_decode_training_step(*inputs, indices, num_k_heads=1) + expected = torch.empty_like(out) + expected_state = state_before.clone() + _provider()( + *inputs[:-1], 128**-0.5, expected_state, expected, indices, use_qk_l2norm_in_kernel=True + ) + assert_tensor_bitwise_equal(out, expected) + assert_tensor_bitwise_equal(state, expected_state) + assert tensor_bitwise_equal(inputs[-1], state_before) + + +def test_bridge_keeps_prompt_state_gradient_through_response(): + inputs = [x.requires_grad_() for x in _inputs()] + indices = torch.tensor([1, 2], device="cuda", dtype=torch.int32) + _, prompt_state = packed_decode_training_step(*inputs, indices, num_k_heads=1) + prompt_state.retain_grad() + response = _inputs(seed=2)[0].requires_grad_() + out, final_state = packed_decode_training_step( + response, *inputs[1:5], prompt_state, indices, num_k_heads=1 + ) + (out.float().square().sum() + final_state.square().sum() * 0.01).backward() + assert prompt_state.grad is not None and prompt_state.grad.abs().max() > 0 + for tensor in [*inputs, response]: + assert tensor.grad is not None + assert torch.isfinite(tensor.grad).all() + assert tensor.grad.abs().max() > 0 + + +def test_bridge_backward_matches_recomputed_recurrence_vjp(): + inputs = [x.requires_grad_() for x in _inputs()] + indices = torch.tensor([1, 2], device="cuda", dtype=torch.int32) + out, state = packed_decode_training_step(*inputs, indices, num_k_heads=1) + grad_out = torch.ones_like(out) * 0.125 + grad_state = torch.ones_like(state) * 0.001 + torch.autograd.backward((out, state), (grad_out, grad_state)) + refs = [x.detach().clone().requires_grad_() for x in inputs] + ref_out, ref_state = GatedDeltaRuleRecurrentStepOp()( + *refs, indices, scale=128**-0.5, num_k_heads=1 + ) + torch.autograd.backward((ref_out, ref_state), (grad_out, grad_state)) + for actual, ref in zip(inputs, refs): + assert tensor_bitwise_equal(actual.grad, ref.grad) + + +def test_initial_state_vjp_matches_provider_directional_difference(): + inputs = _inputs() + inputs[-1].requires_grad_() + indices = torch.tensor([1, 2], device="cuda", dtype=torch.int32) + _, output = packed_decode_training_step(*inputs, indices, num_k_heads=1) + direction = torch.ones_like(inputs[-1]) * 0.03125 + probe = torch.linspace(-0.01, 0.01, output.numel(), device="cuda").reshape_as(output) + (output.double() * probe.double()).sum().backward() + analytic = (inputs[-1].grad.double() * direction.double()).sum() + eps = 0.01 + with torch.no_grad(): + _, plus = packed_decode_training_step( + *inputs[:-1], inputs[-1] + eps * direction, indices, num_k_heads=1 + ) + _, minus = packed_decode_training_step( + *inputs[:-1], inputs[-1] - eps * direction, indices, num_k_heads=1 + ) + numerical = ((plus.double() - minus.double()) * probe.double()).sum() / (2 * eps) + torch.testing.assert_close(analytic, numerical, rtol=1e-3, atol=1e-4) + + +@pytest.mark.parametrize("empty", [False, True]) +def test_inactive_state_is_identity_in_backward(empty): + inputs = _inputs() + if empty: + inputs[:3] = [x[:0] for x in inputs[:3]] + inputs = [x.requires_grad_() for x in inputs] + indices = torch.zeros(inputs[0].shape[0], device="cuda", dtype=torch.int32) + out, state = packed_decode_training_step(*inputs, indices, num_k_heads=1) + (out.float().sum() + state.sum()).backward() + assert tensor_bitwise_equal(inputs[-1].grad, torch.ones_like(state)) + for tensor in inputs[:-1]: + assert torch.count_nonzero(tensor.grad) == 0 diff --git a/tests/models/qwen3_next/check_qwen3_next_gdn_sequence.py b/tests/models/qwen3_next/check_qwen3_next_gdn_sequence.py new file mode 100644 index 000000000..6fa53afb2 --- /dev/null +++ b/tests/models/qwen3_next/check_qwen3_next_gdn_sequence.py @@ -0,0 +1,102 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Packed decode recurrence boundary checks; no complete-model L2 claim.""" + +import pytest +import torch + +from rl_engine.integrations.engines.train.vllm.qwen3_next_gdn import packed_recurrent_sequence +from rl_engine.validation.common.tensor_identity import assert_tensor_bitwise_equal as exact + + +def inputs(lengths, seed=7): + assert torch.cuda.is_available(), "CUDA is required; this acceptance suite cannot skip" + generator = torch.Generator(device="cuda").manual_seed(seed) + + def rand(*shape, dtype=torch.bfloat16): + return torch.randn(*shape, device="cuda", dtype=dtype, generator=generator) + + tokens = sum(lengths) + # Actual TP4 shard: 16 / 4 key heads, 32 / 4 value heads, K=V=128. + tensors = [ + rand(tokens, 2048), + rand(tokens, 8), + rand(tokens, 8), + rand(8, dtype=torch.float32), + rand(8, dtype=torch.float32), + rand(len(lengths) + 1, 8, 128, 128, dtype=torch.float32) * 0.01, + ] + indices = torch.arange(1, len(lengths) + 1, device="cuda", dtype=torch.int32) + cu = torch.tensor([0, *torch.tensor(lengths).cumsum(0).tolist()], dtype=torch.int64) + return tensors, indices, cu + + +def run(tensors, indices, cu): + return packed_recurrent_sequence(*tensors, indices, cu, num_k_heads=4) + + +@torch.no_grad() +@pytest.mark.parametrize("lengths", [(8,), (64, 8, 0, 16), (1024, 256, 64, 8)]) +def test_packed_matches_independent_sequences_and_reordering(lengths): + tensors, indices, cu = inputs(lengths) + original_state = tensors[-1].clone() + output, state = run(tensors, indices, cu) + for seq, length in enumerate(lengths): + start, end = cu[seq : seq + 2].tolist() + one = [*(value[start:end] for value in tensors[:3]), *tensors[3:]] + expected, expected_state = run(one, indices[seq : seq + 1], torch.tensor([0, length])) + exact(output[start:end], expected) + exact(state[seq + 1], expected_state[seq + 1]) + permutation = list(reversed(range(len(lengths)))) + rows = torch.cat([torch.arange(cu[seq], cu[seq + 1], device="cuda") for seq in permutation]) + changed = [*(value.index_select(0, rows) for value in tensors[:3]), *tensors[3:]] + reordered_cu = torch.tensor([0, *torch.tensor([lengths[i] for i in permutation]).cumsum(0)]) + reordered, reordered_state = run(changed, indices[permutation], reordered_cu) + exact(reordered, output.index_select(0, rows)) + exact(reordered_state, state) + exact(tensors[-1], original_state) + + +@torch.no_grad() +def test_1024_token_chunk_continuation_is_bitwise_exact(): + tensors, indices, cu = inputs((1024,)) + whole, whole_state = run(tensors, indices, cu) + state, pieces = tensors[-1], [] + cuts = (0, 1, 8, 64, 256, 513, 1024) + for start, end in zip(cuts, cuts[1:]): + chunk = [*(value[start:end] for value in tensors[:3]), *tensors[3:5], state] + output, state = run(chunk, indices, torch.tensor([0, end - start])) + pieces.append(output) + exact(torch.cat(pieces), whole) + exact(state, whole_state) + + +def test_chunk_boundary_retains_prompt_and_initial_state_gradients(): + tensors, indices, cu = inputs((8,)) + tensors = [tensor.requires_grad_() for tensor in tensors] + prompt = [*(value[:4] for value in tensors[:3]), *tensors[3:]] + _, prompt_state = run(prompt, indices, torch.tensor([0, 4])) + prompt_state.retain_grad() + response = [*(value[4:] for value in tensors[:3]), *tensors[3:5], prompt_state] + out, state = run(response, indices, torch.tensor([0, 4])) + (out.float().square().sum() + state.square().sum() * 0.01).backward() + assert prompt_state.grad is not None and prompt_state.grad.abs().max() > 0 + for value in tensors: + assert value.grad is not None and torch.isfinite(value.grad).all() + assert value.grad.abs().max() > 0 + assert tensors[0].grad[:4].abs().max() > 0 + + +@pytest.mark.parametrize("bad", [[1, 8], [0, 9], [0, 6, 5, 8]]) +def test_bad_packing_is_rejected(bad): + tensors, indices, _ = inputs((8,)) + with pytest.raises(ValueError, match="cu_seqlens"): + run(tensors, indices, torch.tensor(bad)) + + +def test_reserved_and_duplicate_slots_are_rejected(): + tensors, indices, cu = inputs((4, 4)) + for bad in ([0, 1], [1, 1]): + with pytest.raises(ValueError): + run(tensors, torch.tensor(bad, device="cuda", dtype=torch.int32), cu) diff --git a/tests/models/qwen3_next/check_qwen3_next_multigpu.py b/tests/models/qwen3_next/check_qwen3_next_multigpu.py new file mode 100644 index 000000000..ede9df2f7 --- /dev/null +++ b/tests/models/qwen3_next/check_qwen3_next_multigpu.py @@ -0,0 +1,46 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Required allocation-only checks. Missing GPUs fail instead of skipping.""" + +import pytest +import torch + + +@pytest.mark.parametrize("device", [1, 2, 3]) +@pytest.mark.parametrize("gated", [False, True]) +def test_norm_guard_restores_current_device_and_uses_input_stream(device, gated): + from rl_engine import _C + + assert torch.cuda.device_count() == 4, "Four allocated GPUs are required" + torch.cuda.set_device(device) + x = torch.randn(32, 128, device=f"cuda:{device}", dtype=torch.bfloat16) + weight = torch.randn(128, device=x.device, dtype=x.dtype) + gate = torch.randn_like(x) + dy = torch.randn_like(x) + + def invoke(w=weight): + if gated: + out, rstd = _C.rmsnorm_gated_forward(x, w, gate, 1e-6) + dx = _C.rmsnorm_gated_backward_dx(dy, x, w, gate, rstd) + else: + out, rstd = _C.rmsnorm_forward(x, w, 1e-6, 1.0) + dx = _C.rmsnorm_backward_dx(dy, x, w, rstd, 1.0) + return out, rstd, dx + + expected = invoke() + stream = torch.cuda.Stream(device=device) + stream.wait_stream(torch.cuda.current_stream(device)) + # set_stream changes the current device: deliberately switch back before C++ entry. + torch.cuda.set_stream(stream) + torch.cuda.set_device(0) + actual = invoke() + assert torch.cuda.current_device() == 0 + stream.synchronize() + for got, want in zip(actual, expected): + assert got.device == x.device + assert torch.isfinite(got).all() + assert torch.equal(got.contiguous().view(torch.uint8), want.contiguous().view(torch.uint8)) + with pytest.raises(RuntimeError, match="device"): + invoke(weight.to("cuda:0")) + assert torch.cuda.current_device() == 0 diff --git a/tests/models/qwen3_next/check_qwen3_next_native_rollout.py b/tests/models/qwen3_next/check_qwen3_next_native_rollout.py new file mode 100644 index 000000000..67e7cd08d --- /dev/null +++ b/tests/models/qwen3_next/check_qwen3_next_native_rollout.py @@ -0,0 +1,318 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Native scheduler/sampler plumbing tests; these are not GPU model evidence.""" + +from types import SimpleNamespace as Namespace + +import pytest +import torch + +from rl_engine.integrations.engines.rollout.vllm import qwen3_next_native_rollout as rollout +from rl_engine.validation.models.qwen3_next_l2 import L2Case, json_digest + + +def request(batch=4, length=8, chunked=False, frozen=False): + chunks = L2Case(length, batch, "chunked" if chunked else "full").chunks + prompts = [[row + 1] * length for row in range(batch)] + responses = [list(range(16)) for _ in range(batch)] if frozen else None + result = { + "schema_version": 1, + "role": "rollout", + "case_id": "cpu-plumbing", + "identity": { + "architecture_layers": 48, + "topology": {"tp": 4, "pp": 1, "cp": 1, "ep": 1}, + "checkpoint": "/explicit/test-only-checkpoint", + "provider_config": {"native_rollout_kv_cache_memory_bytes": 4 << 30}, + }, + "prompt_tokens": prompts, + "response_tokens": responses, + "sample_ids": list(range(batch)), + "prefill_chunks": chunks, + "execution": { + "rollout_mode": "autoregressive", + "prefill_chunks": chunks, + "response_mode": "teacher_forced" if frozen else "generate", + }, + "response_length": 16, + "vocab_size": 151936, + "logits_dtype": "bfloat16", + "logprobs_dtype": "float32", + "prediction_positions": list(range(length - 1, length + 15)), + "state_position": length + 14, + "consumed_response_tokens": 15, + "required_layer_digests": list(range(48)), + "trace_layers": [], + "consumed_input_tokens": ( + None + if responses is None + else [left + right[:-1] for left, right in zip(prompts, responses)] + ), + "generation": { + "temperature": 0.0, + "top_p": 1.0, + "top_k": -1, + "seed": 1234, + "ignore_eos": True, + }, + } + result["request_sha256"] = json_digest(result) + return result + + +def seal(value): + value["request_sha256"] = json_digest( + {key: item for key, item in value.items() if key != "request_sha256"} + ) + return value + + +@pytest.mark.parametrize("length", [8, 64, 256, 1024]) +@pytest.mark.parametrize("batch", [1, 4]) +@pytest.mark.parametrize("chunked", [False, True]) +def test_exact_boundaries_cover_every_prefill_and_fifteen_decode_inputs(length, batch, chunked): + value = request(batch, length, chunked, frozen=True) + assert rollout.validate_request(value) == (batch, length) + computed = 0 + for count in value["prefill_chunks"] + [1] * 15: + assert rollout.next_scheduled_tokens(computed, length, value["prefill_chunks"]) == count + computed += count + assert computed == length + 15 + with pytest.raises(ValueError, match="exact requested"): + rollout.next_scheduled_tokens(computed, length, value["prefill_chunks"]) + + +@pytest.mark.parametrize( + "field,value", + [ + ("prediction_positions", list(range(8, 24))), + ("consumed_response_tokens", 16), + ("prefill_chunks", [7]), + ("logits_dtype", "float32"), + ("trace_layers", [48]), + ], +) +def test_worker_rejects_even_resigned_requests_that_change_the_contract(field, value): + item = request() + item[field] = value + with pytest.raises(ValueError): + rollout.validate_request(seal(item)) + + +def scheduled_request(sample, computed=0, chunks=(1, 63), batch=4): + descriptor = { + "request_sha256": "same-case", + "sample_id": sample, + "batch_size": batch, + "prompt_length": sum(chunks), + "prefill_chunks": list(chunks), + } + return Namespace( + request_id=str(sample), + sampling_params=Namespace(extra_args={"shared_l2": descriptor}), + num_computed_tokens=computed, + is_finished=lambda: False, + ) + + +def scheduler(requests): + value = object.__new__(rollout.ExactPrefillScheduler) + value.requests = {row.request_id: row for row in requests} + value.scheduler_config = Namespace(long_prefill_token_threshold=0) + value._pause_state = rollout.PauseState.UNPAUSED + return value + + +def test_native_scheduler_barrier_waits_for_all_four_requests(monkeypatch): + item = scheduler([scheduled_request(0)]) + calls = [] + + def native(self, throttle): + calls.append(self._pause_state) + return Namespace(total_num_scheduled_tokens=0) + + monkeypatch.setattr(rollout.Scheduler, "schedule", native) + item.schedule() + assert calls == [rollout.PauseState.PAUSED_ALL] + assert item._pause_state == rollout.PauseState.UNPAUSED + + +def test_native_scheduler_caps_real_decisions_and_rejects_partial_batches(monkeypatch): + item = scheduler([scheduled_request(rank, computed=1) for rank in range(4)]) + + def native(self, throttle): + assert self.scheduler_config.long_prefill_token_threshold == 63 + return Namespace( + num_scheduled_tokens={str(rank): 63 for rank in range(4)}, preempted_req_ids=set() + ) + + monkeypatch.setattr(rollout.Scheduler, "schedule", native) + assert item.schedule().num_scheduled_tokens == {str(rank): 63 for rank in range(4)} + monkeypatch.setattr( + rollout.Scheduler, + "schedule", + lambda self, throttle: Namespace(num_scheduled_tokens={"0": 63}, preempted_req_ids=set()), + ) + with pytest.raises(RuntimeError, match="exact_scheduler_mismatch"): + item.schedule() + + +def test_native_scheduler_rejects_desynchronized_request_offsets(): + item = scheduler([scheduled_request(rank, computed=rank) for rank in range(4)]) + with pytest.raises(RuntimeError, match="synchronized"): + item.schedule() + + +def test_native_logits_processor_forces_frozen_tokens_without_mutating_raw_logits(): + processor = rollout.ForceFrozenTokens(None, torch.device("cpu"), False) + assert processor.is_argmax_invariant() is False + original = torch.arange(151936, dtype=torch.float32) + frozen = list(range(16)) + apply = processor.new_req_logits_processor( + Namespace(extra_args={"shared_l2": {"response_tokens": frozen}}) + ) + forced = apply(frozen[:7], original) + assert int(forced.argmax()) == 7 + assert int(original.argmax()) == 151935 + assert forced.data_ptr() != original.data_ptr() + assert ( + processor.new_req_logits_processor( + Namespace(extra_args={"shared_l2": {"response_tokens": None}}) + ) + is None + ) + + +def test_runtime_profile_reads_actual_config_and_rejects_changed_cache_budget(): + expected = rollout.NATIVE_ROLLOUT_PROFILE + config = Namespace( + scheduler_config=Namespace( + scheduler_cls=rollout.ExactPrefillScheduler, + max_num_seqs=64, + max_num_batched_tokens=16384, + async_scheduling=False, + ), + model_config=Namespace(max_model_len=1040, dtype=torch.bfloat16), + cache_config=Namespace( + kv_cache_memory_bytes=4 << 30, + enable_prefix_caching=False, + mamba_ssm_cache_dtype="float32", + ), + use_v2_model_runner=False, + ) + assert rollout.runtime_profile(config) == expected + config.cache_config.kv_cache_memory_bytes *= 2 + with pytest.raises(ValueError, match="changed the explicit"): + rollout.runtime_profile(config) + + +def test_implementation_readiness_does_not_claim_scheduler_or_model_acceptance(): + capabilities = rollout.capabilities() + assert capabilities["rollout"] and capabilities["native_scheduler"] + assert not capabilities["scheduler_batch_invariance_verified"] + assert not capabilities["full_model_l2_verified"] + + +def test_engine_arguments_are_accepted_by_the_installed_native_api(monkeypatch): + import huggingface_hub.constants + from vllm.engine.arg_utils import EngineArgs + + monkeypatch.setattr(huggingface_hub.constants, "HF_HUB_OFFLINE", False) + value = EngineArgs(**rollout.engine_arguments(request()["identity"], "ExplicitTestModel")) + assert value.tensor_parallel_size == 4 + assert value.kv_cache_memory_bytes == 4 << 30 + assert value.scheduler_cls.endswith(".ExactPrefillScheduler") + assert value.attention_config.backend.name == "CUSTOM" + assert value.compilation_config.mode == 0 + + +def trace_for_cpu_bookkeeping(): + value = object.__new__(rollout.RolloutTrace) + value.request = request(frozen=True) + value.worker = Namespace(model_runner=Namespace(input_batch=Namespace(req_ids=["r2", "r0"]))) + value.step = {"r0": (0, 7, 1), "r2": (2, 7, 1)} + value.responses = torch.tensor(value.request["response_tokens"], dtype=torch.int64) + value.progress = {"r0": 7, "r2": 7} + value.scheduled = Namespace(total_num_scheduled_tokens=2) + value.schedule = [] + return value + + +def test_trace_uses_actual_native_request_order_and_absolute_positions(): + value = trace_for_cpu_bookkeeping() + value.begin_forward(torch.tensor([3, 1]), torch.tensor([7, 7])) + assert value.current == [(2, 0, 1, 7), (0, 1, 2, 7)] + assert value.progress == {"r0": 8, "r2": 8} + assert value.schedule == [ + {"samples": [2, 0], "computed_before": [7, 7], "token_counts": [1, 1]} + ] + value.step = {"r0": (0, 8, 1), "r2": (2, 8, 1)} + value.begin_forward(torch.tensor([0, 0]), torch.tensor([8, 8])) + assert value.progress == {"r0": 9, "r2": 9} + + +@pytest.mark.parametrize("tokens,positions", [([2, 1], [7, 7]), ([3, 1], [8, 7])]) +def test_trace_rejects_wrong_consumed_tokens_or_prediction_offsets(tokens, positions): + value = trace_for_cpu_bookkeeping() + with pytest.raises(ValueError): + value.begin_forward(torch.tensor(tokens), torch.tensor(positions)) + + +@pytest.mark.parametrize("field,replacement", [("sha256", "b" * 64), ("path", "/other/_C.so")]) +def test_rollout_rejects_provider_binary_changed_during_case(monkeypatch, field, replacement): + value = object.__new__(rollout.RolloutTrace) + value.provider_binary = {"module": "rl_engine._C", "path": "/actual/_C.so", "sha256": "a" * 64} + changed = {**value.provider_binary, field: replacement} + monkeypatch.setattr(rollout, "imported_provider_identity", lambda: changed) + # This must fail before examining numerical observations or publishing a trace. + with pytest.raises(RuntimeError, match="binary changed during"): + value.finish() + + +def test_rollout_rejects_provider_replaced_between_worker_initialization_and_case(monkeypatch): + provider = {"module": "rl_engine._C", "path": "/actual/_C.so", "sha256": "a" * 64} + worker = Namespace(shared_provider_binary=provider) + monkeypatch.setattr( + rollout, "imported_provider_identity", lambda: {**provider, "sha256": "b" * 64} + ) + with pytest.raises(RuntimeError, match="binary changed after"): + rollout.RolloutTrace(worker, request(frozen=True), "/unused-cpu-test") + + +@pytest.mark.parametrize("tamper", ["missing", "module", "path", "sha256"]) +def test_assemble_rejects_different_binary_in_one_rehashed_rank_trace(tmp_path, tamper): + value = request(frozen=True) + provider = {"module": "rl_engine._C", "path": "/actual/_C.so", "sha256": "a" * 64} + records = [] + for rank in range(4): + observed = dict(provider) + if rank == 3: + if tamper == "missing": + observed = None + else: + observed[tamper] = { + "module": "fallback", + "path": "/other/_C.so", + "sha256": "b" * 64, + }[tamper] + path = tmp_path / f"rank-{rank}.pt" + rollout.save_tensor_artifact( + path, + { + "rank": rank, + "request_sha256": value["request_sha256"], + "provider_binary": observed, + }, + ) + records.append( + { + "rank": rank, + "path": str(path), + "sha256": rollout.file_digest(path), + "request_sha256": value["request_sha256"], + } + ) + # File SHA is valid: per-rank provenance must still reject the rewritten identity. + with pytest.raises(ValueError, match="binary evidence|different provider binaries"): + rollout.assemble_trace(value, records, value["response_tokens"]) diff --git a/tests/models/qwen3_next/check_qwen3_next_norm_providers.py b/tests/models/qwen3_next/check_qwen3_next_norm_providers.py new file mode 100644 index 000000000..f4d25d2d8 --- /dev/null +++ b/tests/models/qwen3_next/check_qwen3_next_norm_providers.py @@ -0,0 +1,239 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""How far apart vLLM's eager gated-RMSNorm paths are, and ours from each. + +Named ``check_`` rather than ``test_`` on purpose, following +``tests/distributed/check_*.py``: this module imports real vLLM, and +The integration isolation test asserts that ``vllm`` is absent +from ``sys.modules`` -- an invariant any collected test importing vLLM would break +for the whole session. Run it explicitly: + + pytest tests/models/qwen3_next/check_qwen3_next_norm_providers.py -v + +RFC #428 section 2.1 defines L2 as "bitwise identical to vLLM rollout". For +Qwen3-Next's GDN gated norm that phrase is not well defined until a single +provider is named, because vLLM ships several and they do not agree bitwise with +each other. + +This module records two things so a vLLM upgrade cannot move them silently: + +1. **Provider facts** -- the GDN decode env defaults, and that ``RMSNormGated`` + has distinct ``forward_native`` and ``forward_cuda`` methods. It does NOT + determine which path vLLM dispatches at runtime: the checks below call each + method directly (eager), and vLLM's default compiled mode traces + ``forward_native`` into an inductor graph instead. +2. **The size of the gap** -- a seed sweep that asserts an upper bound on the + disagreement and on the mismatch rate between the eager paths. The bounds are + provider-gap bounds, not ``tolerance_contract.json`` thresholds, and they + deliberately do NOT assert equality. + +Measured on 2x B200 (sm_100, torch 2.13.0+cu130, vllm 0.30.0), bf16, +``head_v_dim=128``, 512 rows, 40 seeds: + +=============================== ================== ================ +comparison seeds not bitwise worst max|diff| +=============================== ================== ================ +ours vs ``forward_native`` 6 / 40 1.56e-2 +ours vs ``forward_cuda`` 18 / 40 3.91e-3 +``forward_native`` vs ``cuda`` 21 / 40 1.56e-2 +=============================== ================== ================ +""" + +from __future__ import annotations + +import pytest +import torch + +from rl_engine.reference.norm.qwen3_next_rms_norm import Qwen3NextRMSNormGatedOp + +# vLLM is imported inside the checks, never at module scope, so that merely +# collecting this file does not pull it into sys.modules. + +pytestmark = pytest.mark.skipif(not torch.cuda.is_available(), reason="CUDA is required") + +# Qwen3-Next-80B-A3B-Instruct: linear_value_head_dim / rms_norm_eps. +_HEAD_V_DIM = 128 +_EPS = 1e-6 +_ROWS = 512 +_SEEDS = 40 + +# The gated norm is constructed by vLLM's GDN block with exactly these settings; +# see vllm/model_executor/layers/mamba/gdn/qwen_gdn_linear_attn.py. +_NORM_BEFORE_GATE = True +_GROUP_SIZE = None +_ACTIVATION = "silu" + + +@pytest.fixture(scope="module") +def vllm_config_ctx(): + """`RMSNormGated` is a CustomOp and refuses to build outside a config context.""" + pytest.importorskip("vllm", reason="vLLM is required to identify the provider") + from vllm.config import VllmConfig, set_current_vllm_config + + with set_current_vllm_config(VllmConfig()): + yield + + +def _make_norm(): + from vllm.model_executor.layers.layernorm import RMSNormGated + + return RMSNormGated( + _HEAD_V_DIM, + eps=_EPS, + group_size=_GROUP_SIZE, + norm_before_gate=_NORM_BEFORE_GATE, + activation=_ACTIVATION, + ) + + +def _inputs(seed: int, dtype: torch.dtype, rows: int = _ROWS): + g = torch.Generator(device="cuda").manual_seed(seed) + x = torch.randn(rows, _HEAD_V_DIM, device="cuda", dtype=dtype, generator=g) + gate = torch.randn(rows, _HEAD_V_DIM, device="cuda", dtype=dtype, generator=g) + weight = torch.randn(_HEAD_V_DIM, device="cuda", dtype=dtype, generator=g) + return x, gate, weight + + +def _disagreement(a: torch.Tensor, b: torch.Tensor) -> tuple[float, float]: + """(worst absolute difference, fraction of elements that differ bitwise).""" + bits_a = a.float().view(torch.int32) + bits_b = b.float().view(torch.int32) + mismatch = int((bits_a != bits_b).sum()) + worst = (a.float() - b.float()).abs().max().item() + return worst, mismatch / a.numel() + + +# --------------------------------------------------------------------------- # +# 1. Provider facts -- recorded, not a runtime dispatch check +# --------------------------------------------------------------------------- # +def test_custom_op_has_distinct_native_and_cuda_paths(vllm_config_ctx): + """The two methods are distinct. Which one runs depends on the vLLM mode: eager + (``custom_ops="all"``) dispatches ``forward_cuda``; the default compiled mode + traces ``forward_native``. This test does not check that choice.""" + norm = _make_norm() + assert type(norm).forward_cuda is not type(norm).forward_native + + +def test_gdn_decode_provider_env_defaults_are_recorded(): + """Record the GDN decode env defaults. + + This records the defaults only; it does not assert which kernel runs. For + Qwen3-Next the ``VLLM_GDN_DECODE_KERNEL="cuda"`` default does not take effect: + vLLM builds its GDN layers with ``gqa_interleaved_layout=True`` and falls back + to the Triton decode kernel. A change of either default still fails here, as a + prompt to re-derive the decode path. + """ + pytest.importorskip("vllm", reason="vLLM is required to identify the provider") + import vllm.envs as envs + + observed = { + "VLLM_GDN_DECODE_KERNEL": envs.VLLM_GDN_DECODE_KERNEL.strip().lower(), + "VLLM_ENABLE_FLA_PACKED_RECURRENT_DECODE": bool( + envs.VLLM_ENABLE_FLA_PACKED_RECURRENT_DECODE + ), + } + assert observed == { + "VLLM_GDN_DECODE_KERNEL": "cuda", + "VLLM_ENABLE_FLA_PACKED_RECURRENT_DECODE": True, + }, ( + f"GDN decode provider defaults changed: {observed}. Re-derive which kernel " + "the rollout decode path takes before relying on any exactness claim." + ) + + +# --------------------------------------------------------------------------- # +# 2. The gap, bounded -- never asserted to be zero +# --------------------------------------------------------------------------- # +@pytest.mark.parametrize( + "dtype, max_abs, max_mismatch_rate", + [ + # Provider-gap bounds, not contract thresholds. bf16 rounding absorbs most + # of the reduction-tree difference, so few elements move. + (torch.bfloat16, 2e-2, 0.05), + # In fp32 about 36% of elements differ, so the rate is left unbounded and + # only the magnitude is bounded (no per-element ULP bound is asserted). + (torch.float32, 1e-5, 1.0), + ], +) +def test_vllm_paths_disagree_only_within_bounds(vllm_config_ctx, dtype, max_abs, max_mismatch_rate): + """vLLM's own two paths differ; bound how much. + + A growing magnitude means the reduction trees have diverged semantically, + which would invalidate treating either as the reference. A high mismatch + *rate* at ULP magnitude does not -- it just means the tree shapes differ. + """ + norm = _make_norm().to("cuda", dtype) + worst_abs, worst_rate, differing = 0.0, 0.0, 0 + for seed in range(_SEEDS): + x, gate, weight = _inputs(seed, dtype) + norm.weight.data = weight.clone() + native = norm.forward_native(x, gate) + cuda = norm.forward_cuda(x, gate) + abs_d, rate = _disagreement(native, cuda) + worst_abs, worst_rate = max(worst_abs, abs_d), max(worst_rate, rate) + differing += int(rate > 0.0) + + assert worst_abs <= max_abs, ( + f"vLLM forward_native vs forward_cuda worst |diff| {worst_abs:.3e} exceeds " + f"{max_abs:.3e} over {_SEEDS} seeds ({differing} seeds differ)" + ) + assert worst_rate <= max_mismatch_rate + + +@pytest.mark.parametrize("path", ["forward_native", "forward_cuda"]) +def test_ours_tracks_each_vllm_path_within_bounds(vllm_config_ctx, path): + """Our strict op follows vLLM's convention; bound the residual. + + Not an equality assertion. We reproduce the fp32 weight multiply and the + single trailing cast, but our reduction is the repo's fixed 32-wide chunked + sum rather than whatever tree the provider uses, so a few elements straddle + a rounding boundary. + """ + dtype = torch.bfloat16 + ours = Qwen3NextRMSNormGatedOp() + norm = _make_norm().to("cuda", dtype) + + worst_abs, worst_rate = 0.0, 0.0 + for seed in range(_SEEDS): + x, gate, weight = _inputs(seed, dtype) + norm.weight.data = weight.clone() + reference = getattr(norm, path)(x, gate) + abs_d, rate = _disagreement(ours.forward(x, weight, gate), reference) + worst_abs, worst_rate = max(worst_abs, abs_d), max(worst_rate, rate) + + # Provider-gap bounds, not contract thresholds. + assert worst_abs <= 2e-2, f"worst |diff| vs {path} was {worst_abs:.3e}" + assert worst_rate <= 0.05, f"mismatch rate vs {path} was {worst_rate:.3%}" + + +# --------------------------------------------------------------------------- # +# 3. Batch invariance -- the property we DO claim +# --------------------------------------------------------------------------- # +@pytest.mark.parametrize("path", ["forward_native", "forward_cuda"]) +def test_vllm_gated_norm_is_batch_invariant(vllm_config_ctx, path): + """If this ever fails, vLLM stops being a coherent L2 target. + + Kept as a guard rather than a claim about our code: a provider whose output + depends on unrelated rows cannot anchor a bitwise contract. + """ + dtype = torch.bfloat16 + norm = _make_norm().to("cuda", dtype) + for seed in range(8): + x, gate, weight = _inputs(seed, dtype) + norm.weight.data = weight.clone() + full = getattr(norm, path)(x, gate) + for n in (1, 2, 8, 16, 32, 48, 64, 256): + sliced = getattr(norm, path)(x[:n], gate[:n]) + assert torch.equal(sliced, full[:n]), f"{path} seed={seed} n={n}" + + +def test_our_gated_op_is_batch_invariant(): + """The L1 claim for this operator, bitwise.""" + dtype = torch.bfloat16 + ours = Qwen3NextRMSNormGatedOp() + for seed in range(8): + x, gate, weight = _inputs(seed, dtype) + full = ours.forward(x, weight, gate) + for n in (1, 2, 8, 16, 32, 48, 64, 256): + assert torch.equal(ours.forward(x[:n], weight, gate[:n]), full[:n]) diff --git a/tests/models/qwen3_next/check_qwen3_next_paged_attention.py b/tests/models/qwen3_next/check_qwen3_next_paged_attention.py new file mode 100644 index 000000000..6b2663fba --- /dev/null +++ b/tests/models/qwen3_next/check_qwen3_next_paged_attention.py @@ -0,0 +1,83 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Paged-KV component tests; a real vLLM scheduler gate is still required.""" + +import pytest +import torch + +from rl_engine.integrations.engines.rollout.vllm.qwen3_next_vllm_attention import ( + SharedAttentionImpl, + SharedAttentionMetadata, +) +from rl_engine.validation.common.tensor_identity import assert_tensor_bitwise_equal + +pytestmark = pytest.mark.skipif(not torch.cuda.is_available(), reason="CUDA required") + + +@pytest.mark.parametrize("batch", [1, 4]) +@pytest.mark.parametrize("length", [8, 65, 1024]) +def test_paged_attention_full_chunk_reorder_and_cache_bits(batch, length): + torch.manual_seed(777) + q = torch.randn(batch, length, 4, 256, device="cuda", dtype=torch.bfloat16) + k = torch.randn(batch, length, 1, 256, device="cuda", dtype=torch.bfloat16) + v = torch.randn_like(k) + block = 64 + pages = (length + block - 1) // block + tables = torch.arange(1, batch * pages + 1, device="cuda").reshape(batch, pages) + full_cache = torch.zeros(batch * pages + 1, 1, block, 512, device="cuda", dtype=torch.bfloat16) + chunk_cache = full_cache.clone() + impl = SharedAttentionImpl(4, 256, 1 / 16, 1) + + def invoke(cache, start, end, order): + positions = torch.arange(start, end, device="cuda") + table = tables[order] + slots = (table[:, positions // block] * block + positions % block).reshape(-1) + metadata = SharedAttentionMetadata( + tuple(index * (end - start) for index in range(batch + 1)), + (end,) * batch, + table, + slots, + batch * (end - start), + ) + query = q[order, start:end].reshape(-1, 4, 256) + out = torch.empty_like(query) + impl.forward( + None, + query, + k[order, start:end].reshape(-1, 1, 256), + v[order, start:end].reshape(-1, 1, 256), + cache, + metadata, + out, + ) + return out.reshape(batch, end - start, 4, 256) + + expected = invoke(full_cache, 0, length, list(range(batch))) + actual = torch.empty_like(expected) + start = 0 + for end in sorted( + {1, length, *(point for point in (63, 64, 65, 100, 528, 576) if point < length)} + ): + order = list(reversed(range(batch))) if start else list(range(batch)) + result = invoke(chunk_cache, start, end, order) + actual[order, start:end] = result + start = end + assert_tensor_bitwise_equal(actual, expected, name="paged full/chunk/reorder outputs") + assert_tensor_bitwise_equal(chunk_cache, full_cache, name="complete scheduler-owned KV cache") + + +@pytest.mark.parametrize("bad_slots", [[-1, 1], [1, 1], [1, 99], [1, 0]]) +def test_paged_attention_invalid_indices_do_not_mutate_cache(bad_slots): + cache = torch.zeros(2, 1, 4, 512, device="cuda", dtype=torch.bfloat16) + original = cache.clone() + query = torch.zeros(2, 4, 256, device="cuda", dtype=torch.bfloat16) + key = torch.zeros(2, 1, 256, device="cuda", dtype=torch.bfloat16) + metadata = SharedAttentionMetadata( + (0, 2), (2,), torch.tensor([[0]], device="cuda"), torch.tensor(bad_slots, device="cuda"), 2 + ) + with pytest.raises(ValueError): + SharedAttentionImpl(4, 256, 1 / 16, 1).forward( + None, query, key, key, cache, metadata, query.clone() + ) + assert_tensor_bitwise_equal(cache, original) diff --git a/tests/models/qwen3_next/check_qwen3_next_shared_core.py b/tests/models/qwen3_next/check_qwen3_next_shared_core.py new file mode 100644 index 000000000..f850b0bee --- /dev/null +++ b/tests/models/qwen3_next/check_qwen3_next_shared_core.py @@ -0,0 +1,87 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Combined provider contract; does not instantiate a complete Qwen model.""" + +from dataclasses import replace + +import pytest +import torch + +from rl_engine.integrations.engines.train.vllm.qwen3_next_provider import ( + GDNProviderConfig, + GDNState, + shared_gdn_core, +) +from rl_engine.validation.common.tensor_identity import assert_tensor_bitwise_equal as exact + + +def inputs(tokens, grad=False): + assert torch.cuda.is_available(), "Required CUDA provider suite cannot skip" + gen = torch.Generator(device="cuda").manual_seed(73) + + def rand(*shape, dtype=torch.bfloat16): + return torch.randn(*shape, device="cuda", dtype=dtype, generator=gen).requires_grad_(grad) + + args = [ + rand(tokens, 2048), + rand(tokens, 8), + rand(tokens, 8), + rand(tokens, 8, 128), + rand(8, dtype=torch.float32), + rand(8, dtype=torch.float32), + rand(2048, 4), + rand(128), + GDNState(rand(2, 2048, 3), rand(2, 8, 128, 128, dtype=torch.float32)), + ] + return args, torch.tensor([1], device="cuda", dtype=torch.int32) + + +@pytest.mark.parametrize("tokens", [8, 1024]) +@torch.no_grad() +def test_shared_core_chunk_and_decode_state_match(tokens): + args, indices = inputs(tokens) + config = GDNProviderConfig() + output, state = shared_gdn_core( + *args, indices, torch.tensor([0, tokens]), config=config, num_k_heads=4 + ) + pieces, next_state = [], args[-1] + for start, end in ((0, 3), (3, tokens - 1), (tokens - 1, tokens)): + chunk = [*(value[start:end] for value in args[:4]), *args[4:8], next_state] + part, next_state = shared_gdn_core( + *chunk, indices, torch.tensor([0, end - start]), config=config, num_k_heads=4 + ) + pieces.append(part) + exact(torch.cat(pieces), output) + exact(next_state.convolution, state.convolution) + exact(next_state.recurrent, state.recurrent) + + +def test_independent_training_forward_matches_inference_and_retains_gradients(): + args, indices = inputs(8, grad=True) + config = GDNProviderConfig() + with torch.no_grad(): + reference, _ = shared_gdn_core( + *args, indices, torch.tensor([0, 8]), config=config, num_k_heads=4 + ) + prompt = [*(value[:4] for value in args[:4]), *args[4:]] + _, prompt_state = shared_gdn_core( + *prompt, indices, torch.tensor([0, 4]), config=config, num_k_heads=4 + ) + prompt_state.recurrent.retain_grad() + response = [*(value[4:] for value in args[:4]), *args[4:8], prompt_state] + actual, _ = shared_gdn_core( + *response, indices, torch.tensor([0, 4]), config=config, num_k_heads=4 + ) + exact(actual, reference[4:]) + actual.float().square().sum().backward() + for value in args[:8]: + assert value.grad is not None and torch.isfinite(value.grad).all() + assert value.grad.abs().max() > 0 + assert args[0].grad[:4].abs().max() > 0 + assert prompt_state.recurrent.grad.abs().max() > 0 + + +def test_unimplemented_provider_profile_is_rejected(): + with pytest.raises(ValueError, match="Unsupported"): + replace(GDNProviderConfig(), recurrence="unverified-prefill").validate() diff --git a/tests/models/qwen3_next/check_qwen3_next_vime_weight_hooks.py b/tests/models/qwen3_next/check_qwen3_next_vime_weight_hooks.py new file mode 100644 index 000000000..8931e2a2f --- /dev/null +++ b/tests/models/qwen3_next/check_qwen3_next_vime_weight_hooks.py @@ -0,0 +1,95 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""CPU checks through VIME's real parameter shard and HF export entrypoints.""" + +from types import SimpleNamespace + +import torch +from megatron.core import mpu +from vime.backends.megatron_utils import hf_to_megatron as load_api +from vime.backends.megatron_utils import megatron_to_hf as export_api +from vime.backends.megatron_utils.hf_to_megatron.common import shard_mcore_tensor + +from rl_engine.integrations.orchestrators.vime.providers.qwen3_next_vime import ( + SharedInputNorm, + install_vime_gdn_weight_hooks, +) +from rl_engine.validation.common.tensor_identity import assert_tensor_bitwise_equal as exact + + +class Reader(dict): + def get_tensor(self, key): + return self[key] + + +def test_vime_hf_load_shard_gather_export_roundtrip(monkeypatch): + monkeypatch.setitem(load_api._LOADERS, "qwen3_next", load_api._LOADERS["qwen3_next"]) + monkeypatch.setattr(export_api, "convert_qwen3_next_to_hf", export_api.convert_qwen3_next_to_hf) + monkeypatch.setattr(mpu, "get_tensor_model_parallel_world_size", lambda: 4) + install_vime_gdn_weight_hooks() + generator = torch.Generator().manual_seed(42) + weight = torch.randn((8192, 1, 4), generator=generator).bfloat16() + name = "module.module.decoder.layers.0.self_attention.linear_attn.conv1d.weight" + reader = Reader({"model.layers.0.linear_attn.conv1d.weight": weight}) + packed = load_api._LOADERS["qwen3_next"](name, reader, SimpleNamespace()) + parameter = torch.nn.Parameter(torch.empty(2048, 1, 4, dtype=torch.bfloat16)) + parameter.tensor_model_parallel = True + parameter.partition_dim = 0 + parameter.partition_stride = 1 + local = [] + for rank in range(4): + monkeypatch.setattr(mpu, "get_tensor_model_parallel_rank", lambda rank=rank: rank) + shard = shard_mcore_tensor(name, packed, parameter) + exact(shard, torch.cat([part.chunk(4)[rank] for part in weight.split((2048, 2048, 4096))])) + local.append(shard) + args = SimpleNamespace( + hidden_size=2048, num_attention_heads=16, num_query_groups=2, kv_channels=256 + ) + converted = export_api.convert_qwen3_next_to_hf(args, name, torch.cat(local)) + assert converted[0][0] == "model.layers.0.linear_attn.conv1d.weight" + exact(converted[0][1], weight) + + +def test_shared_norm_keeps_existing_parameter_name_and_identity(): + weight = torch.nn.Parameter(torch.zeros(2048, dtype=torch.bfloat16)) + norm = SharedInputNorm(1e-6, torch.device("cpu"), weight=weight) + assert dict(norm.named_parameters()) == {"weight": weight} + assert norm.weight is weight + assert norm.weight.tensor_model_parallel is False + + +def test_vime_kv_load_shard_export_uses_two_replica_pairs(monkeypatch): + monkeypatch.setattr(mpu, "get_tensor_model_parallel_world_size", lambda: 4) + install_vime_gdn_weight_hooks() + weight = torch.randn(512, 2048).bfloat16() + name = "module.module.decoder.layers.3.self_attention.self_attn.k_proj.weight" + reader = Reader({"model.layers.3.self_attn.k_proj.weight": weight}) + packed = load_api._LOADERS["qwen3_next"](name, reader, SimpleNamespace()) + parameter = torch.nn.Parameter(torch.empty(256, 2048, dtype=torch.bfloat16)) + parameter.tensor_model_parallel = True + parameter.partition_dim = 0 + parameter.partition_stride = 1 + shards = [] + for rank in range(4): + monkeypatch.setattr(mpu, "get_tensor_model_parallel_rank", lambda rank=rank: rank) + shard = shard_mcore_tensor(name, packed, parameter) + exact(shard, weight.chunk(2)[rank // 2]) + shards.append(shard) + args = SimpleNamespace( + hidden_size=2048, num_attention_heads=16, num_query_groups=2, kv_channels=256 + ) + outputs = export_api.convert_qwen3_next_to_hf(args, name, torch.cat(shards)) + assert outputs[0][0] == "model.layers.3.self_attn.k_proj.weight" + exact(outputs[0][1], weight) + + +def test_vime_shared_expert_direct_names_roundtrip(monkeypatch): + install_vime_gdn_weight_hooks() + weight = torch.randn(512, 2048).bfloat16() + hf_name = "model.layers.0.mlp.shared_expert.gate_proj.weight" + name = "module.module.decoder.layers.0.mlp.shared_expert.gate_proj.weight" + loaded = load_api._LOADERS["qwen3_next"](name, Reader({hf_name: weight}), SimpleNamespace()) + outputs = export_api.convert_qwen3_next_to_hf(SimpleNamespace(), name, loaded) + assert outputs[0][0] == hf_name + exact(outputs[0][1], weight) diff --git a/tests/models/qwen3_next/check_qwen3_next_vllm_model_contract.py b/tests/models/qwen3_next/check_qwen3_next_vllm_model_contract.py new file mode 100644 index 000000000..08862e02f --- /dev/null +++ b/tests/models/qwen3_next/check_qwen3_next_vllm_model_contract.py @@ -0,0 +1,283 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Actual vLLM imports/loaders and constructor contracts, without GPU execution.""" + +from types import SimpleNamespace as Namespace + +import pytest +import torch +from vllm.model_executor import parameter +from vllm.model_executor.layers import linear + +from rl_engine.integrations.engines.rollout.vllm import qwen3_next_vllm_model as adapter +from rl_engine.models.qwen3_next.qwen3_next_tp_blocks import shard_attention_weights +from rl_engine.validation.common.tensor_identity import assert_tensor_bitwise_equal as exact + + +def profile(): + config = Namespace( + hidden_size=2048, + num_hidden_layers=48, + num_attention_heads=16, + num_key_value_heads=2, + head_dim=256, + vocab_size=151936, + num_experts=512, + num_experts_per_tok=10, + moe_intermediate_size=512, + shared_expert_intermediate_size=512, + rms_norm_eps=1e-6, + max_position_embeddings=262144, + layer_types=[ + "full_attention" if index % 4 == 3 else "linear_attention" for index in range(48) + ], + rope_parameters={ + "rope_theta": 10000000, + "partial_rotary_factor": 0.25, + "rope_type": "default", + }, + ) + return Namespace( + model_config=Namespace(dtype=torch.bfloat16, enforce_eager=True, hf_text_config=config), + parallel_config=Namespace( + tensor_parallel_size=4, + pipeline_parallel_size=1, + enable_expert_parallel=False, + enable_eplb=False, + use_sequence_parallel_moe=False, + enable_dbo=False, + ), + quant_config=None, + speculative_config=None, + lora_config=None, + cache_config=Namespace(enable_prefix_caching=False), + kernel_config=Namespace(moe_backend="triton"), + attention_config=Namespace(backend=adapter.AttentionBackendEnum.CUSTOM), + ) + + +def test_profile_keeps_engine_and_model_acceptance_closed(): + adapter.validate_profile(profile()) + assert adapter.profile_capabilities()["scheduler_batch_invariance_verified"] is False + assert adapter.profile_capabilities()["full_model_l2_verified"] is False + + +@pytest.mark.parametrize( + "scope,name,value", + [ + ("model_config", "dtype", torch.float32), + ("model_config", "enforce_eager", False), + ("parallel_config", "tensor_parallel_size", 2), + ("parallel_config", "enable_expert_parallel", True), + ("cache_config", "enable_prefix_caching", True), + ("kernel_config", "moe_backend", "auto"), + ("attention_config", "backend", None), + ], +) +def test_real_wrapper_constructor_rejects_drift_before_allocating_model(scope, name, value): + config = profile() + setattr(getattr(config, scope), name, value) + with pytest.raises(ValueError): + adapter.RLKernelQwen3NextForCausalLM(vllm_config=config) + + +@pytest.mark.parametrize("rank", range(4)) +def test_actual_native_qkv_loader_preserves_gate_layout_and_kv_replication(monkeypatch, rank): + for module in (linear, parameter): + monkeypatch.setattr(module, "get_tensor_model_parallel_rank", lambda: rank) + monkeypatch.setattr(module, "get_tensor_model_parallel_world_size", lambda: 4) + # Construct the real native layer, then use its unchanged HF shard loader. + layer = linear.QKVParallelLinear( + 2048, + 256, + 32, + 2, + bias=False, + params_dtype=torch.bfloat16, + ) + weights = {} + for name, rows in (("q_proj.weight", 8192), ("k_proj.weight", 512), ("v_proj.weight", 512)): + weights[name] = ( + torch.arange(rows, dtype=torch.int32) + .remainder(251) + .to(torch.bfloat16)[:, None] + .expand(rows, 2048) + .contiguous() + ) + weights.update( + { + "o_proj.weight": torch.zeros(2048, 4096, dtype=torch.bfloat16), + "q_norm.weight": torch.zeros(256, dtype=torch.bfloat16), + "k_norm.weight": torch.zeros(256, dtype=torch.bfloat16), + } + ) + expected = shard_attention_weights(weights, rank) + for key, shard in (("q_proj.weight", "q"), ("k_proj.weight", "k"), ("v_proj.weight", "v")): + layer.weight.weight_loader(layer.weight, weights[key], shard) + for actual, key in zip( + layer.weight.split((2048, 256, 256)), ("q_proj.weight", "k_proj.weight", "v_proj.weight") + ): + exact(actual, expected[key], name=f"native rank{rank} {key}") + + +def test_shared_moe_postload_preserves_parameter_identity_and_loader(monkeypatch): + # Meta tensors verify 512-expert allocation shapes without allocating an + # unnecessary CPU model. Real data movement is covered by the TP4 GPU gate. + gate = torch.nn.Parameter(torch.empty(512, 256, 2048, device="meta", dtype=torch.bfloat16)) + down = torch.nn.Parameter(torch.empty(512, 2048, 128, device="meta", dtype=torch.bfloat16)) + loader = object() + gate.weight_loader = down.weight_loader = loader + layer = Namespace(w13_weight=gate, w2_weight=down) + method = object.__new__(adapter.SharedPlainBF16MoEMethod) + monkeypatch.setattr( + adapter.SharedPlainBF16MoEMethod, + "get_fused_moe_quant_config", + lambda self, layer: "plain-bf16", + ) + method.process_weights_after_loading(layer) + assert layer.w13_weight is gate and layer.w2_weight is down + assert gate.weight_loader is loader and down.weight_loader is loader + assert method.moe_quant_config == "plain-bf16" + with pytest.raises(RuntimeError, match="native MoE arithmetic"): + method.apply() + + +def test_shared_model_rejects_rope_or_layer_layout_changes(): + config = profile() + config.model_config.hf_text_config.rope_parameters["rope_theta"] = 10000 + with pytest.raises(ValueError, match="rotary dimension"): + adapter.validate_profile(config) + config = profile() + config.model_config.hf_text_config.layer_types[0] = "full_attention" + with pytest.raises(ValueError, match="36 GDN"): + adapter.validate_profile(config) + + +@pytest.mark.parametrize( + "decoder_class", [adapter.Qwen3NextDecoderLayer, adapter.SharedVLLMDecoderLayer] +) +def test_real_decoder_invokes_gdn_with_single_input_and_consumes_returned_tensor( + monkeypatch, decoder_class +): + from rl_engine.integrations.engines.rollout.vllm.qwen3_next_vllm import SharedQwenGDN + + class ResidualNorm(torch.nn.Module): + def forward(self, hidden, residual=None): + if residual is None: + return hidden + return hidden + residual, hidden + residual + + gdn = object.__new__(SharedQwenGDN) + torch.nn.Module.__init__(gdn) + calls = [] + + def into(self, hidden, output): + assert output is not hidden and output.data_ptr() != hidden.data_ptr() + assert output.dtype == hidden.dtype and output.shape == hidden.shape + output.copy_(hidden + 2) + calls.append(output) + + monkeypatch.setattr(SharedQwenGDN, "_forward_into", into) + monkeypatch.setattr(adapter, "_rms", lambda value, module: value) + decoder = object.__new__(decoder_class) + torch.nn.Module.__init__(decoder) + decoder.layer_type = "linear_attention" + decoder.layer_scale = decoder.use_attn_reduce_scatter_for_moe = False + decoder.linear_attn = gdn + decoder.input_layernorm = decoder.post_attention_layernorm = ResidualNorm() + decoder.mlp = torch.nn.Identity() + hidden = torch.ones((2, 2048), dtype=torch.bfloat16) + output, residual = decoder(hidden_states=hidden, residual=None, positions=torch.arange(2)) + assert len(calls) == 1 + exact(calls[0], torch.full_like(hidden, 3), name="public GDN return") + exact(output, torch.full_like(hidden, 4), name="decoder consumed GDN output") + exact(residual, torch.full_like(hidden, 4), name="decoder residual") + + +def test_binding_all48_layers_preserves_parameter_identity_and_native_loaders(): + from rl_engine.integrations.engines.rollout.vllm.qwen3_next_vllm import SharedQwenGDN + from rl_engine.integrations.engines.rollout.vllm.qwen3_next_vllm_attention import ( + SharedAttentionBackend, + ) + + def instance(cls): + value = object.__new__(cls) + torch.nn.Module.__init__(value) + return value + + loader = object() + + def weight_module(shape): + module = torch.nn.Module() + module.weight = torch.nn.Parameter(torch.empty(shape, device="meta", dtype=torch.bfloat16)) + module.weight.weight_loader = loader + return module + + # The binding operation does not run a native constructor or GPU kernel. + # Meta tensors make its 48-layer ownership contract affordable to test. + model = instance(adapter.Qwen3NextModel) + model.start_layer, model.end_layer = 0, 48 + model.embed_tokens = weight_module((37984, 2048)) + model.norm = weight_module((2048,)) + layers = [] + for index in range(48): + layer = instance(adapter.Qwen3NextDecoderLayer) + layer.layer_type = "full_attention" if index % 4 == 3 else "linear_attention" + if layer.layer_type == "linear_attention": + layer.linear_attn = instance(SharedQwenGDN) + else: + layer.self_attn = instance(adapter.Qwen3NextAttention) + layer.self_attn.attn = Namespace(attn_backend=SharedAttentionBackend) + layer.self_attn.qkv_proj = weight_module((2560, 2048)) + layer.self_attn.o_proj = weight_module((2048, 1024)) + layer.mlp = instance(adapter.Qwen3NextSparseMoeBlock) + layer.mlp.is_fused_shared_expert_enabled = False + layer.mlp.replicate_shared_expert = False + layer.mlp.shared_expert = torch.nn.Module() + layer.mlp.shared_expert.gate_up_proj = weight_module((256, 2048)) + layer.mlp.shared_expert.down_proj = weight_module((2048, 128)) + routed = torch.nn.Module() + routed.quant_method = instance(adapter.UnquantizedFusedMoEMethod) + routed.w13_weight = weight_module((512, 256, 2048)).weight + routed.w2_weight = weight_module((512, 2048, 128)).weight + layer.mlp.experts = torch.nn.Module() + layer.mlp.experts.routed_experts = routed + layers.append(layer) + model.layers = torch.nn.ModuleList(layers) + before = {name: id(value) for name, value in model.named_parameters()} + adapter._bind_native_model(model, object()) + assert isinstance(model, adapter.SharedVLLMModel) + assert {name: id(value) for name, value in model.named_parameters()} == before + assert all(value.weight_loader is loader for value in model.parameters()) + assert all(isinstance(layer, adapter.SharedVLLMDecoderLayer) for layer in model.layers) + assert all(isinstance(layer.mlp, adapter.SharedVLLMMoE) for layer in model.layers) + + +def test_spawn_worker_registers_model_before_native_worker_initialization(monkeypatch): + from rl_engine.integrations.engines.rollout.vllm import qwen3_next_vllm_worker as worker + + calls = [] + monkeypatch.setattr(worker, "register_shared_model", lambda: calls.append("registered")) + monkeypatch.setattr( + worker, + "imported_provider_identity", + lambda: calls.append("native-binary") or {"test": True}, + ) + monkeypatch.setattr( + worker.Worker, "__init__", lambda self, *args, **kwargs: calls.append("native-init") + ) + worker.SharedQwenWorker() + assert calls == ["registered", "native-binary", "native-init"] + + +def test_architecture_registration_is_idempotent_and_rejects_another_model(monkeypatch): + from vllm.model_executor.models import ModelRegistry + + monkeypatch.setattr(ModelRegistry, "models", dict(ModelRegistry.models)) + ModelRegistry.models.pop(adapter.ARCHITECTURE, None) + assert adapter.register_shared_model() == adapter.ARCHITECTURE + assert adapter.register_shared_model() == adapter.ARCHITECTURE + ModelRegistry.models[adapter.ARCHITECTURE] = Namespace(load_model_cls=lambda: torch.nn.Linear) + with pytest.raises(ValueError, match="different model"): + adapter.register_shared_model() diff --git a/tests/models/qwen3_next/test_gdn_state_contract.py b/tests/models/qwen3_next/test_gdn_state_contract.py new file mode 100644 index 000000000..c8aaec572 --- /dev/null +++ b/tests/models/qwen3_next/test_gdn_state_contract.py @@ -0,0 +1,118 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Provider-independent cache contracts, collected in the ordinary CPU suite.""" + +import pytest +import torch + +from rl_engine.reference.linear_attn import CausalConv1dUpdateOp, GatedDeltaRuleRecurrentStepOp + + +def _call(kind, indices, heads=1): + batch = indices.numel() + if kind == "conv": + state = torch.randn(4, 2, 3) + before = state.clone() + result = CausalConv1dUpdateOp()(torch.randn(batch, 2), state, torch.randn(2, 4), indices) + else: + state = torch.randn(4, 2, 2, 32) + before = state.clone() + result = GatedDeltaRuleRecurrentStepOp()( + torch.randn(batch, 68), + torch.randn(batch, 2), + torch.randn(batch, 2), + torch.zeros(2), + torch.zeros(2), + state, + indices, + scale=32**-0.5, + num_k_heads=heads, + ) + assert torch.equal(state, before) + return result, before + + +@pytest.mark.parametrize("kind", ["conv", "gdn"]) +@pytest.mark.parametrize( + "indices,message", + [ + (torch.tensor([1.5, 2.0]), "int32 or int64"), + (torch.tensor([True, False]), "int32 or int64"), + (torch.tensor([1, 1]), "unique"), + (torch.tensor([1, 4]), "out of range"), + ], +) +def test_invalid_cache_indices_are_rejected(kind, indices, message): + with pytest.raises(ValueError, match=message): + _call(kind, indices) + + +@pytest.mark.parametrize("kind", ["conv", "gdn"]) +@pytest.mark.parametrize("indices", [torch.tensor([0, -1, 0]), torch.empty(0, dtype=torch.int64)]) +def test_inactive_and_empty_batches_preserve_cache(kind, indices): + (out, state), before = _call(kind, indices) + assert torch.equal(state, before) + assert torch.count_nonzero(out) == 0 + + +@pytest.mark.parametrize("heads", [0, -1, 1.5, True]) +def test_gdn_requires_positive_integer_heads(heads): + with pytest.raises(ValueError, match="positive integer"): + _call("gdn", torch.tensor([1, 2]), heads=heads) + + +def test_conv_bias_is_accumulated_before_taps(): + # Adding bias last would yield 1.0 instead of 0.0. + out, _ = CausalConv1dUpdateOp()( + torch.tensor([[-1e8]]), + torch.zeros(2, 1, 1), + torch.tensor([[0.0, 1.0]]), + torch.tensor([1]), + bias=torch.tensor([1e8]), + activation=None, + ) + assert out.item() == 0.0 + out, _ = CausalConv1dUpdateOp()( + torch.tensor([[-1e8]]), + torch.ones(2, 1, 1), + torch.ones(1, 2), + torch.tensor([1]), + bias=torch.tensor([1e8]), + activation=None, + ) + assert out.item() == 0.0 + + +def test_conv_bf16_products_round_before_fp32_accumulation(): + state = torch.zeros(2, 1, 1, dtype=torch.bfloat16) + state[1, 0, 0] = 1.0078125 + out, _ = CausalConv1dUpdateOp().forward_fp32( + torch.tensor([[-1.015625]], dtype=torch.bfloat16), + state, + torch.tensor([[1.0078125, 1.0]], dtype=torch.bfloat16), + torch.tensor([1]), + activation=None, + ) + # The first exact product is 1.015686..., rounded to 1.015625 in BF16. + assert out.item() == 0.0 + + +def test_softplus_large_branch_has_finite_gradient(): + from rl_engine.reference.linear_attn.gated_delta_rule import _softplus + + x = torch.tensor([100.0, 21.0, 0.0], requires_grad=True) + _softplus(x).sum().backward() + assert torch.equal(x.grad, torch.tensor([1.0, 1.0, 0.5])) + + +def test_chunked_sum_keeps_fixed_order_for_non_multiple_of_32_width(): + from rl_engine.reference.linear_attn.gated_delta_rule import _REDUCTION_CHUNK, _chunked_sum + + torch.manual_seed(0) + x = torch.randn(3, 5, 2 * _REDUCTION_CHUNK + 7) + padded = torch.nn.functional.pad(x, (0, _REDUCTION_CHUNK - 7)) + chunked = padded.reshape(3, 5, 3, _REDUCTION_CHUNK).sum(dim=-1).sum(dim=-1) + assert torch.equal(_chunked_sum(x), chunked) + # The reduction must not depend on the leading shape either. + assert torch.equal(_chunked_sum(x[:1]), _chunked_sum(x)[:1]) diff --git a/tests/models/qwen3_next/test_qwen3_next_binary_evidence.py b/tests/models/qwen3_next/test_qwen3_next_binary_evidence.py new file mode 100644 index 000000000..19cf4309c --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_binary_evidence.py @@ -0,0 +1,68 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Loaded provider identity must match immutable build evidence, including on reload.""" + +import json +import sys +from types import SimpleNamespace + +import pytest + +from rl_engine.validation.models.qwen3_next_binary import ( + archive_provider_binary, + validate_binary_record, + verify_imported_provider, +) + + +@pytest.fixture +def archived(tmp_path): + source, output = tmp_path / "source", tmp_path / "attempt" + (source / "rl_engine").mkdir(parents=True) + output.mkdir() + binary = source / "rl_engine/_C.cpython-test.so" + binary.write_bytes(b"built CUDA extension") + return binary, archive_provider_binary(source, output, source_tree="original-tree") + + +def test_archive_survives_later_live_binary_rebuild(archived): + binary, record = archived + actual = validate_binary_record(record, source_tree="original-tree") + binary.write_bytes(b"later build") + assert validate_binary_record(record) == actual + with pytest.raises(ValueError, match="source tree"): + validate_binary_record(record, source_tree="different-tree") + + +def test_imported_binary_cannot_substitute_another_provider(archived, monkeypatch): + _, record = archived + expected = validate_binary_record(record) + loaded = dict(expected) + monkeypatch.setitem( + sys.modules, + "rl_engine.integrations.common.qwen3_next_binary", + SimpleNamespace(imported_provider_identity=lambda: loaded), + ) + assert verify_imported_provider(record, source_tree="original-tree") == expected + loaded["sha256"] = "0" * 64 + with pytest.raises(ValueError, match="different CUDA binary"): + verify_imported_provider(record, source_tree="original-tree") + + +def test_archived_binary_corruption_and_attempt_escape_are_rejected(archived, tmp_path): + from pathlib import Path + + _, record = archived + with pytest.raises(ValueError, match="escaped"): + validate_binary_record(record, artifact_root=tmp_path / "different-attempt") + metadata = json.loads(Path(record["path"]).read_text()) + Path(metadata["archive"]["path"]).write_bytes(b"corrupted original binary") + with pytest.raises(ValueError, match="content changed"): + validate_binary_record(record) + + +@pytest.mark.parametrize("record", [None, {}, {"path": "/tmp/unpinned"}]) +def test_missing_binary_record_cannot_close_native_acceptance(record): + with pytest.raises(ValueError, match="pinned CUDA binary"): + validate_binary_record(record) diff --git a/tests/models/qwen3_next/test_qwen3_next_case_manifest.py b/tests/models/qwen3_next/test_qwen3_next_case_manifest.py new file mode 100644 index 000000000..7d78a236f --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_case_manifest.py @@ -0,0 +1,109 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Mandatory case completeness must not be inferred from an aggregate count.""" + +import json +import subprocess +import sys +from pathlib import Path + +import pytest + +from rl_engine.validation.models.qwen3_next_cases import case_digest, execution_verdict, load_cases + +CASE = "tests/example.py::test_required" +SUCCESS = {"setup": "passed", "call": "passed", "teardown": "passed"} + + +@pytest.mark.parametrize( + "fault", ["missing", "extra", "duplicate", "skipped", "teardown", "incomplete"] +) +def test_declared_case_must_complete_all_phases(fault): + collected = [CASE] + outcomes = {CASE: dict(SUCCESS)} + if fault == "missing": + collected = [] + elif fault == "extra": + collected.append("tests/example.py::test_undeclared") + elif fault == "duplicate": + collected.append(CASE) + elif fault == "skipped": + outcomes[CASE]["call"] = "skipped" + elif fault == "teardown": + outcomes[CASE]["teardown"] = "failed" + else: + del outcomes[CASE]["call"] + assert execution_verdict([CASE], collected, outcomes)["passed"] is False + + +def test_complete_report_records_exact_identity(): + result = execution_verdict([CASE], [CASE], {CASE: SUCCESS}) + assert result["passed"] is True + assert result["counts"] == {"tests": 1, "failures": 0, "errors": 0, "skipped": 0} + assert result["expected_case_ids_sha256"] == case_digest([CASE]) + + +def test_diagnostics_cannot_enter_required_case_set(tmp_path): + path = tmp_path / "cases.json" + path.write_text( + json.dumps( + { + "schema_version": 1, + "suites": { + "norm": [CASE], + "core": ["tests/example.py::test_core"], + "diagnostics": ["tests/example.py::test_approximate"], + }, + } + ) + ) + assert load_cases(path, "all") == sorted([CASE, "tests/example.py::test_core"]) + + +@pytest.mark.parametrize("outcome", ["pass", "skip", "xfail", "deselected"]) +def test_plugin_enforces_real_pytest_outcomes(tmp_path, outcome): + test_file = tmp_path / "test_acceptance.py" + body = "pass" + if outcome == "skip": + body = "pytest.skip('missing CUDA')" + elif outcome == "xfail": + body = "pytest.xfail('unimplemented')" + test_file.write_text(f"import pytest\ndef test_required():\n {body}\n") + case = "test_acceptance.py::test_required" + manifest = tmp_path / "cases.json" + manifest.write_text(json.dumps({"schema_version": 1, "suites": {"core": [case]}})) + report_path = tmp_path / "report.json" + args = [ + sys.executable, + "-m", + "pytest", + "-q", + "-p", + "no:cacheprovider", + # Node ids are relative to the rootdir; keep it here even under another checkout. + "--rootdir", + str(tmp_path), + "-p", + "rl_engine.validation.models.pytest_case_manifest", + "--case-manifest", + str(manifest), + "--case-suite", + "core", + "--case-report", + str(report_path), + str(test_file), + ] + if outcome == "deselected": + args.extend(["-k", "not required"]) + # Use this source tree even when a different RL-Kernel checkout is installed. + import os + + env = dict(os.environ, PYTHONPATH=str(Path(__file__).resolve().parents[3])) + result = subprocess.run(args, cwd=tmp_path, env=env, capture_output=True, text=True) + assert result.returncode == ( + 0 if outcome == "pass" else (5 if outcome == "deselected" else 1) + ), (result.stdout + result.stderr) + report = json.loads(report_path.read_text()) + assert report["passed"] is (outcome == "pass") + assert report["expected_case_ids"] == [case] diff --git a/tests/models/qwen3_next/test_qwen3_next_chain_report.py b/tests/models/qwen3_next/test_qwen3_next_chain_report.py new file mode 100644 index 000000000..1d3164404 --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_chain_report.py @@ -0,0 +1,149 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""The Qwen3-Next chain report keeps the WS1 chain-gate shape and attributes first drift.""" + +import dataclasses + +import pytest +import torch + +from rl_engine.contracts.numerical import load_contract +from rl_engine.validation.models import qwen3_next_chain_report as chain +from rl_engine.validation.models.chain_gate import ChainGateReport + +CASES = ("p0008-b1-full", "p0008-b1-chunked") + + +def artifact(seed): + g = torch.Generator().manual_seed(seed) + return { + "logprobs": -torch.rand((1, 16), generator=g), + "logits": torch.randn((1, 16, 64), generator=g).to(torch.bfloat16), + "embedding_digest": {"sha256": "a" * 64, "sample_sha256": ["a" * 64]}, + "layer_digests": [{"layer": layer, "output_sha256": "b" * 64} for layer in range(48)], + } + + +def record(passed=True, node=None, layer=None, tensor=None): + return { + "passed": passed, + "first_divergent_node": None if node is None else {"layer": layer, "node": node}, + "first_difference": None if tensor is None else {"tensor": tensor}, + "artifacts": {}, + } + + +def inputs(records=None, recompute_seed=1): + matrices, artifacts = {}, {} + for version in ("baseline", "update1"): + matrices[version] = { + "status": "passed", + "case_ids": list(CASES), + "cases": {case: record() for case in CASES}, + "fixture": {"content_sha256": "f" * 64}, + } + artifacts[version] = { + case: {"rollout": artifact(1), "recompute": artifact(recompute_seed)} for case in CASES + } + for (version, case), value in (records or {}).items(): + matrices[version]["cases"][case] = value + matrices[version]["status"] = "failed" + return matrices, artifacts + + +def build(matrices, artifacts): + return chain.build_report( + matrices, + artifacts, + contract=load_contract(), + measured_commit="c" * 40, + weight_source="Qwen/Qwen3-Next-80B-A3B-Instruct@rev", + weight_hash="h" * 64, + device="cuda", + gpu_name="NVIDIA B200", + compute_capability="10.0", + ) + + +def test_report_is_a_chain_gate_report_superset_and_passes_when_bitwise(): + report = build(*inputs()) + fields = {field.name for field in dataclasses.fields(ChainGateReport)} + assert fields <= set(report) + assert report["schema_version"] == "qwen3-next-chain-v1" + assert report["compatible_schema"] == "ws1-c10-c11-v5" + assert report["passed"] and report["first_drift"] is None + assert report["first_drift_family"] is None + assert len(report["cells"]) == 4 and len(report["invariance"]) == 8 + assert all(item["atol"] == 0 and item["passed"] for item in report["invariance"]) + assert report["weight_versions"] == ["baseline", "update1"] + assert [entry["case_id"] for entry in report["decode_prefill"]] == [ + "baseline/p0008-b1-chunked", + "update1/p0008-b1-chunked", + ] + + +def test_a_single_bit_in_the_replay_fails_the_report(): + matrices, artifacts = inputs() + replay = artifacts["update1"]["p0008-b1-full"]["recompute"] + replay["logprobs"] = replay["logprobs"].clone() + replay["logprobs"][0, 3] = torch.nextafter(replay["logprobs"][0, 3], torch.tensor(0.0)) + report = build(matrices, artifacts) + assert not report["passed"] + failing = [item for item in report["invariance"] if not item["passed"]] + assert [item["config_pair"][0] for item in failing] == ["update1/p0008-b1-full/rollout"] + + +@pytest.mark.parametrize( + "node,layer,family,label", + [ + ("embedding", 0, "embedding", "embedding"), + ("input_layernorm", 0, "norm", "layer0.input_layernorm"), + ("post_attention_layernorm", 5, "norm", "layer5.post_attention_layernorm"), + ("mixer", 2, "gdn", "layer2.mixer"), + ("state", 7, "full_attention", "layer7.state"), + ("mixer", 47, "full_attention", "layer47.mixer"), + ("router", 9, "moe", "layer9.router"), + ("mlp", 10, "moe", "layer10.mlp"), + ], +) +def test_fabricated_drift_resolves_to_its_layer_family(node, layer, family, label): + failing = record(passed=False, node=node, layer=layer) + report = build(*inputs({("update1", "p0008-b1-chunked"): failing})) + assert not report["passed"] + assert report["first_drift"] == f"{label}:rollout->recompute" + assert report["first_drift_family"] == family + assert report["first_drift_layer"] == layer + assert report["first_drift_cell"] == "update1/p0008-b1-chunked" + + +def test_drift_after_the_last_layer_is_the_lm_head_or_logprob(): + failing = record(passed=False, tensor="logprobs") + report = build(*inputs({("baseline", "p0008-b1-full"): failing})) + assert report["first_drift"] == "logprobs:rollout->recompute" + assert report["first_drift_family"] == "lm_head_logprob" + assert report["first_drift_layer"] is None + + +def test_the_earliest_weight_version_and_case_names_the_first_drift(): + report = build( + *inputs( + { + ("update1", "p0008-b1-full"): record(False, "router", 3), + ("baseline", "p0008-b1-chunked"): record(False, "mixer", 11), + } + ) + ) + assert report["first_drift_cell"] == "baseline/p0008-b1-chunked" + assert report["first_drift_family"] == "full_attention" + + +def test_unknown_nodes_and_versions_are_rejected(): + with pytest.raises(ValueError, match="Unknown divergence node"): + chain.family_of(3, "gate") + with pytest.raises(ValueError, match="needs a decoder layer"): + chain.family_of(None, "mixer") + matrices, artifacts = inputs() + matrices["update3"] = matrices["update1"] + with pytest.raises(ValueError, match="subset"): + build(matrices, artifacts) diff --git a/tests/models/qwen3_next/test_qwen3_next_checkpoint.py b/tests/models/qwen3_next/test_qwen3_next_checkpoint.py new file mode 100644 index 000000000..95672f6a1 --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_checkpoint.py @@ -0,0 +1,222 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Crash boundaries for four-rank atomic checkpoint publication.""" + +import json +import sys +from pathlib import Path + +import pytest + +sys.path.insert(0, str(Path(__file__).resolve().parents[3] / "tools/validation/models")) +from qwen3_next_checkpoint import ( # noqa: E402 + newest_complete_checkpoint, + publish_checkpoint, + resume_interrupted_publications, + validate_checkpoint, + write_rank_manifest, +) + +IDENTITY = {"provider": "explicit", "tp": 4, "environment": "pinned", "weight_revision": "official"} + + +def staged(root, step=1): + directory = root / f"step-{step}.partial" + directory.mkdir() + for rank in range(4): + rank_dir = directory / f"rank-{rank}" + rank_dir.mkdir() + files = {} + for role in ("model", "optimizer", "rng", "progress"): + path = rank_dir / f"{role}.json" + path.write_text(json.dumps({"rank": rank, "role": role, "step": step})) + files[role] = [str(path.relative_to(directory))] + write_rank_manifest( + directory, + rank=rank, + world_size=4, + identity=IDENTITY, + step=step, + sample_position=step * 4, + files=files, + ) + return directory + + +def test_complete_publication_and_recovery(tmp_path): + partial = staged(tmp_path) + destination = tmp_path / "step-1" + publish_checkpoint(partial, destination, world_size=4, identity=IDENTITY) + assert not partial.exists() + assert validate_checkpoint(destination, IDENTITY)["step"] == 1 + assert json.loads((tmp_path / "LATEST.json").read_text())["path"] == "step-1" + recovery = newest_complete_checkpoint(tmp_path, IDENTITY) + assert recovery["checkpoint"] == str(destination) + assert recovery["sample_position"] == 4 + + +def test_missing_rank_prevents_completion_marker(tmp_path): + partial = staged(tmp_path) + (partial / "rank-3.manifest.json").unlink() + with pytest.raises(FileNotFoundError): + publish_checkpoint(partial, tmp_path / "step-1", world_size=4, identity=IDENTITY) + assert not (partial / "COMPLETE.json").exists() + assert not (tmp_path / "step-1").exists() + + +def test_corruption_prevents_publication(tmp_path): + partial = staged(tmp_path) + (partial / "rank-2/optimizer.json").write_text("damaged") + with pytest.raises(ValueError, match="checksum|size mismatch"): + publish_checkpoint(partial, tmp_path / "step-1", world_size=4, identity=IDENTITY) + assert not (partial / "COMPLETE.json").exists() + + +def test_only_completed_checkpoints_can_load(tmp_path): + partial = staged(tmp_path) + with pytest.raises(ValueError, match="Unpublished"): + validate_checkpoint(partial, IDENTITY) + assert newest_complete_checkpoint(tmp_path, IDENTITY)["checkpoint"] is None + + +def test_corrupt_latest_falls_back_and_records_reason(tmp_path): + for step in (1, 2): + partial = staged(tmp_path, step) + publish_checkpoint(partial, tmp_path / f"step-{step}", world_size=4, identity=IDENTITY) + (tmp_path / "step-2/rank-0/rng.json").write_text("corrupt") + staged(tmp_path, 3) + recovery = newest_complete_checkpoint(tmp_path, IDENTITY) + assert recovery["step"] == 1 + assert recovery["rejected"][0]["path"] == "step-2" + assert recovery["interrupted"] == ["step-3.partial"] + + +def test_identity_mismatch_never_resumes_fresh_silently(tmp_path): + partial = staged(tmp_path) + publish_checkpoint(partial, tmp_path / "step-1", world_size=4, identity=IDENTITY) + with pytest.raises(ValueError, match="No valid"): + newest_complete_checkpoint(tmp_path, {**IDENTITY, "tp": 2}) + + +def test_rank_progress_mismatch_prevents_publication(tmp_path): + partial = staged(tmp_path) + path = partial / "rank-3.manifest.json" + payload = json.loads(path.read_text()) + payload["step"] = 2 + path.write_text(json.dumps(payload)) + with pytest.raises(ValueError, match="different progress"): + publish_checkpoint(partial, tmp_path / "step-1", world_size=4, identity=IDENTITY) + + +def test_rank_cannot_omit_optimizer_or_reuse_rng_as_model(tmp_path): + partial = tmp_path / "new.partial" + partial.mkdir() + (partial / "state").write_text("state") + with pytest.raises(ValueError, match="Every rank"): + write_rank_manifest( + partial, + rank=0, + world_size=4, + identity=IDENTITY, + step=1, + sample_position=4, + files={"model": ["state"]}, + ) + with pytest.raises(ValueError, match="multiple state roles"): + write_rank_manifest( + partial, + rank=0, + world_size=4, + identity=IDENTITY, + step=1, + sample_position=4, + files={role: ["state"] for role in ("model", "optimizer", "rng", "progress")}, + ) + + +def test_crash_after_marker_before_rename_stays_unloadable(tmp_path, monkeypatch): + partial = staged(tmp_path) + + def crash(*args, **kwargs): + raise OSError("simulated interrupted rename") + + monkeypatch.setattr(Path, "rename", crash) + with pytest.raises(OSError): + publish_checkpoint(partial, tmp_path / "step-1", world_size=4, identity=IDENTITY) + assert (partial / "COMPLETE.json").exists() + assert newest_complete_checkpoint(tmp_path, IDENTITY)["checkpoint"] is None + + +def test_published_directory_cannot_be_overwritten(tmp_path): + partial = staged(tmp_path) + destination = tmp_path / "step-1" + destination.mkdir() + with pytest.raises(ValueError, match="new sibling"): + publish_checkpoint(partial, destination, world_size=4, identity=IDENTITY) + + +def test_disk_budget_counts_last_next_exports_and_records_failure(tmp_path, monkeypatch): + from collections import namedtuple + + import qwen3_next_checkpoint as checkpoint + + usage = namedtuple("Usage", "total used free") + monkeypatch.setattr(checkpoint.shutil, "disk_usage", lambda path: usage(1000, 750, 250)) + with pytest.raises(RuntimeError, match="insufficient_disk"): + checkpoint.require_checkpoint_disk_space( + tmp_path, checkpoint_bytes=100, export_bytes=40, headroom_bytes=20 + ) + record = json.loads((tmp_path / "disk-budget.json").read_text()) + assert record["required_free_bytes"] == 260 and record["status"] == "insufficient_disk" + record = checkpoint.require_checkpoint_disk_space( + tmp_path, + checkpoint_bytes=100, + export_bytes=40, + retained_complete_bytes=100, + headroom_bytes=20, + ) + assert record["required_free_bytes"] == 160 and record["status"] == "passed" + + +def test_discovery_without_hashing_checks_sizes_and_defers_content_to_the_loader(tmp_path): + partial = staged(tmp_path) + publish_checkpoint(partial, tmp_path / "step-1", world_size=4, identity=IDENTITY) + target = tmp_path / "step-1/rank-0/rng.json" + original = target.read_text() + target.write_text("X" * len(original)) # same size, different bytes + fast = newest_complete_checkpoint(tmp_path, IDENTITY, verify_files=False) + assert fast["checkpoint"] == str(tmp_path / "step-1") and fast["rejected"] == [] + with pytest.raises(ValueError, match="checksum mismatch"): + newest_complete_checkpoint(tmp_path, IDENTITY) # hashed discovery still rejects it + target.write_text(original + "!") # size change is still caught without hashing + with pytest.raises(ValueError, match="size mismatch"): + newest_complete_checkpoint(tmp_path, IDENTITY, verify_files=False) + + +def test_interrupted_but_complete_partial_is_published_on_resume(tmp_path): + partial = staged(tmp_path, 1) # all four ranks and manifests written, never published + (partial / "STAGING.json").write_text(json.dumps({"identity": IDENTITY, "status": "staging"})) + records = resume_interrupted_publications(tmp_path, IDENTITY) + assert records == [ + {"reason": "interrupted_publication_resumed", "checkpoint": "step-1", "step": 1} + ] + assert not partial.exists() + assert newest_complete_checkpoint(tmp_path, IDENTITY)["checkpoint"] == str(tmp_path / "step-1") + + +def test_incomplete_or_corrupt_partial_is_not_resumed(tmp_path): + missing = staged(tmp_path, 1) + (missing / "rank-3.manifest.json").unlink() + corrupt = staged(tmp_path, 2) + (corrupt / "rank-0/rng.json").write_text("corrupt") + for partial in (missing, corrupt): + (partial / "STAGING.json").write_text( + json.dumps({"identity": IDENTITY, "status": "staging"}) + ) + records = resume_interrupted_publications(tmp_path, IDENTITY) + assert [r["reason"] for r in records] == ["interrupted_publication_not_resumable"] + assert records[0]["staging"] == "step-2.partial" + assert missing.exists() and corrupt.exists() + assert not (corrupt / "COMPLETE.json").exists() + assert newest_complete_checkpoint(tmp_path, IDENTITY)["checkpoint"] is None diff --git a/tests/models/qwen3_next/test_qwen3_next_engine_weights.py b/tests/models/qwen3_next/test_qwen3_next_engine_weights.py new file mode 100644 index 000000000..b8afd7661 --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_engine_weights.py @@ -0,0 +1,81 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Segmented convolution must survive the engines' actual rank-major TP layout.""" + +from types import SimpleNamespace + +import pytest +import torch + +from rl_engine.models.qwen3_next.qwen3_next_engine_weights import ( + conv_hf_to_rank_major, + conv_rank_major_to_hf, + expert_hf_to_rank_major, + expert_rank_major_to_hf, + kv_hf_to_rank_major, + kv_rank_major_to_hf, + validate_training_topology, +) +from rl_engine.validation.common.tensor_identity import assert_tensor_bitwise_equal + + +def test_conv_rank_major_shards_preserve_q_k_v_segments(): + generator = torch.Generator().manual_seed(27) + weight = torch.randn((8192, 1, 4), generator=generator).bfloat16() + rank_major = conv_hf_to_rank_major(weight) + segments = weight.split((2048, 2048, 4096)) + for rank, shard in enumerate(rank_major.chunk(4)): + assert_tensor_bitwise_equal(shard, torch.cat([part.chunk(4)[rank] for part in segments])) + assert_tensor_bitwise_equal(conv_rank_major_to_hf(rank_major), weight) + + +@pytest.mark.parametrize( + "field", + [ + "tensor_model_parallel_size", + "context_parallel_size", + "pipeline_model_parallel_size", + "expert_model_parallel_size", + "sequence_parallel", + "fp32_residual_connection", + "hidden_dropout", + "mtp_num_layers", + ], +) +def test_training_adapter_rejects_unsupported_topology(field): + values = dict( + tensor_model_parallel_size=4, + context_parallel_size=1, + pipeline_model_parallel_size=1, + expert_model_parallel_size=1, + sequence_parallel=False, + fp32_residual_connection=False, + hidden_dropout=0, + mtp_num_layers=0, + ) + values[field] = 2 if field.endswith("size") else 1 + with pytest.raises(ValueError): + validate_training_topology( + SimpleNamespace(**values), SimpleNamespace(sequence_parallel=False) + ) + + +def test_kv_export_rejects_diverged_replica(): + weight = torch.randn(512, 2048).bfloat16() + packed = kv_hf_to_rank_major(weight) + assert_tensor_bitwise_equal(kv_rank_major_to_hf(packed), weight) + packed[256, 0] = packed[256, 0] + 1 + with pytest.raises(AssertionError, match="KV replica pair 0"): + kv_rank_major_to_hf(packed) + + +def test_expert_gather_restores_separate_hf_gate_and_up(): + gate, up = (torch.randn(512, 2048).bfloat16() for _ in range(2)) + packed = expert_hf_to_rank_major(gate, up) + for rank, shard in enumerate(packed.chunk(4)): + assert_tensor_bitwise_equal(shard[:128], gate.chunk(4)[rank]) + assert_tensor_bitwise_equal(shard[128:], up.chunk(4)[rank]) + restored = expert_rank_major_to_hf(packed) + assert_tensor_bitwise_equal(restored[0], gate) + assert_tensor_bitwise_equal(restored[1], up) diff --git a/tests/models/qwen3_next/test_qwen3_next_environment_identity.py b/tests/models/qwen3_next/test_qwen3_next_environment_identity.py new file mode 100644 index 000000000..26d3e7231 --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_environment_identity.py @@ -0,0 +1,41 @@ +# SPDX-License-Identifier: Apache-2.0 +"""The environment identity must not depend on what the process has imported.""" + +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).resolve().parents[3] / "tools/validation/models")) + +from qwen3_next_runtime import current_identity, installation_roots # noqa: E402 + + +def _fake_distribution(root: Path, name: str, version: str) -> None: + info = root / f"{name}-{version}.dist-info" + info.mkdir(parents=True) + (info / "METADATA").write_text(f"Metadata-Version: 2.1\nName: {name}\nVersion: {version}\n") + + +def test_identity_ignores_sys_path_entries_added_after_startup(tmp_path, monkeypatch): + before = current_identity() + extra = tmp_path / "late-site-packages" + _fake_distribution(extra, "late_arrival", "1.0") + monkeypatch.syspath_prepend(str(extra)) + after = current_identity() + assert after["sha256"] == before["sha256"] + assert all(item["name"] != "late_arrival" for item in after["identity"]["distributions"]) + + +def test_identity_survives_importing_setuptools(): + before = current_identity() + import setuptools # noqa: F401 # appends setuptools/_vendor to sys.path + + after = current_identity() + assert after["sha256"] == before["sha256"] + assert all(item["name"] != "typeguard" for item in after["identity"]["distributions"]) + + +def test_installation_roots_are_site_directories_only(): + roots = installation_roots() + assert roots + assert all(root.is_dir() for root in roots) + assert not any("_vendor" in str(root) for root in roots) diff --git a/tests/models/qwen3_next/test_qwen3_next_evidence_redaction.py b/tests/models/qwen3_next/test_qwen3_next_evidence_redaction.py new file mode 100644 index 000000000..5ceb298e3 --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_evidence_redaction.py @@ -0,0 +1,118 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Published Qwen3-Next evidence carries no site paths, hosts, users or scheduler details.""" + +import json +import re +import sys +from pathlib import Path + +import pytest + +ROOT = Path(__file__).resolve().parents[3] +sys.path.insert(0, str(ROOT / "tools/validation/models")) + +import qwen3_next_publish_evidence as publisher # noqa: E402 + +PATTERNS = ( + r"(?-])/data/", + r"(?-])/home/", + r"(?-])/raid/", + r"(?-])/scratch", + r"\bdgx-", + r"(?i)slurm", + r"\bsbatch\b", + r"\bsrun\b", + r"\bwrd\b", + r"\boverflow\b", + r"\bjob_id\b", +) + + +def published_files(): + roots = [ + *ROOT.glob("docs/usage/evidence/qwen3-next-*"), + *ROOT.glob("docs/operators/qwen3-next-*.md"), + *ROOT.glob("docs/usage/qwen3-next-*.md"), + ] + for root in roots: + paths = [root] if root.is_file() else root.rglob("*") + for path in paths: + if path.is_file() and path.suffix in (".md", ".json", ".txt", ".xml", ""): + yield path + + +@pytest.mark.parametrize("path", sorted(published_files()), ids=lambda p: str(p.relative_to(ROOT))) +def test_published_qwen3_next_evidence_is_redacted(path): + text = path.read_text(errors="replace") + assert not [pattern for pattern in PATTERNS if re.search(pattern, text)] + + +def chain(tmp_path): + runs_root = tmp_path / "data" / "runs" + checkpoint = tmp_path / "data" / "ckpt" / "rev" + previous = None + for stage in ("preflight", "layers"): + run = runs_root / f"20261009T000000Z-{stage}" + (run / "attempts" / "0").mkdir(parents=True) + manifest = { + "stage": stage, + "source_commit": "c" * 40, + "checkpoint": str(checkpoint), + "cuda_home": "/usr/local/cuda-13.0", + "python": str(tmp_path / "data" / "env" / "bin" / "python"), + "previous": str(previous) if previous else None, + } + (run / "run.json").write_text(json.dumps(manifest)) + evidence = run / "attempts" / "0" / "environment.json" + evidence.write_text( + json.dumps( + { + "checkpoint": str(checkpoint / "config.json"), + "executable": manifest["python"], + "host": "dgx-1a-02-03", + "site": "/usr/lib/python3/site-packages/vllm/__init__.py", + } + ) + ) + result = { + "status": "passed", + "evidence": {"environment": {"path": "attempts/0/environment.json"}}, + } + (run / "result.json").write_text(json.dumps(result)) + previous = run + return previous + + +def test_publisher_replaces_every_recorded_root(tmp_path): + out = tmp_path / "published" + publisher.publish(publisher.chain_runs(chain(tmp_path)), None, out) + text = (out / "layers" / "environment.json").read_text() + assert "/config.json" in text and "" in text + assert "" in text and "" in text and str(tmp_path) not in text + assert (out / "measured-commit.txt").read_text() == "c" * 40 + "\n" + sums = (out / "SHA256SUMS").read_text().splitlines() + assert any(line.endswith("preflight/run.json") for line in sums) + + +def test_publisher_refuses_text_that_survives_redaction(tmp_path): + last = chain(tmp_path) + leak = last / "attempts" / "0" / "environment.json" + leak.write_text(json.dumps({"note": "SLURM_JOB_ID=123"})) + with pytest.raises(SystemExit, match="survived redaction"): + publisher.publish(publisher.chain_runs(last), None, tmp_path / "published") + assert not (tmp_path / "published").exists() + + +def test_relative_package_paths_are_not_site_paths(tmp_path): + counts = {} + text = publisher.redact( + '"vllm/ec_connector/cpu/data/base.py" "file:///data/x/editable/vime" "/home/b/env/bin/py"' + ' "/sys/fs/cgroup/memory/system.slice/slurmd.service/memory.limit_in_bytes"', + [], + counts, + ) + assert "cpu/data/base.py" in text and "/vime" in text and "/py" in text + assert "/memory.limit_in_bytes" in text + assert not publisher.leftovers(text) diff --git a/tests/models/qwen3_next/test_qwen3_next_failure.py b/tests/models/qwen3_next/test_qwen3_next_failure.py new file mode 100644 index 000000000..21de8b2c1 --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_failure.py @@ -0,0 +1,136 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Failure classification must retain evidence and never guess from signals.""" + +import errno +import json +import subprocess +import sys +from pathlib import Path + +import pytest + +sys.path.insert(0, str(Path(__file__).resolve().parents[3] / "tools/validation/models")) +from qwen3_next_runtime import failure_kind, subprocess_failure # noqa: E402 + + +@pytest.mark.parametrize( + "text,expected", + [ + ("Killed", "unknown"), + ("exit 137", "unknown"), + ("MemoryError: allocation failed", "unknown"), + ("torch.OutOfMemoryError: allocation failed", "out_of_memory"), + ("RuntimeError: CUDA out of memory", "out_of_memory"), + ("OSError: [Errno 28] No space left on device", "insufficient_disk"), + ("RuntimeError: insufficient_disk: budget", "insufficient_disk"), + ("ModuleNotFoundError: No module named 'vime'", "environment_mismatch"), + ("RuntimeError: environment_mismatch: changed", "environment_mismatch"), + ("RuntimeError: source_mismatch: changed", "source_mismatch"), + ("RuntimeError: checkpoint_mismatch: changed", "checkpoint_mismatch"), + ("subprocess.TimeoutExpired: command exceeded timeout", "time_limit"), + ], +) +def test_tail_classification_is_explicit(tmp_path, text, expected): + log = tmp_path / "worker.log" + log.write_text(text) + failure = subprocess_failure(-9, log) + assert failure_kind(failure) == expected + assert text in str(failure) + assert str(log) in str(failure) + + +def test_exception_classification_and_actual_sigkill(tmp_path): + from qwen3_next_l2 import run_process + + assert failure_kind(OSError(errno.ENOSPC, "disk full")) == "insufficient_disk" + assert failure_kind(subprocess.TimeoutExpired("worker", 1)) == "time_limit" + with pytest.raises(RuntimeError) as caught: + run_process( + [sys.executable, "-c", "import os, signal; os.kill(os.getpid(), signal.SIGKILL)"], + log_path=tmp_path / "killed.log", + ) + assert failure_kind(caught.value) == "unknown" + with pytest.raises(subprocess.TimeoutExpired) as caught: + run_process( + [sys.executable, "-c", "import time; time.sleep(30)"], + log_path=tmp_path / "timeout.log", + timeout=0.02, + cleanup_grace_seconds=0.05, + ) + assert failure_kind(caught.value) == "time_limit" + + +def test_timeout_kills_ignoring_grandchild_even_after_leader_exits(tmp_path): + import os + import signal + import time + + from qwen3_next_l2 import run_process + + pid_file = tmp_path / "grandchild.pid" + grandchild = ( + "import os,pathlib,signal,time; " + "signal.signal(signal.SIGTERM, signal.SIG_IGN); " + f"pathlib.Path({str(pid_file)!r}).write_text(str(os.getpid())); time.sleep(60)" + ) + leader = ( + "import subprocess,sys,time; " + f"subprocess.Popen([sys.executable, '-c', {grandchild!r}]); time.sleep(60)" + ) + pid = None + try: + with pytest.raises(subprocess.TimeoutExpired) as caught: + run_process( + [sys.executable, "-c", leader], + log_path=tmp_path / "family.log", + timeout=0.5, + cleanup_grace_seconds=0.15, + ) + assert failure_kind(caught.value) == "time_limit" + pid = int(pid_file.read_text()) + stat = Path(f"/proc/{pid}/stat") + # An orphan may briefly remain as a zombie until init reaps it, but must + # exit once the kernel schedules its pending SIGKILL. We cannot waitpid + # an orphan that has already been adopted by init. + deadline = time.monotonic() + 2 + while stat.exists() and stat.read_text().split(") ", 1)[1].split()[0] != "Z": + if time.monotonic() >= deadline: + break + time.sleep(0.01) + assert not stat.exists() or stat.read_text().split(") ", 1)[1].split()[0] == "Z" + finally: + if pid is None and pid_file.exists(): + pid = int(pid_file.read_text()) + if pid is not None: + try: + os.kill(pid, signal.SIGKILL) + except ProcessLookupError: + pass + + +def test_training_failure_binds_run_attempt_and_error(tmp_path, monkeypatch): + import qwen3_next_training as training + + manifest = tmp_path / "run.json" + manifest.write_text(json.dumps({"run_id": "controlled-run"})) + output = tmp_path / "attempts/2" + monkeypatch.setenv("QWEN3_NEXT_ATTEMPT", "2") + monkeypatch.setattr( + sys, "argv", ["training", "--manifest", str(manifest), "--output", str(output)] + ) + + def fail(*args): + raise OSError(errno.ENOSPC, "controlled full disk") + + monkeypatch.setattr(training, "execute", fail) + with pytest.raises(OSError): + training.main() + result = json.loads((output / "result.json").read_text()) + assert (result["run_id"], result["attempt"], result["failure_kind"]) == ( + "controlled-run", + "2", + "insufficient_disk", + ) + assert "controlled full disk" in result["error"] diff --git a/tests/models/qwen3_next/test_qwen3_next_forward_contract.py b/tests/models/qwen3_next/test_qwen3_next_forward_contract.py new file mode 100644 index 000000000..2b8fdb5b3 --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_forward_contract.py @@ -0,0 +1,66 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""CPU checks of the strict shared-forward boundary, without a CPU fallback.""" + +import pytest +import torch + +from rl_engine.models.qwen3_next import qwen3_next_forward as provider + + +@pytest.mark.parametrize( + "call", + [ + lambda: provider.shared_linear(torch.zeros(1, 8), torch.zeros(8, 8)), + lambda: provider.stable_top10_routes(torch.zeros(1, 512)), + lambda: provider.combine_routes(torch.zeros(1, 10, 8), torch.zeros(1, 10)), + lambda: provider.shared_attention(*(torch.zeros(1, 4, 8, 256) for _ in range(3))), + lambda: provider.shared_logprob( + torch.zeros(1, 151936), torch.zeros(1, dtype=torch.long), contract=None + ), + ], +) +def test_required_cuda_primitives_reject_cpu(call): + with pytest.raises(ValueError, match="no CPU fallback"): + call() + + +def test_shared_linear_rejects_an_unpinned_vllm(monkeypatch): + provider._vllm_linear.cache_clear() + monkeypatch.setattr(provider, "version", lambda package: "0.30.1") + with pytest.raises(RuntimeError, match="pinned vLLM 0.30.0"): + provider._vllm_linear() + provider._vllm_linear.cache_clear() + + +def _rows(count, width, seed): + generator = torch.Generator().manual_seed(seed) + return torch.randn((count, width), generator=generator, dtype=torch.float32) * 4 + + +@pytest.mark.parametrize("width", [1, 2, 7, 10, 512]) +def test_fixed_order_row_sum_matches_sequential_double_sum(width): + values = _rows(5, width, 901) + actual = provider.fixed_order_row_sum(values) + assert actual.shape == (5, 1) + reference = values.double().sum(-1, keepdim=True).float() + torch.testing.assert_close(actual, reference, rtol=1e-5, atol=1e-4) + + +@pytest.mark.parametrize("width", [10, 512]) +def test_fixed_order_row_sum_is_independent_of_row_count(width): + values = _rows(32, width, 902) + whole = provider.fixed_order_row_sum(values) + for count in (1, 8, 17): + assert torch.equal(provider.fixed_order_row_sum(values[:count]), whole[:count]) + + +def test_fixed_order_softmax_rows_do_not_depend_on_batch(): + logits = _rows(32, 512, 903) + whole = provider.fixed_order_softmax(logits) + torch.testing.assert_close(whole.double().sum(-1), torch.ones(32, dtype=torch.float64)) + for count in (1, 8): + assert torch.equal(provider.fixed_order_softmax(logits[:count]), whole[:count]) + # The row sum is a fixed sequential chain, so each result is a pure function of + # its own row and cannot depend on how many rows share the call. diff --git a/tests/models/qwen3_next/test_qwen3_next_imported_binary.py b/tests/models/qwen3_next/test_qwen3_next_imported_binary.py new file mode 100644 index 000000000..33116087c --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_imported_binary.py @@ -0,0 +1,107 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""CPU integrity checks; stub loader metadata does not claim CUDA execution.""" + +import hashlib +import importlib.machinery +from types import SimpleNamespace as Namespace + +import pytest + +from rl_engine.integrations.common import qwen3_next_binary as binary + + +def extension_metadata(tmp_path, monkeypatch): + path = tmp_path / ("_C" + importlib.machinery.EXTENSION_SUFFIXES[0]) + path.write_bytes(b"controlled-native-loader-metadata") + loader = importlib.machinery.ExtensionFileLoader("rl_engine._C", str(path)) + module = Namespace( + __name__="rl_engine._C", + __file__=str(path), + __spec__=Namespace(loader=loader, origin=str(path)), + ) + imports = [] + + def import_module(name): + imports.append(name) + return module + + monkeypatch.setattr(binary.importlib, "import_module", import_module) + return path, module, imports + + +def test_import_is_required_and_content_is_rehashed_after_same_size_replacement( + tmp_path, monkeypatch +): + path, _module, imports = extension_metadata(tmp_path, monkeypatch) + first = binary.imported_provider_identity() + assert first == { + "module": "rl_engine._C", + "path": str(path.resolve()), + "sha256": hashlib.sha256(path.read_bytes()).hexdigest(), + } + path.write_bytes(b"X" * path.stat().st_size) + second = binary.imported_provider_identity() + assert first["sha256"] != second["sha256"] + assert imports == ["rl_engine._C", "rl_engine._C"] + + +def test_extension_import_failure_does_not_use_python_fallback(monkeypatch): + def unavailable(name): + raise ImportError("controlled missing extension") + + monkeypatch.setattr(binary.importlib, "import_module", unavailable) + with pytest.raises(RuntimeError, match="cannot be imported"): + binary.imported_provider_identity() + + +@pytest.mark.parametrize("drift", ["name", "loader", "suffix", "origin"]) +def test_native_identity_rejects_fallback_or_disagreeing_import_metadata( + tmp_path, monkeypatch, drift +): + path, module, _imports = extension_metadata(tmp_path, monkeypatch) + if drift == "name": + module.__name__ = "fallback" + elif drift == "loader": + module.__spec__.loader = importlib.machinery.SourceFileLoader("rl_engine._C", str(path)) + elif drift == "suffix": + module.__file__ = str(tmp_path / "fallback.py") + else: + other = tmp_path / "other.so" + other.write_bytes(path.read_bytes()) + module.__spec__.origin = str(other) + with pytest.raises(RuntimeError, match="native extension|import origin"): + binary.imported_provider_identity() + + +def test_file_write_during_hash_is_rejected(tmp_path, monkeypatch): + path, _module, _imports = extension_metadata(tmp_path, monkeypatch) + original = binary.os.fstat + calls = 0 + + def modified_fstat(fd): + nonlocal calls + calls += 1 + if calls == 2: + path.write_bytes(b"changed-during-read") + return original(fd) + + monkeypatch.setattr(binary.os, "fstat", modified_fstat) + with pytest.raises(RuntimeError, match="changed while"): + binary.imported_provider_identity() + + +@pytest.mark.parametrize( + "value", + [ + None, + {}, + {"module": "fallback", "path": "/a.so", "sha256": "a" * 64}, + {"module": "rl_engine._C", "path": "relative.so", "sha256": "a" * 64}, + {"module": "rl_engine._C", "path": "/a.so", "sha256": "unknown"}, + ], +) +def test_serialized_binary_identity_is_mandatory_and_complete(value): + with pytest.raises(ValueError, match="binary evidence"): + binary.validate_provider_identity(value) diff --git a/tests/models/qwen3_next/test_qwen3_next_installed_provider_identity.py b/tests/models/qwen3_next/test_qwen3_next_installed_provider_identity.py new file mode 100644 index 000000000..9bfb87677 --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_installed_provider_identity.py @@ -0,0 +1,45 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Wheel metadata alone cannot detect a locally patched numerical provider.""" + +import sys +from pathlib import Path +from types import SimpleNamespace + +import pytest + +sys.path.insert(0, str(Path(__file__).resolve().parents[3] / "tools/validation/models")) +from qwen3_next_runtime import installed_provider_sources # noqa: E402 + + +def test_same_version_provider_patch_changes_content_identity(tmp_path): + name = "vllm/model_executor/determinism/batch_invariant.py" + path = tmp_path / name + path.parent.mkdir(parents=True) + path.write_text("KERNEL = 'original'\n") + dist = SimpleNamespace( + metadata={"Name": "vllm"}, files=[name], locate_file=lambda name: tmp_path / name + ) + first = installed_provider_sources([dist]) + path.write_text("KERNEL = 'patched'\n") + second = installed_provider_sources([dist]) + assert first[name]["sha256"] != second[name]["sha256"] + assert first[name]["path"] == second[name]["path"] + + +@pytest.mark.parametrize("files", [None, [], ["vllm/unrelated.py"]]) +def test_missing_provider_inventory_is_rejected(files): + dist = SimpleNamespace(metadata={"Name": "vllm"}, files=files) + with pytest.raises(ValueError): + installed_provider_sources([dist]) + + +def test_provider_file_deleted_after_install_is_rejected(tmp_path): + dist = SimpleNamespace( + metadata={"Name": "vllm"}, + files=["vllm/model_executor/determinism/batch_invariant.py"], + locate_file=lambda name: tmp_path / name, + ) + with pytest.raises(FileNotFoundError): + installed_provider_sources([dist]) diff --git a/tests/models/qwen3_next/test_qwen3_next_l2.py b/tests/models/qwen3_next/test_qwen3_next_l2.py new file mode 100644 index 000000000..9c213ff3f --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_l2.py @@ -0,0 +1,725 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""CPU artifact and matrix contracts, never real-model acceptance evidence.""" + +import copy +import sys +from pathlib import Path + +import pytest +import torch + +from rl_engine.validation.models.qwen3_next_l2 import ( + PROMPT_LENGTHS, + RESPONSE_LENGTH, + VOCAB_SIZE, + L2Case, + case_matrix, + compare_artifacts, + compare_batch_prefill, + embedding_digest, + first_divergent_layer, + freeze_responses, + layer_digest, + layer_state_names, + load_tensor_artifact, + prompt_fixture, + save_tensor_artifact, + validate_fixture, + validate_model_artifact, + worker_request, +) + + +class UnitTokenizer: + def encode(self, text, *, add_special_tokens): + assert not add_special_tokens + return [ord(char) for char in text] + + +@pytest.fixture(scope="module") +def frozen(): + prompts = prompt_fixture(UnitTokenizer(), {"tokenizer.json": "test-tokenizer-hash"}) + baseline = { + str(length): { + "response_tokens": torch.arange(64, dtype=torch.int64).view(4, 16), + "logprobs": torch.full((4, 16), -1.0), + } + for length in PROMPT_LENGTHS + } + return freeze_responses( + prompts, + baseline, + baseline_identity="unit-test-only", + baseline_records={ + str(length): {"path": f"/unit-test-only/{length}.pt", "sha256": "1" * 64} + for length in PROMPT_LENGTHS + }, + ) + + +@pytest.fixture(scope="module") +def small_artifact(frozen): + request = worker_request( + L2Case(8, 1, "full"), frozen, role="rollout", identity={"test_only": True} + ) + return request, make_artifact(request) + + +def subnode_values(batch): + from rl_engine.models.qwen3_next.qwen3_next_subnode import SUBNODES, subnode_layout + + return { + name: torch.zeros((batch, 16, subnode_layout(name)[0]), dtype=subnode_layout(name)[1]) + for name in SUBNODES + } + + +def make_artifact(request): + batch = len(request["prompt_tokens"]) + output = torch.zeros((batch, 16, 2048), dtype=torch.bfloat16) + + def states(layer): + return { + name: torch.ones( + (batch, 1, 2, 2), + dtype=torch.float32 if "recurrent_state" in name else torch.bfloat16, + ) + for name in layer_state_names(layer) + } + + return { + "metadata": { + key: request[key] + for key in ("schema_version", "case_id", "role", "identity", "request_sha256") + }, + "execution": request["execution"], + "prompt_tokens": torch.tensor(request["prompt_tokens"], dtype=torch.int64), + "response_tokens": torch.tensor(request["response_tokens"], dtype=torch.int64), + "prediction_positions": torch.tensor(request["prediction_positions"], dtype=torch.int64), + "logits": torch.zeros((batch, RESPONSE_LENGTH, VOCAB_SIZE), dtype=torch.bfloat16), + "logprobs": torch.full((batch, RESPONSE_LENGTH), -1.0, dtype=torch.float32), + "layer_digests": [ + layer_digest(layer, output, states(layer), subnodes=subnode_values(batch)) + for layer in range(48) + ], + "embedding_digest": embedding_digest(torch.zeros((batch, 16, 2048), dtype=torch.bfloat16)), + } + + +def test_exact_sixteen_case_matrix(): + cases = case_matrix() + assert len(cases) == 16 and len({case.case_id for case in cases}) == 16 + assert {case.prompt_length for case in cases} == {8, 64, 256, 1024} + assert {case.batch_size for case in cases} == {1, 4} + assert {case.prefill for case in cases} == {"full", "chunked"} + assert all( + sum(case.chunks) == case.prompt_length and all(size > 0 for size in case.chunks) + for case in cases + ) + assert L2Case(1024, 4, "chunked").chunks[:2] == [1, 63] + + +def test_offsets_and_batch_one_reuse_frozen_first_sample(frozen): + validate_fixture(frozen) + one = worker_request(L2Case(64, 1, "chunked"), frozen, role="recompute", identity={}) + four = worker_request(L2Case(64, 4, "full"), frozen, role="rollout", identity={}) + assert one["prompt_tokens"][0] == four["prompt_tokens"][0] + assert one["response_tokens"][0] == four["response_tokens"][0] + assert one["prediction_positions"] == list(range(63, 79)) + assert one["consumed_response_tokens"] == 15 + assert len(one["consumed_input_tokens"][0]) == 79 + assert one["state_position"] == 78 + assert one["execution"] == {"recompute_mode": "full_from_tokens", "input_sequence_length": 79} + assert one["prefill_chunks"] is None + assert one["rollout_prefill_chunks"] == [1, 63] + assert not any(key in one for key in ("hidden_states", "recurrent_state", "rollout_state")) + + +def test_frozen_tokens_and_old_logprobs_cannot_change(frozen): + for field in ("prompts", "responses", "old_logprobs"): + changed = copy.deepcopy(frozen) + changed[field]["64"][0, 0] += 1 + with pytest.raises(ValueError): + validate_fixture(changed) + + +def test_weights_only_tensor_serialization_roundtrip(tmp_path, frozen): + path = tmp_path / "input.pt" + save_tensor_artifact(path, frozen) + restored = load_tensor_artifact(path) + validate_fixture(restored) + assert restored["content_sha256"] == frozen["content_sha256"] + assert not path.with_suffix(".pt.partial").exists() + + +def test_valid_original_bf16_artifact(small_artifact): + request, artifact = small_artifact + validate_model_artifact(artifact, request) + report = compare_artifacts(artifact, artifact) + assert report["passed"] and report["first_divergent_layer"] is None + + +@pytest.mark.parametrize("field", ["logits", "logprobs"]) +def test_signed_zero_is_a_real_full_model_difference(small_artifact, field): + _, artifact = small_artifact + candidate = {**artifact, field: artifact[field].clone()} + reference = {**artifact, field: artifact[field].clone()} + reference[field].reshape(-1)[0] = 0.0 + candidate[field].reshape(-1)[0] = -0.0 + report = compare_artifacts(reference, candidate) + assert not report["passed"] + assert report["first_difference"]["tensor"] == field + assert report["first_difference"]["flat_element"] == 0 + + +@pytest.mark.parametrize("value", [float("nan"), float("inf"), float("-inf")]) +def test_nonfinite_logits_never_pass(small_artifact, value): + request, artifact = small_artifact + changed = {**artifact, "logits": artifact["logits"].clone()} + changed["logits"][0, 0, 0] = value + with pytest.raises(ValueError, match="nonfinite"): + validate_model_artifact(changed, request) + + +def test_widening_logits_or_truncating_vocab_is_rejected(small_artifact): + request, artifact = small_artifact + for logits in (artifact["logits"].float(), artifact["logits"][..., :1024]): + with pytest.raises(ValueError, match="original storage"): + validate_model_artifact({**artifact, "logits": logits}, request) + + +def test_wrong_response_offset_and_changed_tokens_are_rejected(small_artifact): + request, artifact = small_artifact + with pytest.raises(ValueError, match="offsets"): + validate_model_artifact( + {**artifact, "prediction_positions": artifact["prediction_positions"] + 1}, request + ) + with pytest.raises(ValueError, match="frozen response"): + validate_model_artifact( + {**artifact, "response_tokens": artifact["response_tokens"] + 1}, request + ) + + +def test_missing_layers_and_placeholder_hashes_are_rejected(small_artifact): + request, artifact = small_artifact + with pytest.raises(ValueError, match="48-layer"): + validate_model_artifact( + {**artifact, "layer_digests": artifact["layer_digests"][:-1]}, request + ) + changed = copy.deepcopy(artifact["layer_digests"]) + changed[0]["sample_output_sha256"] = [] + with pytest.raises(ValueError, match="Every layer"): + validate_model_artifact({**artifact, "layer_digests": changed}, request) + changed = copy.deepcopy(artifact["layer_digests"]) + changed[0]["output_sha256"] = "0" * 64 + with pytest.raises(ValueError, match="bound"): + validate_model_artifact({**artifact, "layer_digests": changed}, request) + + +def test_first_divergence_tracks_state_even_when_final_logits_match(small_artifact): + _, artifact = small_artifact + changed = copy.deepcopy(artifact["layer_digests"]) + changed[11]["sample_state_sha256"] = ["e" * 64] + candidate = {**artifact, "layer_digests": changed} + result = compare_artifacts(artifact, candidate) + assert not result["passed"] and result["first_divergent_layer"] == 11 + + +@pytest.mark.parametrize( + "node", ["input_layernorm", "mixer", "post_attention_layernorm", "router", "mlp"] +) +def test_first_divergent_node_names_the_sub_node(small_artifact, node): + from rl_engine.validation.models.qwen3_next_l2 import first_divergent_node + + _, artifact = small_artifact + changed = copy.deepcopy(artifact["layer_digests"]) + changed[23]["sample_subnode_sha256"][node] = ["e" * 64] + changed[30]["sample_output_sha256"] = ["e" * 64] + candidate = {**artifact, "layer_digests": changed} + assert first_divergent_node(artifact, candidate) == {"layer": 23, "node": node} + assert compare_artifacts(artifact, candidate)["first_divergent_node"]["node"] == node + + +def test_first_divergent_node_starts_at_the_embedding(small_artifact): + from rl_engine.validation.models.qwen3_next_l2 import first_divergent_node + + _, artifact = small_artifact + changed = copy.deepcopy(artifact["layer_digests"]) + changed[0]["sample_subnode_sha256"]["input_layernorm"] = ["e" * 64] + candidate = { + **artifact, + "layer_digests": changed, + "embedding_digest": {"sample_sha256": ["e" * 64], "sha256": "x"}, + } + assert first_divergent_node(artifact, candidate) == {"layer": 0, "node": "embedding"} + + +def test_first_divergent_node_falls_back_to_layer_output_and_state(small_artifact): + from rl_engine.validation.models.qwen3_next_l2 import first_divergent_node + + _, artifact = small_artifact + assert first_divergent_node(artifact, artifact) is None + changed = copy.deepcopy(artifact["layer_digests"]) + changed[5]["sample_state_sha256"] = ["e" * 64] + assert first_divergent_node(artifact, {**artifact, "layer_digests": changed}) == { + "layer": 5, + "node": "state", + } + + +def test_layer_digest_requires_every_sub_node_in_order(small_artifact): + request, artifact = small_artifact + output = torch.zeros((1, 16, 2048), dtype=torch.bfloat16) + states = { + name: torch.ones( + (1, 1, 2, 2), dtype=torch.float32 if "recurrent_state" in name else torch.bfloat16 + ) + for name in layer_state_names(0) + } + nodes = subnode_values(1) + with pytest.raises(ValueError, match="sub-nodes"): + layer_digest(0, output, states, subnodes=dict(reversed(list(nodes.items())))) + nodes["router"] = nodes["router"].int() + with pytest.raises(ValueError, match="router"): + layer_digest(0, output, states, subnodes=nodes) + + +def test_batch_invariance_selects_first_samples(frozen, small_artifact): + _, candidate = small_artifact + request = worker_request( + L2Case(8, 4, "full"), frozen, role="rollout", identity={"test_only": True} + ) + reference = make_artifact(request) + assert all(compare_batch_prefill(reference, candidate).values()) + reference["logits"][3, 0, 0] = 3.0 + assert all(compare_batch_prefill(reference, candidate).values()) + reference["logits"][0, 0, 0] = 3.0 + assert not compare_batch_prefill(reference, candidate)["logits"] + reference["layer_digests"][7]["sample_state_sha256"][0] = "f" * 64 + assert first_divergent_layer(reference, candidate) == 7 + + +def test_only_initial_rollout_can_generate_fixture(frozen): + for role, case in ( + ("recompute", L2Case(64, 4, "full")), + ("rollout", L2Case(64, 1, "full")), + ("rollout", L2Case(64, 4, "chunked")), + ): + with pytest.raises(ValueError, match="Only initial"): + worker_request(case, frozen, role=role, identity={}, generate=True) + + +def test_native_worker_absence_fails_readiness(monkeypatch): + sys.path.insert(0, str(Path(__file__).resolve().parents[3] / "tools/validation/models")) + import qwen3_next_l2 as runner + + def absent(name): + raise ModuleNotFoundError(name) + + monkeypatch.setattr(runner.importlib, "import_module", absent) + with pytest.raises(RuntimeError, match="native_workers_not_ready"): + runner.check_ready() + + +def test_gpu_release_never_cancels_an_unrelated_process(monkeypatch): + sys.path.insert(0, str(Path(__file__).resolve().parents[3] / "tools/validation/models")) + import qwen3_next_l2 as runner + + commands = [] + + def output(command, **kwargs): + commands.append(command) + return "99, GPU-owned, 10\\n123, GPU-other, 20\\n".replace("\\n", "\n") + + monkeypatch.setattr(runner.subprocess, "check_output", output) + with pytest.raises(RuntimeError, match="gpu_memory_not_released"): + runner.wait_gpu_release(["GPU-owned"], timeout=0) + runner.wait_gpu_release(["GPU-free"], timeout=0) + assert all(command[0] == "nvidia-smi" for command in commands) + + +def test_batch_callback_loads_once_and_freezes_before_recompute_cases(tmp_path, monkeypatch): + import json + from types import SimpleNamespace + + sys.path.insert(0, str(Path(__file__).resolve().parents[3] / "tools/validation/models")) + import qwen3_next_l2 as runner + + calls = [] + + def native_batch(cases): + calls.append([]) + for request, path in cases: + calls[-1].append(request) + responses = request["response_tokens"] + batch = len(request["prompt_tokens"]) + if responses is None: + responses = torch.arange(batch * 16).view(batch, 16).tolist() + save_tensor_artifact( + path, + { + "response_tokens": torch.tensor(responses), + "logprobs": torch.full((batch, 16), -1.0), + }, + ) + + def eager_recompute(cases): + # The actual recompute worker must collect requests before spawning its + # single actor lifetime; none of these outputs exist during collection. + requests = list(cases) + assert len(requests) == 16 + assert all(not path.exists() for _, path in requests) + native_batch(requests) + + module = SimpleNamespace(run_rollout_cases=native_batch, run_recompute_cases=eager_recompute) + monkeypatch.setattr(runner, "check_ready", lambda: (module, {"batched_cases": True})) + monkeypatch.setattr(runner, "verify_environment", lambda *a, **k: None) + monkeypatch.setattr(runner, "verify_before_model_load", lambda *a, **k: None) + monkeypatch.setattr(runner, "validate_model_artifact", lambda *a: None) + monkeypatch.setitem( + sys.modules, + "transformers", + SimpleNamespace( + AutoTokenizer=SimpleNamespace(from_pretrained=lambda *a, **k: UnitTokenizer()) + ), + ) + checkpoint = {"metadata": {"tokenizer": "pinned"}} + manifest = { + "source_commit": "unit", + "source_tree": "unit", + "environment_sha256": "unit", + "checkpoint": "/unit", + "checkpoint_identity": checkpoint, + "provider_config": {}, + "topology": {"tp": 4, "pp": 1, "cp": 1, "ep": 1}, + "environment": {}, + } + monkeypatch.setattr(runner, "checkpoint_identity", lambda path: checkpoint) + fixture = tmp_path / "inputs/frozen.pt" + runner.worker_batch(manifest, tmp_path / "rollout", "rollout", fixture) + assert len(calls) == 1 and len(calls[0]) == 20 + assert all(row["response_tokens"] is None for row in calls[0][:4]) + assert all(row["response_tokens"] is not None for row in calls[0][4:]) + frozen_inputs = load_tensor_artifact(fixture) + validate_fixture(frozen_inputs) + runner.worker_batch(manifest, tmp_path / "recompute", "recompute", fixture) + assert len(calls) == 2 and len(calls[1]) == 16 + assert all(row["response_tokens"] is not None for row in calls[1]) + result = json.loads((tmp_path / "recompute/worker-result.json").read_text()) + assert len(result["cases"]) == 16 + updated = { + **manifest, + "weight_version": "update-1", + "base_checkpoint": "/unit", + "base_checkpoint_identity": checkpoint, + "checkpoint": "/updated-unit", + "checkpoint_identity": {"metadata": {"tokenizer": "pinned", "index": "new"}}, + } + monkeypatch.setattr(runner, "verify_updated_weights", lambda manifest: {}) + runner.worker_batch(updated, tmp_path / "updated", "rollout", fixture) + assert len(calls) == 3 and len(calls[2]) == 16 + assert all(row["response_tokens"] is not None for row in calls[2]) + + +def test_passed_flag_cannot_replace_full_matrix(): + from rl_engine.validation.models.qwen3_next_l2 import validate_matrix_report + + with pytest.raises(ValueError, match="sixteen-case"): + validate_matrix_report({"status": "passed", "raw_bit_comparison": True}) + + +def test_updated_weights_require_existing_baseline_fixture_before_worker(tmp_path, monkeypatch): + import qwen3_next_l2 as runner + + def unexpected(): + raise AssertionError("A missing frozen fixture must fail before loading native workers") + + monkeypatch.setattr(runner, "check_ready", unexpected) + with pytest.raises(RuntimeError, match="already frozen baseline"): + runner.worker_batch( + {"weight_version": "update-1"}, tmp_path / "out", "rollout", tmp_path / "missing.pt" + ) + + +def test_updated_preload_binds_actual_export_to_baseline_source_and_version(tmp_path, monkeypatch): + import qwen3_next_l2 as runner + import qwen3_next_training_export as export + + identity = { + "source_commit": "source", + "source_tree": "tree", + "environment_sha256": "env", + "provider_config": {"provider": "strict"}, + "topology": {"tp": 4}, + } + record = { + "weight_version": "update-1", + "base_checkpoint": "/official", + "base_checkpoint_identity": {"revision": "pinned"}, + "training_identity": identity, + } + manifest = { + **identity, + **{ + key: record[key] + for key in ("weight_version", "base_checkpoint", "base_checkpoint_identity") + }, + "checkpoint": "/updated", + "checkpoint_identity": record, + } + calls = [] + + def deep_verify(path, expected): + calls.append((path, expected)) + return record + + monkeypatch.setattr(export, "validate_training_export", deep_verify) + assert runner.verify_before_model_load(manifest, tmp_path) == record + assert calls == [("/updated", record)] + manifest["source_commit"] = "different" + with pytest.raises(RuntimeError, match="changed source_commit"): + runner.verify_updated_weights(manifest) + + +def test_debug_capture_must_contain_matching_layer_state(small_artifact): + from rl_engine.validation.models.qwen3_next_l2 import validate_debug_capture + + request, artifact = small_artifact + request = {**request, "trace_layers": [2]} + with pytest.raises(ValueError, match="missing"): + validate_debug_capture(artifact, request) + capture = { + "layer.2.output": torch.zeros((1, 16, 2048), dtype=torch.bfloat16), + **{ + f"layer.2.{name}": torch.ones( + (1, 1, 2, 2), dtype=torch.float32 if "recurrent_state" in name else torch.bfloat16 + ) + for name in layer_state_names(2) + }, + **{f"layer.2.subnode.{name}": value for name, value in subnode_values(1).items()}, + } + validate_debug_capture({**artifact, "debug_tensors": capture}, request) + capture["layer.2.tp0.recurrent_state"].zero_() + with pytest.raises(ValueError, match="differ"): + validate_debug_capture({**artifact, "debug_tensors": capture}, request) + + +def test_model_artifact_hash_is_rechecked_before_deserialization(tmp_path): + from qwen3_next_runtime import file_digest + + from rl_engine.validation.models.qwen3_next_l2 import checked_artifact_path + + artifact = tmp_path / "output.pt" + save_tensor_artifact(artifact, {"logits": torch.zeros(2, dtype=torch.bfloat16)}) + record = {"path": str(artifact), "sha256": file_digest(artifact)} + checked_artifact_path(record, artifact_root=tmp_path) + save_tensor_artifact(artifact, {"logits": torch.ones(2, dtype=torch.bfloat16)}) + with pytest.raises(ValueError, match="digest changed"): + checked_artifact_path(record, artifact_root=tmp_path) + + +def scheduler_request_and_audit(frozen): + identity = { + "weight_version": "baseline", + "provider_config": { + "profile": "qwen3_next_tp4_shared_eager_v1", + "native_rollout_kv_cache_memory_bytes": 4 << 30, + }, + } + request = worker_request(L2Case(64, 4, "chunked"), frozen, role="rollout", identity=identity) + computed = 0 + steps = [] + for count in [*request["prefill_chunks"], *([1] * 15)]: + steps.append( + { + "samples": [3, 1, 0, 2], + "computed_before": [computed] * 4, + "token_counts": [count] * 4, + } + ) + computed += count + return request, { + "provider_execution_mode": "qualification", + "native_runtime_profile": { + "kv_cache_memory_bytes_per_gpu": 4 << 30, + "max_model_len": 1040, + "max_num_seqs": 64, + "max_num_batched_tokens": 16384, + "scheduler": ( + "rl_engine.integrations.engines.rollout.vllm.qwen3_next_native_rollout" + ".ExactPrefillScheduler" + ), + "async_scheduling": False, + "prefix_caching": False, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32", + "model_runner": "v1", + }, + "native_scheduler_steps": steps, + } + + +def test_actual_scheduler_must_follow_requested_chunks_and_offsets(frozen): + from rl_engine.validation.models.qwen3_next_l2 import validate_native_scheduler_execution + + request, artifact = scheduler_request_and_audit(frozen) + validate_native_scheduler_execution(artifact, request) + for key in ("token_counts", "computed_before", "samples"): + changed = copy.deepcopy(artifact) + changed["native_scheduler_steps"][0][key][0] += 1 + with pytest.raises(ValueError, match="sample/chunk/offset"): + validate_native_scheduler_execution(changed, request) + changed = {**artifact, "native_scheduler_steps": artifact["native_scheduler_steps"][:-1]} + with pytest.raises(ValueError, match="boundary"): + validate_native_scheduler_execution(changed, request) + + +def test_scheduler_cannot_shrink_cache_or_claim_certified_execution(frozen): + from rl_engine.validation.models.qwen3_next_l2 import validate_native_scheduler_execution + + request, artifact = scheduler_request_and_audit(frozen) + artifact["native_runtime_profile"]["kv_cache_memory_bytes_per_gpu"] //= 2 + with pytest.raises(ValueError, match="runtime"): + validate_native_scheduler_execution(artifact, request) + request, artifact = scheduler_request_and_audit(frozen) + artifact["provider_execution_mode"] = "certified" + with pytest.raises(ValueError, match="certificate identity"): + validate_native_scheduler_execution(artifact, request) + + +def test_layer_hashes_cannot_replace_four_original_worker_traces(frozen): + from rl_engine.validation.models.qwen3_next_l2 import validate_native_worker_traces + + request, artifact = scheduler_request_and_audit(frozen) + with pytest.raises(ValueError, match="each TP rank"): + validate_native_worker_traces(artifact, request) + + +def test_matrix_recomputes_tensor_comparisons_even_after_reports_are_rehashed(tmp_path, frozen): + import json + + from qwen3_next_runtime import file_digest + + from rl_engine.validation.models.qwen3_next_binary import ( + archive_provider_binary, + validate_binary_record, + ) + from rl_engine.validation.models.qwen3_next_l2 import json_digest, validate_matrix_report + + source = tmp_path / "source" + (source / "rl_engine").mkdir(parents=True) + (source / "rl_engine/_C.cpython-unit.so").write_bytes(b"unit native binary") + provider_binary = archive_provider_binary(source, tmp_path, source_tree="unit") + actual_binary = validate_binary_record(provider_binary) + + identity = { + "architecture_layers": 48, + "weight_version": "baseline", + "topology": {"tp": 4, "pp": 1, "cp": 1, "ep": 1}, + "test_only": True, + "source_tree": "unit", + } + + def record(path): + return {"path": str(path), "sha256": file_digest(path)} + + def compact_artifact(request): + result = make_artifact(request) + result["provider_binary"] = actual_binary + result["logits"] = torch.zeros((), dtype=torch.bfloat16).expand(result["logits"].shape) + return result + + baselines, baseline_records = {}, {} + for length in PROMPT_LENGTHS: + request = worker_request( + L2Case(length, 4, "full"), frozen, role="rollout", identity=identity, generate=True + ) + value = compact_artifact( + {**request, "response_tokens": frozen["responses"][str(length)].tolist()} + ) + path = tmp_path / f"baseline-{length}.pt" + save_tensor_artifact(path, value) + baselines[str(length)] = value + baseline_records[str(length)] = record(path) + fixture = freeze_responses( + frozen, + baselines, + baseline_identity=json_digest(identity), + baseline_records=baseline_records, + ) + fixture_path = tmp_path / "fixture.pt" + save_tensor_artifact(fixture_path, fixture) + checks = {name: True for name in ("response_tokens", "logits", "logprobs", "layer_states")} + processes = { + role: {"exit_code": 0, "pid": index + 1, "gpu_release_verified": True} + for index, role in enumerate(("rollout", "recompute")) + } + workers = { + role: { + "status": "passed", + "role": role, + "identity": identity, + "fixture_sha256": fixture["content_sha256"], + "pid": processes[role]["pid"], + "cases": {}, + "provider_binary": actual_binary, + } + for role in processes + } + cases = {} + for case in case_matrix(): + records = {} + for role in processes: + request = worker_request(case, fixture, role=role, identity=identity) + path = tmp_path / f"{role}-{case.case_id}.pt" + save_tensor_artifact(path, compact_artifact(request)) + records[role] = record(path) + workers[role]["cases"][case.case_id] = { + **records[role], + "request_sha256": request["request_sha256"], + } + cases[case.case_id] = { + "passed": True, + "comparisons": checks, + "batch_prefill": {role: checks for role in processes}, + "baseline_generation": {role: checks for role in processes}, + "artifacts": records, + } + worker_records = {} + for role in processes: + path = tmp_path / f"{role}-worker.json" + path.write_text(json.dumps(workers[role])) + worker_records[role] = record(path) + report = { + "schema_version": 1, + "status": "passed", + "scope": "qwen3_next_full_model_l2", + "raw_bit_comparison": True, + "logits_dtype": "bfloat16", + "logprobs_dtype": "float32", + "response_length": 16, + "vocab_size": 151936, + "identity": identity, + "case_ids": [case.case_id for case in case_matrix()], + "cases": cases, + "processes": processes, + "worker_results": worker_records, + "fixture": {**record(fixture_path), "content_sha256": fixture["content_sha256"]}, + "provider_binary": provider_binary, + } + validate_matrix_report(report, expected_identity=identity, artifact_root=tmp_path) + case_id = L2Case(8, 1, "full").case_id + path = Path(cases[case_id]["artifacts"]["recompute"]["path"]) + changed = load_tensor_artifact(path) + changed["logits"] = changed["logits"].clone() + changed["logits"][0, 0, 0] = -0.0 + save_tensor_artifact(path, changed) + cases[case_id]["artifacts"]["recompute"] = record(path) + workers["recompute"]["cases"][case_id].update(record(path)) + worker_path = Path(worker_records["recompute"]["path"]) + worker_path.write_text(json.dumps(workers["recompute"])) + report["worker_results"]["recompute"] = record(worker_path) + with pytest.raises(ValueError, match="tensor bytes contradict"): + validate_matrix_report(report, expected_identity=identity, artifact_root=tmp_path) diff --git a/tests/models/qwen3_next/test_qwen3_next_layers.py b/tests/models/qwen3_next/test_qwen3_next_layers.py new file mode 100644 index 000000000..b3bf66e88 --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_layers.py @@ -0,0 +1,138 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""CPU failure-injection tests; none constitutes native model evidence.""" + +import copy +import json +import sys +from pathlib import Path + +import pytest + +ROOT = Path(__file__).resolve().parents[3] +sys.path.insert(0, str(ROOT / "tools/validation/models")) + +from qwen3_next_layer_contract import ( # noqa: E402 + checked_record, + layer_requirements, + validate_layer_report, + validate_rank_result, +) +from qwen3_next_runtime import STAGES # noqa: E402 +from qwen3_next_runtime import identity_digest # noqa: E402 + + +def rank_row(requirement, rank): + row = { + "status": "passed", + "rank": rank, + "scope": requirement["scope"], + "full_model_l2": "not_evaluated", + **requirement.get("fields", {}), + } + for path, cases in requirement["groups"].items(): + target = row + parts = path.split(".") + for part in parts[:-1]: + target = target.setdefault(part, {}) + target[parts[-1]] = list(cases) + return row + + +def test_layers_are_required_between_preflight_and_l2(): + assert STAGES["layers"][:3] == ("512G", "04:00:00", "preflight") + assert STAGES["l2"][2] == "layers" + + +@pytest.mark.parametrize("gate", ["gdn", "attention", "moe", "adapters", "heads"]) +def test_rank_gate_requires_complete_unduplicated_inventory(gate): + requirement = layer_requirements(ROOT)["gates"][gate] + row = rank_row(requirement, 2) + validate_rank_result(row, requirement, 2) + for field in ("rank", "scope", "status", "full_model_l2"): + altered = {**row, field: "changed"} + with pytest.raises(ValueError, match="identity"): + validate_rank_result(altered, requirement, 2) + for skipped in (1, 3): + with pytest.raises(ValueError, match="skipped"): + validate_rank_result({**row, "skipped": skipped}, requirement, 2) + for path in requirement["groups"]: + for duplicate in (False, True): + changed = copy.deepcopy(row) + value = changed + for part in path.split("."): + value = value[part] + value.append(value[0]) if duplicate else value.pop() + with pytest.raises(ValueError, match="mandatory"): + validate_rank_result(changed, requirement, 2) + + +def test_artifact_hash_and_attempt_escape_are_rejected(tmp_path): + from qwen3_next_runtime import file_digest + + attempt = tmp_path / "attempt" + attempt.mkdir() + path = attempt / "rank.json" + path.write_text("{}") + record = {"path": str(path), "sha256": file_digest(path)} + assert checked_record(record, root=attempt) == path + path.write_text('{"changed": true}') + with pytest.raises(ValueError, match="digest"): + checked_record(record, root=attempt) + record["sha256"] = file_digest(path) + with pytest.raises(ValueError, match="escaped"): + checked_record(record, root=attempt / "different") + + +def test_complete_component_flags_cannot_replace_native_scheduler(tmp_path): + from rl_engine.validation.models.qwen3_next_binary import ( + archive_provider_binary, + validate_binary_record, + ) + + source = tmp_path / "source" + (source / "rl_engine").mkdir(parents=True) + (source / "rl_engine/_C.cpython-unit.so").write_bytes(b"unit native binary") + provider_binary = archive_provider_binary(source, tmp_path, source_tree="unit") + actual_binary = validate_binary_record(provider_binary) + identity = {"source_tree": "unit"} + requirement = layer_requirements(ROOT) + report = { + "schema_version": 1, + "status": "passed", + "phase": "complete", + "scope": "qwen3_next_layer_and_scheduler_gates", + "identity": identity, + "requirements_sha256": identity_digest(requirement), + "full_model_l2": "not_evaluated", + "gates": {}, + "provider_binary": provider_binary, + } + from qwen3_next_runtime import file_digest + + for name, expected in requirement["gates"].items(): + records = {} + for rank in range(4): + path = tmp_path / f"{name}-{rank}.json" + path.write_text( + json.dumps({**rank_row(expected, rank), "provider_binary": actual_binary}) + ) + records[str(rank)] = {"path": str(path), "sha256": file_digest(path)} + report["gates"][name] = {"exit_code": 0, "gpu_release_verified": True, "ranks": records} + with pytest.raises(ValueError, match="artifact path"): + validate_layer_report(report, requirement, identity, root=tmp_path) + report["phase"] = "native_scheduler" + with pytest.raises(ValueError, match="completeness"): + validate_layer_report(report, requirement, identity, root=tmp_path) + + +def test_missing_native_scheduler_is_explicitly_incomplete(monkeypatch): + import qwen3_next_layers as runner + + def missing(_): + raise ModuleNotFoundError("native scheduler missing") + + monkeypatch.setattr(runner.importlib, "import_module", missing) + with pytest.raises(RuntimeError, match="native_scheduler_not_ready"): + runner.check_scheduler_ready() diff --git a/tests/models/qwen3_next/test_qwen3_next_logprob_adapter.py b/tests/models/qwen3_next/test_qwen3_next_logprob_adapter.py new file mode 100644 index 000000000..db95b6492 --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_logprob_adapter.py @@ -0,0 +1,43 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +import pytest +import torch + +from rl_engine.models.qwen3_next.qwen3_next_logprob import ( + calculate_log_probs_and_entropy, + qwen_logprob_contract, +) + + +def test_contract_pins_complete_tp4_vocab_and_original_dtype(): + for rank in range(4): + contract = qwen_logprob_contract( + torch.empty(2, 37984, dtype=torch.bfloat16), rank=rank, world_size=4 + ) + assert contract.sharding.vocab_shard_bounds[rank] == (rank * 37984, (rank + 1) * 37984) + assert contract.sharding.padded_vocab_size == 151936 + assert contract.sharding.cp_world_size == 1 + assert contract.dtype.value == "bf16" + + +@pytest.mark.parametrize( + "rank,world,width,dtype", + [ + (0, 1, 151936, torch.bfloat16), + (4, 4, 37984, torch.bfloat16), + (0, 4, 38016, torch.bfloat16), + (0, 4, 37984, torch.float16), + ], +) +def test_contract_rejects_profile_drift(rank, world, width, dtype): + with pytest.raises(ValueError): + qwen_logprob_contract(torch.empty(0, width, dtype=dtype), rank=rank, world_size=world) + + +def test_numerical_callback_has_no_fallback_for_mask_or_absent_group(): + logits, tokens = torch.empty(0, 37984), torch.empty(0, dtype=torch.long) + with pytest.raises(ValueError, match="top-p"): + calculate_log_probs_and_entropy(logits, tokens, None, log_prob_keep_mask=torch.empty(0)) + with pytest.raises(ValueError, match="explicit initialized"): + calculate_log_probs_and_entropy(logits, tokens, None) diff --git a/tests/models/qwen3_next/test_qwen3_next_native_recompute.py b/tests/models/qwen3_next/test_qwen3_next_native_recompute.py new file mode 100644 index 000000000..00e0dd3a8 --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_native_recompute.py @@ -0,0 +1,235 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +from pathlib import Path + +import pytest +import torch + +from rl_engine.integrations.orchestrators.vime.experiments.qwen3_next.native_recompute import ( + response_rows, +) +from rl_engine.integrations.orchestrators.vime.providers.qwen3_next_vime_runtime import runtime_argv +from rl_engine.models.qwen3_next.qwen3_next_subnode import SUBNODES, subnode_layout +from rl_engine.validation.common.file_digest import file_sha256 + + +@pytest.mark.parametrize("batch", [1, 4]) +def test_response_rows_start_at_last_prompt_and_do_not_consume_last_target(batch): + request = { + "prompt_tokens": [[1] * 8 for _ in range(batch)], + "consumed_input_tokens": [[1] * 23 for _ in range(batch)], + "prediction_positions": list(range(7, 23)), + } + hidden = torch.arange(batch * 23 * 2).reshape(batch * 23, 1, 2).to(torch.bfloat16) + selected = response_rows(hidden, request) + assert selected.dtype == torch.bfloat16 and selected.shape == (batch, 16, 2) + for index in range(batch): + assert torch.equal(selected[index], hidden[index * 23 + 7 : (index + 1) * 23, 0]) + with pytest.raises(ValueError, match="BF16"): + response_rows(hidden.float(), request) + request["prediction_positions"] = list(range(8, 24)) + with pytest.raises(ValueError, match="last target"): + response_rows(hidden, request) + + +def test_native_cli_has_full_model_vocabulary_topology_and_no_precision_override(): + argv = runtime_argv("/checkpoint", training=True) + for name, value in { + "num-layers": 48, + "tensor-model-parallel-size": 4, + "expert-tensor-parallel-size": 4, + "pipeline-model-parallel-size": 1, + "context-parallel-size": 1, + "padded-vocab-size": 151936, + }.items(): + assert argv[argv.index("--" + name) + 1] == str(value) + assert "--optimization-dtype" not in argv and "--reduce-dtype" not in argv + assert "--sequence-parallel" not in argv + assert "--use-rollout-logprobs" in argv + + +def test_recompute_batch_loads_once_and_keeps_verifiable_original_rank_traces( + tmp_path, monkeypatch +): + import copy + + from rl_engine.integrations.orchestrators.vime.experiments.qwen3_next import ( + native_recompute as recompute, + ) + from rl_engine.validation.models.qwen3_next_l2 import ( + load_tensor_artifact, + save_tensor_artifact, + validate_native_worker_traces, + ) + + request = { + "schema_version": 1, + "case_id": "cpu-contract-only", + "role": "recompute", + "identity": { + "provider_config": {"profile": "qwen3_next_tp4_shared_eager_v1"}, + "weight_version": "baseline", + }, + "request_sha256": "a" * 64, + "execution": {"recompute_mode": "full_from_tokens", "input_sequence_length": 23}, + "prompt_tokens": [[1] * 8], + "response_tokens": [[2] * 16], + "prediction_positions": list(range(7, 23)), + "sample_ids": [0], + "consumed_response_tokens": 15, + "state_position": 22, + "trace_layers": [], + } + second = {**request, "case_id": "second-cpu-case", "request_sha256": "b" * 64} + calls = [] + + def spawn(target, *, args, nprocs, join): + cases, staging = args + calls.append((target, nprocs, join)) + assert len(cases) == 2 + for index, (current, _output) in enumerate(cases): + for rank in range(4): + layers = {} + for layer in range(48): + names = ( + ("key", "value") + if (layer + 1) % 4 == 0 + else ("convolution", "recurrent_state") + ) + layers[layer] = { + "output": torch.zeros((1, 16, 2048), dtype=torch.bfloat16), + "subnodes": { + name: torch.zeros( + (1, 16, subnode_layout(name)[0]), dtype=subnode_layout(name)[1] + ) + for name in SUBNODES + }, + "states": { + name: torch.zeros( + (), + dtype=( + torch.float32 if name == "recurrent_state" else torch.bfloat16 + ), + ).expand( + { + "convolution": (1, 2048, 3), + "recurrent_state": (1, 8, 128, 128), + "key": (1, 1, 23, 256), + "value": (1, 1, 23, 256), + }[name] + ) + for name in names + }, + } + layers["model"] = {"embedding": torch.zeros((1, 16, 2048), dtype=torch.bfloat16)} + trace = { + "rank": rank, + "request_sha256": current["request_sha256"], + "role": "recompute", + "execution": current["execution"], + "provider_binary": { + "module": "rl_engine._C", + "path": "/cpu-test-only/_C.so", + "sha256": "c" * 64, + }, + "layers": layers, + "local_logits": torch.zeros((), dtype=torch.bfloat16).expand(1, 16, 37984), + "logprobs": torch.zeros((1, 16)), + "responses": torch.tensor(current["response_tokens"], dtype=torch.int64), + } + if rank == 0: + trace["logits"] = torch.zeros((), dtype=torch.bfloat16).expand(1, 16, 151936) + save_tensor_artifact(Path(staging) / f"case-{index}-rank-{rank}.pt", trace) + + monkeypatch.setattr(recompute.mp, "spawn", spawn) + outputs = [(request, tmp_path / "first.pt"), (second, tmp_path / "second.pt")] + recompute.run_recompute_cases(iter(outputs)) + assert calls == [(recompute._rank_main, 4, True)] + for current, path in outputs: + artifact = load_tensor_artifact(path) + assert len(artifact["worker_traces"]) == 4 + validate_native_worker_traces(artifact, current, artifact_root=tmp_path) + artifact = load_tensor_artifact(outputs[0][1]) + for record in artifact["worker_traces"]: + assert Path(record["path"]).is_file() + + missing_binary = copy.deepcopy(artifact) + missing_binary.pop("provider_binary") + with pytest.raises(ValueError, match="imported CUDA provider binary"): + validate_native_worker_traces(missing_binary, request, artifact_root=tmp_path) + + # Merely retaining files is insufficient: even after rehashing the record, + # original hidden/state/local-logit bytes must reproduce the declared result. + record = artifact["worker_traces"][1] + original = load_tensor_artifact(record["path"]) + for field, message in ( + ("state", "state bytes"), + ("hidden", "layer output"), + ("local_logits", "local_logits bytes"), + ("binary", "provenance mismatch"), + ("convolution_truncated", "complete convolution state shape"), + ("convolution_transposed", "complete convolution state shape"), + ("recurrent_truncated", "complete recurrent_state state shape"), + ("key_short", "complete key state shape"), + ("key_long", "complete key state shape"), + ("value_truncated", "complete value state shape"), + ): + trace = copy.deepcopy(original) + if field == "state": + value = trace["layers"][0]["states"]["recurrent_state"].clone() + value[0, 0, 0, 0] = -0.0 + trace["layers"][0]["states"]["recurrent_state"] = value + elif field == "convolution_truncated": + trace["layers"][0]["states"]["convolution"] = torch.zeros((1, 1), dtype=torch.bfloat16) + elif field == "convolution_transposed": + value = trace["layers"][0]["states"]["convolution"] + trace["layers"][0]["states"]["convolution"] = value.transpose(1, 2) + elif field == "recurrent_truncated": + value = trace["layers"][0]["states"]["recurrent_state"] + trace["layers"][0]["states"]["recurrent_state"] = value[:, :7] + elif field in ("key_short", "key_long"): + length = 22 if field == "key_short" else 24 + trace["layers"][3]["states"]["key"] = torch.zeros( + (1, 1, length, 256), dtype=torch.bfloat16 + ) + elif field == "value_truncated": + value = trace["layers"][3]["states"]["value"] + trace["layers"][3]["states"]["value"] = value[..., :255] + elif field == "hidden": + trace["layers"][0]["output"][0, 0, 0] = -0.0 + elif field == "binary": + trace["provider_binary"]["sha256"] = "d" * 64 + else: + trace["local_logits"] = trace["local_logits"].clone() + trace["local_logits"][0, 0, 0] = -0.0 + save_tensor_artifact(record["path"], trace) + record["sha256"] = file_sha256(record["path"]) + with pytest.raises(ValueError, match=message): + validate_native_worker_traces(artifact, request, artifact_root=tmp_path) + if "complete " in message: + ranks = [load_tensor_artifact(item["path"]) for item in artifact["worker_traces"]] + with pytest.raises(ValueError, match=message): + recompute._assemble(request, ranks, artifact["worker_traces"]) + + +@pytest.mark.parametrize("batch", [1, 4]) +@pytest.mark.parametrize("prompt_length", [8, 64, 256, 1024]) +def test_complete_native_state_shapes_bind_every_consumed_token(batch, prompt_length): + from rl_engine.validation.models.qwen3_next_l2 import native_state_shapes + + request = { + "prompt_tokens": [[1] * prompt_length for _ in range(batch)], + "consumed_response_tokens": 15, + "state_position": prompt_length + 14, + } + assert native_state_shapes(request) == { + "convolution": (batch, 2048, 3), + "recurrent_state": (batch, 8, 128, 128), + "key": (batch, 1, prompt_length + 15, 256), + "value": (batch, 1, prompt_length + 15, 256), + } + with pytest.raises(ValueError, match="exactly 15 responses"): + native_state_shapes({**request, "state_position": prompt_length + 15}) + with pytest.raises(ValueError, match="exactly 15 responses"): + native_state_shapes({**request, "consumed_response_tokens": 16}) diff --git a/tests/models/qwen3_next/test_qwen3_next_norm.py b/tests/models/qwen3_next/test_qwen3_next_norm.py new file mode 100644 index 000000000..4497ff87f --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_norm.py @@ -0,0 +1,884 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""WS1 C1 (RFC #428): Qwen3-Next RMSNorm conventions and batch invariance. + +Claim levels exercised here (RFC #428 section 2.1): + * L0 repeatable -- identical inputs reproduce bitwise identical outputs. + * L1 batch-invariant -- a row is unaffected by slicing, concurrency and (for the + PyTorch reference) padding; packing and order are not exercised. + +L2 (train-rollout exact against vLLM) is NOT claimed by this file; it needs the +rollout engine on the other side. + +The reduction order here is the repo's fixed 32-wide chunked reduction, which +differs from upstream's ``mean(-1)``. What is reproduced exactly is the weight +convention and the cast order, so comparisons against the upstream formula are +tolerance based while the invariance assertions are bitwise. +""" + +from __future__ import annotations + +import pytest +import torch +import torch.nn.functional as F + +from rl_engine.contracts.numerical import load_contract, resolve_tolerance +from rl_engine.reference.norm.qwen3_next_rms_norm import ( + Qwen3NextRMSNormGatedHFOp, + Qwen3NextRMSNormGatedOp, + Qwen3NextRMSNormOp, +) + +# Qwen3-Next-80B-A3B-Instruct config.json +_HIDDEN = 2048 # hidden_size +_HEAD_V_DIM = 128 # linear_value_head_dim -- the gated norm width +_EPS = 1e-6 # rms_norm_eps + +_CONTRACT = load_contract() + + +def _forward_tol(dtype: torch.dtype) -> dict[str, float]: + """C1 forward_accuracy row for the ``reduction`` op class -- no private thresholds.""" + spec = resolve_tolerance( + _CONTRACT, judgment="forward_accuracy", op_class="reduction", dtype=dtype + ) + return {"atol": spec.atol, "rtol": spec.rtol} + + +def _rand(shape, seed): + g = torch.Generator().manual_seed(seed) + return torch.randn(*shape, generator=g, dtype=torch.float32) + + +# --------------------------------------------------------------------------- # +# Upstream formulas, transcribed from transformers/models/qwen3_next. +# These pin the exact semantics; they are deliberately verbatim. +# --------------------------------------------------------------------------- # +def _hf_rms_norm(x, weight, eps=_EPS): + output = x.float() * torch.rsqrt(x.float().pow(2).mean(-1, keepdim=True) + eps) + output = output * (1.0 + weight.float()) + return output.type_as(x) + + +def _vllm_rms_norm_gated(x, weight, gate, eps=_EPS): + """vLLM ``RMSNormGated.forward_static`` with ``norm_before_gate=True``.""" + orig_dtype = x.dtype + x, weight, z = x.float(), weight.float(), gate.float() + variance = x.pow(2).mean(dim=-1, keepdim=True) + out = (x * torch.rsqrt(variance + eps)) * weight + out = out * F.silu(z) + return out.to(orig_dtype) + + +def _hf_rms_norm_gated(x, weight, gate, eps=_EPS): + input_dtype = x.dtype + h = x.to(torch.float32) + variance = h.pow(2).mean(-1, keepdim=True) + h = h * torch.rsqrt(variance + eps) + h = weight * h.to(input_dtype) + h = h * F.silu(gate.to(torch.float32)) + return h.to(input_dtype) + + +# --------------------------------------------------------------------------- # +# 1. The zero-centred (1 + w) convention +# --------------------------------------------------------------------------- # +def test_zero_weight_is_identity_scaling(): + """weight == 0 must leave the normalized value untouched, bitwise. + + This is what separates the zero-centred convention from the plain one: a + plain RMSNorm returns all zeros for a zero weight, this one returns the + bare normalized value. + """ + from rl_engine.reference.norm.rms_norm import NativeRMSNormOp, shape_invariant_rstd + + x = _rand((4, _HIDDEN), seed=0) + zeros = torch.zeros(_HIDDEN) + + x_f = x.float() + bare = x_f * shape_invariant_rstd(x_f, _EPS).unsqueeze(-1) + assert torch.equal(Qwen3NextRMSNormOp().forward_fp32(x, zeros, eps=_EPS), bare) + + # ... and the plain convention really does differ here. + assert torch.equal(NativeRMSNormOp().forward_fp32(x, zeros, eps=_EPS), torch.zeros_like(bare)) + + +def test_weight_offset_is_one(): + """w and w+1 scaling relationship: out(w) == norm * (1 + w).""" + op = Qwen3NextRMSNormOp() + x = _rand((2, _HEAD_V_DIM), seed=1) + unit = op.forward_fp32(x, torch.zeros(_HEAD_V_DIM)) # scale = 1 + doubled = op.forward_fp32(x, torch.ones(_HEAD_V_DIM)) # scale = 2 + torch.testing.assert_close(doubled, 2.0 * unit, atol=1e-6, rtol=1e-6) + + +def test_offset_applied_in_fp32_not_folded_into_bf16(): + """The 1 + w offset must not be pre-rounded through bf16. + + A weight one bf16 ULP below zero stays distinguishable from exactly zero + once the offset is added in fp32; folding (1 + w) into bf16 first would + collapse both to 1.0 and lose the difference. + """ + op = Qwen3NextRMSNormOp() + x = _rand((2, _HEAD_V_DIM), seed=2) + tiny = torch.full((_HEAD_V_DIM,), -(2**-9), dtype=torch.bfloat16) + folded = (1.0 + tiny.float()).bfloat16() # the wrong way + assert not torch.equal( + op.forward_fp32(x, tiny), + op.forward_fp32(x, folded - 1.0), + ) + + +# --------------------------------------------------------------------------- # +# 2. L1 -- batch invariance, bitwise +# --------------------------------------------------------------------------- # +@pytest.mark.parametrize("hidden", [_HIDDEN, _HEAD_V_DIM]) +def test_batch_invariance_slice(hidden): + op = Qwen3NextRMSNormOp() + w, x = _rand((hidden,), seed=3), _rand((8, 32, hidden), seed=4) + full = op.forward_fp32(x, w) + assert torch.equal(op.forward_fp32(x[:1], w), full[:1]) + assert torch.equal(op.forward_fp32(x[3:5], w), full[3:5]) + + +@pytest.mark.parametrize("batch", [1, 2, 8, 16, 32, 48, 64]) +def test_batch_invariance_across_concurrency(batch): + """RFC #428 section 10: batch size / concurrency axis 1..64.""" + op = Qwen3NextRMSNormOp() + w = _rand((_HIDDEN,), seed=5) + target = _rand((1, _HIDDEN), seed=6) + others = _rand((batch - 1, _HIDDEN), seed=7) if batch > 1 else None + alone = op.forward_fp32(target, w) + for position in ("first", "last"): + if others is None: + batched, index = target, 0 + elif position == "first": + batched, index = torch.cat([target, others]), 0 + else: + batched, index = torch.cat([others, target]), batch - 1 + assert torch.equal(op.forward_fp32(batched, w)[index : index + 1], alone) + + +def test_batch_invariance_with_padding(): + op = Qwen3NextRMSNormOp() + w = _rand((_HIDDEN,), seed=8) + x = _rand((4, _HIDDEN), seed=9) + padded = torch.cat([x, _rand((6, _HIDDEN), seed=10)], dim=0) + assert torch.equal(op.forward_fp32(padded, w)[:4], op.forward_fp32(x, w)) + + +def test_gated_batch_invariance_slice(): + op = Qwen3NextRMSNormGatedOp() + w = _rand((_HEAD_V_DIM,), seed=11) + x = _rand((8, 32, _HEAD_V_DIM), seed=12) + gate = _rand((8, 32, _HEAD_V_DIM), seed=13) + full = op.forward_fp32(x, w, gate) + assert torch.equal(op.forward_fp32(x[:1], w, gate[:1]), full[:1]) + assert torch.equal(op.forward_fp32(x[3:5], w, gate[3:5]), full[3:5]) + + +# --------------------------------------------------------------------------- # +# 2b. The fixed-order reduction is what buys invariance -- on CUDA too +# --------------------------------------------------------------------------- # +@pytest.mark.skipif(not torch.cuda.is_available(), reason="CUDA is required") +@pytest.mark.parametrize("hidden", [_HIDDEN, _HEAD_V_DIM]) +def test_chunked_reduction_is_slice_invariant_on_device(hidden): + """The rstd statistic must be slice-invariant on the accelerator, every seed. + + Measured counterpoint on B200/bf16/H=2048: a plain ``mean(-1)`` broke this on + 1 of 20 seeds. We assert only the property we rely on -- asserting that torch's + ``mean`` is broken would be a brittle test of someone else's kernel. + """ + from rl_engine.reference.norm.rms_norm import shape_invariant_rstd + + for seed in range(20): + g = torch.Generator(device="cuda").manual_seed(seed) + x = torch.randn(64, hidden, device="cuda", dtype=torch.bfloat16, generator=g) + full = shape_invariant_rstd(x.float(), _EPS) + assert torch.equal(shape_invariant_rstd(x[3:5].float(), _EPS), full[3:5]), seed + assert torch.equal(shape_invariant_rstd(x[:1].float(), _EPS), full[:1]), seed + + +@pytest.mark.skipif(not torch.cuda.is_available(), reason="CUDA is required") +def test_op_batch_invariance_on_device(): + """L1 for the op itself, on the accelerator, in the model's dtype.""" + op = Qwen3NextRMSNormOp() + g = torch.Generator(device="cuda").manual_seed(0) + x = torch.randn(64, _HIDDEN, device="cuda", dtype=torch.bfloat16, generator=g) + w = torch.randn(_HIDDEN, device="cuda", dtype=torch.bfloat16, generator=g) + full = op.forward(x, w) + for n in (1, 2, 8, 16, 32, 48, 64): + assert torch.equal(op.forward(x[:n], w), full[:n]), n + + +# --------------------------------------------------------------------------- # +# 3. L0 -- repeatable +# --------------------------------------------------------------------------- # +def test_deterministic_repeat(): + op = Qwen3NextRMSNormOp() + x, w = _rand((64, _HIDDEN), seed=14), _rand((_HIDDEN,), seed=15) + first = op.forward_fp32(x, w) + for _ in range(10): + assert torch.equal(op.forward_fp32(x, w), first) + + +# --------------------------------------------------------------------------- # +# 4. Agreement with the upstream formula (tolerance, not bitwise: the reduction +# order differs by design) +# --------------------------------------------------------------------------- # +@pytest.mark.parametrize("hidden", [_HIDDEN, _HEAD_V_DIM]) +def test_matches_upstream_formula_fp32(hidden): + op = Qwen3NextRMSNormOp() + x, w = _rand((4, 16, hidden), seed=16), _rand((hidden,), seed=17) + torch.testing.assert_close(op.forward_fp32(x, w), _hf_rms_norm(x, w), atol=1e-6, rtol=1e-6) + + +def test_gated_strict_matches_vllm_formula_fp32(): + """The strict gated op follows vLLM, which is what the L2 claim targets.""" + op = Qwen3NextRMSNormGatedOp() + x = _rand((4, 16, _HEAD_V_DIM), seed=18) + w = _rand((_HEAD_V_DIM,), seed=19) + gate = _rand((4, 16, _HEAD_V_DIM), seed=20) + torch.testing.assert_close( + op.forward_fp32(x, w, gate), + _vllm_rms_norm_gated(x, w, gate), + atol=1e-6, + rtol=1e-6, + ) + + +def test_gated_hf_witness_matches_hf_formula_fp32(): + op = Qwen3NextRMSNormGatedHFOp() + x = _rand((4, 16, _HEAD_V_DIM), seed=18) + w = _rand((_HEAD_V_DIM,), seed=19) + gate = _rand((4, 16, _HEAD_V_DIM), seed=20) + torch.testing.assert_close( + op.forward_fp32(x, w, gate), + _hf_rms_norm_gated(x, w, gate), + atol=1e-6, + rtol=1e-6, + ) + + +def test_gated_conventions_diverge_in_low_precision(): + """Pin the HF-vs-vLLM gated divergence (RFC #428 first-divergence boundary). + + With fp32 inputs the two conventions coincide, because the HF round-trip is + an identity. In bf16 they do not, and the gap is far larger than a ULP: this + is why the convention is part of the operator identity and not a detail. + """ + strict, witness = Qwen3NextRMSNormGatedOp(), Qwen3NextRMSNormGatedHFOp() + x = _rand((64, _HEAD_V_DIM), seed=33).bfloat16() + w = _rand((_HEAD_V_DIM,), seed=34).bfloat16() + gate = _rand((64, _HEAD_V_DIM), seed=35).bfloat16() + + a, b = strict.forward(x, w, gate), witness.forward(x, w, gate) + assert not torch.equal(a, b), "the two gated conventions must be distinguishable" + assert (a.float() - b.float()).abs().max() > 1e-3 + + # ... and in fp32 the round-trip vanishes, so they agree bitwise. + xf, wf, gf = x.float(), w.float(), gate.float() + assert torch.equal(strict.forward(xf, wf, gf), witness.forward(xf, wf, gf)) + + +@pytest.mark.parametrize("dtype", [torch.bfloat16, torch.float16]) +def test_matches_upstream_formula_low_precision(dtype): + op = Qwen3NextRMSNormOp() + x = _rand((4, 16, _HIDDEN), seed=21).to(dtype) + w = _rand((_HIDDEN,), seed=22).to(dtype) + got, ref = op.forward(x, w), _hf_rms_norm(x, w) + assert got.dtype == ref.dtype == dtype + torch.testing.assert_close(got.float(), ref.float(), **_forward_tol(dtype)) + + +@pytest.mark.parametrize("dtype", [torch.bfloat16, torch.float16]) +def test_gated_hf_witness_low_precision(dtype): + """Covers the mid-computation cast back to the input dtype.""" + op = Qwen3NextRMSNormGatedHFOp() + x = _rand((4, 16, _HEAD_V_DIM), seed=23).to(dtype) + w = _rand((_HEAD_V_DIM,), seed=24).to(dtype) + gate = _rand((4, 16, _HEAD_V_DIM), seed=25).to(dtype) + got, ref = op.forward(x, w, gate), _hf_rms_norm_gated(x, w, gate) + assert got.dtype == ref.dtype == dtype + torch.testing.assert_close(got.float(), ref.float(), **_forward_tol(dtype)) + + +@pytest.mark.parametrize("dtype", [torch.bfloat16, torch.float16]) +def test_gated_strict_low_precision(dtype): + op = Qwen3NextRMSNormGatedOp() + x = _rand((4, 16, _HEAD_V_DIM), seed=23).to(dtype) + w = _rand((_HEAD_V_DIM,), seed=24).to(dtype) + gate = _rand((4, 16, _HEAD_V_DIM), seed=25).to(dtype) + got, ref = op.forward(x, w, gate), _vllm_rms_norm_gated(x, w, gate) + assert got.dtype == ref.dtype == dtype + torch.testing.assert_close(got.float(), ref.float(), **_forward_tol(dtype)) + + +# --------------------------------------------------------------------------- # +# 5. dtype paths and guards +# --------------------------------------------------------------------------- # +@pytest.mark.parametrize("dtype", [torch.float32, torch.bfloat16, torch.float16]) +def test_dtype_paths(dtype): + op = Qwen3NextRMSNormOp() + x = _rand((2, 16, _HIDDEN), seed=26).to(dtype) + w = _rand((_HIDDEN,), seed=27).to(dtype) + assert op.forward(x, w).dtype == dtype + assert op.forward_fp32(x, w).dtype == torch.float32 + + +def test_eps_inside_sqrt(): + op = Qwen3NextRMSNormOp() + out = op.forward_fp32(torch.zeros(1, _HIDDEN), torch.zeros(_HIDDEN)) + assert torch.isfinite(out).all() + assert torch.equal(out, torch.zeros(1, _HIDDEN)) + + +def test_bad_weight_shape_raises(): + op = Qwen3NextRMSNormOp() + with pytest.raises(ValueError, match="weight must be 1-D"): + op.forward_fp32(_rand((2, _HIDDEN), seed=28), _rand((_HIDDEN - 1,), seed=29)) + + +def test_gated_shape_mismatch_raises(): + op = Qwen3NextRMSNormGatedOp() + x, w = _rand((2, _HEAD_V_DIM), seed=30), _rand((_HEAD_V_DIM,), seed=31) + with pytest.raises(ValueError, match="gate must match x"): + op.forward_fp32(x, w, _rand((3, _HEAD_V_DIM), seed=32)) + + +# --------------------------------------------------------------------------- # +# 6. CUDA kernel: the offset is applied in fp32 inside the kernel +# --------------------------------------------------------------------------- # +_CUDA_RMSNORM = False +if torch.cuda.is_available(): # pragma: no branch - probe only + try: + from rl_engine.backends.extension import _C, _EXT_AVAILABLE + + _CUDA_RMSNORM = ( + _EXT_AVAILABLE + and getattr(_C, "rmsnorm_api_version", None) == 2 + and all(hasattr(_C, name) for name in ("rmsnorm_forward", "rmsnorm_backward_dx")) + ) + except ImportError: # pragma: no cover + _CUDA_RMSNORM = False + +requires_cuda_rmsnorm = pytest.mark.skipif( + not _CUDA_RMSNORM, reason="CUDA RMSNorm extension is not available" +) + + +@requires_cuda_rmsnorm +def test_cuda_offset_equals_explicit_fp32_weight(): + """``weight_offset=1.0`` must equal passing an fp32 ``1 + w``, bitwise. + + This is the correctness proof for doing the offset inside the kernel: it is + the same arithmetic as the fp32 reference, not an approximation of it. + """ + from rl_engine.backends.cuda.norm.rmsnorm import rmsnorm_cuda + + torch.manual_seed(0) + x = torch.randn(512, _HIDDEN, device="cuda", dtype=torch.bfloat16) + w = torch.randn(_HIDDEN, device="cuda", dtype=torch.bfloat16) + + offset = rmsnorm_cuda(x, w, eps=_EPS, weight_offset=1.0) + explicit = rmsnorm_cuda(x, (1.0 + w.float()), eps=_EPS) + assert torch.equal(offset, explicit) + + +@requires_cuda_rmsnorm +def test_cuda_offset_is_not_folded_through_bfloat16(): + """Pre-rounding ``1 + w`` to bf16 must give a different answer. + + If this ever becomes equal, the offset has stopped being applied in fp32 and + the zero-centred contract is silently broken. + """ + from rl_engine.backends.cuda.norm.rmsnorm import rmsnorm_cuda + + torch.manual_seed(0) + x = torch.randn(512, _HIDDEN, device="cuda", dtype=torch.bfloat16) + w = torch.randn(_HIDDEN, device="cuda", dtype=torch.bfloat16) + + offset = rmsnorm_cuda(x, w, eps=_EPS, weight_offset=1.0) + folded = rmsnorm_cuda(x, (1.0 + w.float()).bfloat16(), eps=_EPS) + assert not torch.equal(offset, folded) + + +@requires_cuda_rmsnorm +def test_cuda_default_offset_preserves_plain_convention(): + """An unset offset must leave the existing kernel behaviour untouched.""" + from rl_engine.backends.cuda.norm.rmsnorm import RMSNormCudaOp, rmsnorm_cuda + + torch.manual_seed(0) + x = torch.randn(256, _HEAD_V_DIM, device="cuda", dtype=torch.bfloat16) + w = torch.randn(_HEAD_V_DIM, device="cuda", dtype=torch.bfloat16) + assert torch.equal(RMSNormCudaOp().forward(x, w, eps=_EPS), rmsnorm_cuda(x, w, eps=_EPS)) + + +@requires_cuda_rmsnorm +@pytest.mark.parametrize("batch", [1, 2, 8, 16, 32, 48, 64, 512]) +def test_cuda_zero_centred_batch_invariance(batch): + """L1 for the zero-centred CUDA op across the RFC #428 concurrency axis.""" + from rl_engine.backends.cuda.norm.rmsnorm import Qwen3NextRMSNormCudaOp + + op = Qwen3NextRMSNormCudaOp() + torch.manual_seed(0) + x = torch.randn(512, _HIDDEN, device="cuda", dtype=torch.bfloat16) + w = torch.randn(_HIDDEN, device="cuda", dtype=torch.bfloat16) + assert torch.equal(op.forward(x[:batch], w, eps=_EPS), op.forward(x, w, eps=_EPS)[:batch]) + + +@requires_cuda_rmsnorm +def test_cuda_zero_centred_within_tolerance_of_golden(): + from rl_engine.backends.cuda.norm.rmsnorm import Qwen3NextRMSNormCudaOp + + torch.manual_seed(0) + x = torch.randn(256, _HIDDEN, device="cuda", dtype=torch.bfloat16) + w = torch.randn(_HIDDEN, device="cuda", dtype=torch.bfloat16) + got = Qwen3NextRMSNormCudaOp().forward(x, w, eps=_EPS) + ref = Qwen3NextRMSNormOp().forward_fp32(x, w, eps=_EPS) + torch.testing.assert_close(got.float(), ref, **_forward_tol(torch.bfloat16)) + + +@requires_cuda_rmsnorm +def test_cuda_zero_centred_backward_is_offset_aware(): + """dx must see (1 + w); dw is offset-independent since d/dw (1+w) == d/dw w.""" + from rl_engine.backends.cuda.norm.rmsnorm import rmsnorm_cuda + + torch.manual_seed(0) + x = torch.randn(128, _HEAD_V_DIM, device="cuda", dtype=torch.float32) + w = torch.randn(_HEAD_V_DIM, device="cuda", dtype=torch.float32) + dy = torch.randn(128, _HEAD_V_DIM, device="cuda", dtype=torch.float32) + + grads = {} + for name, off in (("plain", 0.0), ("zero_centred", 1.0)): + xg = x.clone().requires_grad_(True) + wg = w.clone().requires_grad_(True) + rmsnorm_cuda(xg, wg, eps=_EPS, weight_offset=off).backward(dy.clone()) + grads[name] = (xg.grad.clone(), wg.grad.clone()) + + assert torch.isfinite(grads["zero_centred"][0]).all() + assert not torch.equal(grads["plain"][0], grads["zero_centred"][0]) # dx differs + assert torch.equal(grads["plain"][1], grads["zero_centred"][1]) # dw does not + + +# --------------------------------------------------------------------------- # +# 7. Gated RMSNorm CUDA kernel (the GDN block's norm) +# --------------------------------------------------------------------------- # +_HAS_CUDA_GATED = False +if torch.cuda.is_available(): # pragma: no branch - probe only + try: + from rl_engine.backends.extension import _C as _C_probe + from rl_engine.backends.extension import _EXT_AVAILABLE as _EXT_probe + + _HAS_CUDA_GATED = _EXT_probe and hasattr(_C_probe, "rmsnorm_gated_forward") + except ImportError: # pragma: no cover + _HAS_CUDA_GATED = False + +requires_cuda_gated = pytest.mark.skipif( + not _HAS_CUDA_GATED, reason="gated RMSNorm CUDA extension is not available" +) + + +def _gated_cuda_inputs(seed=0, rows=512, hidden=_HEAD_V_DIM, dtype=torch.bfloat16): + g = torch.Generator(device="cuda").manual_seed(seed) + x = torch.randn(rows, hidden, device="cuda", dtype=dtype, generator=g) + gate = torch.randn(rows, hidden, device="cuda", dtype=dtype, generator=g) + weight = torch.randn(hidden, device="cuda", dtype=dtype, generator=g) + return x, weight, gate + + +@requires_cuda_gated +def test_cuda_gated_matches_golden_within_contract(): + from rl_engine.backends.cuda.norm.rmsnorm import Qwen3NextRMSNormGatedCudaOp + + x, w, gate = _gated_cuda_inputs() + got = Qwen3NextRMSNormGatedCudaOp().forward(x, w, gate, eps=_EPS) + ref = Qwen3NextRMSNormGatedOp().forward_fp32(x, w, gate, eps=_EPS) + torch.testing.assert_close(got.float(), ref, **_forward_tol(torch.bfloat16)) + + +@requires_cuda_gated +@pytest.mark.parametrize("offset", [0.0, 1.0]) +@pytest.mark.parametrize("activation", [0, 1], ids=["silu", "sigmoid"]) +@pytest.mark.parametrize("hidden", [_HEAD_V_DIM, 2048, 5120]) +@pytest.mark.parametrize( + "dtype", [torch.float32, torch.float16, torch.bfloat16], ids=["fp32", "fp16", "bf16"] +) +def test_cuda_gated_rstd_is_bitwise_identical_to_plain_kernel(dtype, hidden, activation, offset): + """The gate must not perturb the normalization statistic. + + Same x, same rstd, bitwise -- otherwise the gate has leaked into the + reduction and the two kernels no longer share a contract. Both kernels + launch with ``choose_threads(H)``: H=128 runs 128 threads with one column + each, 2048 and 5120 run 512 threads with 4 and 10 serial columns each. + Each activation is its own template instantiation, and the offset is + applied only after the statistic, so neither it nor the gate may move it. + """ + from rl_engine.backends.extension import _C + + x, w, gate = _gated_cuda_inputs(hidden=hidden, dtype=dtype) + _, rstd_gated = _C.rmsnorm_gated_forward(x, w, gate, _EPS, offset, activation) + _, rstd_plain = _C.rmsnorm_forward(x, w, _EPS, offset) + assert torch.equal(rstd_gated, rstd_plain) + + +@requires_cuda_gated +@pytest.mark.parametrize("batch", [1, 2, 8, 16, 32, 48, 64, 512]) +def test_cuda_gated_batch_invariance(batch): + """L1 across the RFC #428 concurrency axis, bitwise.""" + from rl_engine.backends.cuda.norm.rmsnorm import Qwen3NextRMSNormGatedCudaOp + + op = Qwen3NextRMSNormGatedCudaOp() + x, w, gate = _gated_cuda_inputs() + full = op.forward(x, w, gate, eps=_EPS) + assert torch.equal(op.forward(x[:batch], w, gate[:batch], eps=_EPS), full[:batch]) + + +@requires_cuda_gated +def test_cuda_gated_zero_gate_zeroes_output(): + from rl_engine.backends.cuda.norm.rmsnorm import Qwen3NextRMSNormGatedCudaOp + + x, w, _ = _gated_cuda_inputs() + out = Qwen3NextRMSNormGatedCudaOp().forward(x, w, torch.zeros_like(x), eps=_EPS) + assert torch.equal(out, torch.zeros_like(out)) + + +@requires_cuda_gated +def test_cuda_gated_unit_weight_is_plain_norm_times_silu(): + from rl_engine.backends.cuda.norm.rmsnorm import Qwen3NextRMSNormGatedCudaOp, rmsnorm_cuda + + x, _, gate = _gated_cuda_inputs() + ones = torch.ones(_HEAD_V_DIM, device="cuda", dtype=x.dtype) + got = Qwen3NextRMSNormGatedCudaOp().forward(x, ones, gate, eps=_EPS).float() + ref = rmsnorm_cuda(x, ones, eps=_EPS).float() * F.silu(gate.float()) + torch.testing.assert_close(got, ref, **_forward_tol(torch.bfloat16)) + + +@requires_cuda_gated +def test_cuda_gated_sigmoid_activation(): + from rl_engine.backends.cuda.norm.rmsnorm import rmsnorm_cuda, rmsnorm_gated_cuda + + x, w, gate = _gated_cuda_inputs() + got = rmsnorm_gated_cuda(x, w, gate, eps=_EPS, activation="sigmoid").float() + ref = rmsnorm_cuda(x, w, eps=_EPS).float() * torch.sigmoid(gate.float()) + torch.testing.assert_close(got, ref, **_forward_tol(torch.bfloat16)) + + +@requires_cuda_gated +def test_cuda_gated_backward_matches_autograd_golden(): + """dx, dweight and dgate against the fp32 reference's autograd.""" + from rl_engine.backends.cuda.norm.rmsnorm import rmsnorm_gated_cuda + + x, w, gate = _gated_cuda_inputs() + x, w, gate = x.float(), w.float(), gate.float() + dy = torch.randn_like(x) + + got = [t.clone().requires_grad_(True) for t in (x, w, gate)] + rmsnorm_gated_cuda(*got, eps=_EPS).backward(dy) + ref = [t.clone().requires_grad_(True) for t in (x, w, gate)] + Qwen3NextRMSNormGatedOp().forward_fp32(*ref, eps=_EPS).backward(dy) + + for name, a, b in zip(("dx", "dweight", "dgate"), got, ref): + torch.testing.assert_close(a.grad, b.grad, atol=1e-4, rtol=1e-4, msg=name) + + +@requires_cuda_gated +@pytest.mark.parametrize("batch", [1, 8, 64, 512]) +def test_cuda_gated_dweight_is_batch_invariant(batch): + """A row's contribution to dweight must not depend on the batch it sits in. + + The ascending-row fp32 left fold makes dweight over the first n rows exactly + the fold of those n row-contributions -- so the n-row run must reproduce the + 512-row run's prefix, bitwise. + """ + from rl_engine.backends.cuda.norm.rmsnorm import rmsnorm_gated_cuda + from rl_engine.backends.extension import _C + from rl_engine.ops.autograd.vjp_fp32 import reduce_rows_fp32 + + x, w, gate = _gated_cuda_inputs() + x, w, gate = x.float(), w.float(), gate.float() + dy = torch.randn_like(x) + + wg = w.clone().requires_grad_(True) + rmsnorm_gated_cuda(x[:batch], wg, gate[:batch], eps=_EPS).backward(dy[:batch]) + + # rstd from the full-batch forward: the row statistic is batch-invariant, so + # its prefix is what the n-row run must have seen. Recomputing it with + # mean(-1) instead would compare against a different reduction. + _, rstd_full = _C.rmsnorm_gated_forward(x, w, gate, _EPS, 0.0, 0) + rows = dy * F.silu(gate) * x * rstd_full.unsqueeze(-1) + assert torch.equal(wg.grad, reduce_rows_fp32(rows[:batch])) + + +@requires_cuda_gated +def test_cuda_gated_weight_offset_is_applied_in_fp32(): + """The gated kernel carries the same offset contract as the plain one.""" + from rl_engine.backends.cuda.norm.rmsnorm import rmsnorm_gated_cuda + + x, w, gate = _gated_cuda_inputs() + offset = rmsnorm_gated_cuda(x, w, gate, eps=_EPS, weight_offset=1.0) + explicit = rmsnorm_gated_cuda(x, (1.0 + w.float()), gate, eps=_EPS) + assert torch.equal(offset, explicit) + folded = rmsnorm_gated_cuda(x, (1.0 + w.float()).bfloat16(), gate, eps=_EPS) + assert not torch.equal(offset, folded) + + +@requires_cuda_gated +@pytest.mark.parametrize("dtype", [torch.float32, torch.bfloat16]) +@pytest.mark.parametrize("activation", ["silu", "sigmoid"]) +def test_cuda_gated_parameter_vjp_contributions_match_the_fold(dtype, activation): + """Compare the harness hook with actual autograd, including its CUDA rstd.""" + from rl_engine.backends.cuda.norm.rmsnorm import Qwen3NextRMSNormGatedCudaOp, _fold_dweight_rows + + x, w, gate = (t.to(dtype) for t in _gated_cuda_inputs(rows=512)) + w = w.float().requires_grad_() + dy = torch.randn_like(x) + op = Qwen3NextRMSNormGatedCudaOp(activation=activation) + op.forward(x, w, gate, eps=_EPS).backward(dy) + rows = op.parameter_vjp_contributions_fp32(x=x, weight=w, gate=gate, grad_output=dy, eps=_EPS)[ + "weight" + ] + assert torch.equal(_fold_dweight_rows(rows, torch.float32), w.grad) + + +@requires_cuda_gated +def test_cuda_gated_wrapper_rejects_equal_numel_wrong_shape(): + from rl_engine.backends.cuda.norm.rmsnorm import Qwen3NextRMSNormGatedCudaOp + + x, w, gate = _gated_cuda_inputs(rows=6) + x = x.reshape(2, 3, -1) + with pytest.raises(ValueError, match="gate must match x"): + Qwen3NextRMSNormGatedCudaOp().forward(x, w, gate) + + +@requires_cuda_gated +def test_cuda_gated_sigmoid_backward_uses_the_sigmoid_derivative(): + """The activation gradient has two branches; only silu was covered.""" + from rl_engine.backends.cuda.norm.rmsnorm import rmsnorm_gated_cuda + + x, w, gate = _gated_cuda_inputs(rows=64) + x, w, gate = x.float(), w.float(), gate.float() + dy = torch.randn_like(x) + + got = [t.clone().requires_grad_(True) for t in (x, w, gate)] + rmsnorm_gated_cuda(*got, eps=_EPS, activation="sigmoid").backward(dy) + + ref = [t.clone().requires_grad_(True) for t in (x, w, gate)] + rstd = torch.rsqrt(ref[0].square().mean(dim=-1) + _EPS) + out = (ref[0] * rstd.unsqueeze(-1) * ref[1]) * torch.sigmoid(ref[2]) + out.backward(dy) + for name, a, b in zip(("dx", "dweight", "dgate"), got, ref): + torch.testing.assert_close(a.grad, b.grad, atol=1e-4, rtol=1e-4, msg=name) + + +@requires_cuda_gated +def test_cuda_gated_rejects_bad_activation(): + from rl_engine.backends.cuda.norm.rmsnorm import rmsnorm_gated_cuda + + x, w, gate = _gated_cuda_inputs(rows=8) + with pytest.raises(ValueError, match="activation must be one of"): + rmsnorm_gated_cuda(x, w, gate, eps=_EPS, activation="gelu") + + +def test_gated_cuda_op_rejects_bad_activation_at_construction(): + """The activation is validated before the extension check, so this runs on CPU.""" + from rl_engine.backends.cuda.norm.rmsnorm import Qwen3NextRMSNormGatedCudaOp + + with pytest.raises(ValueError, match="activation must be one of"): + Qwen3NextRMSNormGatedCudaOp(activation="gelu") + + +@requires_cuda_gated +def test_cuda_gated_swish_is_an_alias_for_silu(): + """vLLM maps output_gate_type "swish" to "silu"; the alias must not select sigmoid.""" + from rl_engine.backends.cuda.norm.rmsnorm import Qwen3NextRMSNormGatedCudaOp + + x, w, gate = _gated_cuda_inputs(rows=64) + swish = Qwen3NextRMSNormGatedCudaOp(activation="swish").forward(x, w, gate, eps=_EPS) + silu = Qwen3NextRMSNormGatedCudaOp(activation="silu").forward(x, w, gate, eps=_EPS) + sigmoid = Qwen3NextRMSNormGatedCudaOp(activation="sigmoid").forward(x, w, gate, eps=_EPS) + assert torch.equal(swish, silu) + assert not torch.equal(swish, sigmoid) + + +@requires_cuda_gated +def test_cuda_gated_rejects_mismatched_gate(): + from rl_engine.backends.cuda.norm.rmsnorm import rmsnorm_gated_cuda + + x, w, gate = _gated_cuda_inputs(rows=8) + with pytest.raises((AssertionError, RuntimeError)): + rmsnorm_gated_cuda(x, w, gate[:4], eps=_EPS) + with pytest.raises((AssertionError, RuntimeError)): + rmsnorm_gated_cuda(x, w, gate.float(), eps=_EPS) + + +# --------------------------------------------------------------------------- # +# 8. `__call__` is the documented entry point and must agree with `forward` +# --------------------------------------------------------------------------- # +def test_call_matches_forward(): + x, w = _rand((4, _HIDDEN), seed=40), _rand((_HIDDEN,), seed=41) + op = Qwen3NextRMSNormOp() + assert torch.equal(op(x, w, eps=_EPS), op.forward(x, w, eps=_EPS)) + + +@pytest.mark.parametrize("cls", [Qwen3NextRMSNormGatedOp, Qwen3NextRMSNormGatedHFOp]) +def test_gated_call_matches_forward(cls): + x = _rand((4, _HEAD_V_DIM), seed=42) + w = _rand((_HEAD_V_DIM,), seed=43) + gate = _rand((4, _HEAD_V_DIM), seed=44) + op = cls() + assert torch.equal(op(x, w, gate, eps=_EPS), op.forward(x, w, gate, eps=_EPS)) + + +def test_zero_centred_op_inherits_the_plain_reference(): + """The only difference from the plain op is the weight convention. + + Pins the inheritance: if the subclass ever grows its own `_rms_norm`, this + stops being true and the two references can drift apart silently. + """ + from rl_engine.reference.norm.rms_norm import NativeRMSNormOp + + assert issubclass(Qwen3NextRMSNormOp, NativeRMSNormOp) + assert Qwen3NextRMSNormOp.weight_offset == 1.0 + assert NativeRMSNormOp.weight_offset == 0.0 + assert Qwen3NextRMSNormOp._rms_norm.__func__ is NativeRMSNormOp._rms_norm.__func__ + + +def test_plain_reference_is_unchanged_by_the_offset_plumbing(): + """Adding `weight_offset` to the base must not perturb the plain path. + + `0.0 + w` rewrites -0.0 to +0.0, which torch.equal does not notice, so this + compares the raw bits. + """ + from rl_engine.reference.norm.rms_norm import NativeRMSNormOp + + x = _rand((2, _HEAD_V_DIM), seed=45) + w = torch.zeros(_HEAD_V_DIM) + w[0] = -0.0 + got = NativeRMSNormOp().forward_fp32(x, w, eps=_EPS) + x_f = x.float() + from rl_engine.reference.norm.rms_norm import shape_invariant_rstd + + expected = (x_f * shape_invariant_rstd(x_f, _EPS).unsqueeze(-1)) * w.float() + assert torch.equal(got.view(torch.int32), expected.view(torch.int32)) + + +@requires_cuda_rmsnorm +@pytest.mark.parametrize("dtype", [torch.float32, torch.float16, torch.bfloat16]) +def test_cuda_plain_signed_zero_is_preserved(dtype): + from rl_engine.backends.cuda.norm.rmsnorm import rmsnorm_cuda + + x = torch.ones(2, 128, device="cuda", dtype=dtype) + x[1].neg_() + weight = torch.full((128,), -0.0, device="cuda", dtype=dtype) + actual = rmsnorm_cuda(x, weight) + expected = x * weight + bits = torch.int32 if dtype == torch.float32 else torch.int16 + assert torch.equal(actual.view(bits), expected.view(bits)) + + +@requires_cuda_rmsnorm +@pytest.mark.parametrize("offset", [0.0, 1.0]) +@pytest.mark.parametrize("shape", [(512, 128), (2, 3, 2048)]) +@pytest.mark.parametrize("dtype", [torch.float32, torch.bfloat16]) +def test_cuda_parameter_contributions_reproduce_backward(offset, shape, dtype): + from rl_engine.backends.cuda.norm.rmsnorm import Qwen3NextRMSNormCudaOp, RMSNormCudaOp + from rl_engine.ops.autograd.vjp_fp32 import reduce_rows_fp32 + + torch.manual_seed(128) + x = torch.randn(shape, device="cuda", dtype=dtype) + weight = torch.randn(shape[-1], device="cuda", dtype=dtype, requires_grad=True) + upstream = torch.randn_like(x) + op = RMSNormCudaOp() if offset == 0.0 else Qwen3NextRMSNormCudaOp() + op(x, weight).backward(upstream) + rows = op.parameter_vjp_contributions_fp32(x=x, weight=weight, grad_output=upstream)["weight"] + folded = reduce_rows_fp32(rows.reshape(-1, shape[-1])).to(dtype) + assert torch.equal(weight.grad, folded) + + +def test_zero_centred_cuda_constructor_rejects_missing_extension(monkeypatch): + from rl_engine.backends.cuda.norm import rmsnorm + + monkeypatch.setattr(rmsnorm, "_EXT_AVAILABLE", False) + monkeypatch.setattr(rmsnorm, "_C", None) + with pytest.raises(RuntimeError, match="requires the compiled"): + rmsnorm.Qwen3NextRMSNormCudaOp() + + +@requires_cuda_gated +@pytest.mark.parametrize( + "fault", ["weight_shape", "weight_dtype", "gate_dtype", "dy_dtype", "rstd_dtype"] +) +def test_gated_extension_rejects_invalid_tensor_contract(fault): + from rl_engine import _C + + x, w, gate = _gated_cuda_inputs(rows=8) + dy = torch.ones_like(x) + rstd = torch.ones(8, device=x.device, dtype=torch.float32) + if fault == "weight_shape": + w = w[:-1] + elif fault == "weight_dtype": + w = w.half() + elif fault == "gate_dtype": + gate = gate.float() + elif fault == "dy_dtype": + dy = dy.float() + else: + rstd = rstd.bfloat16() + with pytest.raises(RuntimeError): + _C.rmsnorm_gated_backward_dx(dy, x, w, gate, rstd) + + +@requires_cuda_gated +def test_gated_extension_handles_empty_batch_and_nondefault_stream(): + from rl_engine import _C + + stream = torch.cuda.Stream() + with torch.cuda.stream(stream): + x, w, gate = _gated_cuda_inputs(rows=8) + actual, rstd = _C.rmsnorm_gated_forward(x, w, gate, _EPS) + dx = _C.rmsnorm_gated_backward_dx(torch.ones_like(x), x, w, gate, rstd) + empty, empty_rstd = _C.rmsnorm_gated_forward(x[:0], w, gate[:0], _EPS) + empty_dx = _C.rmsnorm_gated_backward_dx(x[:0], x[:0], w, gate[:0], empty_rstd) + stream.synchronize() + expected, expected_rstd = _C.rmsnorm_gated_forward(x, w, gate, _EPS) + expected_dx = _C.rmsnorm_gated_backward_dx(torch.ones_like(x), x, w, gate, expected_rstd) + assert torch.equal(actual, expected) + assert torch.equal(dx, expected_dx) + assert empty.shape == empty_dx.shape == (0, x.shape[-1]) + assert empty_rstd.numel() == 0 + + +@requires_cuda_gated +@pytest.mark.parametrize("dtype", [torch.float32, torch.float16, torch.bfloat16]) +def test_cuda_gated_signed_zero_weight_is_preserved(dtype): + from rl_engine.backends.cuda.norm.rmsnorm import rmsnorm_gated_cuda + + x = torch.ones(2, 128, device="cuda", dtype=dtype) + x[1].neg_() + weight = torch.full((128,), -0.0, device="cuda", dtype=dtype) + actual = rmsnorm_gated_cuda(x, weight, torch.ones_like(x)) + expected = x * weight + bits = torch.int32 if dtype == torch.float32 else torch.int16 + assert torch.equal(actual.view(bits), expected.view(bits)) + + +@requires_cuda_gated +@pytest.mark.parametrize("dtype", [torch.float32, torch.float16, torch.bfloat16]) +def test_cuda_gated_dgate_keeps_signed_zero_weight(dtype): + """dgate scales by the weight too, so it must not turn a -0.0 weight into +0.0. + + dgate = dy * x * rstd * w * act'(gate); with dy, rstd, act'(1) > 0 its sign is + the sign of ``x * w``, zeros included. + """ + from rl_engine.backends.cuda.norm.rmsnorm import rmsnorm_gated_cuda + + x = torch.ones(2, 128, device="cuda", dtype=dtype) + x[1].neg_() + weight = torch.full((128,), -0.0, device="cuda", dtype=dtype) + gate = torch.ones_like(x).requires_grad_() + rmsnorm_gated_cuda(x, weight, gate).backward(torch.ones_like(x)) + expected = x * weight + bits = torch.int32 if dtype == torch.float32 else torch.int16 + assert torch.equal(gate.grad.view(bits), expected.view(bits)) diff --git a/tests/models/qwen3_next/test_qwen3_next_operator_gates.py b/tests/models/qwen3_next/test_qwen3_next_operator_gates.py new file mode 100644 index 000000000..9f2832fa0 --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_operator_gates.py @@ -0,0 +1,50 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Runner failures cannot reuse stale evidence or promote diagnostics.""" + +import json +from types import SimpleNamespace + +import pytest + +from rl_engine.validation.models.qwen3_next_cases import execution_verdict +from tools.validation.models import qwen3_next_operator_gates as gates + +CASE = "tests/example.py::test_required" + + +@pytest.mark.parametrize("mode", ["passed", "missing", "forged", "exit_failed", "diagnostics"]) +def test_run_suite_requires_current_complete_evidence(tmp_path, monkeypatch, mode): + suite = "diagnostics" if mode == "diagnostics" else "core" + manifest = tmp_path / "manifest.json" + manifest.write_text(json.dumps({"schema_version": 1, "suites": {suite: [CASE]}})) + monkeypatch.setattr(gates, "MANIFEST", manifest) + monkeypatch.setattr(gates.importlib.metadata, "version", lambda _: "test-version") + monkeypatch.setattr(gates.subprocess, "check_output", lambda *args, **kwargs: "") + out = tmp_path / "output" + out.mkdir() + complete = execution_verdict( + [CASE], [CASE], {CASE: {"setup": "passed", "call": "passed", "teardown": "passed"}} + ) + # This must be removed before invoking pytest, even if pytest writes nothing. + (out / "case-results.json").write_text(json.dumps(complete)) + + def run(*args, **kwargs): + if mode != "missing": + report = dict(complete) + if mode == "forged": + report["outcomes"] = {} + (out / "case-results.json").write_text(json.dumps(report)) + return SimpleNamespace(returncode=1 if mode == "exit_failed" else 0) + + monkeypatch.setattr(gates.subprocess, "run", run) + result = gates.run_suite(out, suite) + if mode == "diagnostics": + assert result["status"] == "diagnostic_completed" + assert result["diagnostic_only"] is True + assert result["mandatory_case_ids"] == [] + else: + assert result["status"] == ("passed" if mode == "passed" else "failed") + assert result["mandatory_case_ids"] == [CASE] + assert result["full_model_l2"] == "not_evaluated" diff --git a/tests/models/qwen3_next/test_qwen3_next_profile.py b/tests/models/qwen3_next/test_qwen3_next_profile.py new file mode 100644 index 000000000..7013c7f0b --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_profile.py @@ -0,0 +1,149 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""A label or environment flag cannot certify the CUSTOM provider.""" + +import copy +import sys +from types import SimpleNamespace + +import pytest + +from rl_engine.integrations.orchestrators.vime.experiments.qwen3_next import profile as profile + + +def test_qualification_never_advertises_batch_invariance(monkeypatch): + monkeypatch.setenv("VLLM_BATCH_INVARIANT", "0") + assert profile.activate_for_identity({}) == "qualification" + assert not profile.profile_is_certified() + + +@pytest.mark.parametrize("mode", ["1", "", "true"]) +def test_strict_flag_without_certificate_is_rejected(monkeypatch, mode): + monkeypatch.setenv("VLLM_BATCH_INVARIANT", mode) + with pytest.raises(ValueError, match="Uncertified"): + profile.activate_for_identity({}) + assert not profile.profile_is_certified() + + +def test_passed_label_without_matching_certificate_bytes_is_rejected(tmp_path, monkeypatch): + monkeypatch.setenv("VLLM_BATCH_INVARIANT", "1") + result = tmp_path / "result.json" + result.write_text('{"status": "passed"}') + identity = {"scheduler_profile_certificate": {"path": str(result), "sha256": "0" * 64}} + with pytest.raises(ValueError, match="content identity"): + profile.activate_for_identity(identity) + assert not profile.profile_is_certified() + + +@pytest.fixture +def updated_identity(): + certified = { + "checkpoint": "/official/revision", + "checkpoint_identity": {"revision": "official", "metadata": {"tokenizer": "pinned"}}, + "source_commit": "commit", + "source_tree": "tree", + "environment_sha256": "environment", + "provider_config": {"profile": "qwen3_next_tp4_shared_eager_v1"}, + "topology": {"tp": 4, "pp": 1, "cp": 1, "ep": 1}, + "weight_version": "baseline", + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32", + } + record = { + "schema_version": 1, + "kind": "qwen3_next_native_hf_export", + "status": "complete", + "weight_version": "update1", + "step": 1, + "export_id": "unit-test-only", + "base_checkpoint": certified["checkpoint"], + "base_checkpoint_identity": certified["checkpoint_identity"], + "training_identity": copy.deepcopy(certified), + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "weights_content_sha256": "new-weight-content", + } + identity = { + **copy.deepcopy(certified), + "weight_version": "update1", + "checkpoint": "/run/current-export", + "checkpoint_identity": record, + "base_checkpoint": certified["checkpoint"], + "base_checkpoint_identity": certified["checkpoint_identity"], + } + return identity, certified + + +def test_certificate_rehashes_actual_updated_export_not_old_base(updated_identity, monkeypatch): + identity, certified = updated_identity + calls = [] + + def check(path, expected): + calls.append((path, expected)) + return expected + + monkeypatch.setitem( + sys.modules, "qwen3_next_training_export", SimpleNamespace(validate_training_export=check) + ) + profile.validate_certified_weights(identity, certified) + assert calls == [(identity["checkpoint"], identity["checkpoint_identity"])] + assert calls[0][1] != certified["checkpoint_identity"] + assert not profile.profile_is_certified() # A JSON-boundary unit check cannot activate BI. + + +@pytest.mark.parametrize( + "field", ["base_checkpoint", "base_checkpoint_identity", "weight_version", "source_tree"] +) +def test_updated_identity_cannot_rebind_base_version_or_source(updated_identity, field): + identity, certified = updated_identity + identity[field] = "changed" + with pytest.raises(ValueError): + profile.validate_certified_weights(identity, certified) + + +def test_changed_actual_export_bytes_are_rejected(updated_identity, monkeypatch): + identity, certified = updated_identity + monkeypatch.setitem( + sys.modules, + "qwen3_next_training_export", + SimpleNamespace( + validate_training_export=lambda path, expected: { + **expected, + "weights_content_sha256": "different", + }, + ), + ) + with pytest.raises(ValueError, match="Actual updated weight files"): + profile.validate_certified_weights(identity, certified) + + +def test_updated_export_cannot_be_labeled_as_baseline(updated_identity): + identity, certified = updated_identity + identity["weight_version"] = "baseline" + with pytest.raises(ValueError, match="masquerade"): + profile.validate_certified_weights(identity, certified) + + +def test_historical_export_identity_checks_do_not_open_deleted_shards(updated_identity): + from rl_engine.validation.models.qwen3_next_l2 import validate_weight_identity + + identity, _ = updated_identity + validate_weight_identity(identity) + # No export files exist in this unit test; this verifies structural history + # only. Actual profile activation always invokes the deep file validator. + + +def test_updated_model_identity_carries_actual_and_base_checkpoint(updated_identity): + from qwen3_next_l2 import model_identity + + identity, _ = updated_identity + model = model_identity(identity) + assert model["checkpoint"] == "/run/current-export" + assert model["checkpoint_identity"]["weights_content_sha256"] == "new-weight-content" + assert model["base_checkpoint"] == "/official/revision" + assert model["base_checkpoint_identity"] == { + "revision": "official", + "metadata": {"tokenizer": "pinned"}, + } diff --git a/tests/models/qwen3_next/test_qwen3_next_rl_fixture.py b/tests/models/qwen3_next/test_qwen3_next_rl_fixture.py new file mode 100644 index 000000000..31a823368 --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_rl_fixture.py @@ -0,0 +1,58 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +from argparse import Namespace + +import pytest +import torch + +from rl_engine.validation.models.qwen3_next_rl_fixture import ( + OPTIMIZER_SETTINGS, + POLICY_SETTINGS, + PolicyFixture, + require_policy_configuration, +) + + +def fixture(): + return PolicyFixture.freeze( + torch.arange(320).reshape(4, 80), + torch.full((4, 16), -3.0), + baseline_identity="test-baseline", + ) + + +def test_policy_fixture_preserves_old_policy_and_native_loss_fields(): + value = fixture() + batch = value.batch([2], device="cpu") + assert batch["partition"] == [2] + assert batch["total_lengths"] == [80] + assert batch["response_lengths"] == [16] + assert torch.equal(batch["advantages"][0], torch.full((16,), 0.75)) + value.verify_initial_recompute(torch.full((4, 16), -3.0)) + with pytest.raises(AssertionError): + value.verify_initial_recompute(torch.full((4, 16), -3.01)) + + +def test_policy_fixture_rejects_mutation_and_unfrozen_baseline(): + value = fixture() + value.old_logprobs[0, 0] = -4 + with pytest.raises(ValueError, match="modified"): + value.batch([0], device="cpu") + with pytest.raises(ValueError, match="frozen"): + PolicyFixture.freeze( + torch.arange(320).reshape(4, 80), + torch.zeros(4, 16, requires_grad=True), + baseline_identity="run", + ) + + +@pytest.mark.parametrize( + "changed", ["loss_type", "use_rollout_logprobs", "use_stateless_adam", "optimizer_cpu_offload"] +) +def test_policy_configuration_cannot_fall_back_or_substitute_optimizer(changed): + settings = {**POLICY_SETTINGS, **OPTIMIZER_SETTINGS} + require_policy_configuration(Namespace(**settings)) + settings[changed] = "unexpected" + with pytest.raises(ValueError, match=changed): + require_policy_configuration(Namespace(**settings)) diff --git a/tests/models/qwen3_next/test_qwen3_next_rotary_dtype.py b/tests/models/qwen3_next/test_qwen3_next_rotary_dtype.py new file mode 100644 index 000000000..919b44088 --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_rotary_dtype.py @@ -0,0 +1,58 @@ +# SPDX-License-Identifier: Apache-2.0 +"""The rotary tables must not depend on how the owning module was cast.""" + +from types import SimpleNamespace + +import torch + +from rl_engine.models.qwen3_next.qwen3_next_tp_blocks import TP4FullAttention + + +def _reference_rotate(value, positions, rope_theta=10000000.0): + inv_freq = 1.0 / (rope_theta ** (torch.arange(0, 64, 2, dtype=torch.float32) / 64)) + angles = positions.float()[:, None] * inv_freq[None, :] + angles = torch.cat((angles, angles), dim=-1) + cos, sin = angles.cos().to(value.dtype)[:, None], angles.sin().to(value.dtype)[:, None] + rotary, tail = value[..., :64], value[..., 64:] + rotated = torch.cat((-rotary[..., 32:], rotary[..., :32]), dim=-1) + return torch.cat((rotary * cos + rotated * sin, tail), dim=-1) + + +def test_inverse_frequencies_are_fp32_and_exact_at_dim_zero(): + inv_freq = TP4FullAttention.inverse_frequencies(10000000.0, torch.device("cpu")) + assert inv_freq.dtype == torch.float32 and inv_freq.shape == (32,) + assert inv_freq[0].item() == 1.0 + assert torch.equal( + inv_freq, 1.0 / (10000000.0 ** (torch.arange(0, 64, 2, dtype=torch.float32) / 64)) + ) + + +def test_rotate_matches_fp32_reference_for_any_module_dtype(): + generator = torch.Generator().manual_seed(7) + value = (torch.randn((23, 1, 256), generator=generator) * 1.5).to(torch.bfloat16) + positions = torch.arange(23) + module = SimpleNamespace(rope_theta=10000000.0) + actual = TP4FullAttention._rotate(module, value, positions) + assert torch.equal(actual, _reference_rotate(value, positions)) + + +def test_bf16_rounded_frequencies_would_change_rotated_keys(): + """A BF16-cast rotary table flips rotated dims 1..~47 at positions >= 1; keep it FP32.""" + generator = torch.Generator().manual_seed(8) + value = (torch.randn((23, 1, 256), generator=generator) * 1.5).to(torch.bfloat16) + positions = torch.arange(23) + exact = _reference_rotate(value, positions) + rounded_theta = SimpleNamespace(rope_theta=10000000.0) + inv_freq = TP4FullAttention.inverse_frequencies(rounded_theta.rope_theta, value.device) + rounded = inv_freq.to(torch.bfloat16).float() + angles = positions.float()[:, None] * rounded[None, :] + angles = torch.cat((angles, angles), dim=-1) + cos, sin = angles.cos().to(value.dtype)[:, None], angles.sin().to(value.dtype)[:, None] + rotary, tail = value[..., :64], value[..., 64:] + rotated = torch.cat((-rotary[..., 32:], rotary[..., :32]), dim=-1) + with_rounded = torch.cat((rotary * cos + rotated * sin, tail), dim=-1) + differing = (with_rounded != exact)[:, 0] + assert differing.any() + assert not differing[0].any() # position 0 has angle 0 + assert not differing[:, 64:].any() # the unrotated tail is untouched + assert not differing[:, 0].any() and not differing[:, 32].any() # dim 0 is exact in BF16 diff --git a/tests/models/qwen3_next/test_qwen3_next_run.py b/tests/models/qwen3_next/test_qwen3_next_run.py new file mode 100644 index 000000000..3b99d763e --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_run.py @@ -0,0 +1,120 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""The scheduler-independent Qwen3-Next chain launcher.""" + +import json +import sys +from pathlib import Path + +import pytest + +sys.path.insert(0, str(Path(__file__).resolve().parents[3] / "tools/validation/models")) + +import qwen3_next_run as run # noqa: E402 + + +def manifest(tmp_path, stage="layers", script=None): + source = tmp_path / "source" + (source / "tools/validation/models").mkdir(parents=True, exist_ok=True) + if script is not None: + (source / run.STAGES[stage][3]).write_text(script) + return { + "run_id": "r", + "execution_id": "e" * 32, + "stage": stage, + "source": str(source), + "source_tree": "tree", + "python": sys.executable, + "cuda_home": str(tmp_path), + "cuda_identity": {"nvcc_sha256": "nvcc"}, + "memory": "512G", + "environment": {"identity": {"base_prefix": sys.prefix, "build_tools": {"ninja": "1"}}}, + "provider_config": {"runtime_env": {"TRITON_F32_DEFAULT": "ieee"}}, + "scheduler_profile_certificate": {"path": "/certificate"}, + } + + +@pytest.fixture +def frozen(monkeypatch): + monkeypatch.setattr(run, "verify_environment", lambda *args, **kwargs: None) + monkeypatch.setattr(run, "file_digest", lambda path: "nvcc") + monkeypatch.setattr(run, "_git", lambda *args, cwd=None: "tree" if "rev-parse" in args else "") + + +def test_prepare_refuses_a_dirty_tree(monkeypatch, tmp_path): + monkeypatch.setattr( + run, "_git", lambda *args, cwd=None: " M tools/validation/models/qwen3_next_run.py" + ) + with pytest.raises(SystemExit, match="Commit the source"): + run.prepare("preflight", None, None) + + +@pytest.mark.parametrize( + "stage,bi", [("preflight", "0"), ("layers", "0"), ("l2", "1"), ("train", "1")] +) +def test_stage_environment_pins_batch_invariance_and_the_declared_memory(tmp_path, stage, bi): + env = run.stage_environment(manifest(tmp_path, stage), tmp_path, "0") + assert env["VLLM_BATCH_INVARIANT"] == bi + assert env["QWEN3_NEXT_ALLOCATED_MEMORY"] == "512G" + assert env["QWEN3_NEXT_ATTEMPT"] == "0" + assert env["TRITON_F32_DEFAULT"] == "ieee" + assert env["PYTHONPATH"].endswith("source") + assert ("QWEN_SHARED_PROFILE_RESULT" in env) == (bi == "1") + + +def test_execute_validates_and_publishes_a_passed_result(tmp_path, frozen, monkeypatch): + script = ( + "import json, sys\n" + "out = sys.argv[sys.argv.index('--output') + 1]\n" + "json.dump({'status': 'passed', 'attempt': '0'}, open(out + '/result.json', 'w'))\n" + ) + current = manifest(tmp_path, script=script) + seen = [] + monkeypatch.setattr(run, "validate_result", lambda *args, **kwargs: seen.append(args)) + status = run.execute(tmp_path, current) + assert status["status"] == "passed" and len(seen) == 1 + assert json.loads((tmp_path / "result.json").read_text())["status"] == "passed" + assert not (tmp_path / "RUNNING").exists() + + +def test_execute_keeps_the_stage_failure_kind(tmp_path, frozen): + script = ( + "import json, sys\n" + "out = sys.argv[sys.argv.index('--output') + 1]\n" + "json.dump({'failure_kind': 'insufficient_disk', 'error': 'full'}," + " open(out + '/result.json', 'w'))\n" + "sys.exit(3)\n" + ) + status = run.execute(tmp_path, manifest(tmp_path, script=script)) + assert status["status"] == "failed" and status["exit_code"] == 3 + assert status["failure_kind"] == "insufficient_disk" + assert not (tmp_path / "result.json").exists() + assert not (tmp_path / "RUNNING").exists() + + +def test_execute_refuses_a_changed_source(tmp_path, monkeypatch, frozen): + monkeypatch.setattr(run, "_git", lambda *args, cwd=None: "other-tree") + with pytest.raises(RuntimeError, match="source_mismatch"): + run.execute(tmp_path, manifest(tmp_path, script="raise SystemExit(0)\n")) + + +@pytest.mark.parametrize( + "arguments,message", + [ + (["--stage", "all", "--from", "layers"], "needs --previous"), + (["--stage", "l2"], "needs --previous"), + (["--stage", "preflight", "--previous", "."], "needs --previous"), + (["--stage", "all", "--from", "train", "--until", "l2", "--previous", "."], "--from"), + ], +) +def test_stage_selection_requires_a_predecessor_exactly_after_preflight( + monkeypatch, tmp_path, arguments, message +): + monkeypatch.setattr( + sys, + "argv", + ["run", "--runs-root", str(tmp_path), "--checkpoint", ".", "--cuda-home", ".", *arguments], + ) + with pytest.raises(SystemExit, match=message): + run.main() diff --git a/tests/models/qwen3_next/test_qwen3_next_storage.py b/tests/models/qwen3_next/test_qwen3_next_storage.py new file mode 100644 index 000000000..e897ab7af --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_storage.py @@ -0,0 +1,334 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Faults at persistent filesystem boundaries, including an actual SIGKILL.""" + +import json +import os +import signal +import subprocess +import sys +from pathlib import Path + +import pytest + +sys.path.insert(0, str(Path(__file__).resolve().parents[3] / "tools/validation/models")) +import qwen3_next_runtime as storage # noqa: E402 +from qwen3_next_checkpoint import ( # noqa: E402 + newest_complete_checkpoint, + publish_checkpoint, + validate_checkpoint, + write_rank_manifest, +) + +IDENTITY = {"run_id": "storage-fault-test"} + + +class Preempted(BaseException): + pass + + +def fail_at(monkeypatch, boundary): + def crash(name): + if name == boundary: + raise Preempted(name) + + monkeypatch.setattr(storage, "_boundary", crash) + + +def metadata(): + return {"identity": IDENTITY, "status": "staging", "step": 1} + + +def complete(root, name="step-2", step=2): + staging, destination = storage.create_staging(root, name, metadata()) + for rank in range(4): + files = {} + for role in ("model", "optimizer", "rng", "progress"): + relative = f"rank-{rank}-{role}.bin" + (staging / relative).write_bytes(f"{rank}:{role}".encode()) + files[role] = [relative] + write_rank_manifest( + staging, + rank=rank, + world_size=4, + identity=IDENTITY, + step=step, + sample_position=step * 4, + files=files, + ) + marker = publish_checkpoint(staging, destination, world_size=4, identity=IDENTITY) + return destination, marker + + +@pytest.mark.parametrize("boundary", ["root_owner_persisted", "root_created"]) +def test_root_creation_recovers_without_internal_owner(monkeypatch, tmp_path, boundary): + root = tmp_path / "checkpoints" + fail_at(monkeypatch, boundary) + with pytest.raises(Preempted): + storage.owned_root(root, IDENTITY) + monkeypatch.setattr(storage, "_boundary", lambda name: None) + storage.owned_root(root, IDENTITY) + assert json.loads((root / "RUN_OWNER.json").read_text()) == IDENTITY + storage.recover_storage(root, IDENTITY) + + +@pytest.mark.parametrize( + "boundary", ["staging_intent_persisted", "staging_created", "staging_marker_persisted"] +) +def test_staging_creation_recovers_every_window_without_loading_partial( + monkeypatch, tmp_path, boundary +): + root = storage.owned_root(tmp_path / "checkpoints", IDENTITY) + retained, marker = complete(root) + fail_at(monkeypatch, boundary) + with pytest.raises(Preempted): + storage.create_staging(root, "next-step", metadata()) + monkeypatch.setattr(storage, "_boundary", lambda name: None) + with pytest.raises((ValueError, FileNotFoundError)): + validate_checkpoint(root / "next-step.partial", IDENTITY) + storage.recover_storage(root, IDENTITY) + assert not (root / "next-step.partial").exists() + assert validate_checkpoint(retained, IDENTITY) == marker + assert newest_complete_checkpoint(root, IDENTITY)["checkpoint"] == str(retained) + assert storage.recover_storage(root, IDENTITY) == [] + + +@pytest.mark.parametrize( + "boundary", + [ + "retirement_intent_persisted", + "retirement_renamed", + "retirement_removed", + "retirement_committed", + ], +) +def test_retirement_resumes_each_window_and_preserves_successor(monkeypatch, tmp_path, boundary): + root = storage.owned_root(tmp_path / "checkpoints", IDENTITY) + prior, old_marker = complete(root, "step-1", 1) + retained, marker = complete(root) + proof = {"complete": old_marker, "successor": str(retained), "successor_complete": marker} + fail_at(monkeypatch, boundary) + with pytest.raises(Preempted): + storage.retire_directory(prior, root, IDENTITY, proof=proof) + monkeypatch.setattr(storage, "_boundary", lambda name: None) + with pytest.raises(ValueError, match="Unpublished"): + validate_checkpoint(root / ".step-1.deleting", IDENTITY) + storage.recover_storage(root, IDENTITY) + assert not prior.exists() and not (root / ".step-1.deleting").exists() + assert validate_checkpoint(retained, IDENTITY) == marker + assert storage.recover_storage(root, IDENTITY) == [] + + +def test_preemption_after_internal_marker_deleted_does_not_strand_cleanup(monkeypatch, tmp_path): + root = storage.owned_root(tmp_path / "exports", IDENTITY) + stage, _ = storage.create_staging(root, "update-1", metadata()) + (stage / "unfinished-weights").write_bytes(b"never load this") + remove = storage.shutil.rmtree + + def interrupted(path): + (path / "STAGING.json").unlink() + raise Preempted("during rmtree") + + monkeypatch.setattr(storage.shutil, "rmtree", interrupted) + with pytest.raises(Preempted): + storage.recover_storage(root, IDENTITY) + assert not stage.exists() + assert (root / ".update-1.partial.deleting" / "unfinished-weights").is_file() + monkeypatch.setattr(storage.shutil, "rmtree", remove) + storage.recover_storage(root, IDENTITY) + assert not (root / ".update-1.partial.deleting").exists() + + +def test_pending_retirement_rechecks_successor_before_deleting_last_good_state( + monkeypatch, tmp_path +): + root = storage.owned_root(tmp_path / "checkpoints", IDENTITY) + prior, marker = complete(root, "step-1", 1) + successor, next_marker = complete(root) + fail_at(monkeypatch, "retirement_intent_persisted") + with pytest.raises(Preempted): + storage.retire_directory( + prior, + root, + IDENTITY, + proof={ + "complete": marker, + "successor": str(successor), + "successor_complete": next_marker, + }, + ) + monkeypatch.setattr(storage, "_boundary", lambda name: None) + (successor / "rank-0-model.bin").write_bytes(b"corrupt") + with pytest.raises(ValueError, match="checksum|size mismatch"): + storage.recover_storage(root, IDENTITY) + assert validate_checkpoint(prior, IDENTITY) == marker + + +@pytest.mark.parametrize("foreign", ["missing_owner", "wrong_owner", "symlink"]) +def test_unrelated_partial_directories_are_never_deleted(tmp_path, foreign): + root = storage.owned_root(tmp_path / "exports", IDENTITY) + target = root / "unrelated.partial" + if foreign == "symlink": + outside = tmp_path / "outside" + outside.mkdir() + (outside / "STAGING.json").write_text(json.dumps(metadata())) + target.symlink_to(outside, target_is_directory=True) + else: + target.mkdir() + if foreign == "wrong_owner": + (target / "STAGING.json").write_text( + json.dumps({"status": "staging", "identity": {"run_id": "other"}}) + ) + with pytest.raises(ValueError): + storage.recover_storage(root, IDENTITY) + assert target.exists() + + +def test_real_sigkill_between_mkdir_and_internal_marker_is_recoverable(tmp_path): + root = tmp_path / "exports" + script = """ +import os, signal, sys +import qwen3_next_runtime as storage +identity = {'run_id': 'storage-fault-test'} +root = storage.owned_root(sys.argv[1], identity) +def stop(name): + if name == 'staging_created': + os.kill(os.getpid(), signal.SIGKILL) +storage._boundary = stop +storage.create_staging( + root, 'crashed-export', {'identity': identity, 'status': 'staging', 'step': 1} +) +""" + environment = {**os.environ, "PYTHONPATH": str(Path(storage.__file__).parent)} + child = subprocess.run([sys.executable, "-c", script, str(root)], env=environment, timeout=30) + assert child.returncode == -signal.SIGKILL + assert (root / "crashed-export.partial").is_dir() + assert not (root / "crashed-export.partial" / "STAGING.json").exists() + storage.owned_root(root, IDENTITY) + storage.recover_storage(root, IDENTITY) + assert not (root / "crashed-export.partial").exists() + + +@pytest.mark.parametrize("changed", ["identity", "target", "filename", "published", "status"]) +def test_malformed_parent_staging_intent_never_deletes_its_target(tmp_path, changed): + root = storage.owned_root(tmp_path / "exports", IDENTITY) + staging, _ = storage.create_staging(root, "unfinished", metadata()) + intent = root / ".unfinished.staging.json" + record = json.loads(intent.read_text()) + if changed == "identity": + record["identity"] = {"run_id": "another"} + elif changed == "target": + record["staging"] = "../outside.partial" + elif changed == "filename": + intent.rename(root / ".wrong-name.staging.json") + intent = root / ".wrong-name.staging.json" + elif changed == "published": + record["published"] = ".unfinished" + record["staging"] = ".unfinished.partial" + else: + record["metadata"]["status"] = "complete" + intent.write_text(json.dumps(record)) + with pytest.raises(ValueError): + storage.recover_storage(root, IDENTITY) + assert staging.is_dir() + + +def test_replaced_target_marker_stops_pending_retirement(monkeypatch, tmp_path): + root = storage.owned_root(tmp_path / "checkpoints", IDENTITY) + prior, previous = complete(root, "step-1", 1) + successor, current = complete(root) + fail_at(monkeypatch, "retirement_intent_persisted") + with pytest.raises(Preempted): + storage.retire_directory( + prior, + root, + IDENTITY, + proof={ + "complete": previous, + "successor": str(successor), + "successor_complete": current, + }, + ) + monkeypatch.setattr(storage, "_boundary", lambda name: None) + (prior / "COMPLETE.json").write_text(json.dumps({**previous, "step": 99})) + with pytest.raises(ValueError, match="differs from its durable ownership"): + storage.recover_storage(root, IDENTITY) + assert prior.is_dir() + + +@pytest.mark.parametrize("proof", [{}, {"status": "staging", "identity": IDENTITY}]) +def test_unsupported_proof_cannot_retire_unrelated_published_directory(tmp_path, proof): + root = storage.owned_root(tmp_path / "checkpoints", IDENTITY) + unrelated = root / "unrelated" + unrelated.mkdir() + with pytest.raises(ValueError): + storage.retire_directory(unrelated, root, IDENTITY, proof=proof) + assert unrelated.is_dir() + assert not (root / ".unrelated.delete.json").exists() + + +@pytest.mark.parametrize("record_name", ["parent_owner", "root_owner", "intent", "marker"]) +def test_interrupted_atomic_creation_record_does_not_strand_recovery( + monkeypatch, tmp_path, record_name +): + root = tmp_path / "exports" + atomic = storage.atomic_json + targets = { + "parent_owner": root.parent / ".exports.owner.json", + "root_owner": root / "RUN_OWNER.json", + "intent": root / ".unfinished.staging.json", + "marker": root / "unfinished.partial" / "STAGING.json", + } + + def interrupted(path, value): + if path == targets[record_name]: + path.with_suffix(path.suffix + ".partial").write_text('{"interrupted":') + raise Preempted("during atomic record write") + atomic(path, value) + + monkeypatch.setattr(storage, "atomic_json", interrupted) + with pytest.raises(Preempted): + storage.owned_root(root, IDENTITY) + storage.create_staging(root, "unfinished", metadata()) + monkeypatch.setattr(storage, "atomic_json", atomic) + storage.owned_root(root, IDENTITY) + storage.recover_storage(root, IDENTITY) + assert not (root / "unfinished.partial").exists() + assert storage.recover_storage(root, IDENTITY) == [] + + +@pytest.mark.parametrize("status", ["retiring", "retired"]) +def test_interrupted_atomic_retirement_record_is_recoverable(monkeypatch, tmp_path, status): + root = storage.owned_root(tmp_path / "exports", IDENTITY) + staging, _ = storage.create_staging(root, "unfinished", metadata()) + atomic = storage.atomic_json + + def interrupted(path, value): + if path.name.endswith(".delete.json") and value["status"] == status: + path.with_suffix(path.suffix + ".partial").write_text('{"interrupted":') + raise Preempted("during atomic retirement record") + atomic(path, value) + + monkeypatch.setattr(storage, "atomic_json", interrupted) + with pytest.raises(Preempted): + storage.recover_storage(root, IDENTITY) + monkeypatch.setattr(storage, "atomic_json", atomic) + storage.recover_storage(root, IDENTITY) + assert not staging.exists() + assert not (root / ".unfinished.partial.deleting").exists() + assert storage.recover_storage(root, IDENTITY) == [] + + +@pytest.mark.parametrize("name", ["foo.a", "foo.b", "foo.partial", ".hidden"]) +def test_published_names_cannot_alias_one_staging_directory(tmp_path, name): + root = storage.owned_root(tmp_path / "exports", IDENTITY) + with pytest.raises(ValueError, match="visible and have no suffix"): + storage.create_staging(root, name, metadata()) + assert list(root.iterdir()) == [root / "RUN_OWNER.json"] + + +def test_training_storage_root_is_the_declared_root_or_inside_the_run(tmp_path): + assert storage.training_storage_root({}, tmp_path) == tmp_path / "training-state" + shared = tmp_path / "shared" / "run-1" + assert storage.training_storage_root({"training_storage": str(shared)}, tmp_path) == shared diff --git a/tests/models/qwen3_next/test_qwen3_next_subnode.py b/tests/models/qwen3_next/test_qwen3_next_subnode.py new file mode 100644 index 000000000..00919e787 --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_subnode.py @@ -0,0 +1,52 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""The sub-node recorder used for first-drift localisation inside a decoder layer.""" + +from types import SimpleNamespace + +import pytest +import torch + +from rl_engine.models.qwen3_next import qwen3_next_subnode as subnode + + +def test_buffer_requires_each_sub_node_once_with_its_original_storage(): + buffer = subnode.SubnodeBuffer(batch=2) + row = torch.arange(2048, dtype=torch.float32).to(torch.bfloat16) + buffer.put(3, "mixer", 1, 15, row) + assert torch.equal(buffer.values["mixer"][3, 1, 15], row) + with pytest.raises(ValueError, match="twice"): + buffer.put(3, "mixer", 1, 15, row) + with pytest.raises(ValueError, match="int64"): + buffer.put(3, "router", 1, 15, torch.zeros(10, dtype=torch.int32)) + with pytest.raises(ValueError, match="bfloat16"): + buffer.put(4, "mlp", 0, 0, row.float()) + with pytest.raises(ValueError, match="not all observed"): + buffer.layer(3) + with pytest.raises(ValueError, match="Unknown"): + subnode.subnode_layout("gate") + + +def test_complete_layer_and_embedding_are_returned_in_order(): + buffer = subnode.SubnodeBuffer(batch=1) + for name in subnode.SUBNODES: + width, dtype = subnode.subnode_layout(name) + buffer.put_rows(0, name, torch.zeros(1, 16, width, dtype=dtype)) + assert tuple(buffer.layer(0)) == subnode.SUBNODES + with pytest.raises(ValueError, match="every response position"): + buffer.embedding_rows() + for response in range(16): + buffer.put_embedding(0, response, torch.zeros(2048, dtype=torch.bfloat16)) + assert buffer.embedding_rows().shape == (1, 16, 2048) + + +def test_install_binds_the_layer_index_and_remove_clears_every_hook(): + layers = [SimpleNamespace(mlp=SimpleNamespace()) for _ in range(3)] + seen = [] + subnode.install(layers, subnode.vllm_modules, lambda *args: seen.append(args)) + layers[2].subnode_hook("mixer", "rows") + layers[1].mlp.subnode_hook("router", "ids") + assert seen == [(2, "mixer", "rows"), (1, "router", "ids")] + subnode.remove(layers, subnode.vllm_modules) + assert all(layer.subnode_hook is None and layer.mlp.subnode_hook is None for layer in layers) diff --git a/tests/models/qwen3_next/test_qwen3_next_tp_blocks.py b/tests/models/qwen3_next/test_qwen3_next_tp_blocks.py new file mode 100644 index 000000000..14de47b97 --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_tp_blocks.py @@ -0,0 +1,162 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""HF mappings, KV replica ownership and official Qwen3-Next attention/MoE dimensions.""" + +import pytest +import torch + +from rl_engine.models.qwen3_next import qwen3_next_tp +from rl_engine.models.qwen3_next import qwen3_next_tp_blocks as blocks +from rl_engine.validation.common.tensor_identity import assert_tensor_bitwise_equal as exact + + +def pattern(shape): + return ( + torch.arange(torch.Size(shape).numel(), dtype=torch.int32) + .remainder(251) + .to(torch.bfloat16) + .reshape(shape) + ) + + +@pytest.fixture(scope="module") +def attention_weights(): + return {name: pattern(shape) for name, shape in blocks.ATTENTION_HF_SHAPES.items()} + + +def test_attention_hf_roundtrip_and_kv_pair_layout(attention_weights): + shards = [blocks.shard_attention_weights(attention_weights, rank) for rank in range(4)] + for name, value in blocks.assemble_attention_weights(shards).items(): + exact(value, attention_weights[name], name=name) + for rank, shard in enumerate(shards): + exact( + shard["q_proj.weight"], + attention_weights["q_proj.weight"][rank * 2048 : (rank + 1) * 2048], + ) + begin = rank // 2 * 256 + exact(shard["k_proj.weight"], attention_weights["k_proj.weight"][begin : begin + 256]) + + +def test_attention_export_rejects_disagreeing_kv_replica(attention_weights): + shards = [blocks.shard_attention_weights(attention_weights, rank) for rank in range(4)] + shards[1]["k_proj.weight"] = shards[1]["k_proj.weight"].clone() + shards[1]["k_proj.weight"][0, 0] = -1 + with pytest.raises(ValueError, match="Replicated KV"): + blocks.assemble_attention_weights(shards) + + +@pytest.mark.parametrize( + "name", + [ + "gate.weight", + "shared_expert_gate.weight", + "shared_expert.gate_proj.weight", + "shared_expert.up_proj.weight", + "shared_expert.down_proj.weight", + "experts.0.gate_proj.weight", + "experts.0.up_proj.weight", + "experts.511.down_proj.weight", + ], +) +def test_moe_hf_weight_roundtrip(name): + value = pattern(blocks.moe_hf_shapes()[name]) + shards = [blocks.shard_moe_weight(name, value, rank) for rank in range(4)] + exact(blocks.assemble_moe_weight(name, shards), value, name=name) + if name.endswith("down_proj.weight"): + assert shards[0].shape == (2048, 128) + elif name.endswith(("gate_proj.weight", "up_proj.weight")): + assert shards[0].shape == (128, 2048) + + +def test_moe_export_rejects_router_replica_drift(): + values = [pattern((512, 2048)) for _ in range(4)] + values[2][0, 0] = -1 + with pytest.raises(ValueError, match="Replicated MoE"): + blocks.assemble_moe_weight("gate.weight", values) + + +@pytest.mark.parametrize("rank", [-1, 4, True, 0.5]) +def test_invalid_shard_rank_rejected(rank): + with pytest.raises(ValueError, match="TP4 rank"): + blocks.shard_moe_weight("gate.weight", torch.empty(512, 2048, dtype=torch.bfloat16), rank) + + +def test_official_shared_expert_width_is_512_and_each_expert_has_three_weights(): + shapes = blocks.moe_hf_shapes() + assert len(shapes) == 512 * 3 + 5 + assert shapes["shared_expert.gate_proj.weight"] == (512, 2048) + assert shapes["shared_expert.down_proj.weight"] == (2048, 512) + + +def test_tp4_moe_rejects_a_missing_or_wrong_size_tp_group(monkeypatch): + monkeypatch.setattr(qwen3_next_tp.dist, "is_initialized", lambda: False) + with pytest.raises(ValueError, match="four-rank TP group"): + blocks.TP4MoE(group=None, device="meta") + monkeypatch.setattr(qwen3_next_tp.dist, "is_initialized", lambda: True) + monkeypatch.setattr(qwen3_next_tp.dist, "get_world_size", lambda group: 8) + with pytest.raises(ValueError, match="four-rank TP group"): + blocks.TP4MoE(group=None, device="meta") + + +def test_tp4_moe_parameter_ownership(monkeypatch): + group = object() + monkeypatch.setattr(qwen3_next_tp.dist, "is_initialized", lambda: True) + monkeypatch.setattr(qwen3_next_tp.dist, "get_world_size", lambda group: 4) + monkeypatch.setattr(blocks.dist, "get_rank", lambda group: 2) + module = blocks.TP4MoE(group=group, device="meta") + assert module.rank == 2 + assert module.experts.gate_up.shape == (512, 256, 2048) + assert module.experts.down.shape == (512, 2048, 128) + assert ( + module.experts.gate_up.partition_dim == 1 and module.experts.gate_up.partition_stride == 2 + ) + assert module.experts.down.partition_dim == 2 + assert module.shared_expert.down_proj.weight.partition_dim == 1 + # Router and shared-expert gate are replicated: no TP attributes, full shapes. + assert not getattr(module.gate.weight, "tensor_model_parallel", False) + assert not getattr(module.shared_expert_gate.weight, "tensor_model_parallel", False) + assert module.gate.weight.shape == (512, 2048) + + +@pytest.fixture +def fake_tp(monkeypatch): + group = object() + monkeypatch.setattr(blocks.dist, "is_initialized", lambda: True) + monkeypatch.setattr(blocks.dist, "get_world_size", lambda group: 4) + monkeypatch.setattr(blocks, "_kv_replica_groups", lambda group: (object(), object())) + return group + + +@pytest.mark.parametrize("rank", [0, 1, 2, 3]) +def test_attention_parameter_ownership_and_actual_hf_storage( + fake_tp, monkeypatch, rank, attention_weights +): + monkeypatch.setattr(blocks.dist, "get_rank", lambda group: rank) + module = blocks.TP4FullAttention(group=fake_tp, device="cpu") + module.load_hf_weights(attention_weights) + expected = blocks.shard_attention_weights(attention_weights, rank) + for name, value in module.export_local_hf_weights().items(): + exact(value, expected[name], name=name) + assert module.q_proj.weight.tensor_model_parallel + assert module.o_proj.weight.partition_dim == 1 + assert module.k_proj.weight.shared == (rank % 2 == 1) + assert module.v_proj.weight.shared == (rank % 2 == 1) + assert not getattr(module.q_norm.weight, "tensor_model_parallel", False) + state = module.initial_state(3) + assert len(state.keys) == len(state.values) == 3 + assert all(value.shape == (1, 1, 0, 256) for value in state.keys) + + +def test_rope_uses_absolute_positions_and_preserves_unrotated_tail(fake_tp, monkeypatch): + monkeypatch.setattr(blocks.dist, "get_rank", lambda group: 0) + module = blocks.TP4FullAttention(group=fake_tp, device="cpu") + x = torch.randn(8, 4, 256, dtype=torch.bfloat16) + positions = torch.arange(61, 69) + whole = module._rotate(x, positions) + exact(whole[..., 64:], x[..., 64:]) + exact( + torch.cat([module._rotate(x[:3], positions[:3]), module._rotate(x[3:], positions[3:])]), + whole, + ) + assert not torch.equal(module._rotate(x, torch.arange(8)), whole) diff --git a/tests/models/qwen3_next/test_qwen3_next_tp_gdn.py b/tests/models/qwen3_next/test_qwen3_next_tp_gdn.py new file mode 100644 index 000000000..953472169 --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_tp_gdn.py @@ -0,0 +1,65 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Official HF interleaving and TP shard round trips, without a GPU dependency.""" + +import pytest +import torch + +from rl_engine.models.qwen3_next.qwen3_next_tp_gdn import ( + _GLOBAL_SHAPES, + assemble_gdn_weights, + shard_gdn_weights, +) +from rl_engine.validation.common.tensor_identity import assert_tensor_bitwise_equal + + +@pytest.fixture(scope="module") +def weights(): + return { + name: torch.arange(torch.Size(shape).numel(), dtype=torch.int32) + .remainder(251) + .to(torch.bfloat16) + .reshape(shape) + for name, shape in _GLOBAL_SHAPES.items() + } + + +def test_official_interleaving_survives_tp4_round_trip(weights): + shards = [shard_gdn_weights(weights, rank) for rank in range(4)] + restored = assemble_gdn_weights(shards) + for name, tensor in weights.items(): + assert_tensor_bitwise_equal(restored[name], tensor, name=name) + for rank, shard in enumerate(shards): + # Conv is Q/K/V segmented, unlike the GQA-interleaved qkvz projection. + assert_tensor_bitwise_equal( + shard["conv1d.weight"][:512], weights["conv1d.weight"][rank * 512 : (rank + 1) * 512] + ) + assert_tensor_bitwise_equal( + shard["conv1d.weight"][512:1024], + weights["conv1d.weight"][2048 + rank * 512 : 2048 + (rank + 1) * 512], + ) + assert_tensor_bitwise_equal( + shard["in_proj_qkvz.weight"], + weights["in_proj_qkvz.weight"][rank * 3072 : (rank + 1) * 3072], + ) + + +@pytest.mark.parametrize("rank", [-1, 4, True, 1.0]) +def test_invalid_tp_rank_is_rejected(weights, rank): + with pytest.raises(ValueError, match="TP4 rank"): + shard_gdn_weights(weights, rank) + + +def test_divergent_replicated_norm_is_not_silently_exported(weights): + shards = [shard_gdn_weights(weights, rank) for rank in range(4)] + shards[1]["norm.weight"] = shards[1]["norm.weight"].clone() + shards[1]["norm.weight"][0] = -1 + with pytest.raises(ValueError, match="Replicated"): + assemble_gdn_weights(shards) + + +def test_missing_hf_weight_is_rejected(weights): + incomplete = {name: value for name, value in weights.items() if name != "dt_bias"} + with pytest.raises(ValueError, match="weight names"): + shard_gdn_weights(incomplete, 0) diff --git a/tests/models/qwen3_next/test_qwen3_next_training_audit.py b/tests/models/qwen3_next/test_qwen3_next_training_audit.py new file mode 100644 index 000000000..72df6b490 --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_training_audit.py @@ -0,0 +1,137 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""CPU regression of observations; these are not native model training acceptance.""" + +import random + +import numpy as np +import pytest +import torch + +from rl_engine.integrations.orchestrators.vime.providers.qwen3_next_training import ( + capture_rng_state, + gradient_evidence, + observe_native_optimizer_step, + restore_rng_state, + state_digest, + tensor_digest, +) + + +def test_state_identity_preserves_bits_dtype_structure_and_key_order(): + assert tensor_digest(torch.tensor(0.0)) != tensor_digest(torch.tensor(-0.0)) + assert tensor_digest(torch.ones(2)) != tensor_digest(torch.ones(2, dtype=torch.bfloat16)) + assert state_digest({"a": [1], "b": 2}) == state_digest({"b": 2, "a": [1]}) + assert state_digest([1, 2]) != state_digest((1, 2)) + assert state_digest({1: "a"}) != state_digest({"1": "a"}) + value = torch.arange(12).reshape(3, 4).T + assert tensor_digest(value, chunk_bytes=3) == tensor_digest(value.contiguous()) + + +@pytest.mark.parametrize("value", [torch.tensor(float("nan")), float("inf"), object()]) +def test_state_identity_rejects_unknown_or_nonfinite_state(value): + with pytest.raises((ValueError, TypeError)): + state_digest(value) + + +def test_rng_restores_python_numpy_torch_exactly(): + state = capture_rng_state() + first = (random.random(), np.random.random(), torch.rand(4)) + restore_rng_state(state) + second = (random.random(), np.random.random(), torch.rand(4)) + assert first[:2] == second[:2] + assert torch.equal(first[2], second[2]) + + +def test_gradients_observe_main_grad_and_allow_inactive_expert(): + active, inactive = torch.nn.Parameter(torch.ones(2)), torch.nn.Parameter(torch.ones(2)) + active.main_grad = torch.ones(2) + inactive.grad = torch.zeros(2) + evidence = gradient_evidence( + {"layer.router": active, "layer.expert42": inactive}, + required_groups={"routing": ["router"]}, + ) + assert evidence["active_groups"] == {"routing": ["layer.router"]} + assert not evidence["parameters"]["layer.expert42"]["nonzero"] + with pytest.raises(ValueError, match="Active paths"): + gradient_evidence({"expert": inactive}, required_groups={"experts": ["expert"]}) + inactive.grad[0] = float("nan") + with pytest.raises(ValueError, match="nonfinite"): + gradient_evidence({"expert": inactive}, required_groups={"experts": ["expert"]}) + + +class _Optimizer: + """Test double only: exercise observer timing and cleanup, never acceptance.""" + + def __init__(self, parameter, change=True): + self.parameter, self.change = parameter, change + + def step(self): + if self.change: + with torch.no_grad(): + self.parameter.add_(1) + self.parameter.grad = None + return True, 1.0, 0 + + +def test_observer_captures_before_native_clear_and_restores_method(): + model = torch.nn.Linear(2, 1, bias=False) + model.weight.grad = torch.ones_like(model.weight) + optimizer, evidence = _Optimizer(model.weight), {} + with observe_native_optimizer_step( + optimizer, [model], required_groups={"output": ["weight"]}, evidence=evidence + ): + optimizer.step() + assert model.weight.grad is None + assert "step" not in vars(optimizer) + assert evidence["changed_parameters"] == ["chunk0.weight"] + assert evidence["gradients"]["parameters"]["chunk0.weight"]["nonzero"] + + +@pytest.mark.parametrize("mode", ["no_call", "no_change", "double_call"]) +def test_observer_rejects_incomplete_or_fake_update(mode): + model = torch.nn.Linear(2, 1, bias=False) + model.weight.grad = torch.ones_like(model.weight) + optimizer = _Optimizer(model.weight, change=mode != "no_change") + with pytest.raises(ValueError): + with observe_native_optimizer_step( + optimizer, [model], required_groups={"output": ["weight"]}, evidence={} + ): + if mode != "no_call": + optimizer.step() + if mode == "double_call": + optimizer.step() + assert "step" not in vars(optimizer) + + +def test_gradient_nonzero_is_judged_across_tensor_parallel_ranks(): + """A vocab-parallel shard with no tokens is all-zero locally yet trains as a whole.""" + embedding, router = torch.nn.Parameter(torch.ones(4, 2)), torch.nn.Parameter(torch.ones(2)) + embedding.main_grad = torch.zeros(4, 2) + router.main_grad = torch.ones(2) + groups = {"embedding": ["embedding"], "router": ["router"]} + + def other_rank_saw_tokens(flags): + return [True for _ in flags] + + evidence = gradient_evidence( + {"chunk0.embedding.word_embeddings.weight": embedding, "layer.router": router}, + required_groups=groups, + reduce_flags=other_rank_saw_tokens, + ) + record = evidence["parameters"]["chunk0.embedding.word_embeddings.weight"] + assert record["nonzero"] is True and record["nonzero_local"] is False + assert evidence["active_groups"]["embedding"] == ["chunk0.embedding.word_embeddings.weight"] + with pytest.raises(ValueError, match="Active paths.*embedding"): + gradient_evidence( + {"chunk0.embedding.word_embeddings.weight": embedding, "layer.router": router}, + required_groups=groups, + reduce_flags=lambda flags: list(flags), + ) + with pytest.raises(ValueError, match="one per parameter"): + gradient_evidence( + {"layer.router": router}, + required_groups={"router": ["router"]}, + reduce_flags=lambda flags: [], + ) diff --git a/tests/models/qwen3_next/test_qwen3_next_training_checkpoint.py b/tests/models/qwen3_next/test_qwen3_next_training_checkpoint.py new file mode 100644 index 000000000..f486a09b5 --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_training_checkpoint.py @@ -0,0 +1,542 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""CPU serialization/protocol regressions; these do not certify native GPU training.""" + +import json +import random +import sys +from datetime import timedelta +from pathlib import Path +from types import SimpleNamespace + +import numpy as np +import pytest +import torch +import torch.distributed as dist +import torch.multiprocessing as mp + +sys.path.insert(0, str(Path(__file__).resolve().parents[3] / "tools/validation/models")) +import qwen3_next_optimizer_checkpoint as optimizer_checkpoint # noqa: E402 +import qwen3_next_training_checkpoint as checkpoint # noqa: E402 +from qwen3_next_checkpoint import publish_checkpoint # noqa: E402 + +from rl_engine.integrations.orchestrators.vime.providers.qwen3_next_training import ( # noqa: E402 + capture_rng_state, + state_digest, +) +from rl_engine.validation.models.qwen3_next_rl_fixture import PolicyFixture # noqa: E402 + +IDENTITY = {"source": "pinned", "provider": "strict", "checkpoint": "official", "tp": 4} + + +class ProtocolModel(torch.nn.Module): + def __init__(self): + super().__init__() + self.weight = torch.nn.Parameter(torch.arange(8, dtype=torch.bfloat16).reshape(2, 4)) + self.register_buffer("counter", torch.tensor(12, dtype=torch.int64)) + + def state_dict_for_save_checkpoint(self): + return self.state_dict() + + +class ProtocolOptimizer: + """Tiny CPU stand-in only for exercising serialization and corruption paths.""" + + def __init__(self, model): + self.model = model + self.calls = [] + self.model_param_group_index_map = {model.weight: (0, 0)} + self.gbuf_ranges = [ + { + (torch.bfloat16, torch.float32): [ + { + "param_map": { + model.weight: { + "param": SimpleNamespace(start=0, end=8), + "gbuf_local": SimpleNamespace(start=0, end=8), + } + } + } + ] + } + ] + self.buffers = [SimpleNamespace(buckets=[SimpleNamespace(grad_data=torch.empty(8))])] + self.optimizer = SimpleNamespace( + cpu_optimizer_cls=torch.optim.AdamW, gpu_optimizer_cls=None + ) + self.states = { + "param": model.weight.detach().float().clone(), + "exp_avg": torch.full_like(model.weight, 0.125, dtype=torch.float32), + "exp_avg_sq": torch.full_like(model.weight, 0.0625, dtype=torch.float32), + "step": torch.tensor(2.0), + } + self.step = 2 + self.corrupt_load = False + + def _get_main_param_and_optimizer_states(self, parameter): + assert parameter is self.model.weight + return self.states + + def state_dict(self): + return {"step": self.step, "cpu_optimizer_cls": torch.optim.AdamW} + + def load_state_dict(self, header): + self.calls.append("header") + assert header["cpu_optimizer_cls"] is torch.optim.AdamW + self.step = header["step"] + # Emulate native HybridDeviceOptimizer's RNG-consuming dummy initialization. + with torch.no_grad(): + self.model.weight.copy_(torch.randn_like(self.model.weight)) + + def save_parameter_state(self, path): + raise AssertionError("Whole-bucket packing must never be called") + + def load_parameter_state(self, path): + raise AssertionError("Whole-bucket unpacking must never be called") + + def _set_main_param_and_optimizer_states(self, parameter, states): + assert parameter is self.model.weight + self.calls.append("native_set") + assert states is self.states + if self.corrupt_load: + self.states["exp_avg"][0, 0] = -0.125 + + +class ProtocolScheduler: + def __init__(self): + self.num_steps = 8 + + def state_dict(self): + return {"num_steps": self.num_steps, "lr": 1e-6} + + def load_state_dict(self, state): + self.num_steps = state["num_steps"] + + +@pytest.fixture +def runtime(monkeypatch): + monkeypatch.setattr(torch.cuda, "synchronize", lambda: None) + monkeypatch.setattr(torch.cuda, "get_rng_state_all", lambda: []) + monkeypatch.setattr(torch.cuda, "set_rng_state_all", lambda values: None) + monkeypatch.setattr(torch.cuda, "device_count", lambda: 0) + monkeypatch.setattr(checkpoint.dist, "get_rank", lambda: 0) + model = ProtocolModel() + optimizer = ProtocolOptimizer(model) + scheduler = ProtocolScheduler() + fixture = PolicyFixture.freeze( + torch.arange(320, dtype=torch.int64).reshape(4, 80), + torch.full((4, 16), -2.0, dtype=torch.float32), + baseline_identity="real-worker-baseline-required-in-production", + ) + return [model], optimizer, scheduler, fixture + + +def save_rank(tmp_path, runtime): + model, optimizer, scheduler, fixture = runtime + staging = tmp_path / "step-2.partial" + staging.mkdir() + record = checkpoint._save_rank( + model, + optimizer, + scheduler, + fixture, + staging, + leaves=[optimizer], + identity=IDENTITY, + step=2, + sample_position=8, + tracker=None, + native_args=SimpleNamespace(consumed_train_samples=8), + update_evidence={"native_step": 2, "gradient_norm": 1.0}, + ) + return staging, record + + +def load_rank(staging, runtime): + model, optimizer, scheduler, fixture = runtime + return checkpoint._load_rank( + model, + optimizer, + scheduler, + fixture, + staging, + leaves=[optimizer], + identity=IDENTITY, + complete={"step": 2, "sample_position": 8}, + tracker=None, + native_args=SimpleNamespace(consumed_train_samples=0), + ) + + +def test_bounded_load_calls_hdo_sync(tmp_path, runtime, monkeypatch): + pytest.importorskip("megatron") + staging, _ = save_rank(tmp_path, runtime) + model, optimizer, _, _ = runtime + calls = [] + + class FakeHDO: + def _sync_hdo_state_to_sub_optimizers(self): + calls.append("sync") + + optimizer.optimizer = FakeHDO() + monkeypatch.setattr( + "megatron.core.optimizer.cpu_offloading.hybrid_optimizer.HybridDeviceOptimizer", + FakeHDO, + ) + optimizer_checkpoint.load_bounded_parameter_state(model, [optimizer], staging / "rank-0") + assert calls == ["sync"] + + +def test_load_rank_fails_when_hdo_sync_skipped(tmp_path, runtime, monkeypatch): + staging, _ = save_rank(tmp_path, runtime) + model, optimizer, scheduler, fixture = runtime + + def load_without_sync(model, leaves, rank_dir): + rank_dir = Path(rank_dir) + touched = [] + index = json.loads((rank_dir / "optimizer-index.json").read_text()) + current = optimizer_checkpoint.native_parameter_layout(model, leaves) + extras = torch.load(rank_dir / "optimizer-extra.pt", map_location="cpu", weights_only=True) + with torch.no_grad(): + for name, record in current.items(): + entry = index["parameters"][name] + states = optimizer_checkpoint.native_parameter_states(record) + for block in entry["blocks"]: + start, end = block["start"], block["end"] + payload = torch.load( + rank_dir / block["path"], map_location="cpu", weights_only=True + ) + for key in optimizer_checkpoint.PARAMETER_KEYS: + states[key].reshape(-1)[start:end].copy_(payload[key]) + for key, value in extras[name].items(): + if isinstance(states[key], torch.Tensor): + states[key].copy_(value) + else: + states[key] = value + record["leaf"]._set_main_param_and_optimizer_states(record["parameter"], states) + if record["leaf"] not in touched: + touched.append(record["leaf"]) + + monkeypatch.setattr(checkpoint, "load_bounded_parameter_state", load_without_sync) + monkeypatch.setattr( + checkpoint, + "verify_hdo_optimizer_master_aliases", + lambda model, leaves: (_ for _ in ()).throw( + ValueError("HDO FP32 master copy diverged from checkpoint-visible master weights") + ), + ) + with pytest.raises(ValueError, match="FP32 master copy diverged"): + checkpoint._load_rank( + model, + optimizer, + scheduler, + fixture, + staging, + leaves=[optimizer], + identity=IDENTITY, + complete={"step": 2, "sample_position": 8}, + tracker=None, + native_args=SimpleNamespace(consumed_train_samples=0), + ) + + +def test_rank_roundtrip_uses_parameter_state_and_restores_rng_last(tmp_path, runtime): + model, optimizer, scheduler, _ = runtime + original_rng = state_digest(capture_rng_state()) + original_model = state_digest(model[0].state_dict()) + staging, record = save_rank(tmp_path, runtime) + with torch.no_grad(): + model[0].weight.fill_(-3) + model[0].counter.fill_(42) + optimizer.states["param"].fill_(5) + optimizer.states["exp_avg"].fill_(0) + optimizer.step = 100 + scheduler.num_steps = 400 + random.random() + np.random.rand() + torch.rand(3) + assert load_rank(staging, runtime) == record + assert optimizer.calls == ["header", "native_set"] + assert optimizer.step == 2 and scheduler.num_steps == 8 + assert state_digest(model[0].state_dict()) == original_model + assert state_digest(capture_rng_state()) == original_rng + + +def test_all_small_state_files_are_weights_only_safe(tmp_path, runtime): + staging, _ = save_rank(tmp_path, runtime) + for path in (staging / "rank-0").glob("*.pt"): + assert torch.load(path, map_location="cpu", weights_only=True) is not None + + +def test_native_parameter_load_corruption_is_rejected(tmp_path, runtime): + staging, _ = save_rank(tmp_path, runtime) + runtime[1].corrupt_load = True + with pytest.raises(ValueError, match="master weights or Adam moments"): + load_rank(staging, runtime) + + +def test_header_only_optimizer_is_not_a_complete_checkpoint(runtime): + del runtime[1].states["exp_avg_sq"] + with pytest.raises(ValueError, match="Adam moments are missing"): + checkpoint._optimizer_parameter_records(runtime[0], [runtime[1]]) + + +def test_optimizer_must_cover_each_model_parameter_exactly_once(runtime): + model, optimizer, _, _ = runtime + with pytest.raises(ValueError, match="partition model parameters"): + checkpoint._optimizer_parameter_records(model, [optimizer, optimizer]) + optimizer.model_param_group_index_map = {} + with pytest.raises(ValueError, match="absent from optimizer groups"): + checkpoint._optimizer_parameter_records(model, [optimizer]) + + +def test_optimizer_master_dtype_is_never_silently_cast(runtime): + runtime[1].states["param"] = runtime[1].states["param"].bfloat16() + with pytest.raises(ValueError, match="Invalid fully offloaded native param"): + checkpoint._optimizer_parameter_records(runtime[0], [runtime[1]]) + + +def test_native_class_header_uses_only_running_optimizer_allowlist(runtime): + allowed = checkpoint._native_class_allowlist([runtime[1]]) + header = {"group": {"cls": torch.optim.AdamW, "options": (1, True)}} + encoded = checkpoint._encode_header(header, allowed) + assert checkpoint._decode_header(encoded, allowed) == header + with pytest.raises(TypeError, match="Unpinned class"): + checkpoint._encode_header({"cls": ProtocolOptimizer}, allowed) + with pytest.raises(ValueError, match="absent from the running"): + checkpoint._decode_header({checkpoint.CLASS_TAG: "untrusted.arbitrary.Class"}, allowed) + + +def test_saved_fixture_identity_cannot_change(tmp_path, runtime): + staging, _ = save_rank(tmp_path, runtime) + runtime[3].tokens[0, 0] += 1 + with pytest.raises(ValueError, match="Frozen policy fixture"): + checkpoint.load_training_checkpoint( + None, *runtime, staging, identity=IDENTITY, tracker=None + ) + + +def test_model_schema_rejects_dtype_change(tmp_path, runtime): + staging, record = save_rank(tmp_path, runtime) + path = staging / "rank-0/model-0.pt" + value = torch.load(path, weights_only=True) + value["weight"] = value["weight"].float() + torch.save(value, path) + record["model_sha256"][0] = state_digest(value) + (staging / "rank-0/progress.json").write_text(json.dumps(record)) + with pytest.raises(ValueError, match="dtypes, shapes or state keys"): + load_rank(staging, runtime) + + +def test_numpy_rng_roundtrip_preserves_all_bits(runtime): + state = capture_rng_state() + assert state_digest(checkpoint._decode_rng(checkpoint._encode_rng(state))) == state_digest( + state + ) + + +def test_shared_storage_disk_estimate_counts_padding_once(): + buffer = torch.arange(1024, dtype=torch.bfloat16) + assert checkpoint._tensor_bytes({"one": buffer[:8], "two": buffer[8:16]}) == 2048 + + +def test_bounded_blocks_do_not_serialize_underlying_bucket(tmp_path, runtime, monkeypatch): + import qwen3_next_optimizer_checkpoint as bounded + + monkeypatch.setattr(bounded, "BLOCK_BYTES", 48) + optimizer = runtime[1] + for key in bounded.PARAMETER_KEYS: + backing = torch.arange(1024 * 1024, dtype=torch.float32) + optimizer.states[key] = backing[100:108].view(2, 4) + staging, _ = save_rank(tmp_path, runtime) + blocks = sorted((staging / "rank-0/optimizer-state").glob("*.pt")) + assert len(blocks) == 2 + for path in blocks: + assert path.stat().st_size < 4096 + payload = torch.load(path, weights_only=True) + assert sum(value.numel() * value.element_size() for value in payload.values()) == 48 + load_rank(staging, runtime) + + +@pytest.mark.parametrize("change", ["gap", "overlap", "truncated"]) +def test_bounded_block_ranges_must_cover_parameter_once(tmp_path, runtime, monkeypatch, change): + import qwen3_next_optimizer_checkpoint as bounded + + monkeypatch.setattr(bounded, "BLOCK_BYTES", 48) + staging, _ = save_rank(tmp_path, runtime) + path = staging / "rank-0/optimizer-index.json" + index = json.loads(path.read_text()) + blocks = index["parameters"]["chunk0.weight"]["blocks"] + if change == "gap": + blocks[1]["start"] += 1 + elif change == "overlap": + blocks[1]["start"] -= 1 + else: + blocks.pop() + path.write_text(json.dumps(index)) + with pytest.raises(ValueError, match="cover each parameter exactly once|complete parameter"): + load_rank(staging, runtime) + + +def test_native_dp_range_cannot_describe_partial_parameter(runtime): + optimizer = runtime[1] + ranges = next(iter(optimizer.gbuf_ranges[0].values()))[0]["param_map"][runtime[0][0].weight] + ranges["param"].start = 1 + with pytest.raises(ValueError, match="cover each complete parameter"): + checkpoint._optimizer_parameter_records(runtime[0], [optimizer]) + + +def test_state_identity_includes_native_consumed_samples_and_rng(runtime, monkeypatch): + monkeypatch.setattr(checkpoint, "_native_leaves", lambda *args: [runtime[1]]) + args = SimpleNamespace(consumed_train_samples=8) + first = checkpoint.training_state_identity( + args, *runtime, step=2, sample_position=8, identity=IDENTITY, tracker=None + ) + args.consumed_train_samples = 12 + second = checkpoint.training_state_identity( + args, *runtime, step=2, sample_position=8, identity=IDENTITY, tracker=None + ) + assert first["state_sha256"] != second["state_sha256"] + args.consumed_train_samples = 8 + torch.rand(1) + third = checkpoint.training_state_identity( + args, *runtime, step=2, sample_position=8, identity=IDENTITY, tracker=None + ) + assert first["rng_sha256"] != third["rng_sha256"] + + +def test_native_required_files_are_bound_to_checked_manifest(tmp_path, runtime, monkeypatch): + model, optimizer, scheduler, fixture = runtime + staging = tmp_path / "all.partial" + staging.mkdir() + for rank in range(4): + monkeypatch.setattr(checkpoint.dist, "get_rank", lambda rank=rank: rank) + checkpoint._save_rank( + model, + optimizer, + scheduler, + fixture, + staging, + leaves=[optimizer], + identity=IDENTITY, + step=2, + sample_position=8, + tracker=None, + native_args=SimpleNamespace(consumed_train_samples=8), + update_evidence={"native_step": 2, "gradient_norm": 1.0}, + ) + complete = tmp_path / "all" + publish_checkpoint(staging, complete, world_size=4, identity=IDENTITY) + assert checkpoint._validate_native_checkpoint(complete, IDENTITY, 1)["step"] == 2 + with pytest.raises(ValueError, match="omits or substitutes"): + checkpoint._validate_native_checkpoint(complete, IDENTITY, 2) + (complete / "rank-3/optimizer-state/p00000-b00000.pt").write_bytes(b"corrupt") + monkeypatch.setattr(checkpoint.dist, "get_rank", lambda: 0) + monkeypatch.setattr(checkpoint, "_all_rank_call", lambda action, label: action()) + monkeypatch.setattr(checkpoint, "_rank_zero_call", lambda action, label: action()) + monkeypatch.setattr(checkpoint, "_native_leaves", lambda *args: [optimizer]) + optimizer.calls.clear() + with pytest.raises(ValueError, match="checksum|size mismatch"): + checkpoint.load_training_checkpoint( + None, *runtime, complete, identity=IDENTITY, tracker=None + ) + assert not optimizer.calls + + +def _serial_worker(rank, root, fail_owner): + dist.init_process_group( + "gloo", + rank=rank, + world_size=4, + init_method=f"file://{root}/init-{fail_owner}", + timeout=timedelta(seconds=30), + ) + try: + + def action(): + lock = Path(root) / f"lock-{fail_owner}" + with lock.open("x"): + path = Path(root) / f"visited-{fail_owner}" + with path.open("a") as stream: + stream.write(f"{rank}\n") + if rank == fail_owner: + raise ValueError("simulated native serialization failure") + lock.unlink() + return rank + + try: + result = checkpoint._serial_rank_call(action, "protocol test") + except RuntimeError as exc: + result = str(exc) + (Path(root) / f"result-{fail_owner}-{rank}.json").write_text(json.dumps(result)) + finally: + dist.destroy_process_group() + + +@pytest.mark.parametrize("fail_owner", [-1, 2]) +def test_real_four_process_serial_protocol_propagates_failures(tmp_path, fail_owner): + mp.spawn(_serial_worker, args=(str(tmp_path), fail_owner), nprocs=4, join=True) + visited = (tmp_path / f"visited-{fail_owner}").read_text().splitlines() + assert visited == (["0", "1", "2", "3"] if fail_owner == -1 else ["0", "1", "2"]) + for rank in range(4): + result = json.loads((tmp_path / f"result-{fail_owner}-{rank}.json").read_text()) + if fail_owner == -1: + assert result == rank + else: + assert "simulated native serialization failure" in result + + +def _wire_sharded_hdo(optimizer, monkeypatch, *, break_alias=False, diverge=False): + """Emulate Megatron: the HDO is keyed by the DP shard, the getter returns the shard's master.""" + pytest.importorskip("megatron") + model_weight = optimizer.model.weight + shard = torch.nn.Parameter(model_weight.detach().clone().reshape(-1)) + master = model_weight.detach().float().clone().reshape(-1) + fp32_inner = master.clone() + if diverge: + fp32_inner[0] += 1.0 + hdo_state = {"master_param": master, "exp_avg": torch.zeros(8), "exp_avg_sq": torch.zeros(8)} + + class FakeHDO: + pass + + hdo = FakeHDO() + hdo.param_groups = [{"params": [shard]}] + hdo.state = {shard: hdo_state} + hdo.param_to_fp32_param = {shard: fp32_inner} + hdo.param_to_inner_param = {shard: fp32_inner} + cpu_state = {fp32_inner: {} if break_alias else hdo_state} + hdo.cpu_optimizers = [SimpleNamespace(param_groups=[{"params": [fp32_inner]}], state=cpu_state)] + monkeypatch.setattr( + "megatron.core.optimizer.cpu_offloading.hybrid_optimizer.HybridDeviceOptimizer", FakeHDO + ) + monkeypatch.setattr( + optimizer_checkpoint, + "_hdo_param_generator", + lambda cpu_optimizer: [p for g in cpu_optimizer.param_groups for p in g["params"]], + ) + optimizer.optimizer = hdo + optimizer.states["param"] = master # the real getter returns state["master_param"] + return hdo + + +def test_hdo_alias_check_uses_the_sharded_parameter_not_the_model_parameter(runtime, monkeypatch): + model, optimizer, _, _ = runtime + hdo = _wire_sharded_hdo(optimizer, monkeypatch) + assert model[0].weight not in hdo.param_to_fp32_param # keyed by the shard, as in Megatron + optimizer_checkpoint.verify_hdo_optimizer_master_aliases(model, [optimizer]) + + +@pytest.mark.parametrize( + "kwargs, message", + [ + ({"break_alias": True}, "not aliased"), + ({"diverge": True}, "diverged"), + ], +) +def test_hdo_alias_check_rejects_broken_wiring(runtime, monkeypatch, kwargs, message): + model, optimizer, _, _ = runtime + _wire_sharded_hdo(optimizer, monkeypatch, **kwargs) + with pytest.raises(ValueError, match=message): + optimizer_checkpoint.verify_hdo_optimizer_master_aliases(model, [optimizer]) diff --git a/tests/models/qwen3_next/test_qwen3_next_training_closeout.py b/tests/models/qwen3_next/test_qwen3_next_training_closeout.py new file mode 100644 index 000000000..4f0e41e0e --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_training_closeout.py @@ -0,0 +1,434 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""CPU recovery/audit regressions; these never substitute for native GPU updates.""" + +import copy +import json +import sys +from pathlib import Path +from types import SimpleNamespace + +import pytest +import torch + +from rl_engine.models.qwen3_next.qwen3_next_subnode import SUBNODES + + +def test_requeue_repeats_final_reload_without_reusing_stale_attempt(monkeypatch): + import qwen3_next_training as runner + + journal = { + "schema_version": 1, + "identity": {}, + "events": list(runner.EVENTS), + "recovery": [], + "workers": {phase: {"path": phase} for phase in runner.PHASES}, + "l2_reports": { + phase: {"path": phase} for phase in ("baseline", "update1", "update2", "reload") + }, + } + monkeypatch.setattr(runner, "read_record", lambda record: {"attempt": "0"}) + assert runner.repeat_reload_in_current_attempt(journal, "1") + runner.validate_journal(journal, {}, verify_files=False) + assert set(journal["workers"]) == {"update1", "update2"} + assert set(journal["l2_reports"]) == {"baseline", "update1", "update2"} + retired = journal["recovery"][0] + assert retired["from_attempt"] == "0" and retired["to_attempt"] == "1" + assert set(retired["workers"]) == {"reload", "continuous", "resumed"} + assert not runner.repeat_reload_in_current_attempt(journal, "1") + + +sys.path.insert(0, str(Path(__file__).resolve().parents[3] / "tools/validation/models")) +import qwen3_next_training as runner # noqa: E402 + +from rl_engine.integrations.orchestrators.vime.experiments.qwen3_next import ( # noqa: E402 + native_training as native, +) +from rl_engine.integrations.orchestrators.vime.providers import ( # noqa: E402 + qwen3_next_training as observer, +) + + +def parameter_names(): + return [ + f"chunk0.decoder.layers.{layer}.{component}.weight" + for layer in range(48) + for component in ("self_attention", "mlp", "pre_mlp_layernorm") + ] + [ + f"chunk0.{component}.weight" + for component in ("embedding", "output_layer", "final_layernorm") + ] + + +def audit(step=1): + names = parameter_names() + before = {name: "1" * 64 for name in names} + after = {name: "2" * 64 for name in names} + return { + "step": step, + "sample_position": step * 4, + "fixture": "a" * 64, + "policy_loss_calls": 4, + "grad_norm": 0.25, + "metrics": {"loss": -0.25}, + "parameter_hashes_before": before, + "parameter_hashes_after": after, + "changed_parameters": names, + "gradients": { + "parameters": { + name: {"present": True, "nonzero": True, "dtype": "torch.float32"} for name in names + }, + "active_groups": {name: [name] for name in names}, + }, + "progress": { + "consumed_before": (step - 1) * 4, + "consumed_after": step * 4, + "scheduler_before": (step - 1) * 4, + "scheduler_after": step * 4, + "sample_counter_owner": "qwen3_next_native_training.policy_step", + }, + } + + +def state(): + value = { + "schema_version": 1, + "scope": "native_vime_training_state", + "rank": 0, + "identity": {"fixture_sha256": "a" * 64}, + "step": 1, + "sample_position": 4, + "consumed_train_samples": 4, + "fixture_sha256": "a" * 64, + "model_sha256": ["b" * 64], + "optimizer_parameter_sha256": { + name: {kind: "c" * 64 for kind in ("param", "exp_avg", "exp_avg_sq")} + for name in parameter_names() + }, + "optimizer_header_sha256": "d" * 64, + "scheduler_sha256": "e" * 64, + "rng_sha256": "f" * 64, + } + return seal_state(value) + + +def seal_state(value): + value["state_sha256"] = observer.state_digest( + {key: item for key, item in value.items() if key != "state_sha256"} + ) + return value + + +def validate_state(value): + runner.validate_state( + value, rank=0, step=1, identity={"fixture_sha256": "a" * 64}, parameters=parameter_names() + ) + + +def test_full_actor_update_and_recovery_state_contract(): + runner.validate_update(audit(), step=1, fixture="a" * 64) + validate_state(state()) + + +@pytest.mark.parametrize( + "damage", ["no_change", "zero_gradient", "missing_layer", "nan_loss", "bad_progress"] +) +def test_update_rejects_fake_or_incomplete_actor_evidence(damage): + value = audit() + name = parameter_names()[0] + if damage == "no_change": + value["parameter_hashes_after"] = dict(value["parameter_hashes_before"]) + value["changed_parameters"] = [] + elif damage == "zero_gradient": + value["gradients"]["parameters"][name]["nonzero"] = False + elif damage == "missing_layer": + for key in ("parameter_hashes_before", "parameter_hashes_after"): + value[key] = { + name: digest for name, digest in value[key].items() if ".layers.47." not in name + } + elif damage == "nan_loss": + value["metrics"]["loss"] = float("nan") + else: + value["progress"]["consumed_after"] = 0 + with pytest.raises(ValueError): + runner.validate_update(value, step=1, fixture="a" * 64) + + +@pytest.mark.parametrize("field", ["rng_sha256", "scheduler_sha256", "optimizer_header_sha256"]) +def test_state_rejects_tampering_even_when_comparison_peer_was_copied(field): + value = state() + value[field] = "0" * 64 + copied_peer = copy.deepcopy(value) + assert value == copied_peer + with pytest.raises(ValueError, match="digest"): + validate_state(value) + + +@pytest.mark.parametrize("damage", ["consumed", "missing_master", "missing_parameter"]) +def test_resigned_state_still_requires_complete_progress_and_optimizer(damage): + value = state() + if damage == "consumed": + value["consumed_train_samples"] = 0 + elif damage == "missing_master": + del value["optimizer_parameter_sha256"][parameter_names()[0]]["param"] + else: + del value["optimizer_parameter_sha256"][parameter_names()[0]] + with pytest.raises(ValueError): + validate_state(seal_state(value)) + + +@pytest.mark.parametrize("behavior", ["success", "native_failure", "missing_scheduler_step"]) +def test_controller_advances_samples_only_after_successful_native_scheduler_step( + monkeypatch, behavior +): + args, scheduler = SimpleNamespace(consumed_train_samples=4), SimpleNamespace(num_steps=4) + + def update(*unused, **kwargs): + if behavior == "native_failure": + raise RuntimeError("injected native optimizer failure") + if behavior == "success": + scheduler.num_steps += 4 + return audit(step=2) + + monkeypatch.setattr(observer, "native_policy_update", update) + + def invoke(): + return native.policy_step(args, [], None, scheduler, None, step=2, required_groups={}) + + if behavior == "success": + result = invoke() + assert args.consumed_train_samples == scheduler.num_steps == 8 + assert result["progress"]["consumed_before"] == 4 + else: + with pytest.raises((RuntimeError, ValueError)): + invoke() + assert args.consumed_train_samples == 4 + + +def test_journal_requires_l2_between_updates_and_before_reload_controls(): + journal = { + "schema_version": 1, + "identity": {}, + "events": list(runner.EVENTS[:3]), + "workers": {"update1": {}}, + "l2_reports": {"baseline": {}, "update1": {}}, + } + runner.validate_journal(journal, {}, verify_files=False) + journal["events"] = ["l2:baseline", "worker:update1", "worker:update2"] + with pytest.raises(ValueError, match="order"): + runner.validate_journal(journal, {}, verify_files=False) + + +@pytest.mark.parametrize("missing", ["update2", "reload", "continuous", "resumed"]) +def test_final_acceptance_rejects_missing_phases_before_reading_evidence(missing): + report = { + "schema_version": 1, + "status": "passed", + "scope": "qwen3_next_training_and_reload", + "required_sections": list(runner.SECTIONS), + "events": list(runner.EVENTS), + "l2_reports": dict.fromkeys(("baseline", "update1", "update2", "reload"), {}), + "workers": dict.fromkeys(runner.PHASES, {}), + } + del report["workers"][missing] + with pytest.raises(ValueError, match="omitted"): + runner.validate_training_report(report) + + +def test_cleanup_rejects_symlink_to_another_directory_in_same_run(tmp_path): + retained = tmp_path / "retained" + retained.mkdir() + (retained / "state").write_text("must survive") + alias = tmp_path / "alias" + alias.symlink_to(retained, target_is_directory=True) + with pytest.raises(ValueError, match="owned"): + runner._owned_remove(alias, tmp_path) + assert (retained / "state").read_text() == "must survive" + + +def test_interrupted_cleanup_requires_matching_run_identity(tmp_path): + root = tmp_path / "checkpoints" + identity = {"run_id": "this-run"} + runner.owned_root(root, identity) + own = root / "step-1.partial" + own.mkdir() + (own / "STAGING.json").write_text(json.dumps({"identity": identity, "status": "staging"})) + assert len(runner.remove_interrupted(root, identity)) == 1 + assert not own.exists() + foreign = root / "foreign.partial" + foreign.mkdir() + (foreign / "STAGING.json").write_text( + json.dumps({"identity": {"run_id": "other"}, "status": "staging"}) + ) + with pytest.raises(ValueError, match="another run"): + runner.remove_interrupted(root, identity) + assert foreign.exists() + + +def test_actual_fault_injection_kills_writer_and_rejects_partial_or_corrupt_protocol(tmp_path): + result = runner.checkpoint_faults(tmp_path / "faults", {"run_id": "cpu-protocol-only"}) + evidence = runner.read_record(result) + assert set(evidence["cases"]) == set(runner.FAULTS) + assert all(case["passed"] for case in evidence["cases"].values()) + assert evidence["cases"]["interrupted_writer"]["exit_code"] < 0 + # A passed label cannot survive repair/substitution of the rejected bytes. + corrupt = Path(evidence["cases"]["hash_error"]["checkpoint"]) / "rank-2-optimizer.bin" + corrupt.write_bytes(b"2:optimizer") + with pytest.raises(ValueError, match="no longer reproduces"): + runner.validate_fault_evidence(evidence, {"run_id": "cpu-protocol-only"}) + + +def test_checkpoint_retention_keeps_successor_and_only_removes_older_owned_state(tmp_path): + identity = {"run_id": "retention-unit-contract"} + runner.owned_root(tmp_path, identity) + checkpoints = [] + for step in (1, 2): + path = tmp_path / f"step-{step}" + path.mkdir() + (path / "COMPLETE.json").write_text( + json.dumps({"identity": identity, "status": "complete", "step": step}) + ) + checkpoints.append(path) + retired = native.retire_prior_checkpoints(checkpoints[1], tmp_path, identity) + assert retired[0]["complete"]["step"] == 1 + assert not checkpoints[0].exists() + assert checkpoints[1].is_dir() + + +def test_checkpoint_retention_cannot_delete_a_foreign_run(tmp_path): + identity = {"run_id": "this-run"} + runner.owned_root(tmp_path, identity) + successor, foreign = tmp_path / "step-2", tmp_path / "other-run" + for path, owner, step in ((successor, identity, 2), (foreign, {"run_id": "other"}, 1)): + path.mkdir() + (path / "COMPLETE.json").write_text( + json.dumps({"identity": owner, "status": "complete", "step": step}) + ) + with pytest.raises(ValueError, match="unrelated"): + native.retire_prior_checkpoints(successor, tmp_path, identity) + assert successor.exists() and foreign.exists() + + +@pytest.mark.parametrize("difference", [None, "signed_zero", "state"]) +def test_reload_comparison_reopens_original_tensors_and_rejects_cross_phase_drift( + tmp_path, difference +): + # Small tensors test the raw comparison plumbing. Full matrix shape and + # provenance remain the independent validate_matrix_report prerequisite. + payload = { + "response_tokens": torch.ones((1, 16), dtype=torch.int64), + "logits": torch.zeros((1, 16, 2), dtype=torch.bfloat16), + "logprobs": torch.zeros((1, 16), dtype=torch.float32), + "embedding_digest": {"sample_sha256": ["d" * 64], "sha256": "e" * 64}, + "layer_digests": [ + { + "layer": index, + "sample_output_sha256": ["a" * 64], + "sample_state_sha256": ["b" * 64], + "sample_subnode_sha256": {name: ["f" * 64] for name in SUBNODES}, + } + for index in range(48) + ], + } + left, right = tmp_path / "update.pt", tmp_path / "reload.pt" + torch.save(payload, left) + if difference == "signed_zero": + payload["logits"][0, 0, 0] = -0.0 + elif difference == "state": + payload["layer_digests"][3]["sample_state_sha256"] = ["c" * 64] + torch.save(payload, right) + ids = [case.case_id for case in runner.case_matrix()] + + def matrix(path): + return { + "case_ids": ids, + "cases": { + name: { + "artifacts": {role: runner.record(path) for role in ("rollout", "recompute")} + } + for name in ids + }, + } + + if difference is None: + result = runner.compare_reload_matrices(matrix(left), matrix(right)) + assert result["status"] == "passed" and len(result["cases"]) == 16 + else: + with pytest.raises(ValueError, match="original.*tensor bits/state"): + runner.compare_reload_matrices(matrix(left), matrix(right)) + + +def test_stage_phase_ranges_and_continuation_identity(): + assert runner.stage_phases("train1") == ("update1",) + assert runner.stage_phases("train2") == ("update1", "update2") + assert runner.stage_phases("train") == runner.PHASES + model = {"source_tree": "t", "environment_sha256": "e"} + journal_identity = {**model, "run_id": "r1", "execution_id": "1", "fixture_sha256": "f"} + assert runner.continuation_identity_matches(journal_identity, model, "f") + assert not runner.continuation_identity_matches(journal_identity, model, "g") + assert not runner.continuation_identity_matches( + journal_identity, {**model, "environment_sha256": "x"}, "f" + ) + + +def test_partial_training_evidence_uses_the_phase_export_identity(tmp_path, monkeypatch): + import qwen3_next_contract as contract + import qwen3_next_l2 + + from rl_engine.validation.models import qwen3_next_l2 as l2_testing + + manifest = {"stage": "train1", "checkpoint": "/official"} + export = {"checkpoint": "/export", "weight_version": "update-1", "base_checkpoint": "/official"} + monkeypatch.setattr(qwen3_next_l2, "model_identity", lambda m: {"ckpt": m["checkpoint"]}) + monkeypatch.setattr(runner, "read_record", lambda value: {"export": export}) + seen = [] + monkeypatch.setattr( + l2_testing, + "validate_matrix_report", + lambda report, expected_identity, artifact_root: seen.append(expected_identity), + ) + matrix = tmp_path / "l2-matrix.json" + matrix.write_text("{}") + progress = { + "status": "passed", + "scope": contract.SCOPES["train1"], + "identity": {"ckpt": "/official"}, + "phases": ["update1"], + "workers": {"update1": {"path": "w"}}, + "l2_reports": {"update1": {"sha256": "abc"}}, + } + path = tmp_path / "progress.json" + path.write_text(json.dumps(progress)) + evidence = {"updates": {"path": str(path)}, "l2_matrix": {"path": str(matrix), "sha256": "abc"}} + contract.validate_partial_training_evidence(manifest, tmp_path, evidence, attempt_root=tmp_path) + assert seen == [{"ckpt": "/export"}] # not the base model identity + with pytest.raises(ValueError, match="does not reference"): + contract.validate_partial_training_evidence( + manifest, + tmp_path, + {**evidence, "l2_matrix": {**evidence["l2_matrix"], "sha256": "x"}}, + attempt_root=tmp_path, + ) + export["base_checkpoint"] = "/elsewhere" + with pytest.raises(ValueError, match="pinned base"): + contract.validate_partial_training_evidence( + manifest, tmp_path, evidence, attempt_root=tmp_path + ) + + +def test_continued_storage_follows_the_chain_back_to_train1(tmp_path): + def run(name, stage, previous=None): + directory = tmp_path / name + directory.mkdir() + manifest = {"stage": stage, "previous": str(previous) if previous else None} + (directory / "run.json").write_text(json.dumps(manifest)) + return directory + + l2 = run("l2", "l2") + train1 = run("train1", "train1", l2) + train2 = run("train2", "train2", train1) + assert runner.continued_training_storage(train1) == train1 / "training-state" + assert runner.continued_training_storage(train2) == train1 / "training-state" + with pytest.raises(ValueError, match="back to a train1 run"): + runner.continued_training_storage(l2) diff --git a/tests/models/qwen3_next/test_qwen3_next_training_export.py b/tests/models/qwen3_next/test_qwen3_next_training_export.py new file mode 100644 index 000000000..bec03f57a --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_training_export.py @@ -0,0 +1,288 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Tiny CPU export-publication regressions, not full-model numerical acceptance.""" + +import copy +import json +import shutil +import sys +from pathlib import Path + +import pytest +import torch +from safetensors.torch import save_file + +sys.path.insert(0, str(Path(__file__).resolve().parents[3] / "tools/validation/models")) +import qwen3_next_training_export as export # noqa: E402 +from qwen3_next_runtime import file_digest # noqa: E402 + + +def write_weights(root, values, filename): + save_file(values, root / filename) + index = { + "metadata": { + "total_size": sum(value.numel() * value.element_size() for value in values.values()) + }, + "weight_map": {name: filename for name in values}, + } + (root / export.INDEX_FILE).write_text(json.dumps(index)) + + +@pytest.fixture +def staged(tmp_path, monkeypatch): + base = tmp_path / "unit-official" + base.mkdir() + (base / "config.json").write_text( + json.dumps({"model_type": "qwen3_next", "num_hidden_layers": 48}) + ) + (base / "tokenizer.json").write_text(json.dumps({"unit_fixture": "not a real tokenizer"})) + values = { + f"model.layers.{layer}.input_layernorm.weight": torch.ones(2, dtype=torch.bfloat16) + for layer in range(48) + } + values.update( + { + "model.embed_tokens.weight": torch.ones((4, 2), dtype=torch.bfloat16), + "model.norm.weight": torch.ones(2, dtype=torch.bfloat16), + "lm_head.weight": torch.ones((4, 2), dtype=torch.bfloat16), + } + ) + write_weights(base, values, "base.safetensors") + base_identity = { + "revision": base.name, + "metadata": { + path.name: file_digest(path) for path in base.iterdir() if path.suffix != ".safetensors" + }, + "shards": {"base.safetensors": {"size": (base / "base.safetensors").stat().st_size}}, + } + monkeypatch.setattr(export, "_reference", lambda: {"revision": base.name}) + schema_reference = { + "tensor_count": len(values), + "weight_schema_sha256": export._json_digest( + export._weight_schema(base, check_finite=False) + ), + } + monkeypatch.setattr(export, "_schema_reference", lambda: schema_reference) + + def identity(path): + assert Path(path) == base + return copy.deepcopy(base_identity) + + monkeypatch.setattr(export, "checkpoint_identity", identity) + staging, destination = tmp_path / "export.partial", tmp_path / "export-complete" + staging.mkdir() + for name in ("config.json", "tokenizer.json"): + shutil.copy2(base / name, staging / name) + write_weights( + staging, {name: value + 1 for name, value in values.items()}, "updated.safetensors" + ) + (staging / "STAGING.json").write_text(json.dumps({"scope": export.KIND, "status": "staging"})) + training = { + "source_commit": "unit-source", + "source_tree": "unit-tree", + "environment_sha256": "unit-env", + "provider_config": {"provider": "strict"}, + "topology": {"tp": 4, "pp": 1, "cp": 1, "ep": 1}, + "checkpoint": str(base), + "checkpoint_identity": base_identity, + } + return { + "staging": staging, + "destination": destination, + "step": 1, + "weight_version": "update-1", + "identity": training, + "base_checkpoint": base, + "base_checkpoint_identity": base_identity, + "model_hashes": [str(rank) * 64 for rank in range(4)], + } + + +def publish(staged): + return export._publish_export(**staged) + + +def test_atomic_native_export_identity_and_all_file_verification(staged): + record = publish(staged) + assert not staged["staging"].exists() + assert ( + record["metadata"][export.INDEX_FILE] + != staged["base_checkpoint_identity"]["metadata"][export.INDEX_FILE] + ) + assert export.validate_training_export(staged["destination"], record) == record + assert record["tensor_count"] == 51 + assert record["model_identity_method"] == "native_parameter_hashes_after" + + +def test_history_record_survives_weight_retirement_but_cannot_load(staged): + record = publish(staged) + (staged["destination"] / "updated.safetensors").unlink() + assert export.validate_training_export_record(record, record) == record + with pytest.raises(ValueError, match="file inventory changed"): + export.validate_training_export(staged["destination"], record) + + +def test_same_size_weight_corruption_is_rejected(staged): + record = publish(staged) + path = staged["destination"] / "updated.safetensors" + payload = bytearray(path.read_bytes()) + payload[-1] ^= 1 + path.write_bytes(payload) + with pytest.raises(ValueError, match="checksum"): + export.validate_training_export(staged["destination"], record) + + +def test_export_requires_completion_publication(staged): + with pytest.raises(ValueError, match="unpublished"): + export.validate_training_export(staged["staging"], {}) + + +@pytest.mark.parametrize("missing", ["model.layers.47.input_layernorm.weight", "lm_head.weight"]) +def test_reduced_model_or_missing_head_cannot_publish(staged, missing): + from safetensors.torch import load_file + + values = load_file(staged["staging"] / "updated.safetensors") + del values[missing] + write_weights(staged["staging"], values, "updated.safetensors") + with pytest.raises(ValueError, match="omitted trained official tensors"): + publish(staged) + assert not (staged["staging"] / export.COMPLETE_FILE).exists() + + +@pytest.mark.parametrize("mutation", ["dtype", "nonfinite", "shape"]) +def test_export_preserves_finite_original_weight_schema(staged, mutation): + from safetensors.torch import load_file + + values = load_file(staged["staging"] / "updated.safetensors") + key = "lm_head.weight" + if mutation == "dtype": + values[key] = values[key].float() + elif mutation == "nonfinite": + values[key][0, 0] = float("nan") + else: + values[key] = values[key][:2].contiguous() + write_weights(staged["staging"], values, "updated.safetensors") + with pytest.raises(ValueError, match="BF16|Nonfinite|complete official tensor schema"): + publish(staged) + + +def test_modified_tokenizer_cannot_publish(staged): + (staged["staging"] / "tokenizer.json").write_text("changed") + with pytest.raises(ValueError, match="tokenizer/configuration assets"): + publish(staged) + + +def test_different_requested_export_identity_is_rejected(staged): + record = publish(staged) + expected = {**record, "weight_version": "reload-2", "step": 2} + with pytest.raises(ValueError, match="requested weights"): + export.validate_training_export(staged["destination"], expected) + + +@pytest.mark.parametrize("field", ["weights_content_sha256", "metadata", "model_identity_method"]) +def test_self_consistent_expected_record_cannot_bypass_required_proofs(staged, field): + record = publish(staged) + record[field] = {} if field == "metadata" else "wrong" + with pytest.raises(ValueError, match="proof|parameter audit"): + export.validate_training_export_record(record, record) + + +def test_export_base_and_native_training_provenance_must_match(staged): + record = publish(staged) + record["training_identity"]["checkpoint"] = "/different-base" + with pytest.raises(ValueError, match="baseline/source/environment provenance"): + export.validate_training_export_record(record, record) + + +def test_no_unmanifested_file_or_symlink_is_accepted(staged): + record = publish(staged) + destination = staged["destination"] + (destination / "extra").write_text("unmanifested") + with pytest.raises(ValueError, match="file inventory changed"): + export.validate_training_export(destination, record) + (destination / "extra").unlink() + (destination / "tokenizer.json").unlink() + (destination / "tokenizer.json").symlink_to(staged["base_checkpoint"] / "tokenizer.json") + with pytest.raises(ValueError, match="external HF export"): + export.validate_training_export(destination, record) + + +def _add_mtp_head_to_base(staged, monkeypatch, n_tensors=3): + """Give the official base an untrained MTP head the native saver never writes.""" + from safetensors.torch import load_file + + base = staged["base_checkpoint"] + values = load_file(base / "base.safetensors") + mtp = { + f"mtp.layers.0.mlp.experts.{i}.down_proj.weight": torch.full( + (2, 2), float(i + 1), dtype=torch.bfloat16 + ) + for i in range(n_tensors) + } + values.update(mtp) + write_weights(base, values, "base.safetensors") + staged["base_checkpoint_identity"]["metadata"][export.INDEX_FILE] = file_digest( + base / export.INDEX_FILE + ) + staged["identity"]["checkpoint_identity"] = staged["base_checkpoint_identity"] + schema_reference = { + "tensor_count": len(values), + "weight_schema_sha256": export._json_digest( + export._weight_schema(base, check_finite=False) + ), + } + monkeypatch.setattr(export, "_schema_reference", lambda: schema_reference) + return mtp + + +def test_untrained_mtp_head_is_carried_from_the_base(staged, monkeypatch): + from safetensors.torch import load_file + + mtp = _add_mtp_head_to_base(staged, monkeypatch) + record = publish(staged) + passthrough = record["base_passthrough"] + assert passthrough["tensor_count"] == len(mtp) and passthrough["prefixes"] == ["mtp."] + (shard,) = passthrough["shards"] + assert passthrough["shards"][shard] == {"source": "base.safetensors", "tensor_count": len(mtp)} + index = json.loads((staged["destination"] / export.INDEX_FILE).read_text()) + assert {name: index["weight_map"][name] for name in mtp} == {name: shard for name in mtp} + carried = load_file(staged["destination"] / shard) + assert all(torch.equal(carried[name], value) for name, value in mtp.items()) + assert record["tensor_count"] == 51 + len(mtp) + assert export.validate_training_export(staged["destination"], record) == record + + +def test_passthrough_is_limited_to_the_mtp_head(staged, monkeypatch): + from safetensors.torch import load_file + + _add_mtp_head_to_base(staged, monkeypatch) + values = load_file(staged["staging"] / "updated.safetensors") + del values["model.norm.weight"] + write_weights(staged["staging"], values, "updated.safetensors") + with pytest.raises( + ValueError, match="omitted trained official tensors: \\['model.norm.weight'\\]" + ): + publish(staged) + assert not (staged["staging"] / export.COMPLETE_FILE).exists() + + +def test_saver_must_not_write_part_of_the_passthrough_head(staged, monkeypatch): + from safetensors.torch import load_file + + mtp = _add_mtp_head_to_base(staged, monkeypatch) + values = load_file(staged["staging"] / "updated.safetensors") + name = next(iter(mtp)) + values[name] = mtp[name] + write_weights(staged["staging"], values, "updated.safetensors") + with pytest.raises(ValueError, match="part of the base passthrough head"): + publish(staged) + + +def test_record_must_declare_the_base_passthrough(staged): + record = publish(staged) + assert record["base_passthrough"] == {"prefixes": ["mtp."], "tensor_count": 0, "shards": {}} + broken = copy.deepcopy(record) + del broken["base_passthrough"] + with pytest.raises(ValueError, match="came from the base"): + export.validate_training_export_record(broken, broken) diff --git a/tests/models/qwen3_next/test_qwen3_next_vllm_attention_metadata.py b/tests/models/qwen3_next/test_qwen3_next_vllm_attention_metadata.py new file mode 100644 index 000000000..c47aaa08d --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_vllm_attention_metadata.py @@ -0,0 +1,75 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +from types import SimpleNamespace + +import pytest +import torch + +from rl_engine.integrations.engines.rollout.vllm.qwen3_next_vllm_attention import ( + SharedAttentionBackend, + SharedAttentionBuilder, + SharedAttentionImpl, + validate_boundaries, +) + + +def _config(): + return SimpleNamespace( + parallel_config=SimpleNamespace( + tensor_parallel_size=4, + pipeline_parallel_size=1, + decode_context_parallel_size=1, + prefill_context_parallel_size=1, + ), + model_config=SimpleNamespace(enforce_eager=True), + cache_config=SimpleNamespace(enable_prefix_caching=False), + speculative_config=None, + ) + + +def test_real_builder_preserves_mixed_absolute_prefixes_and_ignores_optimistic_bounds(): + builder = SharedAttentionBuilder(None, ["layer3"], _config(), torch.device("cpu")) + metadata = builder.build( + 0, + SimpleNamespace( + num_reqs=3, + num_actual_tokens=5, + query_start_loc=torch.tensor([0, 1, 1, 5]), + seq_lens=torch.tensor([65, 0, 4]), + seq_lens_cpu_upper_bound=torch.tensor([100, 0, 999]), + block_table_tensor=torch.tensor([[3, 4], [0, 0], [8, 0]]), + slot_mapping=torch.tensor([128, 256, 257, 258, 259, -1]), + causal=True, + ), + ) + assert metadata.seq_lens == (65, 0, 4) + assert metadata.query_start_loc == (0, 1, 1, 5) + assert metadata.slot_mapping.numel() == 5 + assert not SharedAttentionBackend.supports_batch_invariance() + + +@pytest.mark.parametrize( + "starts,lengths,n", + [ + ((0, 2), (1,), 2), + ((0, 1), (1,), 2), + ((1, 2), (2,), 2), + ((0, 1), (1041,), 1), + ((0, 2, 1), (2, 1), 1), + ], +) +def test_invalid_scheduler_boundaries_fail(starts, lengths, n): + with pytest.raises(ValueError): + validate_boundaries(starts, lengths, n) + + +def test_empty_batch_and_profile_guards(): + validate_boundaries((0,), (), 0) + config = _config() + config.cache_config.enable_prefix_caching = True + with pytest.raises(ValueError, match="Prefix reuse"): + SharedAttentionBuilder(None, [], config, torch.device("cpu")) + with pytest.raises(ValueError, match="four Q heads"): + SharedAttentionImpl(8, 256, 1 / 16, 1) + SharedAttentionImpl(4, 256, 1 / 16, 1) diff --git a/tests/models/qwen3_next/test_qwen3_next_workload.py b/tests/models/qwen3_next/test_qwen3_next_workload.py new file mode 100644 index 000000000..9710f0151 --- /dev/null +++ b/tests/models/qwen3_next/test_qwen3_next_workload.py @@ -0,0 +1,66 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""The norm workload cannot stand in for Dense or full-checkpoint evidence.""" + +import copy +from pathlib import Path + +import pytest + +from rl_engine.config.workload import WorkloadError, load_manifest, manifest_identity_hash +from rl_engine.validation.models.qwen3_next_workload import validate_norm_manifest +from rl_engine.validation.operators.gradient_adapters import get_adapter, resolve_profile_candidate + +MANIFEST = ( + Path(__file__).resolve().parents[3] + / "rl_engine/validation/models/qwen3_next_norm_manifest.json" +) + + +def test_norm_manifest_pins_real_architecture_and_separate_scope(): + manifest = load_manifest(MANIFEST) + assert manifest.model_identity["config_fingerprint"]["hidden_size"] == 2048 + assert manifest.raw["full_model_evidence"] is False + for name, gradients in ( + ("qwen3_next_rms_norm", ("dx", "dweight")), + ("rms_norm_gated", ("dx", "dweight", "dgate")), + ): + adapter = get_adapter(name) + assert tuple(t.name for t in adapter.tensors) == gradients + assert resolve_profile_candidate(adapter, "cuda_bf16", manifest)["status"] == "declared" + assert ( + resolve_profile_candidate(adapter, "triton_cuda_bf16", manifest)["status"] + == "missing_required" + ) + assert ( + resolve_profile_candidate(adapter, "cuda_bf16", load_manifest())["status"] + == "absent_not_required" + ) + + +@pytest.mark.parametrize("fault", ["architecture", "full_model", "revision", "shape", "binding"]) +def test_norm_manifest_rejects_false_evidence_even_with_regenerated_hash(fault): + raw = copy.deepcopy(load_manifest(MANIFEST).raw) + if fault == "architecture": + raw["model_identity"]["config_fingerprint"]["hidden_size"] = 4096 + elif fault == "full_model": + raw["full_model_evidence"] = True + elif fault == "revision": + raw["model_identity"]["revision"] = "main" + elif fault == "shape": + raw["representative_cases"][0]["hidden"] = 64 + else: + raw["representative_cases"][0]["fixture_id"] = "wrong_fixture" + raw["fixture_identity_sha256"] = manifest_identity_hash(raw) + with pytest.raises(WorkloadError): + validate_norm_manifest(raw) + + +def test_norm_dimension_gate_rejects_shrunk_workload(): + from rl_engine.validation.models.qwen3_next_workload import validate_norm_dimensions + + raw = load_manifest(MANIFEST).raw + with pytest.raises(WorkloadError, match="hidden 2048"): + validate_norm_dimensions(raw, "qwen3_next_rms_norm", 64, 128) + validate_norm_dimensions(raw, "rms_norm_gated", 2048, 128) diff --git a/tests/ops/norm/test_rms_norm.py b/tests/ops/norm/test_rms_norm.py index 90d7bab23..352612805 100644 --- a/tests/ops/norm/test_rms_norm.py +++ b/tests/ops/norm/test_rms_norm.py @@ -17,10 +17,11 @@ try: from rl_engine.backends.extension import _C, _EXT_AVAILABLE - # The same two symbols RMSNormCudaOp.__init__ requires; a build that has them - # dispatches to the CUDA op, so the dispatch test must agree with that guard. - _HAS_CUDA_RMSNORM = _EXT_AVAILABLE and all( - hasattr(_C, name) for name in ("rmsnorm_forward", "rmsnorm_backward_dx") + # Keep dispatch expectations aligned with the constructor's capability guard. + _HAS_CUDA_RMSNORM = ( + _EXT_AVAILABLE + and getattr(_C, "rmsnorm_api_version", None) == 2 + and all(hasattr(_C, name) for name in ("rmsnorm_forward", "rmsnorm_backward_dx")) ) except ImportError: # pragma: no cover - import can fail when the extension is not built. _HAS_CUDA_RMSNORM = False @@ -251,7 +252,7 @@ def test_backward_batch_invariance_slice(): # 9b. The CUDA backend must report itself unavailable by failing construction, # which is the seam the registry uses to fall back (see _get_or_create_backend). def test_cuda_op_construction_fails_without_extension(monkeypatch): - from rl_engine.kernels.ops.cuda.norm import rmsnorm as cuda_rmsnorm + from rl_engine.backends.cuda.norm import rmsnorm as cuda_rmsnorm monkeypatch.setattr(cuda_rmsnorm, "_EXT_AVAILABLE", False) monkeypatch.setattr(cuda_rmsnorm, "_C", None) @@ -260,10 +261,10 @@ def test_cuda_op_construction_fails_without_extension(monkeypatch): def test_cuda_op_construction_fails_when_symbols_missing(monkeypatch): - from rl_engine.kernels.ops.cuda.norm import rmsnorm as cuda_rmsnorm + from rl_engine.backends.cuda.norm import rmsnorm as cuda_rmsnorm class _WithoutRMSNorm: # a built extension that lacks the rmsnorm symbols - pass + rmsnorm_api_version = 2 monkeypatch.setattr(cuda_rmsnorm, "_EXT_AVAILABLE", True) monkeypatch.setattr(cuda_rmsnorm, "_C", _WithoutRMSNorm()) @@ -273,8 +274,8 @@ class _WithoutRMSNorm: # a built extension that lacks the rmsnorm symbols def test_registry_falls_back_to_native_without_extension(monkeypatch): """A CUDA-first priority list must still resolve on a build without _C.""" - from rl_engine.kernels.ops.cuda.norm import rmsnorm as cuda_rmsnorm - from rl_engine.kernels.registry import KernelRegistry + from rl_engine.backends.cuda.norm import rmsnorm as cuda_rmsnorm + from rl_engine.runtime.registry import KernelRegistry monkeypatch.setattr(cuda_rmsnorm, "_EXT_AVAILABLE", False) monkeypatch.setattr(cuda_rmsnorm, "_C", None) @@ -286,30 +287,66 @@ def test_registry_falls_back_to_native_without_extension(monkeypatch): def test_registry_falls_back_when_required_symbol_is_missing(monkeypatch, missing): from types import SimpleNamespace - from rl_engine.kernels.ops.cuda.norm import rmsnorm as cuda_rmsnorm - from rl_engine.kernels.registry import KernelRegistry + from rl_engine.backends.cuda.norm import rmsnorm as cuda_rmsnorm + from rl_engine.runtime.registry import KernelRegistry symbols = {name: object() for name in ("rmsnorm_forward", "rmsnorm_backward_dx")} del symbols[missing] + symbols["rmsnorm_api_version"] = 2 monkeypatch.setattr(cuda_rmsnorm, "_EXT_AVAILABLE", True) monkeypatch.setattr(cuda_rmsnorm, "_C", SimpleNamespace(**symbols)) assert isinstance(KernelRegistry().get_op("rms_norm", device="cuda"), NativeRMSNormOp) -def test_registry_cuda_requires_only_used_symbols_and_cpu_stays_native(monkeypatch): +@pytest.mark.parametrize("api_version", [None, 1, 3]) +def test_cuda_rejects_incompatible_rmsnorm_api_before_dispatch(monkeypatch, api_version): + from rl_engine.backends.cuda.norm import rmsnorm as cuda_rmsnorm + from rl_engine.runtime.registry import KernelRegistry + + class _LegacyRMSNorm: + def rmsnorm_forward(self, x, weight, eps): + pytest.fail("an incompatible extension must not be invoked") + + def rmsnorm_backward_dx(self, dy, x, weight, rstd): + pytest.fail("an incompatible extension must not be invoked") + + extension = _LegacyRMSNorm() + if api_version is not None: + extension.rmsnorm_api_version = api_version + monkeypatch.setattr(cuda_rmsnorm, "_EXT_AVAILABLE", True) + monkeypatch.setattr(cuda_rmsnorm, "_C", extension) + + for op_type in (cuda_rmsnorm.RMSNormCudaOp, cuda_rmsnorm.Qwen3NextRMSNormCudaOp): + with pytest.raises(RuntimeError, match="RMSNorm API version 2.*Rebuild"): + op_type() + + registry_op = KernelRegistry().get_op("rms_norm", device="cuda") + assert isinstance(registry_op, NativeRMSNormOp) + x, weight = torch.ones(2, 8), torch.ones(8) + assert torch.isfinite(registry_op(x, weight)).all() + with pytest.raises(RuntimeError, match="RMSNorm API version 2.*Rebuild"): + rmsnorm_cuda(x, weight, weight_offset=1.0) + + +def test_registry_cuda_requires_current_api_and_only_used_symbols(monkeypatch): from types import SimpleNamespace - from rl_engine.kernels.ops.cuda.norm import rmsnorm as cuda_rmsnorm - from rl_engine.kernels.registry import KernelRegistry + from rl_engine.backends.cuda.norm import rmsnorm as cuda_rmsnorm + from rl_engine.runtime.registry import KernelRegistry monkeypatch.setattr(cuda_rmsnorm, "_EXT_AVAILABLE", True) monkeypatch.setattr( cuda_rmsnorm, "_C", - SimpleNamespace(rmsnorm_forward=object(), rmsnorm_backward_dx=object()), + SimpleNamespace( + rmsnorm_api_version=2, + rmsnorm_forward=object(), + rmsnorm_backward_dx=object(), + ), ) registry = KernelRegistry() assert isinstance(registry.get_op("rms_norm", device="cuda"), RMSNormCudaOp) + cuda_rmsnorm.Qwen3NextRMSNormCudaOp() assert isinstance(registry.get_op("rms_norm", device="cpu"), NativeRMSNormOp) diff --git a/tests/runtime/test_dispatch.py b/tests/runtime/test_dispatch.py index 3c47bbbcf..6517d3309 100644 --- a/tests/runtime/test_dispatch.py +++ b/tests/runtime/test_dispatch.py @@ -4,6 +4,7 @@ import sys from types import ModuleType +import pytest import torch import rl_engine.platforms.device as device_module @@ -258,3 +259,67 @@ def test_executor_flow(): print("\n All infrastructure tests passed!") except Exception as e: print(f"\n Test failed with error: {e}") + + +_QWEN3_NEXT_NORMS = [ + pytest.param( + "rms_norm_gated", + OpBackend.CUDA_RMS_NORM_GATED, + OpBackend.PYTORCH_NATIVE_RMS_NORM_GATED, + "Qwen3NextRMSNormGatedCudaOp", + "Qwen3NextRMSNormGatedOp", + id="rms_norm_gated", + ), + pytest.param( + "qwen3_next_rms_norm", + OpBackend.CUDA_QWEN3_NEXT_RMS_NORM, + OpBackend.PYTORCH_NATIVE_QWEN3_NEXT_RMS_NORM, + "Qwen3NextRMSNormCudaOp", + "Qwen3NextRMSNormOp", + id="qwen3_next_rms_norm", + ), +] + + +@pytest.mark.parametrize("op_type, cuda_backend, ref_backend, cuda_cls, ref_cls", _QWEN3_NEXT_NORMS) +def test_qwen3_next_norm_priority_is_cuda_first_with_pytorch_fallback( + op_type, cuda_backend, ref_backend, cuda_cls, ref_cls +): + """Both Qwen3-Next norms have a CUDA kernel; every other platform falls back. + + No Triton, ROCm or Ascend kernel exists yet, so those platforms must resolve + to the PyTorch reference rather than to nothing -- an operator missing from a + priority map falls through to ``OpBackend.PYTORCH_NATIVE``, which is the + logprob op, not a norm. + """ + registry = KernelRegistry() + + assert registry._priority_map["cuda"][op_type] == [cuda_backend, ref_backend] + for platform in ("rocm", "musa", "cpu", "npu"): + assert registry._priority_map[platform][op_type] == [ref_backend], platform + + +@pytest.mark.skipif(torch.version.hip is not None, reason="a cuda device maps to rocm on HIP") +@pytest.mark.parametrize("op_type, cuda_backend, ref_backend, cuda_cls, ref_cls", _QWEN3_NEXT_NORMS) +def test_qwen3_next_norm_cuda_backend_absence_falls_through_to_reference( + monkeypatch, op_type, cuda_backend, ref_backend, cuda_cls, ref_cls +): + """Without the compiled symbols the CUDA backend must be skipped, not returned. + + The zero-centred op inherits its check from ``RMSNormCudaOp.__init__``. The + lookup names a CUDA device so the CUDA-first list is walked even on a + CPU-only host; resolving for the host's own platform would reach the + reference through the CPU list without ever trying the CUDA backend. + """ + from rl_engine.backends.cuda.norm import rmsnorm as cuda_rmsnorm + from rl_engine.reference.norm import qwen3_next_rms_norm as reference + + monkeypatch.setattr(cuda_rmsnorm, "_EXT_AVAILABLE", False) + monkeypatch.setattr(cuda_rmsnorm, "_C", None) + with pytest.raises(RuntimeError, match="requires the compiled rl_engine._C extension"): + getattr(cuda_rmsnorm, cuda_cls)() + + registry = KernelRegistry() + resolved = registry.get_op(op_type, device="cuda") + assert type(resolved) is getattr(reference, ref_cls) + assert cuda_backend.name in registry._failed_backends diff --git a/tests/validation/common/test_file_digest.py b/tests/validation/common/test_file_digest.py new file mode 100644 index 000000000..4131fd1b2 --- /dev/null +++ b/tests/validation/common/test_file_digest.py @@ -0,0 +1,22 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +import hashlib + +import pytest + +from rl_engine.validation.common.file_digest import file_sha256 + + +@pytest.mark.parametrize("size", [0, 17, 8 * 1024 * 1024 + 17]) +def test_artifact_sha256_without_python311_api(tmp_path, monkeypatch, size): + monkeypatch.delattr(hashlib, "file_digest", raising=False) + content = bytes(range(256)) * (size // 256) + bytes(range(size % 256)) + path = tmp_path / "artifact.bin" + path.write_bytes(content) + assert file_sha256(path) == hashlib.sha256(content).hexdigest() + + +def test_missing_artifact_is_not_a_valid_digest(tmp_path): + with pytest.raises(FileNotFoundError): + file_sha256(tmp_path / "missing.bin") diff --git a/tests/validation/common/test_tensor_identity.py b/tests/validation/common/test_tensor_identity.py new file mode 100644 index 000000000..dd3a1ed13 --- /dev/null +++ b/tests/validation/common/test_tensor_identity.py @@ -0,0 +1,44 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""CPU regressions for the raw-bit identity used by Qwen3-Next acceptance checks.""" + +import pytest +import torch + +from rl_engine.validation.common.tensor_identity import ( + assert_tensor_bitwise_equal, + tensor_bitwise_equal, +) + + +@pytest.mark.parametrize("dtype", [torch.float32, torch.bfloat16, torch.float16]) +def test_signed_zero_is_not_identical(dtype): + positive = torch.tensor([0.0], dtype=dtype) + negative = torch.tensor([-0.0], dtype=dtype) + assert not tensor_bitwise_equal(positive, negative) + with pytest.raises(AssertionError, match="raw-bit"): + assert_tensor_bitwise_equal(positive, negative) + + +@pytest.mark.parametrize("value", [float("nan"), float("inf"), -float("inf")]) +def test_identical_nonfinite_values_are_rejected(value): + tensor = torch.tensor([value]) + assert not tensor_bitwise_equal(tensor, tensor) + + +def test_same_numbers_in_different_dtypes_are_rejected(): + assert not tensor_bitwise_equal(torch.ones(2), torch.ones(2, dtype=torch.bfloat16)) + + +def test_adjacent_bfloat16_values_are_rejected(): + value = torch.ones(2, dtype=torch.bfloat16) + changed = (value.view(torch.int16) + 1).view(torch.bfloat16) + assert not tensor_bitwise_equal(value, changed) + + +@pytest.mark.parametrize( + "value", [torch.tensor(1.0), torch.empty(0), torch.arange(12).reshape(3, 4).T] +) +def test_logical_identity_does_not_require_matching_strides(value): + assert_tensor_bitwise_equal(value, value.contiguous().clone()) diff --git a/tests/validation/operators/test_ws1_ascend_closeout.py b/tests/validation/operators/test_ws1_ascend_closeout.py index 66c8ae4a6..b9b0fe331 100644 --- a/tests/validation/operators/test_ws1_ascend_closeout.py +++ b/tests/validation/operators/test_ws1_ascend_closeout.py @@ -187,9 +187,15 @@ def test_c2_ascend_cases_pin_real_ascend_kernels_and_sources(): def test_c3_c4_every_required_adapter_resolves_an_ascend_candidate(): manifest = load_manifest() + model_id = manifest.model_identity["model_id"] for name, adapter in GRADIENT_ADAPTERS.items(): if adapter.requirement not in ("required",): continue + # An adapter scoped to another model (the CUDA-only Qwen3-Next norms) + # resolves to `absent_not_required` for this manifest by design; this + # test covers the chain of the model whose manifest it loads. + if adapter.model_id not in (None, model_id): + continue resolved = resolve_profile_candidate(adapter, PROFILE, manifest) assert resolved["status"] == "declared", name assert resolved["expected_backend_id"] == "ascend", name @@ -197,6 +203,22 @@ def test_c3_c4_every_required_adapter_resolves_an_ascend_candidate(): assert candidate_family(str(resolved["expected_backend_id"])) == "ascend" +def test_model_scoped_adapters_are_absent_not_required_for_other_models(): + """The scoping the test above relies on must actually hold. + + Without this, skipping scoped adapters could hide one that silently resolves + to a real candidate for the wrong model. + """ + manifest = load_manifest() + model_id = manifest.model_identity["model_id"] + scoped = [a for a in GRADIENT_ADAPTERS.values() if a.model_id not in (None, model_id)] + assert scoped, "expected at least the Qwen3-Next norm adapters to be model-scoped" + for adapter in scoped: + resolved = resolve_profile_candidate(adapter, PROFILE, manifest) + assert resolved["status"] == "absent_not_required", adapter.op_name + assert resolved["candidate_path"] is None, adapter.op_name + + def test_c4_adapter_status_matrix_has_no_red_ascend_rows(): rows = [r for r in gradient_adapter_status_matrix() if r.backend_profile == PROFILE] assert rows diff --git a/tests/validation/operators/test_ws1_gtest_gpu.py b/tests/validation/operators/test_ws1_gtest_gpu.py index bcaebc2f5..60ac5102c 100644 --- a/tests/validation/operators/test_ws1_gtest_gpu.py +++ b/tests/validation/operators/test_ws1_gtest_gpu.py @@ -36,6 +36,8 @@ def test_all_ws1_single_ops_are_registered(): names = set(operator_names()) assert { "rms_norm", + "rms_norm_gated", + "qwen3_next_rms_norm", "qk_norm", "det_gemm", "attention", diff --git a/tools/validation/models/plot_qwen3_next_attention_prior_art.py b/tools/validation/models/plot_qwen3_next_attention_prior_art.py new file mode 100644 index 000000000..6a3fd7a3f --- /dev/null +++ b/tools/validation/models/plot_qwen3_next_attention_prior_art.py @@ -0,0 +1,152 @@ +#!/usr/bin/env python +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Render the TP4 attention prior-art report as a PNG. + + python tools/validation/models/plot_qwen3_next_attention_prior_art.py \\ + docs/usage/evidence/qwen3-next-tp4-mixers-b200/attention/report.json + +writes ``figure.png`` next to the report: which invariance checks each +implementation passes, accuracy against FP64, and prefill/decode latency. +""" + +from __future__ import annotations + +import argparse +import json +from pathlib import Path + +import matplotlib + +matplotlib.use("Agg") +import matplotlib.pyplot as plt # noqa: E402 +from matplotlib.colors import ListedColormap # noqa: E402 + +RL_KERNEL = "#2a78d6" +INK = "#2b2b29" +MUTED = "#6f6e69" +GRID = "#e4e3dd" +SURFACE = "#fcfcfb" +PASS = "#1baf7a" +FAIL = "#d64545" +NA = "#e4e3dd" +EXISTING = ( + "#eb6834", + "#b8501f", + "#f29a62", + "#8a3a15", + "#f6bd94", + "#d9773f", + "#6b2a0e", + "#c96a2c", + "#f0a878", +) + +LABELS = { + "rl_kernel_cuda": "RL-Kernel deterministic", + "torch_sdpa": "torch SDPA", + "vllm_fa2_auto": "vLLM FA2 (num_splits auto)", + "vllm_fa2_split1": "vLLM FA2 (num_splits=1)", + "vllm_triton_2d": "vLLM Triton unified (2D)", + "flashinfer": "FlashInfer ragged prefill", + "fa4_cute": "FlashAttention-4 (CuTe)", + "te_fused": "TE, cuDNN fused (inference)", + "te_training": "TE, unfused (training)", + "megatron_local": "Megatron-core local", +} +COLUMNS = ( + ("batch_bitwise", "first", "batch: first"), + ("batch_bitwise", "last", "batch: last"), + ("prefill_decode_bitwise", "last_64", "chunk: last 64"), + ("prefill_decode_bitwise", "last_1", "decode: last 1"), + ("backward_batch_bitwise", "dq", "bwd dq (packed)"), + ("backward_batch_bitwise", "dk", "bwd dk (packed)"), + ("backward_batch_bitwise", "dv", "bwd dv (packed)"), +) + + +def _style(ax): + ax.set_facecolor(SURFACE) + for side in ("top", "right"): + ax.spines[side].set_visible(False) + ax.tick_params(colors=INK, labelsize=8) + ax.grid(color=GRID, linewidth=0.6) + + +def plot(report: dict, out: Path) -> None: + cands = [c for c in report["candidates"] if "unavailable" not in c and "failed" not in c] + keys = [c["key"] for c in cands] + existing = iter(EXISTING) + colors = {k: RL_KERNEL if k == "rl_kernel_cuda" else next(existing) for k in keys} + labels = [LABELS.get(k, k) for k in keys] + fig, axes = plt.subplots(1, 3, figsize=(17, 4.6), gridspec_kw={"width_ratios": [1.3, 1, 1.4]}) + + ax = axes[0] + grid = [ + [0.5 if c.get(field) is None else float(c[field][item]) for field, item, _ in COLUMNS] + for c in cands + ] + ax.imshow(grid, cmap=ListedColormap([FAIL, NA, PASS]), vmin=0, vmax=1, aspect="auto") + ax.set_xticks(range(len(COLUMNS)), [c[2] for c in COLUMNS], fontsize=7, rotation=90) + ax.set_yticks(range(len(cands)), labels, fontsize=8) + for i, cand in enumerate(cands): + mark = "BI" if cand.get("batch_invariant") else "not BI" + ax.text(len(COLUMNS) - 0.4, i, f" {mark}", va="center", fontsize=8, color=INK) + ax.set_title( + f"Invariance: {report['target_tokens']}-token target alone vs. batched / chunked\n" + "(green bitwise equal, red differs, grey: no backward)", + fontsize=9, + color=INK, + ) + ax.tick_params(length=0) + + ax = axes[1] + _style(ax) + rel = [c["accuracy"]["rel_l2_vs_fp64"] for c in cands] + ax.barh(range(len(cands)), rel, color=[colors[k] for k in keys]) + for i, value in enumerate(rel): + ax.text(value, i, f" {value:.2e}", va="center", fontsize=7, color=MUTED) + ax.set_yticks(range(len(cands)), labels, fontsize=8) + ax.invert_yaxis() + ax.set_xlim(0, 1.35 * max(rel)) + ax.set_xlabel("relative L2 error vs. FP64", fontsize=8) + ax.set_title("Accuracy", fontsize=9, color=INK) + + ax = axes[2] + _style(ax) + prefill = report["latency"]["prefill_us"] + tokens = [int(t) for t in prefill] + for key in keys: + ys = [prefill[str(t)].get(key, float("nan")) / 1000.0 for t in tokens] + ax.plot(tokens, ys, marker="o", ms=3.5, color=colors[key], label=LABELS.get(key, key)) + ax.set_xscale("log", base=2) + ax.set_yscale("log") + ax.set_xlabel("prefill tokens", fontsize=8) + ax.set_ylabel("forward latency (ms, median)", fontsize=8) + ax.set_title("Prefill forward latency\n(4 Q heads, 1 KV head, D=256, causal)", fontsize=9) + ax.legend(fontsize=7, frameon=False) + + env = report["environment"] + fig.suptitle( + f"Qwen3-Next TP4 attention prior art - {env['gpu']}, torch {env['torch']}, " + f"commit {report['rl_kernel_commit'][:7]}", + fontsize=10, + color=INK, + ) + fig.tight_layout() + fig.savefig(out, dpi=160) + + +def main() -> None: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("report", type=Path) + args = parser.parse_args() + report = json.loads(args.report.read_text()) + out = args.report.with_name("figure.png") + plot(report, out) + print(f"wrote {out}") + + +if __name__ == "__main__": + main() diff --git a/tools/validation/models/plot_qwen3_next_chain.py b/tools/validation/models/plot_qwen3_next_chain.py new file mode 100644 index 000000000..f3eab8718 --- /dev/null +++ b/tools/validation/models/plot_qwen3_next_chain.py @@ -0,0 +1,152 @@ +#!/usr/bin/env python +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Render a published Qwen3-Next full-model chain as a PNG. + +Needs only the published evidence directory and matplotlib: + + python tools/validation/models/plot_qwen3_next_chain.py \\ + docs/usage/evidence/qwen3-next-chain-b200 + +writes ``figure.png`` into that directory. Left: for each L2 case and weight +version, whether the vLLM rollout and the VIME recompute agree bit for bit on +response tokens, logits, logprobs and the per-layer digests. Right: for each +decoder layer, the share of cases whose layer digest changes from one weight +version to the next, which shows the updates reach every layer and the reload +reproduces update 2 exactly. +""" + +from __future__ import annotations + +import argparse +import json +from pathlib import Path + +import matplotlib + +matplotlib.use("Agg") +import matplotlib.pyplot as plt # noqa: E402 +import numpy as np # noqa: E402 +from matplotlib.colors import ListedColormap # noqa: E402 + +INK = "#2b2b29" +MUTED = "#6f6e69" +SURFACE = "#fcfcfb" +PASS = "#1baf7a" +FAIL = "#d64545" +CHANGE = ("#e4e3dd", "#2a78d6") + +STAGES = (("l2", "baseline"), ("train1", "update 1"), ("train2", "update 2"), ("train", "reload")) +COMPARISONS = ( + ("response_tokens", "tokens"), + ("logits", "logits"), + ("logprobs", "logprobs"), + ("layer_states", "layer digests"), +) +STEPS = (("baseline", "update1"), ("update1", "update2"), ("update2", "reload")) + + +def _node_order(name): + return (0, 0) if name == "embedding" else (1, int(name.removeprefix("layer"))) + + +def plot(evidence: Path, out: Path) -> None: + matrices = { + label: json.loads((evidence / stage / "l2_matrix.json").read_text()) + for stage, label in STAGES + } + cases = matrices["baseline"]["case_ids"] + grid = np.array( + [ + [ + bool(matrices[label]["cases"][case]["comparisons"][key]) + for _, label in STAGES + for key, _ in COMPARISONS + ] + for case in cases + ] + ) + report = json.loads((evidence / "chain-report.json").read_text()) + cells = report["cells"] + nodes = sorted(cells[f"baseline/{cases[0]}"]["node_digests"], key=_node_order) + change = np.array( + [ + [ + np.mean( + [ + cells[f"{a}/{case}"]["node_digests"][node] + != cells[f"{b}/{case}"]["node_digests"][node] + for case in cases + ] + ) + for node in nodes + ] + for a, b in STEPS + ] + ) + + fig, (left, right) = plt.subplots( + 1, 2, figsize=(16, 6.2), gridspec_kw={"width_ratios": [1, 1.55]}, facecolor=SURFACE + ) + left.imshow(grid, cmap=ListedColormap([FAIL, PASS]), vmin=0, vmax=1, aspect="auto") + left.set_yticks(range(len(cases)), cases, fontsize=8, color=INK) + names = [name for _, name in COMPARISONS] + left.set_xticks(range(grid.shape[1]), names * len(STAGES), rotation=90, fontsize=8) + for i, (_, label) in enumerate(STAGES): + left.text(i * 4 + 1.5, -1.2, label, ha="center", fontsize=9, color=INK) + if i: + left.axvline(i * 4 - 0.5, color=SURFACE, linewidth=3) + left.set_title( + f"vLLM rollout vs VIME recompute, raw bits\n{int(grid.sum())}/{grid.size} equal", + fontsize=10, + color=INK, + pad=24, + ) + + right.imshow(change, cmap=ListedColormap(CHANGE), vmin=0, vmax=1, aspect="auto") + right.set_yticks(range(len(STEPS)), [f"{a} → {b}" for a, b in STEPS], fontsize=9, color=INK) + labels = ["emb" if n == "embedding" else n.removeprefix("layer") for n in nodes] + right.set_xticks(range(len(nodes)), labels, fontsize=6, color=MUTED) + right.set_xlabel("embedding and decoder layers 0-47", fontsize=9, color=MUTED) + for row in range(len(STEPS)): + right.text( + len(nodes) + 0.6, + row, + f"{change[row].mean():.0%} of digests change", + va="center", + fontsize=8, + color=INK, + ) + right.set_xlim(-0.5, len(nodes) + 9) + right.set_title( + "Per-layer digest change between weight versions (share of the 16 cases)", + fontsize=10, + color=INK, + ) + for axis in (left, right): + for spine in axis.spines.values(): + spine.set_visible(False) + commit = report["measured_commit"][:7] + gpu = f" on {report['gpu_name']}" if report.get("gpu_name") else "" + fig.suptitle( + f"Qwen3-Next-80B-A3B full-model chain, TP4{gpu}, commit {commit}: " + f"passed={report['passed']}, first drift={report['first_drift']}", + fontsize=11, + color=INK, + ) + fig.tight_layout() + fig.savefig(out, dpi=160) + + +def main() -> None: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("evidence", type=Path) + args = parser.parse_args() + out = args.evidence / "figure.png" + plot(args.evidence, out) + print(f"wrote {out}") + + +if __name__ == "__main__": + main() diff --git a/tools/validation/models/plot_qwen3_next_moe_prior_art.py b/tools/validation/models/plot_qwen3_next_moe_prior_art.py new file mode 100644 index 000000000..21cee4fb9 --- /dev/null +++ b/tools/validation/models/plot_qwen3_next_moe_prior_art.py @@ -0,0 +1,162 @@ +#!/usr/bin/env python +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Render the routed-MoE prior-art report as a PNG. + +Needs only the report JSON and matplotlib, so it runs anywhere: + + python tools/validation/models/plot_qwen3_next_moe_prior_art.py \\ + docs/usage/evidence/qwen3-next-moe-route-b200/report.json + +writes ``figure.png`` next to the report. Three panels: which batch-invariance +checks each implementation passes, accuracy against an FP64 evaluation with +FP64 routing, and forward latency. RL-Kernel is blue, existing libraries orange. +""" + +from __future__ import annotations + +import argparse +import json +from pathlib import Path + +import matplotlib + +matplotlib.use("Agg") +import matplotlib.pyplot as plt # noqa: E402 +from matplotlib.colors import ListedColormap # noqa: E402 + +RL_KERNEL = "#2a78d6" +INK = "#2b2b29" +MUTED = "#6f6e69" +GRID = "#e4e3dd" +SURFACE = "#fcfcfb" +PASS = "#1baf7a" +FAIL = "#d64545" +NA = "#e4e3dd" +EXISTING = ("#eb6834", "#b8501f", "#f29a62", "#8a3a15", "#f6bd94", "#d9773f", "#6b2a0e") + +LABELS = { + "rl_kernel_cuda": "RL-Kernel shared_moe", + "hf_transformers": "HF Qwen3NextExperts", + "vllm_bi0": "vLLM fused_moe (BI=0)", + "vllm_bi1": "vLLM fused_moe (BI=1)", + "flashinfer_cutlass": "FlashInfer cutlass_fused_moe", + "megatron_te": "Megatron-core + TE (VIME config)", + "sglang_triton": "SGLang fused_moe (default)", + "sglang_deterministic": "SGLang fused_moe (deterministic)", +} +CHECKS = ( + ("route_rows_bitwise", "routes"), + ("output_rows_bitwise", "output"), + ("dx_rows_bitwise", "dx"), + ("dweight_zero_rows_bitwise", "dW"), +) + + +def _colors(keys): + existing = iter(EXISTING) + return {k: RL_KERNEL if k == "rl_kernel_cuda" else next(existing) for k in keys} + + +def _style(ax): + ax.set_facecolor(SURFACE) + for side in ("top", "right"): + ax.spines[side].set_visible(False) + ax.tick_params(colors=INK, labelsize=8) + ax.grid(color=GRID, linewidth=0.6) + + +def plot(report: dict, out: Path) -> None: + cands = [c for c in report["candidates"] if "unavailable" not in c] + keys = [c["key"] for c in cands] + colors = _colors(keys) + sizes = list(next(iter(cands))["output_rows_bitwise"]) + fig, axes = plt.subplots(1, 3, figsize=(17, 4.6), gridspec_kw={"width_ratios": [1.5, 1, 1.4]}) + fig.patch.set_facecolor("white") + + # Panel 1: batch-invariance matrix; 1 = pass, 0 = fail, 0.5 = no backward. + ax = axes[0] + columns = [f"{label} {size}" for _, label in CHECKS for size in sizes] + grid = [] + for cand in cands: + row = [] + for field, _ in CHECKS: + values = cand.get(field) + row.extend(0.5 if values is None else float(values[s]) for s in sizes) + grid.append(row) + ax.imshow(grid, cmap=ListedColormap([FAIL, NA, PASS]), vmin=0, vmax=1, aspect="auto") + ax.set_xticks(range(len(columns)), columns, fontsize=7, rotation=90) + ax.set_yticks(range(len(cands)), [LABELS.get(k, k) for k in keys], fontsize=8) + for i, cand in enumerate(cands): + mark = "BI" if cand.get("batch_invariant") else "not BI" + ax.text(len(columns) - 0.4, i, f" {mark}", va="center", fontsize=8, color=INK) + ax.set_title( + f"Batch invariance: {report['probe_rows']} probe tokens alone vs. in a batch\n" + "(green bitwise equal, red differs, grey: no backward)", + fontsize=9, + color=INK, + ) + ax.tick_params(length=0) + + # Panel 2: accuracy. + ax = axes[1] + _style(ax) + rel = [c["accuracy"]["rel_l2_vs_fp64"] if "accuracy" in c else float("nan") for c in cands] + ax.barh(range(len(cands)), rel, color=[colors[k] for k in keys]) + for i, cand in enumerate(cands): + acc = cand.get("accuracy") + if acc: + ax.text( + rel[i], + i, + f" {rel[i]:.2e} ({acc['tokens_with_different_expert_set']}/{acc['tokens']}" + " tokens route differently)", + va="center", + fontsize=7, + color=MUTED, + ) + ax.set_yticks(range(len(cands)), [LABELS.get(k, k) for k in keys], fontsize=8) + ax.invert_yaxis() + ax.set_xlim(0, 2.2 * max(r for r in rel if r == r)) + ax.set_xlabel("relative L2 error vs. FP64 HF formula with FP64 routing", fontsize=8) + ax.set_title("Accuracy (256 tokens)", fontsize=9, color=INK) + + # Panel 3: forward latency. + ax = axes[2] + _style(ax) + forward = report["latency"]["forward_us"] + tokens = [int(t) for t in forward] + for key in keys: + ys = [forward[str(t)].get(key, float("nan")) / 1000.0 for t in tokens] + ax.plot(tokens, ys, marker="o", ms=3.5, color=colors[key], label=LABELS.get(key, key)) + ax.set_xscale("log", base=2) + ax.set_yscale("log") + ax.set_xlabel("tokens", fontsize=8) + ax.set_ylabel("forward latency (ms, median)", fontsize=8) + ax.set_title("Forward latency\n(H=2048, 512 experts, top-10, width 512)", fontsize=9) + ax.legend(fontsize=7, frameon=False) + + env = report["environment"] + fig.suptitle( + f"Qwen3-Next routed MoE prior art - {env['gpu']}, torch {env['torch']}, " + f"commit {report['rl_kernel_commit'][:7]}", + fontsize=10, + color=INK, + ) + fig.tight_layout() + fig.savefig(out, dpi=160) + + +def main() -> None: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("report", type=Path) + args = parser.parse_args() + report = json.loads(args.report.read_text()) + out = args.report.with_name("figure.png") + plot(report, out) + print(f"wrote {out}") + + +if __name__ == "__main__": + main() diff --git a/tools/validation/models/plot_qwen3_next_norm_evidence.py b/tools/validation/models/plot_qwen3_next_norm_evidence.py new file mode 100644 index 000000000..5067d4d7c --- /dev/null +++ b/tools/validation/models/plot_qwen3_next_norm_evidence.py @@ -0,0 +1,121 @@ +#!/usr/bin/env python +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Plot a report from tools/validation/models/qwen3_next_norm_evidence.py: one 2x2 figure per op. + + python tools/validation/models/plot_qwen3_next_norm_evidence.py report.json + +Writes figure[-].png beside the report. +""" + +from __future__ import annotations + +import json +import sys +from pathlib import Path + +import matplotlib + +matplotlib.use("Agg") +import matplotlib.pyplot as plt # noqa: E402 + +COLORS = ["#2a6fdb", "#7a7a7a", "#e07b39", "#3aa676", "#9b59b6", "#c0392b"] + + +def _short(name: str) -> str: + return name.replace(" (forward only)", "*").replace(" (cast-first)", "\n(cast-first)") + + +def plot_op(op: str, data: dict, title: str, out: Path) -> None: + names = list(data["row_invariance"]) + color = {n: COLORS[i % len(COLORS)] for i, n in enumerate(names)} + fig, axes = plt.subplots(2, 2, figsize=(14, 10), layout="constrained") + fig.suptitle(title, fontsize=13) + + for ax, key, label in ( + (axes[0, 0], "forward_us", "forward latency"), + (axes[0, 1], "backward_us", "backward latency (training-capable only)"), + ): + for name in names: + rows = sorted(int(r) for r in data["latency"][name]) + ys = [data["latency"][name][str(r)].get(key) for r in rows] + if all(y is None for y in ys): + continue + ax.plot(rows, ys, "o-", color=color[name], label=_short(name)) + ax.set_xscale("log", base=2) + ax.set_yscale("log") + ax.set_xlabel("rows") + ax.set_ylabel("µs (median)") + ax.set_title(label) + ax.grid(True, which="both", alpha=0.3) + ax.legend(fontsize=8) + + ax = axes[1, 0] + acc = data["accuracy"][max(data["accuracy"], key=int)] + metrics = [ + ("forward_max_abs", "forward\nmax |err|"), + ("dx_max_abs_over_absmax", "dx\nmax |err| / max"), + ("dweight_max_abs_over_absmax", "dweight\nmax |err| / max"), + ("dgate_max_abs_over_absmax", "dgate\nmax |err| / max"), + ] + metrics = [m for m in metrics if any(acc[n].get(m[0]) is not None for n in names)] + width = 0.8 / len(names) + for i, name in enumerate(names): + vals = [acc[name].get(m) for m, _ in metrics] + xs = [j + (i - (len(names) - 1) / 2) * width for j in range(len(metrics))] + ax.bar( + [x for x, v in zip(xs, vals) if v is not None], + [v for v in vals if v is not None], + width, + color=color[name], + label=_short(name), + ) + ax.set_xticks(range(len(metrics)), [label for _, label in metrics], fontsize=9) + ax.set_yscale("log") + ax.set_title(f"error vs FP64 golden ({max(data['accuracy'], key=int)} rows, BF16)") + ax.grid(True, axis="y", alpha=0.3) + ax.legend(fontsize=8) + + ax = axes[1, 1] + bi = data["row_invariance"] + checked = next(iter(bi.values()))["rows_checked"] + ys = range(len(names)) + fwd = [bi[n]["forward_rows_differing"] for n in names] + dx = [ + bi[n]["dx_rows_differing"] if bi[n]["dx_rows_differing"] is not None else 0 for n in names + ] + ax.barh([y - 0.2 for y in ys], fwd, 0.4, color="#2a6fdb", label="forward") + ax.barh([y + 0.2 for y in ys], dx, 0.4, color="#e07b39", label="dx") + for y, n, f, d in zip(ys, names, fwd, dx): + no_bwd = bi[n]["dx_rows_differing"] is None + ax.text(max(f, d) + 0.2, y, f"{f} / {'n/a' if no_bwd else d}", va="center", fontsize=8) + ax.set_yticks(list(ys), [_short(n) for n in names], fontsize=8) + ax.set_xlim(0, max(3, max(fwd + dx) * 1.4)) + ax.invert_yaxis() + ax.set_xlabel(f"rows differing (of {checked}; row alone vs inside a batch, bitwise)") + ax.set_title("row invariance (0 = batch-invariant)") + ax.legend(fontsize=8) + ax.grid(True, axis="x", alpha=0.3) + + fig.savefig(out, dpi=130) + print(f"wrote {out}") + + +def main() -> None: + path = Path(sys.argv[1]) + report = json.loads(path.read_text()) + env = report["environment"] + ops = report["ops"] + for op, data in ops.items(): + name = "figure.png" if len(ops) == 1 else f"figure-{op}.png" + hidden = data.get("hidden", report.get("hidden")) + title = ( + f"Qwen3-Next {op.replace('_', ' ')} — {env['gpu']}, hidden {hidden}, " + f"BF16, commit {report['git_commit'][:7]} (* forward only)" + ) + plot_op(op, data, title, path.parent / name) + + +if __name__ == "__main__": + main() diff --git a/tools/validation/models/qwen3_next_adapter_check.py b/tools/validation/models/qwen3_next_adapter_check.py new file mode 100644 index 000000000..6b15352fc --- /dev/null +++ b/tools/validation/models/qwen3_next_adapter_check.py @@ -0,0 +1,326 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Four-rank real VIME/vLLM GDN adapter acceptance, scoped below complete-model L2.""" + +import argparse +import json +import os +from pathlib import Path +from types import SimpleNamespace + +import torch +import torch.distributed as dist + +from rl_engine.validation.common.tensor_identity import assert_tensor_bitwise_equal as exact + + +def run(checkpoint, output): + from megatron.core import mpu + from megatron.core.packed_seq_params import PackedSeqParams + from megatron.core.transformer.spec_utils import build_module + from megatron.core.transformer.transformer_config import TransformerConfig + from vime.backends.megatron_utils import hf_to_megatron as load_api + from vime.backends.megatron_utils import megatron_to_hf as export_api + from vime.backends.megatron_utils.hf_to_megatron.common import ( + SafetensorReader, + shard_mcore_tensor, + ) + from vime.backends.megatron_utils.update_weight.common import all_gather_param + from vllm.config.vllm import set_current_vllm_config + from vllm.distributed import init_distributed_environment, initialize_model_parallel + from vllm.engine.arg_utils import EngineArgs + from vllm.forward_context import set_forward_context + from vllm.model_executor.layers.mamba.mamba_utils import is_conv_state_dim_first + from vllm.model_executor.model_loader.weight_utils import default_weight_loader + from vllm.v1.attention.backend import CommonAttentionMetadata + + from rl_engine.integrations.engines.rollout.vllm.qwen3_next_vllm import ( + SharedGDNMetadataBuilder, + SharedQwenGDN, + ) + from rl_engine.integrations.orchestrators.vime.providers.qwen3_next_vime import ( + get_qwen3_next_shared_spec, + ) + + rank, local_rank = int(os.environ["RANK"]), int(os.environ["LOCAL_RANK"]) + torch.cuda.set_device(local_rank) + dist.init_process_group("nccl") + if dist.get_world_size() != 4: + raise ValueError("GDN engine adapters require exactly four ranks") + mpu.initialize_model_parallel(tensor_model_parallel_size=4) + # vLLM 0.30.0's initialize_model_parallel reads get_current_vllm_config(), so the + # engine config must exist before the vLLM process groups are created. + vconfig = EngineArgs( + model=str(checkpoint), + skip_tokenizer_init=True, + dtype="bfloat16", + tensor_parallel_size=4, + max_model_len=2048, + max_num_seqs=4, + enforce_eager=True, + enable_prefix_caching=False, + mamba_cache_dtype="bfloat16", + mamba_ssm_cache_dtype="float32", + distributed_executor_backend="external_launcher", + additional_config={"gdn_prefill_backend": "triton"}, + ).create_engine_config() + with set_current_vllm_config(vconfig): + init_distributed_environment(4, rank, "env://", local_rank, "nccl") + initialize_model_parallel(4) + args = SimpleNamespace( + hf_checkpoint=str(checkpoint), + num_experts=512, + sequence_parallel=False, + hidden_size=2048, + num_attention_heads=16, + num_query_groups=2, + kv_channels=256, + ) + config = TransformerConfig( + num_layers=48, + hidden_size=2048, + num_attention_heads=16, + num_query_groups=2, + kv_channels=256, + ffn_hidden_size=5120, + num_moe_experts=512, + moe_ffn_hidden_size=512, + moe_router_topk=10, + moe_shared_expert_intermediate_size=512, + tensor_model_parallel_size=4, + expert_tensor_parallel_size=4, + pipeline_model_parallel_size=1, + context_parallel_size=1, + expert_model_parallel_size=1, + sequence_parallel=False, + attention_dropout=0, + hidden_dropout=0, + params_dtype=torch.bfloat16, + bf16=True, + normalization="RMSNorm", + add_bias_linear=False, + ) + spec = get_qwen3_next_shared_spec(args, config) + training = build_module( + spec.layer_specs[0].submodules.self_attention, config=config, layer_number=1 + ) + reader = SafetensorReader(checkpoint) + prefix = "module.module.decoder.layers.0.self_attention." + with torch.no_grad(): + for name, parameter in training.named_parameters(): + full_name = prefix + name + full = load_api._LOADERS["qwen3_next"](full_name, reader, training.hf_config) + local = shard_mcore_tensor(full_name, full, parameter) + if local.shape != parameter.shape: + raise ValueError(f"Incorrect training shard shape: {full_name}") + parameter.copy_(local.to(device=parameter.device)) + conv_name = prefix + "linear_attn.conv1d.weight" + conv = all_gather_param(conv_name, training.linear_attn.conv1d.weight) + converted = export_api.convert_qwen3_next_to_hf(args, conv_name, conv) + exact(converted[0][1].cpu(), reader.get_tensor("model.layers.0.linear_attn.conv1d.weight")) + + with set_current_vllm_config(vconfig): + previous_dtype = torch.get_default_dtype() + torch.set_default_dtype(torch.bfloat16) + try: + rollout = SharedQwenGDN( + vconfig.model_config.hf_text_config, + vconfig, + prefix="model.layers.0.linear_attn", + gqa_interleaved_layout=True, + ).cuda() + finally: + torch.set_default_dtype(previous_dtype) + for name, parameter in rollout.named_parameters(): + value = reader.get_tensor(f"model.layers.0.linear_attn.{name}") + getattr(parameter, "weight_loader", default_weight_loader)(parameter, value) + exact(parameter, dict(training.linear_attn.named_parameters())[name], name=name) + cache_spec = rollout.get_kv_cache_spec(vconfig) + builder = SharedGDNMetadataBuilder( + cache_spec, [rollout.prefix], vconfig, torch.device("cuda") + ) + + def initial_cache(): + # Deliberately dirty slots prove the metadata resets a new prompt. + return tuple( + torch.full((8, *shape), 0.125, dtype=dtype, device="cuda") + for shape, dtype in zip(rollout.get_state_shape(), rollout.get_state_dtype()) + ) + + def step(hidden, lengths, computed, slots): + cu = torch.tensor([0, *torch.tensor(lengths).cumsum(0).tolist()], dtype=torch.int32) + seq = torch.tensor(lengths, dtype=torch.int32) + torch.tensor( + computed, dtype=torch.int32 + ) + common = CommonAttentionMetadata( + query_start_loc=cu.cuda(), + query_start_loc_cpu=cu, + seq_lens=seq.cuda(), + num_reqs=len(lengths), + num_actual_tokens=sum(lengths), + max_query_len=max(lengths), + max_seq_len=int(seq.max()), + block_table_tensor=torch.tensor(slots, dtype=torch.int32, device="cuda")[:, None], + slot_mapping=torch.zeros(sum(lengths), dtype=torch.int64, device="cuda"), + ) + metadata = builder.build(0, common) + with set_forward_context({rollout.prefix: metadata}, vconfig): + return rollout(hidden_states=training.input_layernorm(hidden)) + + checked = [] + generator = torch.Generator(device="cuda").manual_seed(713) + for batch in (1, 4): + for length in (8, 64, 256, 1024): + hidden = torch.randn( + batch * length, 2048, generator=generator, device="cuda", dtype=torch.bfloat16 + ) + cu = torch.arange(batch + 1, dtype=torch.int32, device="cuda") * length + packed = PackedSeqParams( + qkv_format="thd", + cu_seqlens_q=cu, + cu_seqlens_kv=cu, + max_seqlen_q=length, + max_seqlen_kv=length, + ) + with torch.no_grad(): + train_out, _ = training(hidden.unsqueeze(1), None, packed_seq_params=packed) + rollout.kv_cache = initial_cache() + whole = step( + hidden.clone(), [length] * batch, [0] * batch, list(range(1, batch + 1)) + ) + exact(whole, train_out[:, 0], name=f"VIME/vLLM B{batch} L{length}") + final = tuple(state.clone() for state in rollout.kv_cache) + for cut in (1, 63, 64, 65, 100, 528, 576): + if cut >= length: + continue + rollout.kv_cache = initial_cache() + pieces = [[] for _ in range(batch)] + for lo, hi in ((0, cut), (cut, length)): + order = list(range(batch)) if lo == 0 else list(reversed(range(batch))) + rows = [ + row + for seq in order + for row in range(seq * length + lo, seq * length + hi) + ] + part = step( + hidden[rows], + [hi - lo] * batch, + [lo] * batch, + [seq + 1 for seq in order], + ) + for position, seq in enumerate(order): + pieces[seq].append( + part[position * (hi - lo) : (position + 1) * (hi - lo)] + ) + exact( + torch.cat([torch.cat(parts) for parts in pieces]), + whole, + name=f"chunk cut={cut}", + ) + for current, expected in zip(rollout.kv_cache, final): + exact(current, expected, name="owned rollout cache") + checked.append(f"batch{batch}-length{length}") + + # Exercise a fresh one-token prompt in the same real scheduler batch as + # prefill requests, then sixteen reordered decode steps on owned caches. + prompt_lengths = [1, 64, 256, 1024] + lengths = [length + 16 for length in prompt_lengths] + sequences = [ + torch.randn(length, 2048, generator=generator, device="cuda", dtype=torch.bfloat16) + for length in lengths + ] + complete = torch.cat(sequences) + cu = torch.tensor( + [0, *torch.tensor(lengths).cumsum(0).tolist()], device="cuda", dtype=torch.int32 + ) + packed = PackedSeqParams( + qkv_format="thd", + cu_seqlens_q=cu, + cu_seqlens_kv=cu, + max_seqlen_q=max(lengths), + max_seqlen_kv=max(lengths), + ) + with torch.no_grad(): + training_complete, _ = training(complete.unsqueeze(1), None, packed_seq_params=packed) + rollout.kv_cache = initial_cache() + whole = step(complete, lengths, [0] * 4, [1, 2, 3, 4]) + exact(whole, training_complete[:, 0], name="mixed VIME/vLLM complete") + final = tuple(state.clone() for state in rollout.kv_cache) + rollout.kv_cache = initial_cache() + first = step( + torch.cat([value[:length] for value, length in zip(sequences, prompt_lengths)]), + prompt_lengths, + [0] * 4, + [1, 2, 3, 4], + ) + pieces = [[part] for part in first.split(prompt_lengths)] + for position in range(16): + order = [3, 1, 0, 2] if position % 2 else [2, 0, 3, 1] + positions = [length + position for length in prompt_lengths] + outputs = step( + torch.cat( + [ + sequences[index][positions[index] : positions[index] + 1] + for index in order + ] + ), + [1] * 4, + [prompt_lengths[index] + position for index in order], + [index + 1 for index in order], + ) + for index, value in zip(order, outputs.split(1)): + pieces[index].append(value) + exact( + torch.cat([torch.cat(parts) for parts in pieces]), + whole, + name="sixteen decode steps", + ) + for current, expected in zip(rollout.kv_cache, final): + exact(current, expected, name="mixed owned rollout cache") + checked.append("mixed-prefill-decode16-reorder") + + hidden = torch.randn( + 8, 1, 2048, generator=generator, device="cuda", dtype=torch.bfloat16 + ).requires_grad_() + cu = torch.tensor([0, 8], device="cuda", dtype=torch.int32) + packed = PackedSeqParams( + qkv_format="thd", cu_seqlens_q=cu, cu_seqlens_kv=cu, max_seqlen_q=8, max_seqlen_kv=8 + ) + value, _ = training(hidden, None, packed_seq_params=packed) + value[4:].float().square().sum().backward() + if hidden.grad is None or not all( + (torch.isfinite(hidden.grad).all(), bool(hidden.grad[:4].abs().max() > 0)) + ): + raise AssertionError("Actual VIME response loss lost finite nonzero prompt gradients") + grads = [ + parameter.grad for parameter in training.parameters() if parameter.grad is not None + ] + if not grads or any(not torch.isfinite(grad).all() for grad in grads): + raise AssertionError("Actual VIME GDN parameter gradients must be finite") + from rl_engine.integrations.common.qwen3_next_binary import imported_provider_identity + + result = { + "status": "passed", + "scope": "gdn_engine_adapter_component", + "rank": rank, + "provider_binary": imported_provider_identity(), + "cases": checked, + "prompt_gradient": "passed", + "hf_conv_roundtrip": "passed", + "full_model_l2": "not_evaluated", + "batch_invariance_capability_registered": False, + "conv_dim_first": is_conv_state_dim_first(), + } + output.mkdir(parents=True, exist_ok=True) + (output / f"rank-{rank}.json").write_text(json.dumps(result, indent=2) + "\n") + dist.barrier() + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--checkpoint", type=Path, required=True) + parser.add_argument("--out", type=Path, required=True) + args = parser.parse_args() + run(args.checkpoint, args.out) diff --git a/tools/validation/models/qwen3_next_attention_prior_art.py b/tools/validation/models/qwen3_next_attention_prior_art.py new file mode 100644 index 000000000..6f4f0e485 --- /dev/null +++ b/tools/validation/models/qwen3_next_attention_prior_art.py @@ -0,0 +1,122 @@ +#!/usr/bin/env python +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Write the Qwen3-Next TP4 attention prior-art report (BI + accuracy + latency) as JSON. + +Run it on a clean tree with ``rl_engine._C`` built in place. The report records +the commit, whether the tracked tree was dirty and the version of every library +compared. +``tools/validation/models/plot_qwen3_next_attention_prior_art.py`` turns the report into a figure. + + python tools/validation/models/qwen3_next_attention_prior_art.py \\ + --out docs/usage/evidence/qwen3-next-tp4-mixers-b200/attention/report.json +""" + +from __future__ import annotations + +import argparse +import importlib.metadata as md +import json +import subprocess +import sys +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[3] +sys.path.insert(0, str(ROOT)) + +import torch # noqa: E402 + +from rl_engine.validation.models.qwen3_next_attention_prior_art import ( # noqa: E402 + attention_report, +) + +LIBRARIES = ( + "vllm", + "flashinfer-python", + "transformers", + "triton", + "sglang", + "megatron-core", + "megatron_core", + "transformer_engine", + "vime", +) + + +def _git(*args: str) -> str: + return subprocess.run( + ["git", *args], cwd=ROOT, check=True, capture_output=True, text=True + ).stdout.strip() + + +def _version(name: str) -> str | None: + try: + return md.version(name) + except md.PackageNotFoundError: + return None + + +def _merge_latency(base: dict, extra: dict) -> dict: + """Per-candidate latencies merged at any depth (prefill is keyed by size first).""" + merged = dict(base) + for key, value in extra.items(): + if isinstance(value, dict) and isinstance(base.get(key), dict): + merged[key] = _merge_latency(base[key], value) + else: + merged[key] = value + return merged + + +def merge(base: dict, extra: dict) -> dict: + """``base`` with ``extra``'s candidates and latencies added (same commit and GPU).""" + for field in ("rl_kernel_commit", "tracked_tree_dirty", "shape", "op"): + if base[field] != extra[field]: + raise SystemExit(f"Reports differ in {field}; they cannot be merged") + if base["environment"]["gpu"] != extra["environment"]["gpu"]: + raise SystemExit("Reports were measured on different GPUs") + keys = {c["key"] for c in base["candidates"]} + added = [c for c in extra["candidates"] if c["key"] not in keys] + merged = dict(base, candidates=base["candidates"] + added) + merged["latency"] = _merge_latency(base["latency"], extra["latency"]) + merged["environments"] = {"main": base["environment"], "extra": extra["environment"]} + return merged + + +def main() -> None: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--out", type=Path, required=True) + parser.add_argument("--only", help="comma-separated candidate keys (default: all)") + parser.add_argument( + "--merge", type=Path, help="a report from another process to merge into this one" + ) + args = parser.parse_args() + if not torch.cuda.is_available(): + raise SystemExit("needs a CUDA device") + torch.backends.cuda.matmul.allow_tf32 = False + torch.backends.cudnn.allow_tf32 = False + report = { + "kind": "qwen3_next_prior_art_report", + "rfc": 428, + "rl_kernel_commit": _git("rev-parse", "HEAD"), + "tracked_tree_dirty": bool(_git("status", "--porcelain", "--untracked-files=no")), + "environment": { + "gpu": torch.cuda.get_device_name(), + "torch": torch.__version__, + "cuda": torch.version.cuda, + "libraries": {name: _version(name) for name in LIBRARIES}, + }, + **attention_report(args.only.split(",") if args.only else None), + } + if args.merge is not None: + report = merge(json.loads(args.merge.read_text()), report) + args.out.parent.mkdir(parents=True, exist_ok=True) + args.out.write_text(json.dumps(report, indent=2) + "\n") + print( + f"wrote {args.out} (commit {report['rl_kernel_commit'][:7]}, " + f"dirty={report['tracked_tree_dirty']})" + ) + + +if __name__ == "__main__": + main() diff --git a/tools/validation/models/qwen3_next_chain_report.py b/tools/validation/models/qwen3_next_chain_report.py new file mode 100644 index 000000000..99f19ea76 --- /dev/null +++ b/tools/validation/models/qwen3_next_chain_report.py @@ -0,0 +1,100 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Write the WS1 chain-gate report for a finished Qwen3-Next chain. + + python tools/validation/models/qwen3_next_chain_report.py \ + --last --out chain-report.json + +Follows ``previous`` from the given run back to the ``l2`` stage, reads every +passed stage's L2 matrix (``baseline`` from ``l2``, ``update1``/``update2`` +from ``train1``/``train2``, ``reload`` from ``train``) and the hash-checked case +artifacts it names, and writes ``rl_engine.validation.models.qwen3_next_chain_report``'s +report. Exits 1 when the chain did not pass. +""" + +import argparse +import json +import sys +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[3] +sys.path.insert(0, str(ROOT)) + +from rl_engine.contracts.numerical import load_contract # noqa: E402 +from rl_engine.validation.models.qwen3_next_chain_report import build_report # noqa: E402 +from rl_engine.validation.models.qwen3_next_l2 import ( # noqa: E402 + checked_artifact_path, + load_tensor_artifact, +) + +VERSION_OF_STAGE = {"l2": "baseline", "train1": "update1", "train2": "update2", "train": "reload"} + + +def chain_runs(last): + runs, run = [], Path(last).resolve() + while run is not None: + manifest = json.loads((run / "run.json").read_text()) + if manifest["stage"] in VERSION_OF_STAGE: + runs.append((manifest, run)) + if manifest["stage"] == "l2": + break + run = Path(manifest["previous"]) if manifest.get("previous") else None + if not runs or runs[-1][0]["stage"] != "l2": + raise SystemExit("The chain does not lead back to an l2 run") + commits = {manifest["source_commit"] for manifest, _ in runs} + if len(commits) != 1: + raise SystemExit(f"The chain mixes source commits: {sorted(commits)}") + return list(reversed(runs)) + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--last", type=Path, required=True, help="last passed stage run") + parser.add_argument("--out", type=Path, required=True) + args = parser.parse_args() + matrices, artifacts = {}, {} + gpu_name = None + for manifest, run in chain_runs(args.last): + result = json.loads((run / "result.json").read_text()) + if result.get("status") != "passed": + raise SystemExit(f"{manifest['stage']} did not pass") + attempt = run / "attempts" / result["attempt"] + matrix = json.loads((run / result["evidence"]["l2_matrix"]["path"]).read_text()) + version = VERSION_OF_STAGE[manifest["stage"]] + matrices[version] = matrix + artifacts[version] = { + case_id: { + role: load_tensor_artifact(checked_artifact_path(record, artifact_root=attempt)) + for role, record in matrix["cases"][case_id]["artifacts"].items() + } + for case_id in matrix["case_ids"] + } + environment = attempt / "environment.json" + if gpu_name is None and environment.is_file(): + gpu_name = json.loads(environment.read_text()).get("gpu_name") + identity = manifest["checkpoint_identity"] + report = build_report( + matrices, + artifacts, + contract=load_contract(), + measured_commit=manifest["source_commit"], + weight_source=f"Qwen/Qwen3-Next-80B-A3B-Instruct@{identity['revision']}", + weight_hash=identity["expected_content_hash"], + device="cuda", + gpu_name=gpu_name, + compute_capability=None, + ) + args.out.parent.mkdir(parents=True, exist_ok=True) + args.out.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n") + print( + f"chain passed={report['passed']} first_drift={report['first_drift']} " + f"family={report['first_drift_family']} cells={len(report['cells'])}" + ) + if not report["passed"]: + raise SystemExit(1) + + +if __name__ == "__main__": + main() diff --git a/tools/validation/models/qwen3_next_checkpoint.py b/tools/validation/models/qwen3_next_checkpoint.py new file mode 100644 index 000000000..2d3e9036a --- /dev/null +++ b/tools/validation/models/qwen3_next_checkpoint.py @@ -0,0 +1,312 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Publish and recover complete all-rank checkpoints on the shared filesystem. + +Training owns serialization and barriers. This module never loads tensor files; +all four ranks must finish model, optimizer, RNG and progress before publishing. +""" + +import json +import os +import shutil +from pathlib import Path + +from qwen3_next_contract import atomic_json +from qwen3_next_runtime import file_digest + +ROLES = frozenset(("model", "optimizer", "rng", "progress")) + + +def _sync_directory(path): + fd = os.open(path, os.O_RDONLY | os.O_DIRECTORY) + try: + os.fsync(fd) + finally: + os.close(fd) + + +def _file(root, relative): + relative = Path(relative) + if relative.is_absolute() or ".." in relative.parts: + raise ValueError("Checkpoint file must be relative to its checkpoint directory") + path = root / relative + if path.is_symlink() or not path.resolve().is_relative_to(root.resolve()) or not path.is_file(): + raise ValueError(f"Missing or external checkpoint file: {relative}") + return path + + +def write_rank_manifest(staging, *, rank, world_size, identity, step, sample_position, files): + staging = Path(staging) + if world_size != 4 or not 0 <= rank < world_size or step < 0 or sample_position < 0: + raise ValueError("Checkpoint requires four ranks and nonnegative progress") + if staging.suffix != ".partial" or (staging / "COMPLETE.json").exists(): + raise ValueError("Rank output requires an unpublished .partial checkpoint") + if set(files) != ROLES or any(not paths for paths in files.values()): + raise ValueError("Every rank must save model, optimizer, RNG and progress") + records = {} + seen = set() + for role, paths in files.items(): + records[role] = [] + for relative in paths: + if str(relative) in seen: + raise ValueError("A checkpoint file cannot fulfill multiple state roles") + seen.add(str(relative)) + path = _file(staging, relative) + with path.open("rb") as stream: + os.fsync(stream.fileno()) + records[role].append( + { + "path": str(relative), + "size": path.stat().st_size, + "sha256": file_digest(path), + } + ) + manifest = { + "schema_version": 1, + "rank": rank, + "world_size": world_size, + "identity": identity, + "step": step, + "sample_position": sample_position, + "files": records, + } + atomic_json(staging / f"rank-{rank}.manifest.json", manifest) + return manifest + + +def _validate_ranks(root, *, world_size, identity, verify_files=True): + if world_size != 4: + raise ValueError("Checkpoint topology must use four ranks") + manifests = [] + used_paths = set() + progress = None + for rank in range(world_size): + manifest = json.loads((root / f"rank-{rank}.manifest.json").read_text()) + if (manifest.get("schema_version"), manifest.get("rank"), manifest.get("world_size")) != ( + 1, + rank, + world_size, + ): + raise ValueError("Checkpoint rank topology mismatch") + if manifest.get("identity") != identity: + raise ValueError("Checkpoint model/provider/environment identity mismatch") + current = (manifest.get("step"), manifest.get("sample_position")) + if any( + not isinstance(value, int) or isinstance(value, bool) or value < 0 for value in current + ): + raise ValueError("Invalid checkpoint progress") + if progress is not None and current != progress: + raise ValueError("Checkpoint ranks have different progress") + progress = current + files = manifest.get("files", {}) + if set(files) != ROLES or any(not paths for paths in files.values()): + raise ValueError("Checkpoint omits required optimizer/RNG/model/progress state") + for records in files.values(): + for record in records: + if record["path"] in used_paths: + raise ValueError("Checkpoint ranks must own distinct state files") + used_paths.add(record["path"]) + path = _file(root, record["path"]) + if path.stat().st_size != record["size"]: + raise ValueError(f"Checkpoint state size mismatch: {record['path']}") + if verify_files and file_digest(path) != record["sha256"]: + raise ValueError(f"Checkpoint state checksum mismatch: {record['path']}") + manifests.append(manifest) + return manifests + + +def publish_checkpoint(staging, destination, *, world_size, identity): + staging, destination = Path(staging), Path(destination) + if ( + staging.suffix != ".partial" + or destination.suffix == ".partial" + or destination.name.startswith(".") + ): + raise ValueError("Publish from a .partial directory to a visible completed directory") + if staging.parent.resolve() != destination.parent.resolve() or destination.exists(): + raise ValueError("Checkpoint publication needs a new sibling destination") + manifests = _validate_ranks(staging, world_size=world_size, identity=identity) + complete = { + "schema_version": 1, + "status": "complete", + "world_size": world_size, + "identity": identity, + "step": manifests[0]["step"], + "sample_position": manifests[0]["sample_position"], + "rank_manifests": { + str(rank): file_digest(staging / f"rank-{rank}.manifest.json") + for rank in range(world_size) + }, + } + atomic_json(staging / "COMPLETE.json", complete) + # Sync nested directory entries as well as file contents before publication. + directories = sorted( + (path for path in staging.rglob("*") if path.is_dir()), + key=lambda path: len(path.parts), + reverse=True, + ) + for directory in directories: + _sync_directory(directory) + _sync_directory(staging) + staging.rename(destination) + _sync_directory(destination.parent) + atomic_json( + destination.parent / "LATEST.json", + { + "path": destination.name, + "step": complete["step"], + "complete_sha256": file_digest(destination / "COMPLETE.json"), + }, + ) + return complete + + +def validate_checkpoint(path, expected_identity, *, verify_files=True): + """Validate a published checkpoint's markers, manifests and files. + + ``verify_files=False`` checks every state file's presence and size but not its + content digest; callers use it where the content is verified anyway when the + files are read (the native restore compares every loaded tensor against the + saved digests), so a 1.1 TB checkpoint is not rehashed before each phase. + """ + path = Path(path) + if path.suffix == ".partial" or path.name.startswith("."): + raise ValueError("Unpublished checkpoint cannot be loaded") + complete = json.loads((path / "COMPLETE.json").read_text()) + if complete.get("schema_version") != 1 or complete.get("status") != "complete": + raise ValueError("Checkpoint has no supported completion marker") + if complete.get("identity") != expected_identity: + raise ValueError("Checkpoint model/provider/environment identity mismatch") + manifests = _validate_ranks( + path, + world_size=complete["world_size"], + identity=expected_identity, + verify_files=verify_files, + ) + if complete.get("rank_manifests") != { + str(rank): file_digest(path / f"rank-{rank}.manifest.json") for rank in range(4) + }: + raise ValueError("Checkpoint rank manifest checksum mismatch") + if (complete.get("step"), complete.get("sample_position")) != ( + manifests[0]["step"], + manifests[0]["sample_position"], + ): + raise ValueError("Completion marker progress mismatch") + return complete + + +def resume_interrupted_publications(root, expected_identity): + """Publish every fully written ``.partial`` checkpoint a killed job left unpublished. + + A preempted job can die after all four ranks wrote their files and manifests + but before rank 0 validated and renamed the directory. Such a directory is + publishable as is: publication rehashes every file against the manifests, + so an incomplete or damaged one is left for the normal retirement path. + Returns journal recovery records. + """ + root = Path(root) + records = [] + for staging in sorted(root.glob("*.partial")): + if not staging.is_dir() or staging.is_symlink() or (staging / "COMPLETE.json").exists(): + continue + marker = staging / "STAGING.json" + if not marker.is_file(): + continue + metadata = json.loads(marker.read_text()) + if metadata.get("identity") != expected_identity or metadata.get("status") != "staging": + continue + if not all((staging / f"rank-{rank}.manifest.json").is_file() for rank in range(4)): + continue + destination = staging.with_suffix("") + if destination.exists(): + continue + try: + complete = publish_checkpoint( + staging, destination, world_size=4, identity=expected_identity + ) + except (OSError, ValueError, KeyError) as exc: + records.append( + { + "reason": "interrupted_publication_not_resumable", + "staging": staging.name, + "error": str(exc)[:300], + } + ) + continue + records.append( + { + "reason": "interrupted_publication_resumed", + "checkpoint": destination.name, + "step": complete["step"], + } + ) + return records + + +def newest_complete_checkpoint(root, expected_identity, *, verify_files=True): + """Return a recovery record, retaining rejected and interrupted candidates.""" + root = Path(root) + candidates, rejected, interrupted = [], [], [] + for path in sorted(root.iterdir()): + if not path.is_dir(): + continue + if path.suffix == ".partial" or path.name.startswith("."): + interrupted.append(path.name) + continue + try: + complete = validate_checkpoint(path, expected_identity, verify_files=verify_files) + except (OSError, ValueError, KeyError) as exc: + rejected.append({"path": path.name, "reason": str(exc)}) + else: + candidates.append((complete["step"], path, complete)) + if not candidates and rejected: + raise ValueError(f"No valid published checkpoint remains: {rejected}") + chosen = max(candidates, key=lambda item: (item[0], item[1].name)) if candidates else None + return { + "checkpoint": str(chosen[1]) if chosen else None, + "step": chosen[0] if chosen else None, + "sample_position": chosen[2]["sample_position"] if chosen else None, + "rejected": rejected, + "interrupted": interrupted, + } + + +def require_checkpoint_disk_space( + root, *, checkpoint_bytes, export_bytes, retained_complete_bytes=0, headroom_bytes=16 * 1024**3 +): + """Budget last+next checkpoint and exports before serializing, without deletion. + + checkpoint_bytes includes model, optimizer/master weights, RNG and progress. + retained_complete_bytes discounts only already retained complete checkpoint + bytes; unfinished directories are never counted as available or reusable. + """ + if ( + any( + type(value) is not int or value < 0 + for value in (checkpoint_bytes, export_bytes, retained_complete_bytes, headroom_bytes) + ) + or checkpoint_bytes == 0 + ): + raise ValueError("Checkpoint disk estimates must be nonnegative integer byte counts") + retained = min(retained_complete_bytes, checkpoint_bytes) + required = 2 * checkpoint_bytes + export_bytes + headroom_bytes - retained + usage = shutil.disk_usage(root) + record = { + "scope": "checkpoint_disk_budget", + "checkpoint_bytes": checkpoint_bytes, + "last_plus_next_bytes": 2 * checkpoint_bytes, + "export_bytes": export_bytes, + "retained_complete_bytes": retained, + "headroom_bytes": headroom_bytes, + "required_free_bytes": required, + "actual_free_bytes": usage.free, + "status": "passed" if usage.free >= required else "insufficient_disk", + } + atomic_json(Path(root) / "disk-budget.json", record) + if usage.free < required: + raise RuntimeError( + f"insufficient_disk: need {required} free bytes for last+next checkpoint " + f"and exports, have {usage.free}" + ) + return record diff --git a/tools/validation/models/qwen3_next_contract.py b/tools/validation/models/qwen3_next_contract.py new file mode 100644 index 000000000..428746bfc --- /dev/null +++ b/tools/validation/models/qwen3_next_contract.py @@ -0,0 +1,372 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Versioned acceptance checks shared by the stage runners and the launcher.""" + +import hashlib +import json +import re +from pathlib import Path + +from qwen3_next_runtime import atomic_json, file_digest, identity_digest # noqa: F401 + +CONTRACT_VERSION = 4 +SCOPES = { + "components": "qwen3_next_components_only", + "diagnostics": "qwen3_next_operator_diagnostics", + "preflight": "four_gpu_infrastructure_and_operators_only", + "layers": "qwen3_next_layer_and_scheduler_gates", + "l2": "qwen3_next_full_model_l2", + "train1": "qwen3_next_training_update1", + "train2": "qwen3_next_training_update2", + "train": "qwen3_next_training_and_reload", +} +# Stages that evaluate the full model against updated weights (an L2 matrix each). +TRAIN_STAGES = ("train1", "train2", "train") +IDENTITY_FIELDS = ( + "contract_version", + "source_tree", + "environment_sha256", + "cuda_identity", + "checkpoint_identity", + "provider_config", + "topology", + "operator_requirements", + "layer_requirements", +) + + +def checkpoint_identity(checkpoint): + checkpoint = Path(checkpoint) + metadata = { + str(path.relative_to(checkpoint)): file_digest(path) + for path in sorted(checkpoint.iterdir()) + if path.is_file() and path.suffix != ".safetensors" + } + index = json.loads((checkpoint / "model.safetensors.index.json").read_text()) + reference = json.loads( + ( + Path(__file__).resolve().parents[3] + / "rl_engine/validation/models/qwen3_next_norm_manifest.json" + ).read_text() + )["model_identity"] + snapshot = reference["weight_snapshot"] + if ( + checkpoint.name != reference["revision"] + or metadata.get(snapshot["index_file"]) != snapshot["index_sha256"] + ): + raise ValueError("Checkpoint metadata does not match the official pinned revision") + expected_shards = {item["filename"]: item for item in snapshot["shards"]} + if set(index["weight_map"].values()) != expected_shards.keys(): + raise ValueError("Checkpoint shard inventory differs from the official revision") + shards = {} + for filename, expected in sorted(expected_shards.items()): + stat = (checkpoint / filename).stat() + if stat.st_size != expected["size_bytes"]: + raise ValueError(f"Checkpoint shard size mismatch: {filename}") + shards[filename] = { + "size": stat.st_size, + "mtime_ns": stat.st_mtime_ns, + "ctime_ns": stat.st_ctime_ns, + "expected_sha256": expected["sha256"], + } + return { + "revision": checkpoint.name, + "metadata": metadata, + "shards": shards, + "expected_content_hash": snapshot["content_hash"], + "full_hash_verification": "required_before_model_load", + } + + +def operator_requirements(root, suite): + registry = json.loads( + (Path(root) / "rl_engine/validation/models/qwen3_next_operator_cases.json").read_text() + ) + if registry.get("schema_version") != 1: + raise ValueError("Unsupported mandatory operator case registry") + suites = registry["suites"] + cases = sorted(suites["norm"] + suites["core"] if suite == "all" else suites[suite]) + if not cases or len(cases) != len(set(cases)): + raise ValueError("Mandatory operator case registry is empty or duplicated") + gates = ( + sorted( + f"{op}-{gate}.json" + for op in ("qwen3_next_rms_norm", "rms_norm_gated") + for gate in ("forward", "gradient") + ) + if suite in ("all", "norm") + else [] + ) + return { + "suite": suite, + "case_ids": cases, + "case_ids_sha256": hashlib.sha256(("\n".join(cases) + "\n").encode()).hexdigest(), + "norm_gates": gates, + } + + +def latest_attempt(run_dir, scheduler_attempt=None): + values = [ + int(path.name) + for path in (Path(run_dir) / "attempts").glob("*") + if path.is_dir() and path.name.isdigit() + ] + if scheduler_attempt is not None: + if not str(scheduler_attempt).isdigit(): + raise ValueError("Invalid scheduler attempt identity") + values.append(int(scheduler_attempt)) + return str(max(values)) if values else None + + +def acceptance_identity(manifest): + return {field: manifest[field] for field in IDENTITY_FIELDS} + + +def result_envelope(manifest, attempt, *, evidence): + return { + **acceptance_identity(manifest), + "source_commit": manifest["source_commit"], + "run_id": manifest["run_id"], + "stage": manifest["stage"], + "suite": manifest.get("suite", "all"), + "execution_id": manifest["execution_id"], + "attempt": str(attempt), + "status": "diagnostic_completed" if manifest["stage"] == "diagnostics" else "passed", + "phase": "complete", + "scope": SCOPES[manifest["stage"]], + "full_model_l2": "not_evaluated", + "evidence": evidence, + } + + +def evidence_record(path, root): + return {"path": str(Path(path).relative_to(root)), "sha256": file_digest(path)} + + +def validate_partial_training_evidence(manifest, root, evidence, *, attempt_root): + """train1/train2: the progress record, its last phase's worker export and L2 matrix agree. + + A training phase's L2 runs on that phase's exported weights, so its matrix + identity is the run's model identity with the export as the checkpoint (the + pinned base recorded as ``base_checkpoint``), exactly as the stage built it. + """ + from qwen3_next_l2 import model_identity + from qwen3_next_training import STAGE_LAST_PHASE, read_record, stage_phases + + from rl_engine.validation.models.qwen3_next_l2 import validate_matrix_report + + stage = manifest["stage"] + progress = json.loads((root / evidence["updates"]["path"]).read_text()) + phases = list(stage_phases(stage)) + last = STAGE_LAST_PHASE[stage] + if ( + progress.get("status") != "passed" + or progress.get("scope") != SCOPES[stage] + or progress.get("identity") != model_identity(manifest) + or progress.get("phases") != phases + or any(phase not in progress.get("workers", {}) for phase in phases) + ): + raise ValueError("Training progress identity, scope or phases mismatch") + matrix_record = progress.get("l2_reports", {}).get(last, {}) + if matrix_record.get("sha256") != evidence["l2_matrix"]["sha256"]: + raise ValueError("Training progress does not reference the accepted L2 matrix") + worker = read_record(progress["workers"][last]) + export = worker.get("export") or {} + if ( + export.get("weight_version") is None + or export.get("base_checkpoint") != manifest["checkpoint"] + ): + raise ValueError("Training phase export does not derive from the pinned base checkpoint") + report = json.loads((root / evidence["l2_matrix"]["path"]).read_text()) + validate_matrix_report( + report, + expected_identity=model_identity({**manifest, **export}), + artifact_root=attempt_root, + ) + + +def validate_result(manifest, result, *, run_dir=None, attempt=None): + if manifest.get("contract_version") != CONTRACT_VERSION: + raise ValueError("Historical acceptance contract cannot authorize a new stage") + expected = { + **acceptance_identity(manifest), + "source_commit": manifest["source_commit"], + "run_id": manifest["run_id"], + "stage": manifest["stage"], + "suite": manifest.get("suite", "all"), + "status": "diagnostic_completed" if manifest["stage"] == "diagnostics" else "passed", + "phase": "complete", + "scope": SCOPES[manifest["stage"]], + } + for field, value in expected.items(): + if result.get(field) != value: + raise ValueError(f"Acceptance identity mismatch: {field}") + if not re.fullmatch(r"[0-9a-f]{32}", str(manifest.get("execution_id", ""))): + raise ValueError("Run has no launcher execution identity") + if result.get("execution_id") != manifest["execution_id"]: + raise ValueError("Acceptance execution identity mismatch") + if not str(result.get("attempt", "")).isdigit(): + raise ValueError("Acceptance has no attempt identity") + if run_dir is not None: + attempt = latest_attempt(run_dir, attempt) + if attempt is not None and result["attempt"] != str(attempt): + raise ValueError("Acceptance belongs to a stale attempt") + if manifest["stage"] in ("l2", *TRAIN_STAGES) and result.get("full_model_l2") != "passed": + raise ValueError("Full-model L2 evidence is required") + if ( + manifest["stage"] not in ("l2", *TRAIN_STAGES) + and result.get("full_model_l2") != "not_evaluated" + ): + raise ValueError("Component and layer acceptance cannot claim full-model L2") + if manifest["stage"] == "train" and result.get("training_and_reload") != "passed": + raise ValueError("Two updates and reload evidence is required") + evidence = result.get("evidence", {}) + required = {"operators", "environment"} + if manifest["stage"] == "preflight": + required |= {"device_guards", "tp4", "checkpoint", "rollout_smoke"} + if manifest["stage"] == "components" and manifest.get("suite") in ("norm", "all"): + required.add("device_guards") + if manifest["stage"] in ("l2", *TRAIN_STAGES): + required |= {"l2_matrix"} + if manifest["stage"] == "l2": + required.add("provider_binary") + if manifest["stage"] == "layers": + required |= {"layers", "checkpoint", "provider_binary"} + if manifest["stage"] == "train": + required |= {"updates", "reload"} + if manifest["stage"] in ("train1", "train2"): + required |= {"updates"} + if not required <= evidence.keys(): + raise ValueError(f"Incomplete acceptance evidence: {sorted(required - evidence.keys())}") + if run_dir is not None: + root = Path(run_dir).resolve() + attempt_root = root / "attempts" / result["attempt"] + for record in evidence.values(): + path = (root / record["path"]).resolve() + if not path.is_relative_to(attempt_root) or file_digest(path) != record["sha256"]: + raise ValueError("Acceptance evidence content/attempt mismatch") + operators = json.loads((root / evidence["operators"]["path"]).read_text()) + if ( + operators.get("status") != expected["status"] + or operators.get("git_commit") != manifest["source_commit"] + ): + raise ValueError("Operator evidence must match the completed source run") + requirement = manifest["operator_requirements"] + if manifest["stage"] == "diagnostics": + if ( + operators.get("diagnostic_only") is not True + or operators.get("case_ids_sha256") != requirement["case_ids_sha256"] + ): + raise ValueError("Diagnostic evidence case identity mismatch") + return identity_digest(expected) + case_ids = operators.get("mandatory_case_ids", []) + if ( + case_ids != requirement["case_ids"] + or operators.get("case_ids_sha256") != requirement["case_ids_sha256"] + ): + raise ValueError("Evidence differs from the pinned mandatory case registry") + gates = operators.get("norm_gates", {}) + if sorted(gates) != requirement["norm_gates"] or any( + gate.get("passed") is not True for gate in gates.values() + ): + raise ValueError("Norm C3/C4 evidence is missing or failed") + expected_digest = hashlib.sha256(("\n".join(sorted(case_ids)) + "\n").encode()).hexdigest() + counts = operators.get("provider_tests", {}) + if ( + not case_ids + or len(case_ids) != len(set(case_ids)) + or len(case_ids) != counts.get("tests") + or operators.get("case_ids_sha256") != expected_digest + ): + raise ValueError("Mandatory operator case identities do not match the evidence") + if not counts.get("tests") or any( + counts.get(key, 0) for key in ("skipped", "errors", "failures") + ): + raise ValueError("Required operator tests must pass without skips") + if manifest["stage"] in ("layers", "l2", *TRAIN_STAGES): + from qwen3_next_l2 import model_identity + + if manifest["stage"] == "layers": + from qwen3_next_layer_contract import validate_layer_report + + checkpoint = json.loads((root / evidence["checkpoint"]["path"]).read_text()) + if any( + checkpoint.get(key) != value + for key, value in { + "revision": manifest["checkpoint_identity"]["revision"], + "content_hash": manifest["checkpoint_identity"]["expected_content_hash"], + "shards_verified": len(manifest["checkpoint_identity"]["shards"]), + }.items() + ): + raise ValueError( + "Layer checkpoint verification differs from the pinned snapshot" + ) + report = json.loads((root / evidence["layers"]["path"]).read_text()) + validate_layer_report( + report, + manifest["layer_requirements"], + model_identity(manifest), + root=attempt_root, + ) + else: + from rl_engine.validation.models.qwen3_next_l2 import validate_matrix_report + + certificate = manifest.get("scheduler_profile_certificate", {}) + certificate_path = Path(certificate.get("path", "")) + if not certificate_path.is_absolute() or file_digest( + certificate_path + ) != certificate.get("sha256"): + raise ValueError("Strict L2 requires its pinned native scheduler certificate") + certified_manifest = json.loads((certificate_path.parent / "run.json").read_text()) + certified_result = json.loads(certificate_path.read_text()) + if certified_manifest.get("stage") != "layers" or acceptance_identity( + certified_manifest + ) != acceptance_identity(manifest): + raise ValueError("Strict L2 certificate belongs to another provider identity") + validate_result( + certified_manifest, certified_result, run_dir=certificate_path.parent + ) + if manifest["stage"] == "train": + from qwen3_next_training import validate_training_report + + if evidence["updates"]["sha256"] != evidence["reload"]["sha256"]: + raise ValueError( + "Update and reload evidence must name the same complete report" + ) + report = json.loads((root / evidence["updates"]["path"]).read_text()) + sections = { + "baseline", + "update1", + "update2", + "reload", + "continuous_step3", + "resumed_step3", + "checkpoint", + "fault_injection", + } + if ( + report.get("identity") != model_identity(manifest) + or set(report.get("required_sections", [])) != sections + ): + raise ValueError("Training report identity or required sections mismatch") + if ( + report.get("l2_reports", {}).get("reload", {}).get("sha256") + != evidence["l2_matrix"]["sha256"] + ): + raise ValueError( + "Training reload does not reference the accepted full L2 matrix" + ) + validate_training_report(report, verify_files=True) + elif manifest["stage"] in ("train1", "train2"): + validate_partial_training_evidence( + manifest, root, evidence, attempt_root=attempt_root + ) + else: + report = json.loads((root / evidence["l2_matrix"]["path"]).read_text()) + validate_matrix_report( + report, + expected_identity=model_identity(manifest), + artifact_root=attempt_root, + ) + return identity_digest(expected) diff --git a/tools/validation/models/qwen3_next_gate_common.py b/tools/validation/models/qwen3_next_gate_common.py new file mode 100644 index 000000000..f1a8e94b5 --- /dev/null +++ b/tools/validation/models/qwen3_next_gate_common.py @@ -0,0 +1,135 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Shared pieces of the Qwen3-Next TP4 real-weight gates (``scripts/qwen3_next_tp_*_check.py``). + +Each gate is launched as ``torchrun --nproc-per-node 4 scripts/.py +--checkpoint --output `` and writes one ``rank-.json``. +""" + +import argparse +import json +import os +import subprocess +from collections.abc import Mapping +from datetime import timedelta +from importlib.metadata import version +from pathlib import Path + +import torch +import torch.distributed as dist +from safetensors import safe_open + +ROOT = Path(__file__).resolve().parents[3] + + +class CheckpointWeights(Mapping): + """Keep shard headers open while reading only the requested layer's tensors.""" + + def __init__(self, checkpoint, prefix, names, stack): + self.root, self.prefix, self.names, self.stack = checkpoint, prefix, tuple(names), stack + self.index = json.loads((checkpoint / "model.safetensors.index.json").read_text())[ + "weight_map" + ] + self.readers = {} + + def __iter__(self): + return iter(self.names) + + def __len__(self): + return len(self.names) + + def __getitem__(self, name): + if name not in self.names: + raise KeyError(name) + key = self.prefix + name + shard = self.index[key] + if shard not in self.readers: + self.readers[shard] = self.stack.enter_context( + safe_open(self.root / shard, framework="pt", device="cpu") + ) + return self.readers[shard].get_tensor(key) + + +def gather(value): + peers = [torch.empty_like(value) for _ in range(4)] + dist.all_gather(peers, value.contiguous()) + return peers + + +def check_gradients(module): + result = {} + for name, parameter in module.named_parameters(): + grad = parameter.grad + if grad is None or not torch.isfinite(grad).all() or not grad.count_nonzero(): + raise AssertionError(f"Missing finite nonzero gradient: {name}") + result[name] = float(grad.float().abs().max()) + return result + + +def timed(fn): + start, end = torch.cuda.Event(enable_timing=True), torch.cuda.Event(enable_timing=True) + start.record() + out = fn() + end.record() + torch.cuda.synchronize() + return out, start.elapsed_time(end) * 1000.0 + + +def _git(*args): + return subprocess.run( + ["git", *args], cwd=ROOT, check=True, capture_output=True, text=True + ).stdout.strip() + + +def provenance(): + from rl_engine.models.qwen3_next.qwen3_next_forward import FORWARD_PROVIDER_ID + + return { + "rl_kernel_commit": _git("rev-parse", "HEAD"), + "tracked_tree_dirty": bool(_git("status", "--porcelain", "--untracked-files=no")), + "provider": FORWARD_PROVIDER_ID, + "environment": { + "gpu": torch.cuda.get_device_name(), + "torch": torch.__version__, + "vllm": version("vllm"), + "nccl": ".".join(map(str, torch.cuda.nccl.version())), + }, + } + + +def run_gate(description, scope, gate): + """Parse ``--checkpoint/--output``, run ``gate(checkpoint, generator)`` on four ranks.""" + parser = argparse.ArgumentParser(description=description) + parser.add_argument("--checkpoint", required=True, type=Path) + parser.add_argument("--output", required=True, type=Path) + args = parser.parse_args() + rank = int(os.environ["LOCAL_RANK"]) + if int(os.environ["WORLD_SIZE"]) != 4 or torch.cuda.device_count() < 4: + raise RuntimeError(f"The {scope} gate requires exactly four ranks on four GPUs") + torch.cuda.set_device(rank) + dist.init_process_group( + "nccl", timeout=timedelta(minutes=15), device_id=torch.device("cuda", rank) + ) + try: + generator = torch.Generator(device="cuda").manual_seed(1234) + result = gate(args.checkpoint, generator) + args.output.mkdir(parents=True, exist_ok=True) + path = args.output / f"rank-{rank}.json" + partial = path.with_suffix(".json.partial") + from rl_engine.integrations.common.qwen3_next_binary import imported_provider_identity + + payload = { + "status": "passed", + "scope": scope, + "full_model_l2": "not_evaluated", + "rank": rank, + "provider_binary": imported_provider_identity(), + **provenance(), + **result, + } + partial.write_text(json.dumps(payload, indent=2) + "\n") + partial.replace(path) + dist.barrier() + finally: + dist.destroy_process_group() diff --git a/tools/validation/models/qwen3_next_l2.py b/tools/validation/models/qwen3_next_l2.py new file mode 100644 index 000000000..cb874ca0e --- /dev/null +++ b/tools/validation/models/qwen3_next_l2.py @@ -0,0 +1,742 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Independent native rollout/recompute processes; no numerical fallback.""" + +import argparse +import importlib +import json +import os +import shutil +import subprocess +import sys +import time +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[3] +sys.path.insert(0, str(ROOT)) + +from qwen3_next_contract import ( # noqa: E402 + atomic_json, + checkpoint_identity, + evidence_record, + result_envelope, + validate_result, +) +from qwen3_next_runtime import ( # noqa: E402 + failure_fields, + file_digest, + memory_limits, + parse_memory_request, + subprocess_failure, + verify_checkpoint, + verify_environment, +) + +from rl_engine.validation.models.qwen3_next_binary import ( # noqa: E402 + archive_provider_binary, + validate_binary_record, + verify_imported_provider, +) +from rl_engine.validation.models.qwen3_next_l2 import ( # noqa: E402 + NATIVE_WORKER_MODULE, + PROMPT_LENGTHS, + L2Case, + case_matrix, + compare_artifacts, + compare_batch_prefill, + first_divergent_layer, + first_divergent_node, + json_digest, + load_tensor_artifact, + prompt_fixture, + save_tensor_artifact, + validate_debug_capture, + validate_fixture, + validate_matrix_report, + validate_model_artifact, + worker_request, +) + + +def check_ready(): + try: + module = importlib.import_module(NATIVE_WORKER_MODULE) + except ModuleNotFoundError as exc: + raise RuntimeError(f"native_workers_not_ready: {exc}") from exc + required = { + "rollout": True, + "recompute": True, + "debug_layers": True, + "architecture_layers": 48, + "tp": 4, + "batched_cases": True, + } + actual = module.capabilities() + if any(actual.get(key) != value for key, value in required.items()): + raise RuntimeError(f"native_workers_not_ready: required {required}, received {actual}") + if any( + not callable(getattr(module, name, None)) + for name in ( + "run_rollout_case", + "run_recompute_case", + "run_rollout_cases", + "run_recompute_cases", + ) + ): + raise RuntimeError("native_workers_not_ready: actual model worker entrypoints missing") + return module, actual + + +def model_identity(manifest): + identity = { + **( + {"scheduler_profile_certificate": manifest["scheduler_profile_certificate"]} + if "scheduler_profile_certificate" in manifest + else {} + ), + "source_commit": manifest["source_commit"], + "source_tree": manifest["source_tree"], + "environment_sha256": manifest["environment_sha256"], + "checkpoint": manifest["checkpoint"], + "weight_version": manifest.get("weight_version", "baseline"), + "checkpoint_identity": manifest["checkpoint_identity"], + "provider_config": manifest["provider_config"], + "topology": manifest["topology"], + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "recurrent_state_dtype": "float32", + } + if manifest.get("weight_version", "baseline") != "baseline": + identity.update( + base_checkpoint=manifest["base_checkpoint"], + base_checkpoint_identity=manifest["base_checkpoint_identity"], + ) + from rl_engine.validation.models.qwen3_next_l2 import validate_weight_identity + + validate_weight_identity(identity) + return identity + + +def verify_before_model_load(manifest, output): + if manifest.get("weight_version", "baseline") != "baseline": + verified = verify_updated_weights(manifest) + else: + if checkpoint_identity(manifest["checkpoint"]) != manifest["checkpoint_identity"]: + raise RuntimeError("checkpoint_mismatch: official weight snapshot changed") + reference = json.loads( + (ROOT / "rl_engine/validation/models/qwen3_next_norm_manifest.json").read_text() + )["model_identity"] + verified = verify_checkpoint(Path(manifest["checkpoint"]), reference) + atomic_json(output / "weight-verification.json", verified) + return verified + + +def verify_updated_weights(manifest): + from qwen3_next_training_export import validate_training_export + + verified = validate_training_export(manifest["checkpoint"], manifest["checkpoint_identity"]) + expected = { + "weight_version": manifest["weight_version"], + "base_checkpoint": manifest["base_checkpoint"], + "base_checkpoint_identity": manifest["base_checkpoint_identity"], + } + if any(verified.get(key) != value for key, value in expected.items()): + raise RuntimeError("checkpoint_mismatch: updated weights/base/version provenance differs") + for key in ( + "source_commit", + "source_tree", + "environment_sha256", + "provider_config", + "topology", + ): + if verified["training_identity"].get(key) != manifest[key]: + raise RuntimeError(f"checkpoint_mismatch: updated weights changed {key}") + return verified + + +def run_one(module, role, request, output): + output.parent.mkdir(parents=True, exist_ok=True) + atomic_json(output.with_suffix(".request.json"), request) + getattr(module, f"run_{role}_case")(request, output) + if not output.is_file(): + raise RuntimeError("Native worker did not produce a full-vocabulary tensor artifact") + artifact = load_tensor_artifact(output) + validate_model_artifact(artifact, request) + validate_debug_capture(artifact, request) + return artifact + + +def worker_batch( + manifest, + output, + role, + fixture_path, + *, + debug_request=None, + native_worker=None, + provider_binary=None, +): + if manifest.get("weight_version", "baseline") != "baseline" and not fixture_path.is_file(): + raise RuntimeError("Updated weights must reuse the already frozen baseline input fixture") + module, capabilities = check_ready() if native_worker is None else native_worker + verify_environment(manifest["environment"], require_venv=True) + output.mkdir(parents=True, exist_ok=debug_request is not None) + verify_before_model_load(manifest, output) + identity = model_identity(manifest) + actual_binary = None + if provider_binary is not None: + actual_binary = verify_imported_provider( + provider_binary, source_tree=manifest["source_tree"] + ) + elif manifest["provider_config"].get("profile") == "qwen3_next_tp4_shared_eager_v1": + raise RuntimeError("Native worker requires the stage's pinned CUDA binary evidence") + if debug_request is not None: + request = json.loads(debug_request.read_text()) + if request["identity"] != identity or request["role"] != role: + raise ValueError("Debug request identity mismatch") + artifact = run_one(module, role, request, output / "debug.pt") + if not artifact.get("debug_tensors"): + raise RuntimeError("First divergence rerun did not save layer/recurrent-state tensors") + return + fixture = None + if fixture_path.is_file(): + fixture = load_tensor_artifact(fixture_path) + validate_fixture(fixture) + elif role != "rollout": + raise RuntimeError("Recompute requires the already frozen baseline token fixture") + records, pending = {}, [] + + def cases(): + nonlocal fixture + if fixture is None: + from transformers import AutoTokenizer + + from rl_engine.validation.models.qwen3_next_l2 import freeze_responses + + tokenizer = AutoTokenizer.from_pretrained( + manifest["checkpoint"], local_files_only=True, trust_remote_code=False + ) + prompts = prompt_fixture(tokenizer, manifest["checkpoint_identity"]["metadata"]) + baseline, baseline_records = {}, {} + for length in PROMPT_LENGTHS: + case = L2Case(length, 4, "full") + request = worker_request(case, prompts, role=role, identity=identity, generate=True) + path = output / "baseline" / f"{case.case_id}.pt" + path.parent.mkdir(parents=True, exist_ok=True) + atomic_json(path.with_suffix(".request.json"), request) + atomic_json( + output / "active-case.json", + { + "case_id": case.case_id, + "phase": "baseline_generation", + "request": str(path.with_suffix(".request.json")), + }, + ) + yield request, path + artifact = load_tensor_artifact(path) + validate_model_artifact(artifact, request) + if actual_binary is not None and artifact.get("provider_binary") != actual_binary: + raise ValueError("Baseline generation used a different CUDA provider") + baseline[str(length)] = artifact + baseline_records[str(length)] = {"path": str(path), "sha256": file_digest(path)} + fixture = freeze_responses( + prompts, + baseline, + baseline_identity=json_digest(identity), + baseline_records=baseline_records, + ) + validate_fixture(fixture) + save_tensor_artifact(fixture_path, fixture) + tokenizer_identity = manifest.get( + "base_checkpoint_identity", manifest["checkpoint_identity"] + ) + if fixture["prompt_identity"]["tokenizer"] != tokenizer_identity["metadata"]: + raise RuntimeError("Frozen input tokenizer identity mismatch") + for case in case_matrix(): + request = worker_request(case, fixture, role=role, identity=identity) + path = output / f"{case.case_id}.pt" + atomic_json(path.with_suffix(".request.json"), request) + atomic_json( + output / "active-case.json", + { + "case_id": case.case_id, + "phase": ( + "preparing_recompute_requests" if role == "recompute" else "frozen_inputs" + ), + "request": str(path.with_suffix(".request.json")), + }, + ) + # Recompute materializes this iterator before one four-rank model + # lifetime. Its artifacts therefore exist only after the batch returns. + # Rollout's baseline loop above stays lazy to freeze generated tokens. + pending.append((request, path)) + yield request, path + + getattr(module, f"run_{role}_cases")(cases()) + if [request["case_id"] for request, _ in pending] != [case.case_id for case in case_matrix()]: + raise RuntimeError("Native batch worker did not consume every required case") + for request, path in pending: + artifact = load_tensor_artifact(path) + validate_model_artifact(artifact, request) + if actual_binary is not None and artifact.get("provider_binary") != actual_binary: + raise ValueError("Native rank traces used a different CUDA provider") + records[request["case_id"]] = { + "path": str(path), + "sha256": file_digest(path), + "request_sha256": request["request_sha256"], + } + if manifest.get("weight_version", "baseline") != "baseline": + verify_updated_weights(manifest) + elif checkpoint_identity(manifest["checkpoint"]) != manifest["checkpoint_identity"]: + raise RuntimeError("checkpoint_mismatch: weights changed during model execution") + if provider_binary is not None: + verify_imported_provider(provider_binary, source_tree=manifest["source_tree"]) + atomic_json( + output / "worker-result.json", + { + "status": "passed", + "role": role, + "pid": os.getpid(), + "identity": identity, + "capabilities": capabilities, + "fixture_sha256": fixture["content_sha256"], + "cases": records, + "provider_binary": actual_binary, + }, + ) + + +def run_process(command, *, log_path, timeout=4 * 3600, cleanup_grace_seconds=10): + with Path(log_path).open("w") as log: + child = subprocess.Popen( + command, stdout=log, stderr=subprocess.STDOUT, start_new_session=True + ) + try: + code = child.wait(timeout=timeout) + except BaseException: + from qwen3_next_runtime import wait_owned_child + + # The leader may exit on TERM while workers in its group ignore it. + # Finish the bounded group cleanup even after the leader has exited. + wait_owned_child(child, lambda: True, grace_seconds=cleanup_grace_seconds) + raise + if code: + raise subprocess_failure(code, log_path) + return {"pid": child.pid, "exit_code": code, "log": str(log_path)} + + +def gpu_probe(output): + import torch + + if torch.cuda.device_count() != 4 or any( + "B200" not in torch.cuda.get_device_name(index) for index in range(4) + ): + raise RuntimeError("topology_mismatch: four allocated B200 GPUs required") + atomic_json( + output, {"uuids": [str(torch.cuda.get_device_properties(index).uuid) for index in range(4)]} + ) + + +def wait_gpu_release(uuids, *, timeout=30): + wanted = {uuid.lower().removeprefix("gpu-") for uuid in uuids} + deadline = time.monotonic() + timeout + while True: + output = subprocess.check_output( + [ + "nvidia-smi", + "--query-compute-apps=pid,gpu_uuid,used_gpu_memory", + "--format=csv,noheader,nounits", + ], + text=True, + timeout=10, + ) + remaining = [ + line + for line in output.splitlines() + if len(line.split(",")) == 3 + and line.split(",")[1].strip().lower().removeprefix("gpu-") in wanted + ] + if not remaining: + return + if time.monotonic() >= deadline: + raise RuntimeError(f"gpu_memory_not_released: {remaining}") + time.sleep(0.25) + + +def run_matrix(manifest_path, output, fixture_path): + """Return evidence after two independent processes; never mark training complete.""" + manifest = json.loads(Path(manifest_path).read_text()) + output = Path(output) + output.mkdir(parents=True, exist_ok=True) + check_ready() + verify_environment(manifest["environment"], require_venv=True) + memory = memory_limits() + requested = parse_memory_request(manifest["memory"]) + if ( + memory["effective_bytes"] is None + or memory["effective_bytes"] < requested + or memory["available_bytes"] is None + or memory["available_bytes"] < requested + ): + raise RuntimeError("insufficient_memory: L2 allocation cannot satisfy its pinned budget") + prebuilt = manifest.get("prebuilt_provider_binary") + if prebuilt is None: + run_process( + [manifest["python"], str(ROOT / "setup.py"), "build_ext", "--inplace"], + log_path=output / "build.log", + timeout=1800, + ) + else: + expected = validate_binary_record(prebuilt, source_tree=manifest["source_tree"]) + path = Path(expected["path"]) + if path.parent != ROOT / "rl_engine" or file_digest(path) != expected["sha256"]: + raise ValueError("Training's prebuilt CUDA provider changed before L2") + provider_binary = archive_provider_binary(ROOT, output, source_tree=manifest["source_tree"]) + probe_path = output / "gpu-probe.json" + run_process( + [manifest["python"], str(Path(__file__)), "--gpu-probe", "--output", str(probe_path)], + log_path=output / "gpu-probe.log", + timeout=180, + ) + uuids = json.loads(probe_path.read_text())["uuids"] + wait_gpu_release(uuids) + atomic_json( + output / "environment.json", + { + "environment": manifest["environment"], + "memory": memory, + "gpu_uuids": uuids, + "execution_gpus": 4, + }, + ) + if manifest.get("input_fixture"): + if ( + not manifest.get("input_fixture_sha256") + or file_digest(fixture_path) != manifest["input_fixture_sha256"] + ): + raise RuntimeError( + "input_fixture_mismatch: external baseline fixture must be pinned by file SHA256" + ) + processes = {} + for role in ("rollout", "recompute"): + command = [ + manifest["python"], + str(Path(__file__)), + "--worker", + role, + "--manifest", + str(manifest_path), + "--output", + str(output / role), + "--fixture", + str(fixture_path), + "--provider-binary", + json.dumps(provider_binary), + ] + processes[role] = run_process(command, log_path=output / f"{role}.log") + wait_gpu_release(uuids) + processes[role]["gpu_release_verified"] = True + worker_result = json.loads((output / role / "worker-result.json").read_text()) + if ( + worker_result.get("pid") != processes[role]["pid"] + or worker_result.get("status") != "passed" + or worker_result.get("identity") != model_identity(manifest) + or sorted(worker_result.get("cases", {})) + != sorted(case.case_id for case in case_matrix()) + ): + raise RuntimeError("Independent native worker did not finish the required matrix") + atomic_json(output / "processes.json", processes) + fixture = load_tensor_artifact(fixture_path) + validate_fixture(fixture) + records, first_failure = {}, None + baseline_outputs = {} + for length, record in fixture["baseline_artifacts"].items(): + if file_digest(record["path"]) != record["sha256"]: + raise RuntimeError("Baseline generation artifact was changed") + baseline_outputs[length] = load_tensor_artifact(record["path"]) + original_identity = baseline_outputs[length]["metadata"]["identity"] + if json_digest(original_identity) != fixture["baseline_identity"]: + raise RuntimeError("Baseline generation provenance was changed") + baseline_request = worker_request( + L2Case(int(length), 4, "full"), + fixture, + role="rollout", + identity=original_identity, + generate=True, + ) + validate_model_artifact(baseline_outputs[length], baseline_request) + identity = model_identity(manifest) + for case in case_matrix(): + artifacts = {} + paths = {} + for role in ("rollout", "recompute"): + path = output / role / f"{case.case_id}.pt" + artifact = load_tensor_artifact(path) + validate_model_artifact( + artifact, worker_request(case, fixture, role=role, identity=identity) + ) + artifacts[role], paths[role] = artifact, str(path) + paired = compare_artifacts(artifacts["rollout"], artifacts["recompute"]) + invariance = {} + for role in ("rollout", "recompute"): + reference = load_tensor_artifact( + output / role / f"{L2Case(case.prompt_length, 4, 'full').case_id}.pt" + ) + invariance[role] = compare_batch_prefill(reference, artifacts[role]) + baseline_checks = {} + if identity.get("weight_version") == "baseline": + baseline_checks = { + role: compare_batch_prefill(baseline_outputs[str(case.prompt_length)], artifact) + for role, artifact in artifacts.items() + } + passed = ( + paired["passed"] + and all(all(checks.values()) for checks in invariance.values()) + and all(all(checks.values()) for checks in baseline_checks.values()) + ) + records[case.case_id] = { + **paired, + "passed": passed, + "batch_prefill": invariance, + "baseline_generation": baseline_checks, + "artifacts": { + role: {"path": path, "sha256": file_digest(path)} for role, path in paths.items() + }, + } + if not passed and first_failure is None: + if not paired["passed"]: + first_failure = { + "case": case, + "paired": paired, + "contexts": [("rollout", case, False), ("recompute", case, False)], + } + elif baseline_checks and not all( + all(checks.values()) for checks in baseline_checks.values() + ): + failed_role = next( + role + for role in ("rollout", "recompute") + if not all(baseline_checks[role].values()) + ) + reference_case = L2Case(case.prompt_length, 4, "full") + reference = baseline_outputs[str(case.prompt_length)] + first_failure = { + "case": case, + "paired": { + **paired, + "first_divergent_layer": first_divergent_layer( + reference, artifacts[failed_role] + ), + "first_divergent_node": first_divergent_node( + reference, artifacts[failed_role] + ), + }, + "contexts": [("rollout", reference_case, True), (failed_role, case, False)], + } + else: + failed_role = next( + role for role in ("rollout", "recompute") if not all(invariance[role].values()) + ) + reference_case = L2Case(case.prompt_length, 4, "full") + reference = load_tensor_artifact( + output / failed_role / f"{reference_case.case_id}.pt" + ) + first_failure = { + "case": case, + "paired": { + **paired, + "first_divergent_layer": first_divergent_layer( + reference, artifacts[failed_role] + ), + "first_divergent_node": first_divergent_node( + reference, artifacts[failed_role] + ), + }, + "contexts": [(failed_role, reference_case, False), (failed_role, case, False)], + } + report = { + "schema_version": 1, + "status": "passed" if first_failure is None else "failed", + "scope": "qwen3_next_full_model_l2", + "identity": identity, + "fixture": { + "path": str(fixture_path), + "sha256": file_digest(fixture_path), + "content_sha256": fixture["content_sha256"], + }, + "case_ids": [case.case_id for case in case_matrix()], + "cases": records, + "processes": processes, + "worker_results": { + role: { + "path": str(output / role / "worker-result.json"), + "sha256": file_digest(output / role / "worker-result.json"), + } + for role in ("rollout", "recompute") + }, + "raw_bit_comparison": True, + "logits_dtype": "bfloat16", + "logprobs_dtype": "float32", + "response_length": 16, + "vocab_size": 151936, + "provider_binary": provider_binary, + } + atomic_json(output / "l2-matrix.json", report) + if first_failure: + case = first_failure["case"] + layer = first_failure["paired"]["first_divergent_layer"] + capture = { + "case_id": case.case_id, + "first_divergent_layer": layer, + "first_divergent_node": first_failure["paired"].get("first_divergent_node"), + "first_divergent_component": "lm_head_or_logprob" if layer is None else "decoder_layer", + "first_difference": first_failure["paired"]["first_difference"], + "captures": {}, + } + for label, (role, context_case, generate) in zip( + ("reference", "candidate"), first_failure["contexts"] + ): + directory = output / "first-divergence" / label + directory.mkdir(parents=True, exist_ok=True) + request = worker_request( + context_case, + fixture, + role=role, + identity=identity, + trace_layers=[47] if layer is None else [layer], + generate=generate, + ) + request_path = directory / "request.json" + atomic_json(request_path, request) + try: + command = [ + manifest["python"], + str(Path(__file__)), + "--worker", + role, + "--manifest", + str(manifest_path), + "--output", + str(directory), + "--fixture", + str(fixture_path), + "--debug-request", + str(request_path), + "--provider-binary", + json.dumps(provider_binary), + ] + run_process(command, log_path=directory / "worker.log") + wait_gpu_release(uuids) + except (RuntimeError, subprocess.SubprocessError) as exc: + capture["captures"][label] = {"status": "failed", "error": str(exc)} + break + capture["captures"][label] = { + "status": "saved", + "role": role, + "case_id": context_case.case_id, + "path": str(directory / "debug.pt"), + "sha256": file_digest(directory / "debug.pt"), + } + atomic_json(output / "first-divergence.json", capture) + if report["status"] == "passed": + validate_matrix_report(report, expected_identity=identity, artifact_root=output) + return report + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--manifest", type=Path) + parser.add_argument("--output", type=Path) + parser.add_argument("--fixture", type=Path) + parser.add_argument("--worker", choices=("rollout", "recompute")) + parser.add_argument("--debug-request", type=Path) + parser.add_argument("--provider-binary", type=json.loads) + parser.add_argument("--check-ready", action="store_true") + parser.add_argument("--gpu-probe", action="store_true") + args = parser.parse_args() + if args.check_ready: + try: + _, capabilities = check_ready() + except (RuntimeError, AttributeError) as exc: + print(json.dumps({"status": "not_ready", "error": str(exc)})) + return 2 + print(json.dumps({"status": "ready", "capabilities": capabilities})) + return 0 + if args.gpu_probe: + gpu_probe(args.output) + return 0 + if args.manifest is None or args.output is None: + parser.error("--manifest and --output are required") + manifest = json.loads(args.manifest.read_text()) + fixture_path = args.fixture or Path( + manifest.get("input_fixture", args.manifest.parent / "inputs/frozen.pt") + ) + if args.worker: + worker_batch( + manifest, + args.output, + args.worker, + fixture_path, + debug_request=args.debug_request, + provider_binary=args.provider_binary, + ) + return 0 + args.output.mkdir(parents=True, exist_ok=True) + try: + if manifest["stage"] != "l2": + raise RuntimeError("Standalone L2 runner cannot close training acceptance") + from qwen3_next_runtime import require_predecessor + + previous = Path(manifest["previous"]) + require_predecessor("l2", previous, Path(manifest["checkpoint"]), manifest) + predecessor = json.loads((previous / "run.json").read_text()) + previous_result = json.loads((previous / "result.json").read_text()) + validate_result(predecessor, previous_result, run_dir=previous) + report = run_matrix(args.manifest, args.output, fixture_path) + if report["status"] != "passed": + raise RuntimeError("Full-model raw-bit L2 failed; first divergence artifacts retained") + prior_operators = previous / previous_result["evidence"]["operators"]["path"] + shutil.copyfile(prior_operators, args.output / "operators.json") + atomic_json( + args.output / "predecessor-evidence.json", + { + "run_id": predecessor["run_id"], + "execution_id": predecessor["execution_id"], + "result_sha256": file_digest(previous / "result.json"), + }, + ) + evidence = { + name: evidence_record(args.output / filename, args.manifest.parent) + for name, filename in { + "operators": "operators.json", + "environment": "environment.json", + "l2_matrix": "l2-matrix.json", + "predecessor": "predecessor-evidence.json", + "provider_binary": "provider-binary.json", + }.items() + } + result = result_envelope(manifest, os.environ["QWEN3_NEXT_ATTEMPT"], evidence=evidence) + result["full_model_l2"] = "passed" + validate_result( + manifest, result, run_dir=args.manifest.parent, attempt=os.environ["QWEN3_NEXT_ATTEMPT"] + ) + atomic_json(args.output / "result.json", result) + except Exception as exc: + atomic_json( + args.output / "result.json", + { + "run_id": manifest["run_id"], + "attempt": os.environ["QWEN3_NEXT_ATTEMPT"], + "status": "failed", + "full_model_l2": "not_passed", + **failure_fields(exc), + }, + ) + raise + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tools/validation/models/qwen3_next_layer_contract.py b/tools/validation/models/qwen3_next_layer_contract.py new file mode 100644 index 000000000..67764821d --- /dev/null +++ b/tools/validation/models/qwen3_next_layer_contract.py @@ -0,0 +1,123 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Pinned layer component inventory and original tensor scheduler acceptance.""" + +import hashlib +import json +from pathlib import Path + +from qwen3_next_runtime import file_digest, identity_digest + + +def layer_requirements(root): + root = Path(root) + path = root / "rl_engine/validation/models/qwen3_next_layer_cases.json" + registry = json.loads(path.read_text()) + if registry.get("schema_version") != 1 or set(registry.get("gates", {})) != { + "gdn", + "attention", + "moe", + "adapters", + "heads", + }: + raise ValueError("Incomplete layer gate registry") + for gate in registry["gates"].values(): + gate["script_sha256"] = file_digest(root / gate["script"]) + for cases in gate["groups"].values(): + if not cases or len(cases) != len(set(cases)): + raise ValueError("Mandatory layer case list is empty or duplicated") + cases = sorted( + f"{name}/{group}/{case}" + for name, gate in registry["gates"].items() + for group, values in gate["groups"].items() + for case in values + ) + return { + **registry, + "registry_sha256": file_digest(path), + "case_ids_per_rank": cases, + "case_ids_sha256": hashlib.sha256(("\n".join(cases) + "\n").encode()).hexdigest(), + } + + +def validate_rank_result(row, requirement, rank): + if any( + row.get(name) != value + for name, value in { + "status": "passed", + "rank": rank, + "scope": requirement["scope"], + "full_model_l2": "not_evaluated", + **requirement.get("fields", {}), + }.items() + ): + raise ValueError("Layer rank evidence has a wrong identity, scope or status") + if any(row.get(name, 0) for name in ("skipped", "failures", "errors")): + raise ValueError("Layer rank evidence includes skipped or failed checks") + for field, expected in requirement["groups"].items(): + value = row + for key in field.split("."): + value = value.get(key, {}) if isinstance(value, dict) else None + if not isinstance(value, list) or sorted(value) != sorted(expected): + raise ValueError(f"Layer rank evidence changed mandatory cases: {field}") + + +def checked_record(record, *, root=None): + if not isinstance(record, dict) or not {"path", "sha256"} <= record.keys(): + raise ValueError("Missing artifact path/content digest") + path = Path(record["path"]) + if not path.is_absolute(): + if root is None: + raise ValueError("Artifact path must be absolute without an evidence root") + path = Path(root) / path + path = path.resolve(strict=True) + if root is not None and not path.is_relative_to(Path(root).resolve()): + raise ValueError("Artifact escaped its current attempt") + if file_digest(path) != record["sha256"]: + raise ValueError("Artifact content digest changed") + return path + + +def validate_layer_report(report, requirement, identity, *, root): + if any( + report.get(key) != value + for key, value in { + "schema_version": 1, + "status": "passed", + "phase": "complete", + "scope": "qwen3_next_layer_and_scheduler_gates", + "identity": identity, + "requirements_sha256": identity_digest(requirement), + "full_model_l2": "not_evaluated", + }.items() + ): + raise ValueError("Layer acceptance identity or completeness mismatch") + if set(report.get("gates", {})) != set(requirement["gates"]): + raise ValueError("Layer acceptance omitted a mandatory gate") + from rl_engine.validation.models.qwen3_next_binary import validate_binary_record + + binary = validate_binary_record( + report.get("provider_binary"), source_tree=identity["source_tree"], artifact_root=root + ) + for name, expected in requirement["gates"].items(): + gate = report["gates"][name] + if gate.get("exit_code") != 0 or gate.get("gpu_release_verified") is not True: + raise ValueError("Layer process failed or did not release GPU memory") + ranks = gate.get("ranks", {}) + if set(ranks) != {"0", "1", "2", "3"}: + raise ValueError("Layer acceptance requires each of the four TP ranks") + for rank, record in ranks.items(): + row = json.loads(checked_record(record, root=root).read_text()) + validate_rank_result(row, expected, int(rank)) + if row.get("provider_binary") != binary: + raise ValueError("Layer ranks did not import the archived CUDA provider") + scheduler_path = checked_record(report.get("scheduler"), root=root) + scheduler = json.loads(scheduler_path.read_text()) + from rl_engine.validation.models.qwen3_next_l2 import validate_scheduler_report + + validate_scheduler_report(scheduler, expected_identity=identity, artifact_root=root) + if scheduler.get("provider_binary") != report["provider_binary"]: + raise ValueError("Layer and scheduler gates used different CUDA providers") + if scheduler["case_ids"] != requirement["scheduler_case_ids"]: + raise ValueError("Scheduler evidence differs from the pinned layer registry") diff --git a/tools/validation/models/qwen3_next_layers.py b/tools/validation/models/qwen3_next_layers.py new file mode 100644 index 000000000..ea3c62a8d --- /dev/null +++ b/tools/validation/models/qwen3_next_layers.py @@ -0,0 +1,342 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""TP4 layer gates and actual native scheduler acceptance, before independent L2.""" + +import argparse +import importlib +import json +import os +import shutil +import sys +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[3] +sys.path.insert(0, str(ROOT)) + +from qwen3_next_contract import ( # noqa: E402 + atomic_json, + checkpoint_identity, + evidence_record, + result_envelope, + validate_result, +) +from qwen3_next_l2 import ( # noqa: E402 + model_identity, + run_process, + verify_before_model_load, + wait_gpu_release, + worker_batch, +) +from qwen3_next_layer_contract import ( # noqa: E402 + layer_requirements, + validate_layer_report, + validate_rank_result, +) +from qwen3_next_runtime import failure_fields # noqa: E402 +from qwen3_next_runtime import ( # noqa: E402 + file_digest, + identity_digest, + memory_limits, + parse_memory_request, + verify_environment, +) + +from rl_engine.validation.models.qwen3_next_binary import ( # noqa: E402 + archive_provider_binary, + validate_binary_record, +) +from rl_engine.validation.models.qwen3_next_l2 import ( # noqa: E402 + L2Case, + case_matrix, + compare_batch_prefill, + first_divergent_layer, + load_tensor_artifact, + validate_fixture, + validate_scheduler_report, +) + +SCHEDULER_MODULE = "rl_engine.integrations.engines.rollout.vllm.qwen3_next_native_rollout" + + +def check_scheduler_ready(): + try: + module = importlib.import_module(SCHEDULER_MODULE) + actual = module.capabilities() + except (ModuleNotFoundError, AttributeError) as exc: + raise RuntimeError(f"native_scheduler_not_ready: {exc}") from exc + required = { + "rollout": True, + "debug_layers": True, + "architecture_layers": 48, + "tp": 4, + "batched_cases": True, + "native_scheduler": True, + } + if any(actual.get(key) != value for key, value in required.items()) or not callable( + getattr(module, "run_rollout_cases", None) + ): + raise RuntimeError(f"native_scheduler_not_ready: required {required}, received {actual}") + return module, actual + + +def scheduler_report(manifest, output, fixture_path, process, provider_binary): + fixture = load_tensor_artifact(fixture_path) + validate_fixture(fixture) + records = {} + for case in case_matrix(): + path = output / "rollout" / f"{case.case_id}.pt" + candidate = load_tensor_artifact(path) + reference = load_tensor_artifact( + output / "rollout" / f"{L2Case(case.prompt_length, 4, 'full').case_id}.pt" + ) + baseline = load_tensor_artifact( + fixture["baseline_artifacts"][str(case.prompt_length)]["path"] + ) + batch = compare_batch_prefill(reference, candidate) + generated = compare_batch_prefill(baseline, candidate) + records[case.case_id] = { + "passed": all(batch.values()) and all(generated.values()), + "batch_prefill": {"rollout": batch}, + "baseline_generation": {"rollout": generated}, + "artifacts": {"rollout": {"path": str(path), "sha256": file_digest(path)}}, + } + if not records[case.case_id]["passed"] and not (output / "first-divergence.json").exists(): + divergent = reference if not all(batch.values()) else baseline + atomic_json( + output / "first-divergence.json", + { + "case_id": case.case_id, + "first_divergent_layer": first_divergent_layer(divergent, candidate), + "candidate_artifact": str(path), + "reference_worker_traces": divergent.get("worker_traces", []), + "candidate_worker_traces": candidate.get("worker_traces", []), + "capture": "all_48_layers_and_owned_states_in_original_worker_traces", + }, + ) + worker_path = output / "rollout/worker-result.json" + report = { + "schema_version": 1, + "status": "passed" if all(row["passed"] for row in records.values()) else "failed", + "scope": "qwen3_next_native_scheduler_only", + "full_model_l2": "not_evaluated", + "raw_bit_comparison": True, + "identity": model_identity(manifest), + "case_ids": [case.case_id for case in case_matrix()], + "cases": records, + "fixture": { + "path": str(fixture_path), + "sha256": file_digest(fixture_path), + "content_sha256": fixture["content_sha256"], + }, + "processes": {"rollout": process}, + "worker_results": { + "rollout": {"path": str(worker_path), "sha256": file_digest(worker_path)} + }, + "provider_binary": provider_binary, + } + atomic_json(output / "scheduler-report.json", report) + validate_scheduler_report( + report, expected_identity=model_identity(manifest), artifact_root=output + ) + return report + + +def run_layers(manifest_path, output): + from qwen3_next_runtime import require_predecessor + + manifest = json.loads(manifest_path.read_text()) + if manifest["stage"] != "layers": + raise ValueError("Layer runner can only close the layers stage") + previous = Path(manifest["previous"]) + require_predecessor("layers", previous, Path(manifest["checkpoint"]), manifest) + verify_environment(manifest["environment"], require_venv=True) + requirement = layer_requirements(ROOT) + if requirement != manifest["layer_requirements"]: + raise ValueError("Layer registry differs from the submitted source snapshot") + memory = memory_limits() + requested = parse_memory_request(manifest["memory"]) + if any( + value is None or value < requested + for value in (memory["effective_bytes"], memory["available_bytes"]) + ): + raise RuntimeError("insufficient_memory: layer allocation cannot satisfy its pinned budget") + output.mkdir(parents=True, exist_ok=True) + report = { + "schema_version": 1, + "status": "incomplete", + "phase": "build", + "scope": "qwen3_next_layer_and_scheduler_gates", + "full_model_l2": "not_evaluated", + "identity": model_identity(manifest), + "requirements_sha256": identity_digest(requirement), + "gates": {}, + } + + def progress(phase): + report["phase"] = phase + atomic_json(output / "layers.json", report) + + run_process( + [manifest["python"], str(ROOT / "setup.py"), "build_ext", "--inplace", "--force"], + log_path=output / "build.log", + timeout=1800, + ) + provider_binary = archive_provider_binary(ROOT, output, source_tree=manifest["source_tree"]) + report["provider_binary"] = provider_binary + actual_binary = validate_binary_record(provider_binary, source_tree=manifest["source_tree"]) + progress("checkpoint") + verify_before_model_load(manifest, output) + probe = output / "gpu-probe.json" + run_process( + [ + manifest["python"], + str(ROOT / "tools/validation/models/qwen3_next_l2.py"), + "--gpu-probe", + "--output", + str(probe), + ], + log_path=output / "gpu-probe.log", + timeout=180, + ) + uuids = json.loads(probe.read_text())["uuids"] + wait_gpu_release(uuids) + atomic_json( + output / "environment.json", + { + "environment": manifest["environment"], + "memory": memory, + "gpu_uuids": uuids, + "execution_gpus": 4, + }, + ) + for name, expected in requirement["gates"].items(): + progress(name) + directory = output / name + process = run_process( + [ + manifest["python"], + "-m", + "torch.distributed.run", + "--standalone", + "--nproc_per_node=4", + str(ROOT / expected["script"]), + "--checkpoint", + manifest["checkpoint"], + expected["output_option"], + str(directory), + ], + log_path=output / f"{name}.log", + ) + wait_gpu_release(uuids) + ranks = {} + for rank in range(4): + path = directory / f"rank-{rank}.json" + validate_rank_result(json.loads(path.read_text()), expected, rank) + if json.loads(path.read_text()).get("provider_binary") != actual_binary: + raise ValueError("Layer rank used a different CUDA provider than its build") + ranks[str(rank)] = {"path": str(path), "sha256": file_digest(path)} + report["gates"][name] = {**process, "gpu_release_verified": True, "ranks": ranks} + progress(name + "_passed") + progress("native_scheduler") + check_scheduler_ready() + fixture = output / "inputs/frozen.pt" + process = run_process( + [ + manifest["python"], + str(Path(__file__)), + "--scheduler-worker", + "--manifest", + str(manifest_path), + "--output", + str(output / "rollout"), + "--fixture", + str(fixture), + "--provider-binary", + json.dumps(provider_binary), + ], + log_path=output / "scheduler.log", + ) + wait_gpu_release(uuids) + process["gpu_release_verified"] = True + scheduler_report(manifest, output, fixture, process, provider_binary) + report["scheduler"] = { + "path": str(output / "scheduler-report.json"), + "sha256": file_digest(output / "scheduler-report.json"), + } + if checkpoint_identity(manifest["checkpoint"]) != manifest["checkpoint_identity"]: + raise RuntimeError("checkpoint_mismatch: official snapshot changed during layer execution") + report.update(status="passed", phase="complete") + validate_layer_report(report, requirement, model_identity(manifest), root=output) + atomic_json(output / "layers.json", report) + previous_result = json.loads((previous / "result.json").read_text()) + shutil.copyfile( + previous / previous_result["evidence"]["operators"]["path"], output / "operators.json" + ) + names = { + "operators": "operators.json", + "environment": "environment.json", + "layers": "layers.json", + "checkpoint": "weight-verification.json", + "provider_binary": "provider-binary.json", + } + evidence = { + name: evidence_record(output / filename, manifest_path.parent) + for name, filename in names.items() + } + result = result_envelope(manifest, os.environ["QWEN3_NEXT_ATTEMPT"], evidence=evidence) + validate_result(manifest, result, run_dir=manifest_path.parent) + atomic_json(output / "result.json", result) + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--manifest", type=Path) + parser.add_argument("--output", type=Path) + parser.add_argument("--fixture", type=Path) + parser.add_argument("--scheduler-worker", action="store_true") + parser.add_argument("--check-ready", action="store_true") + parser.add_argument("--provider-binary", type=json.loads) + args = parser.parse_args() + if args.check_ready: + _, capabilities = check_scheduler_ready() + print(json.dumps({"status": "ready", "capabilities": capabilities})) + return 0 + if args.manifest is None or args.output is None: + parser.error("--manifest and --output are required") + manifest = json.loads(args.manifest.read_text()) + if args.scheduler_worker: + worker_batch( + manifest, + args.output, + "rollout", + args.fixture, + native_worker=check_scheduler_ready(), + provider_binary=args.provider_binary, + ) + return 0 + args.output.mkdir(parents=True, exist_ok=True) + try: + run_layers(args.manifest, args.output) + except Exception as exc: + kind = str(exc).split(":", 1)[0] + atomic_json( + args.output / "result.json", + { + "run_id": manifest["run_id"], + "attempt": os.environ["QWEN3_NEXT_ATTEMPT"], + "status": "incomplete" if kind == "native_scheduler_not_ready" else "failed", + "phase": ( + "native_scheduler" if kind == "native_scheduler_not_ready" else "layer_gate" + ), + **failure_fields(exc), + "full_model_l2": "not_evaluated", + }, + ) + raise + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tools/validation/models/qwen3_next_moe_prior_art.py b/tools/validation/models/qwen3_next_moe_prior_art.py new file mode 100644 index 000000000..c3c8d088a --- /dev/null +++ b/tools/validation/models/qwen3_next_moe_prior_art.py @@ -0,0 +1,116 @@ +#!/usr/bin/env python +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Write the Qwen3-Next routed-MoE prior-art report (BI + accuracy + latency) as JSON. + +Run it on a clean tree with ``TRITON_F32_DEFAULT=ieee`` (the FP32 router needs +IEEE Triton dots from process start). The report records the commit, whether +the tracked tree was dirty and the version of every library compared. +``tools/validation/models/plot_qwen3_next_moe_prior_art.py`` turns the report into a figure. + + TRITON_F32_DEFAULT=ieee python tools/validation/models/qwen3_next_moe_prior_art.py \\ + --out docs/usage/evidence/qwen3-next-moe-route-b200/report.json +""" + +from __future__ import annotations + +import argparse +import importlib.metadata as md +import json +import subprocess +import sys +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[3] +sys.path.insert(0, str(ROOT)) + +import torch # noqa: E402 + +from rl_engine.validation.models.qwen3_next_moe_prior_art import moe_report # noqa: E402 + +LIBRARIES = ( + "vllm", + "flashinfer-python", + "transformers", + "triton", + "sglang", + "sgl-kernel", + "megatron_core", + "megatron-core", + "transformer_engine", + "vime", +) + + +def _git(*args: str) -> str: + return subprocess.run( + ["git", *args], cwd=ROOT, check=True, capture_output=True, text=True + ).stdout.strip() + + +def _version(name: str) -> str | None: + try: + return md.version(name) + except md.PackageNotFoundError: + return None + + +def merge(base: dict, extra: dict) -> dict: + """``base`` with ``extra``'s candidates and latencies added (same commit and GPU).""" + for field in ("rl_kernel_commit", "tracked_tree_dirty", "shape", "op"): + if base[field] != extra[field]: + raise SystemExit(f"Reports differ in {field}; they cannot be merged") + if base["environment"]["gpu"] != extra["environment"]["gpu"]: + raise SystemExit("Reports were measured on different GPUs") + keys = {c["key"] for c in base["candidates"]} + added = [c for c in extra["candidates"] if c["key"] not in keys] + merged = dict(base, candidates=base["candidates"] + added) + merged["latency"] = { + section: { + size: {**values, **extra["latency"][section].get(size, {})} + for size, values in sizes.items() + } + for section, sizes in base["latency"].items() + } + merged["environments"] = {"main": base["environment"], "extra": extra["environment"]} + return merged + + +def main() -> None: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--out", type=Path, required=True) + parser.add_argument("--only", help="comma-separated candidate keys (default: all)") + parser.add_argument( + "--merge", type=Path, help="a report from another environment to merge into this one" + ) + args = parser.parse_args() + if not torch.cuda.is_available(): + raise SystemExit("needs a CUDA device") + torch.backends.cuda.matmul.allow_tf32 = False + torch.backends.cudnn.allow_tf32 = False + report = { + "kind": "qwen3_next_prior_art_report", + "rfc": 428, + "rl_kernel_commit": _git("rev-parse", "HEAD"), + "tracked_tree_dirty": bool(_git("status", "--porcelain", "--untracked-files=no")), + "environment": { + "gpu": torch.cuda.get_device_name(), + "torch": torch.__version__, + "cuda": torch.version.cuda, + "libraries": {name: _version(name) for name in LIBRARIES}, + }, + **moe_report(args.only.split(",") if args.only else None), + } + if args.merge is not None: + report = merge(json.loads(args.merge.read_text()), report) + args.out.parent.mkdir(parents=True, exist_ok=True) + args.out.write_text(json.dumps(report, indent=2) + "\n") + print( + f"wrote {args.out} (commit {report['rl_kernel_commit'][:7]}, " + f"dirty={report['tracked_tree_dirty']})" + ) + + +if __name__ == "__main__": + main() diff --git a/tools/validation/models/qwen3_next_norm_evidence.py b/tools/validation/models/qwen3_next_norm_evidence.py new file mode 100644 index 000000000..aaeba82c3 --- /dev/null +++ b/tools/validation/models/qwen3_next_norm_evidence.py @@ -0,0 +1,348 @@ +#!/usr/bin/env python +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Accuracy, row invariance and latency of the Qwen3-Next norms vs existing implementations. + +Writes one JSON report (RFC #428, reuse rule of #420): every candidate is compared with +an FP64 golden, checked for row invariance (a row computed alone vs inside a batch, +bitwise), and timed. Optional providers (transformers, vLLM, FlashInfer) are skipped +when they are not installed; the report says which ran. + + python tools/validation/models/qwen3_next_norm_evidence.py --out report.json + python tools/validation/models/plot_qwen3_next_norm_evidence.py report.json +""" + +from __future__ import annotations + +import argparse +import json +import platform +import statistics +import subprocess +import sys +from pathlib import Path +from typing import Any, Callable + +import torch +import torch.nn.functional as F + +REPO_ROOT = Path(__file__).resolve().parents[3] +sys.path.insert(0, str(REPO_ROOT)) + +from rl_engine.backends.cuda.norm.rmsnorm import ( # noqa: E402 + Qwen3NextRMSNormCudaOp, + Qwen3NextRMSNormGatedCudaOp, +) +from rl_engine.reference.norm.qwen3_next_rms_norm import ( # noqa: E402 + Qwen3NextRMSNormGatedOp, + Qwen3NextRMSNormOp, +) + +EPS = 1e-6 + + +# --------------------------------------------------------------------------- # +# Ops. Each candidate is fn(*row_inputs, weight) -> y, plus whether it has a +# backward. Row inputs are sliced together for the row-invariance check. +# --------------------------------------------------------------------------- # + + +def zero_centred_candidates(hidden: int) -> dict[str, dict[str, Any]]: + cands: dict[str, dict[str, Any]] = { + "rl-kernel CUDA": {"fn": Qwen3NextRMSNormCudaOp(), "backward": True}, + "rl-kernel PyTorch reference": {"fn": Qwen3NextRMSNormOp(), "backward": True}, + } + try: + from transformers.models.qwen3_next.modeling_qwen3_next import Qwen3NextRMSNorm + + module = Qwen3NextRMSNorm(hidden, eps=EPS).cuda() + + def hf(x, w, module=module): + return torch.func.functional_call(module, {"weight": w}, (x,)) + + cands["transformers Qwen3NextRMSNorm"] = {"fn": hf, "backward": True} + except ImportError: + pass + try: + from vllm.config import VllmConfig, set_current_vllm_config + + with set_current_vllm_config(VllmConfig()): + from vllm.model_executor.layers.layernorm import GemmaRMSNorm + + gemma = GemmaRMSNorm(hidden, eps=EPS).cuda() + + def vllm_fwd(x, w, gemma=gemma): + gemma.weight.data = w.detach() + return gemma.forward_cuda(x) + + cands["vLLM GemmaRMSNorm (forward only)"] = {"fn": vllm_fwd, "backward": False} + except ImportError: + pass + try: + import flashinfer + + cands["FlashInfer gemma_rmsnorm (forward only)"] = { + "fn": lambda x, w: flashinfer.norm.gemma_rmsnorm(x, w, EPS), + "backward": False, + } + except ImportError: + pass + return cands + + +def zero_centred_golden(x, w): + x64 = x.double() + return x64 * torch.rsqrt(x64.square().mean(-1, keepdim=True) + EPS) * (1.0 + w.double()) + + +def gated_candidates(hidden: int) -> dict[str, dict[str, Any]]: + cuda_op, ref_op = Qwen3NextRMSNormGatedCudaOp(), Qwen3NextRMSNormGatedOp() + cands: dict[str, dict[str, Any]] = { + "rl-kernel CUDA": {"fn": lambda x, g, w: cuda_op(x, w, g, eps=EPS), "backward": True}, + "rl-kernel PyTorch reference": { + "fn": lambda x, g, w: ref_op(x, w, g, eps=EPS), + "backward": True, + }, + } + try: + from transformers.models.qwen3_next.modeling_qwen3_next import Qwen3NextRMSNormGated + + module = Qwen3NextRMSNormGated(hidden, eps=EPS).cuda() + + def hf(x, g, w, module=module): + return torch.func.functional_call(module, {"weight": w}, (x, g)) + + cands["transformers Qwen3NextRMSNormGated (cast-first)"] = {"fn": hf, "backward": True} + except ImportError: + pass + try: + from vllm.config import VllmConfig, set_current_vllm_config + + with set_current_vllm_config(VllmConfig()): + from vllm.model_executor.layers.layernorm import RMSNormGated + + gated = RMSNormGated(hidden, eps=EPS, norm_before_gate=True).cuda() + + def vllm_fwd(x, g, w, gated=gated): + gated.weight.data = w.detach() + return gated.forward_cuda(x, g) + + cands["vLLM RMSNormGated (forward only)"] = {"fn": vllm_fwd, "backward": False} + except ImportError: + pass + return cands + + +def gated_golden(x, g, w): + """vLLM's convention (the one #468 implements) in FP64: x * rstd * w * silu(gate).""" + + x64 = x.double() + return (x64 * torch.rsqrt(x64.square().mean(-1, keepdim=True) + EPS) * w.double()) * F.silu( + g.double() + ) + + +OPS: dict[str, dict[str, Any]] = { + "zero_centred_rmsnorm": { + "hidden": 2048, # decoder and final norms + "row_inputs": 1, + "weight": lambda h, gen: torch.randn(h, device="cuda", generator=gen) * 0.1, + "candidates": zero_centred_candidates, + "golden": zero_centred_golden, + "timed_rows": (1024, 4096, 16384, 65536), + }, + "gated_rmsnorm": { + "hidden": 128, # GDN value head dim; rows are tokens x heads + "row_inputs": 2, + "weight": lambda h, gen: 1.0 + torch.randn(h, device="cuda", generator=gen) * 0.1, + "candidates": gated_candidates, + "golden": gated_golden, + "timed_rows": (4096, 16384, 65536, 262144), + }, +} + + +# --------------------------------------------------------------------------- # +# Measurements +# --------------------------------------------------------------------------- # + + +def _inputs(spec, rows: int, seed: int, dtype=torch.bfloat16): + g = torch.Generator(device="cuda").manual_seed(seed) + h = spec["hidden"] + row_inputs = [(torch.randn(rows, h, device="cuda", generator=g) * 2).to(dtype)] + for _ in range(spec["row_inputs"] - 1): + row_inputs.append(torch.randn(rows, h, device="cuda", generator=g).to(dtype)) + w = spec["weight"](h, g).to(dtype) + up = torch.randn(rows, h, device="cuda", generator=g).to(dtype) + return row_inputs, w, up + + +def _grads(fn, row_inputs, w, up, dtype=None): + def leaf(t): + return (t if dtype is None else t.to(dtype)).detach().clone().requires_grad_(True) + + rl, wl = [leaf(t) for t in row_inputs], leaf(w) + out = fn(*rl, wl) + out.backward(up if dtype is None else up.to(dtype)) + return out.detach(), [t.grad for t in rl], wl.grad + + +def accuracy(spec, cands, rows: int, seed: int) -> dict[str, Any]: + row_inputs, w, up = _inputs(spec, rows, seed) + ref_out, ref_drows, ref_dw = _grads(spec["golden"], row_inputs, w, up, torch.float64) + result = {} + for name, c in cands.items(): + entry: dict[str, Any] = {} + if c["backward"]: + out, drows, dw = _grads(c["fn"], row_inputs, w, up) + pairs = [("dx", drows[0], ref_drows[0]), ("dweight", dw, ref_dw)] + if len(drows) > 1: + pairs.append(("dgate", drows[1], ref_drows[1])) + for key, got, ref in pairs: + err = (got.double() - ref).abs().max().item() + entry[f"{key}_max_abs_over_absmax"] = err / ref.abs().max().item() + else: + with torch.no_grad(): + out = c["fn"](*row_inputs, w) + err = (out.double() - ref_out).abs() + entry["forward_max_abs"] = err.max().item() + entry["forward_correctly_rounded_fraction"] = ( + (out == ref_out.to(out.dtype)).float().mean().item() + ) + result[name] = entry + return result + + +def row_invariance(spec, cands, seeds=(3, 4, 5), rows: int = 4096, step: int = 16): + """256 rows computed alone vs the same rows inside a batch, bitwise.""" + + result = {} + for name, c in cands.items(): + fwd_bad = dx_bad = checked = 0 + for seed in seeds: + row_inputs, w, up = _inputs(spec, rows, seed) + if c["backward"]: + full_out, full_drows, _ = _grads(c["fn"], row_inputs, w, up) + else: + with torch.no_grad(): + full_out = c["fn"](*row_inputs, w) + for i in range(0, rows, step): + part = [t[i : i + 1] for t in row_inputs] + if c["backward"]: + out, drows, _ = _grads(c["fn"], part, w, up[i : i + 1]) + dx_bad += not all(torch.equal(d[0], fd[i]) for d, fd in zip(drows, full_drows)) + else: + with torch.no_grad(): + out = c["fn"](*part, w) + fwd_bad += not torch.equal(out[0], full_out[i]) + checked += 1 + result[name] = { + "rows_checked": checked, + "forward_rows_differing": fwd_bad, + "dx_rows_differing": dx_bad if c["backward"] else None, + "batch_rows": rows, + "seeds": list(seeds), + } + return result + + +def _time_us(fn: Callable[[], Any], warmup: int = 10, iters: int = 50) -> float: + for _ in range(warmup): + fn() + torch.cuda.synchronize() + samples = [] + for _ in range(iters): + start, end = torch.cuda.Event(enable_timing=True), torch.cuda.Event(enable_timing=True) + start.record() + fn() + end.record() + end.synchronize() + samples.append(start.elapsed_time(end) * 1e3) + return statistics.median(samples) + + +def latency(spec, cands) -> dict[str, Any]: + result: dict[str, Any] = {name: {} for name in cands} + for rows in spec["timed_rows"]: + row_inputs, w, up = _inputs(spec, rows, seed=11) + for name, c in cands.items(): + row: dict[str, float] = {} + with torch.no_grad(): + row["forward_us"] = _time_us(lambda f=c["fn"]: f(*row_inputs, w)) + if c["backward"]: + leaves = [t.detach().clone().requires_grad_(True) for t in [*row_inputs, w]] + out = c["fn"](*leaves) + row["backward_us"] = _time_us( + lambda o=out, lv=leaves: torch.autograd.grad(o, lv, up, retain_graph=True) + ) + result[name][str(rows)] = row + return result + + +# --------------------------------------------------------------------------- # + + +def _git(*args: str) -> str: + try: + return subprocess.check_output(["git", *args], cwd=REPO_ROOT, text=True).strip() + except (OSError, subprocess.CalledProcessError): + return "" + + +def environment() -> dict[str, Any]: + env = { + "gpu": torch.cuda.get_device_name(), + "capability": list(torch.cuda.get_device_capability()), + "torch": torch.__version__, + "cuda": torch.version.cuda, + "python": platform.python_version(), + } + for mod in ("transformers", "vllm", "flashinfer"): + try: + env[mod] = __import__(mod).__version__ + except ImportError: + env[mod] = None + return env + + +def run_op(name: str, spec) -> dict[str, Any]: + cands = spec["candidates"](spec["hidden"]) + print(f"[{name}] candidates: {', '.join(cands)}", flush=True) + report = { + "hidden": spec["hidden"], + "accuracy": {str(r): accuracy(spec, cands, r, seed=r) for r in (257, 4096)}, + "row_invariance": row_invariance(spec, cands), + "latency": latency(spec, cands), + } + for cand, entry in report["row_invariance"].items(): + print(f" BI {cand}: {entry}", flush=True) + return report + + +def main() -> None: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--out", type=Path, required=True) + parser.add_argument("--ops", default=",".join(OPS), help="comma list of ops") + args = parser.parse_args() + if not torch.cuda.is_available(): + raise SystemExit("needs a CUDA device") + torch.backends.cuda.matmul.allow_tf32 = False + report = { + "kind": "qwen3_next_norm_evidence", + "rfc": "RL-Align/RL-Kernel#428", + "git_commit": _git("rev-parse", "HEAD") or "unknown", + "git_dirty": bool(_git("status", "--porcelain", "--untracked-files=no")), + "environment": environment(), + "eps": EPS, + "dtype": "bfloat16", + "ops": {name: run_op(name, OPS[name]) for name in args.ops.split(",")}, + } + args.out.parent.mkdir(parents=True, exist_ok=True) + args.out.write_text(json.dumps(report, indent=2) + "\n") + print(f"wrote {args.out} (commit {report['git_commit'][:7]}, dirty={report['git_dirty']})") + + +if __name__ == "__main__": + main() diff --git a/tools/validation/models/qwen3_next_operator_cases.py b/tools/validation/models/qwen3_next_operator_cases.py new file mode 100644 index 000000000..d5784a5bd --- /dev/null +++ b/tools/validation/models/qwen3_next_operator_cases.py @@ -0,0 +1,106 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Regenerate ``rl_engine/validation/models/qwen3_next_operator_cases.json`` from pytest collection. + + python tools/validation/models/qwen3_next_operator_cases.py # check, exit 1 if stale + python tools/validation/models/qwen3_next_operator_cases.py --write + +The registry pins the exact test IDs the preflight operator gate must run. The +``norm`` and ``core`` suites are mandatory and must pass without skips; +``diagnostics`` holds the approximate cross-provider comparisons, which are +recorded but never gate. Which file and test belongs to which suite is declared +below; the IDs themselves come from collection, so a parametrisation change is +a reviewed registry diff, not a silent change in what the gate runs. +""" + +import argparse +import json +import subprocess +import sys +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[3] +REGISTRY = ROOT / "rl_engine/validation/models/qwen3_next_operator_cases.json" +NORM_FILES = ( + "tests/models/qwen3_next/test_qwen3_next_norm.py", + "tests/models/qwen3_next/check_qwen3_next_norm_providers.py", +) +CORE_FILES = ( + "tests/models/qwen3_next/check_qwen3_next_attention.py", + "tests/models/qwen3_next/check_qwen3_next_batch_invariance.py", + "tests/models/qwen3_next/check_qwen3_next_conv_bridge.py", + "tests/models/qwen3_next/check_qwen3_next_core_matrix.py", + "tests/models/qwen3_next/check_qwen3_next_forward.py", + "tests/models/qwen3_next/check_qwen3_next_gdn_bridge.py", + "tests/models/qwen3_next/check_qwen3_next_gdn_sequence.py", + "tests/models/qwen3_next/check_qwen3_next_paged_attention.py", + "tests/models/qwen3_next/check_qwen3_next_shared_core.py", +) +DIAGNOSTIC_FILES = ("tests/models/qwen3_next/check_gdn_recurrent_golden.py",) +# Approximate comparisons against alternative providers, collected from the +# mandatory files above but recorded as diagnostics. +DIAGNOSTIC_TESTS = { + "tests/models/qwen3_next/check_qwen3_next_norm_providers.py": ( + "test_ours_tracks_each_vllm_path_within_bounds", + "test_vllm_paths_disagree_only_within_bounds", + ), + "tests/models/qwen3_next/check_qwen3_next_batch_invariance.py": ( + "test_flashinfer_chunked_prefill_deviation_stays_rounding_scale", + "test_triton_chunked_prefill_split_matches_one_pass", + ), +} +DESCRIPTION = ( + "Mandatory norm/core contracts; alternative-provider approximate comparisons are " + "diagnostics only. Generated by tools/validation/models/qwen3_next_operator_cases.py; " + "case changes require review before a frozen run." +) + + +def collect(files): + out = subprocess.run( + [sys.executable, "-m", "pytest", "--collect-only", "-q", "-p", "no:cacheprovider", *files], + cwd=ROOT, + capture_output=True, + text=True, + ) + ids = [line for line in out.stdout.splitlines() if "::test_" in line] + if out.returncode or not ids: + raise SystemExit(f"collection failed:\n{out.stdout[-2000:]}\n{out.stderr[-2000:]}") + return ids + + +def _diagnostic(case): + path, name = case.split("::", 1) + return name.split("[", 1)[0] in DIAGNOSTIC_TESTS.get(path, ()) + + +def registry(): + norm, core = collect(NORM_FILES), collect(CORE_FILES) + diagnostics = collect(DIAGNOSTIC_FILES) + [c for c in norm + core if _diagnostic(c)] + return { + "schema_version": 1, + "description": DESCRIPTION, + "suites": { + "norm": sorted(c for c in norm if not _diagnostic(c)), + "core": sorted(c for c in core if not _diagnostic(c)), + "diagnostics": sorted(diagnostics), + }, + } + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--write", action="store_true") + args = parser.parse_args() + text = json.dumps(registry(), indent=2) + "\n" + if args.write: + REGISTRY.write_text(text) + print(f"wrote {REGISTRY.relative_to(ROOT)}") + elif not REGISTRY.is_file() or REGISTRY.read_text() != text: + raise SystemExit(f"{REGISTRY.relative_to(ROOT)} is stale; rerun with --write") + + +if __name__ == "__main__": + main() diff --git a/tools/validation/models/qwen3_next_operator_gates.py b/tools/validation/models/qwen3_next_operator_gates.py new file mode 100644 index 000000000..3af9522c9 --- /dev/null +++ b/tools/validation/models/qwen3_next_operator_gates.py @@ -0,0 +1,151 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Run declared operator acceptance or explicitly separate diagnostic cases.""" + +import argparse +import importlib.metadata +import json +import os +import subprocess +import sys +from pathlib import Path + +from rl_engine.validation.models.qwen3_next_cases import case_digest, execution_verdict, load_cases + +ROOT = Path(__file__).resolve().parents[3] +MANIFEST = ROOT / "rl_engine/validation/models/qwen3_next_operator_cases.json" + + +def run_suite(out: Path, suite: str) -> dict: + out.mkdir(parents=True, exist_ok=True) + cases = load_cases(MANIFEST, suite) + diagnostic = suite == "diagnostics" + case_path = out / "case-results.json" + case_path.unlink(missing_ok=True) + env = dict(os.environ) + env["QWEN3_NEXT_ROUTING_EVIDENCE"] = str(out / "gdn-step-routing.json") + env["QWEN3_NEXT_FLASHINFER_EVIDENCE"] = str(out) + proc = subprocess.run( + [ + sys.executable, + "-m", + "pytest", + "-q", + "-p", + "no:cacheprovider", + "-p", + "rl_engine.validation.models.pytest_case_manifest", + "--case-manifest", + str(MANIFEST), + "--case-suite", + suite, + "--case-report", + str(case_path), + "--junitxml", + str(out / "providers.xml"), + *cases, + ], + cwd=ROOT, + env=env, + check=False, + ) + try: + case_report = json.loads(case_path.read_text()) if case_path.exists() else {} + except json.JSONDecodeError: + case_report = {} + verified = execution_verdict( + cases, case_report.get("collected_case_ids", []), case_report.get("outcomes", {}) + ) + passed = proc.returncode == 0 and case_report.get("passed") is True + passed = passed and verified["passed"] and case_report.get("expected_case_ids") == cases + passed = passed and case_report.get("expected_case_ids_sha256") == case_digest(cases) + reports = {} + if suite in ("norm", "all"): + for op in ("qwen3_next_rms_norm", "rms_norm_gated"): + for gate in ("forward", "gradient"): + name = f"{op}-{gate}.json" + with (out / name).open("w") as stream: + norm = subprocess.run( + [ + sys.executable, + f"tools/validation/operators/check_{gate}_invariance.py", + "--manifest", + "rl_engine/validation/models/qwen3_next_norm_manifest.json", + "--op", + op, + "--candidate", + "cuda", + "--backend-profile", + "cuda_bf16", + "--hidden", + "2048", + "--head-dim", + "128", + "--json", + ], + cwd=ROOT, + env=env, + stdout=stream, + check=False, + ) + try: + report = json.loads((out / name).read_text()) + except json.JSONDecodeError: + report = {} + valid = all( + ( + norm.returncode == 0, + report.get("passed") is True, + report.get("workload", {}).get("scope") == "qwen3_next_norm_operators", + ) + ) + reports[name] = { + "passed": valid, + "exit_code": norm.returncode, + "workload": report.get("workload"), + } + passed = passed and valid + status = "passed" if passed else "failed" + if diagnostic: + status = "diagnostic_completed" if passed else "diagnostic_failed" + return { + "scope": "qwen3_next_operator_diagnostics" if diagnostic else "qwen3_next_operators_only", + "status": status, + "suite": suite, + "diagnostic_only": diagnostic, + "full_model_l2": "not_evaluated", + "git_commit": subprocess.check_output( + ["git", "rev-parse", "HEAD"], cwd=ROOT, text=True + ).strip(), + "git_dirty": bool( + subprocess.check_output(["git", "status", "--porcelain"], cwd=ROOT, text=True).strip() + ), + "versions": { + name: importlib.metadata.version(name) + for name in ("torch", "vllm", "transformers", "triton") + }, + "mandatory_case_ids": [] if diagnostic else cases, + "case_ids_sha256": case_digest(cases), + "pytest_exit_code": proc.returncode, + "provider_tests": verified["counts"], + "norm_gates": reports, + } + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--out", type=Path, required=True) + parser.add_argument("--suite", choices=("norm", "core", "all", "diagnostics"), default="all") + args = parser.parse_args() + result = run_suite(args.out.resolve(), args.suite) + partial = args.out / "summary.json.partial" + partial.write_text(json.dumps(result, indent=2) + "\n") + partial.replace(args.out / "summary.json") + print(json.dumps(result, indent=2)) + return 0 if result["status"] in ("passed", "diagnostic_completed") else 1 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tools/validation/models/qwen3_next_optimizer_checkpoint.py b/tools/validation/models/qwen3_next_optimizer_checkpoint.py new file mode 100644 index 000000000..f99c54afe --- /dev/null +++ b/tools/validation/models/qwen3_next_optimizer_checkpoint.py @@ -0,0 +1,310 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Bounded native DistributedOptimizer parameter-state I/O for fixed TP4/DP1. + +The installed native DP-zero saver packs entire gradient buckets. With CPU Adam +offload and no communication overlap, a bucket can contain most of the model. +This adapter uses the native parameter getters/setters and verifies their exact +DP1 range coverage, while copying at most 64 MiB into each serialized block. +It never implements an optimizer, changes dtype, or changes native state layout. +""" + +import json +from pathlib import Path + +import torch +from qwen3_next_contract import atomic_json + +from rl_engine.integrations.orchestrators.vime.providers.qwen3_next_training import ( + named_trainable_parameters, + state_digest, +) + +PARAMETER_KEYS = ("param", "exp_avg", "exp_avg_sq") + + +def _hdo_param_generator(cpu_optimizer): + from megatron.core.optimizer.cpu_offloading.hybrid_optimizer import _param_generator + + return _param_generator(cpu_optimizer) + + +def verify_hdo_optimizer_master_aliases(model, leaves): + """CPU Adam must update the same FP32 master tensors the checkpoint getter exposes. + + The distributed optimizer keys its HybridDeviceOptimizer by the DP-sharded + parameter (``optimizer.param_groups[group][order]`` found through + ``model_param_group_index_map``), not by the model parameter, and the + checkpoint getter returns that shard's ``state["master_param"]``. The FP32 + copy CPU Adam steps (``param_to_fp32_param[shard]``) is a separate tensor + that must hold the same values, and the CPU optimizer's state entry must be + the very dict the HDO keeps for the shard. + """ + try: + from megatron.core.optimizer.cpu_offloading.hybrid_optimizer import HybridDeviceOptimizer + except ModuleNotFoundError: + return + + for record in native_parameter_layout(model, leaves).values(): + leaf = record["leaf"] + hdo = leaf.optimizer + if not isinstance(hdo, HybridDeviceOptimizer): + continue + orig = record["parameter"] + group_index, group_order = leaf.model_param_group_index_map[orig] + shard = hdo.param_groups[group_index]["params"][group_order] + master = leaf._get_main_param_and_optimizer_states(orig)["param"] + hdo_state = hdo.state.get(shard) + if not isinstance(hdo_state, dict) or hdo_state.get("master_param") is not master: + raise ValueError("HDO state master_param is not the checkpoint-visible master") + if shard not in hdo.param_to_fp32_param: + raise ValueError("Native HDO must keep an FP32 copy for each sharded parameter") + fp32_inner = hdo.param_to_fp32_param[shard] + if hdo.param_to_inner_param.get(shard) is not fp32_inner: + raise ValueError("HDO inner optimizer parameter is not the FP32 master copy") + if fp32_inner.dtype != torch.float32 or not torch.equal(master, fp32_inner): + raise ValueError("HDO FP32 master copy diverged from checkpoint-visible master weights") + linked = False + for cpu_optimizer in hdo.cpu_optimizers: + for param in _hdo_param_generator(cpu_optimizer): + if param is not fp32_inner: + continue + if cpu_optimizer.state.get(param) is not hdo_state: + raise ValueError("CPU Adam state is not aliased to the HDO parameter state") + linked = True + if not linked: + raise ValueError("CPU Adam does not own the FP32 master for a model parameter") + + +BLOCK_BYTES = 64 * 1024 * 1024 + + +def native_parameter_layout(model, leaves): + names = {id(value): name for name, value in named_trainable_parameters(model).items()} + records = {} + for leaf_index, leaf in enumerate(leaves): + covered = set() + for buffer_index, dtype_maps in enumerate(leaf.gbuf_ranges): + for dtype, buckets in dtype_maps.items(): + for bucket_index, bucket in enumerate(buckets): + intervals = [] + capacity = leaf.buffers[buffer_index].buckets[bucket_index].grad_data.numel() + for parameter, ranges in bucket["param_map"].items(): + name = names.get(id(parameter)) + if name is None or name in records or parameter in covered: + raise ValueError( + "Native optimizer ranges must partition model parameters" + ) + local, relative = ranges["gbuf_local"], ranges["param"] + if ( + relative.start != 0 + or relative.end != parameter.numel() + or local.end - local.start != parameter.numel() + or not 0 <= local.start < local.end <= capacity + ): + raise ValueError("Native DP1 ranges must cover each complete parameter") + if parameter not in leaf.model_param_group_index_map: + raise ValueError( + "Native bucket parameter is absent from optimizer groups" + ) + intervals.append((local.start, local.end)) + covered.add(parameter) + records[name] = { + "parameter": parameter, + "leaf": leaf, + "layout": { + "leaf": leaf_index, + "buffer": buffer_index, + "dtype": [str(item) for item in dtype], + "bucket": bucket_index, + "bucket_numel": capacity, + "group_order": list(leaf.model_param_group_index_map[parameter]), + "param_range": [relative.start, relative.end], + "local_range": [local.start, local.end], + }, + } + intervals.sort() + if any(right[0] < left[1] for left, right in zip(intervals, intervals[1:])): + raise ValueError("Native optimizer bucket ranges overlap") + if covered != leaf.model_param_group_index_map.keys(): + raise ValueError("Native bucket ranges do not cover all optimizer parameters") + if set(records) != set(names.values()): + raise ValueError("Native optimizer state does not cover all model parameters") + return dict(sorted(records.items())) + + +def native_parameter_states(record): + parameter, leaf = record["parameter"], record["leaf"] + states = leaf._get_main_param_and_optimizer_states(parameter) + if not set(PARAMETER_KEYS).issubset(states) or set(states) - set(PARAMETER_KEYS) - {"step"}: + raise ValueError("Native master weights or Adam moments are missing or unsupported") + for key in PARAMETER_KEYS: + value = states[key] + if ( + not isinstance(value, torch.Tensor) + or value.dtype != torch.float32 + or value.device.type != "cpu" + or value.numel() != parameter.numel() + or not value.is_contiguous() + ): + raise ValueError(f"Invalid fully offloaded native {key}") + if "step" in states: + step = states["step"] + if isinstance(step, torch.Tensor): + if step.device.type != "cpu" or step.numel() != 1: + raise ValueError("Native Adam step must be a CPU scalar") + elif type(step) not in (int, float): + raise ValueError("Native Adam step must be a numeric scalar") + return states + + +def parameter_state_records(model, leaves): + records, byte_count = {}, 0 + for name, record in native_parameter_layout(model, leaves).items(): + states = native_parameter_states(record) + records[name] = {key: state_digest(value) for key, value in states.items()} + byte_count += sum( + value.numel() * value.element_size() + for value in states.values() + if isinstance(value, torch.Tensor) + ) + return records, byte_count + + +def save_bounded_parameter_state(model, leaves, rank_dir, save_tensor_file): + rank_dir = Path(rank_dir) + directory = rank_dir / "optimizer-state" + directory.mkdir() + index = { + "schema_version": 1, + "scope": "native_dp1_parameter_state", + "block_bytes": BLOCK_BYTES, + "parameters": {}, + } + extras = {} + width = BLOCK_BYTES // (len(PARAMETER_KEYS) * 4) + for parameter_index, (name, record) in enumerate( + native_parameter_layout(model, leaves).items() + ): + states = native_parameter_states(record) + entry = { + "layout": record["layout"], + "shapes": {key: list(states[key].shape) for key in PARAMETER_KEYS}, + "blocks": [], + } + count = record["parameter"].numel() + for block_index, start in enumerate(range(0, count, width)): + end = min(start + width, count) + filename = f"optimizer-state/p{parameter_index:05d}-b{block_index:05d}.pt" + # Clone bounded views: torch.save otherwise serializes their entire + # underlying native storage, which can itself be a whole buffer. + block = {key: states[key].reshape(-1)[start:end].clone() for key in PARAMETER_KEYS} + save_tensor_file(rank_dir / filename, block) + del block + entry["blocks"].append({"path": filename, "start": start, "end": end}) + extras[name] = { + key: value.clone() if isinstance(value, torch.Tensor) else value + for key, value in states.items() + if key not in PARAMETER_KEYS + } + index["parameters"][name] = entry + save_tensor_file(rank_dir / "optimizer-extra.pt", extras) + atomic_json(rank_dir / "optimizer-index.json", index) + return index + + +def parameter_state_files(rank_dir, index=None): + rank_dir = Path(rank_dir) + if index is None: + index = json.loads((rank_dir / "optimizer-index.json").read_text()) + if (index.get("schema_version"), index.get("scope"), index.get("block_bytes")) != ( + 1, + "native_dp1_parameter_state", + BLOCK_BYTES, + ): + raise ValueError("Unsupported native bounded optimizer checkpoint") + files = ["optimizer-header.pt", "optimizer-index.json", "optimizer-extra.pt"] + for entry in index["parameters"].values(): + for block in entry["blocks"]: + path = Path(block["path"]) + if len(path.parts) != 2 or path.parts[0] != "optimizer-state" or path.suffix != ".pt": + raise ValueError("Optimizer block path is outside its rank state directory") + files.append(str(path)) + if len(files) != len(set(files)): + raise ValueError("Native optimizer blocks cannot alias another parameter's state") + return files + + +def load_bounded_parameter_state(model, leaves, rank_dir): + rank_dir = Path(rank_dir) + index = json.loads((rank_dir / "optimizer-index.json").read_text()) + parameter_state_files(rank_dir, index) + current = native_parameter_layout(model, leaves) + if current.keys() != index["parameters"].keys(): + raise ValueError("Saved native optimizer parameter inventory differs") + extras = torch.load(rank_dir / "optimizer-extra.pt", map_location="cpu", weights_only=True) + if extras.keys() != current.keys(): + raise ValueError("Saved native optimizer extra-state inventory differs") + width = BLOCK_BYTES // (len(PARAMETER_KEYS) * 4) + touched_leaves = [] + with torch.no_grad(): + for name, record in current.items(): + entry = index["parameters"][name] + states = native_parameter_states(record) + shapes = {key: list(states[key].shape) for key in PARAMETER_KEYS} + if entry["layout"] != record["layout"] or entry["shapes"] != shapes: + raise ValueError("Saved native optimizer layout or state shapes differ") + position = 0 + for block in entry["blocks"]: + start, end = block["start"], block["end"] + if ( + type(start) is not int + or type(end) is not int + or start != position + or not start < end <= min(start + width, record["parameter"].numel()) + ): + raise ValueError( + "Native optimizer blocks must cover each parameter exactly once" + ) + payload = torch.load( + rank_dir / block["path"], map_location="cpu", weights_only=True + ) + if payload.keys() != set(PARAMETER_KEYS): + raise ValueError("Native optimizer block omits masters or moments") + for key in PARAMETER_KEYS: + value = payload[key] + if ( + value.dtype != torch.float32 + or value.shape != (end - start,) + or not torch.isfinite(value).all() + ): + raise ValueError("Native optimizer block shape/dtype/finite check failed") + states[key].reshape(-1)[start:end].copy_(value) + del payload + position = end + if position != record["parameter"].numel(): + raise ValueError("Native optimizer blocks do not cover the complete parameter") + if extras[name].keys() != states.keys() - set(PARAMETER_KEYS): + raise ValueError("Native optimizer extra-state schema differs") + for key, value in extras[name].items(): + if isinstance(states[key], torch.Tensor): + if not isinstance(value, torch.Tensor) or value.dtype != states[key].dtype: + raise ValueError("Native Adam scalar dtype differs") + states[key].copy_(value) + else: + if type(value) is not type(states[key]): + raise ValueError("Native Adam scalar type differs") + states[key] = value + record["leaf"]._set_main_param_and_optimizer_states(record["parameter"], states) + if record["leaf"] not in touched_leaves: + touched_leaves.append(record["leaf"]) + try: + from megatron.core.optimizer.cpu_offloading.hybrid_optimizer import HybridDeviceOptimizer + except ModuleNotFoundError: + return + + for leaf in touched_leaves: + hdo = leaf.optimizer + if isinstance(hdo, HybridDeviceOptimizer): + hdo._sync_hdo_state_to_sub_optimizers() diff --git a/tools/validation/models/qwen3_next_preflight.py b/tools/validation/models/qwen3_next_preflight.py new file mode 100644 index 000000000..fcf312b96 --- /dev/null +++ b/tools/validation/models/qwen3_next_preflight.py @@ -0,0 +1,252 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Required four-GPU infrastructure checks, never full-model L2 acceptance.""" + +import argparse +import importlib.metadata +import json +import os +import platform +import subprocess +import sys +from pathlib import Path + +from qwen3_next_contract import checkpoint_identity, evidence_record, result_envelope +from qwen3_next_runtime import ( + atomic_json, + failure_fields, + memory_limits, + parse_memory_request, + subprocess_failure, + verify_checkpoint, + verify_environment, +) + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--manifest", type=Path, required=True) + parser.add_argument("--output", type=Path, required=True) + args = parser.parse_args() + manifest = json.loads(args.manifest.read_text()) + output = args.output + output.mkdir(parents=True, exist_ok=True) + progress = { + "run_id": manifest["run_id"], + "attempt": os.environ["QWEN3_NEXT_ATTEMPT"], + "status": "running", + "phase": "inventory", + "full_model_l2": "not_evaluated", + } + + def run(name, command, env=None): + progress["phase"] = name + atomic_json(output / "progress.json", progress) + print(f"PREFLIGHT {name}: {command}", flush=True) + log_path = output / f"{name}.log" + with log_path.open("w") as log: + completed = subprocess.run(command, stdout=log, stderr=subprocess.STDOUT, env=env) + if completed.returncode: + raise subprocess_failure(completed.returncode, log_path) + + try: + verify_environment(manifest["environment"]) + if checkpoint_identity(manifest["checkpoint"]) != manifest["checkpoint_identity"]: + raise RuntimeError("checkpoint_mismatch: pinned metadata or shard inventory changed") + import torch + + versions = { + name: importlib.metadata.version(name) + for name in ( + "torch", + "vllm", + "triton", + "transformers", + "flashinfer-python", + "safetensors", + ) + } + nvcc = subprocess.check_output( + [f"{manifest['cuda_home']}/bin/nvcc", "--version"], text=True + ) + inventory = { + "source_commit": manifest["source_commit"], + "environment_sha256": manifest["environment_sha256"], + "visible_gpu_ids": os.environ.get("CUDA_VISIBLE_DEVICES"), + "execution_gpus": 4, + "python": sys.version, + "executable": sys.executable, + "platform": platform.platform(), + "versions": versions, + "torch_cuda": torch.version.cuda, + "nvcc": nvcc, + "compiler": subprocess.check_output(["g++", "--version"], text=True), + "nvidia_smi": subprocess.check_output(["nvidia-smi"], text=True), + "gpu_topology": subprocess.check_output(["nvidia-smi", "topo", "-m"], text=True), + "visible_gpus": [ + torch.cuda.get_device_properties(i).__repr__() + for i in range(torch.cuda.device_count()) + ], + "memory": memory_limits(), + "memory_requested": manifest.get("memory"), + } + atomic_json(output / "environment.json", inventory) + run("environment-lock", [sys.executable, "-m", "pip", "freeze", "--all"]) + if torch.cuda.device_count() != 4 or any( + "B200" not in torch.cuda.get_device_name(i) for i in range(4) + ): + raise RuntimeError( + "topology_mismatch: requires exactly four B200 GPUs in the execution step" + ) + if "V13.0.88" not in nvcc or torch.version.cuda != "13.0": + raise RuntimeError( + "environment_mismatch: requires CUDA toolkit 13.0.88 and a CUDA 13.0 torch runtime" + ) + for name, required in { + "torch": "2.13.0", + "vllm": "0.30.0", + "triton": "3.7.1", + "transformers": "5.17.0", + }.items(): + if versions[name].split("+", 1)[0] != required: + raise RuntimeError( + f"environment_mismatch: unverified runtime version: {name}={versions[name]}" + ) + memory = inventory["memory"] + quota = memory["effective_bytes"] + # Compare against what THIS run requested, recorded by the submitter, so + # the budget is not a second constant that has to be kept in sync -- and + # so a trimmed allocation fails loudly instead of passing a stale bound. + if "memory" not in manifest: + raise RuntimeError("Manifest does not record the memory request") + requested = parse_memory_request(manifest["memory"]) + if quota is None or quota < requested: + raise RuntimeError( + f"insufficient_memory: node granted less memory than this run requested " + f"({manifest['memory']} = {requested} bytes): " + f"effective={quota}, cgroup={memory['cgroup_bytes']}, " + f"declared={memory['declared_bytes']}" + ) + # A grant is not availability on a shared node. Fail in seconds rather + # than being OOM-killed minutes into a 162 GB model load. + available = memory["available_bytes"] + if available is None or available < requested: + raise RuntimeError( + f"insufficient_memory: node does not currently have the requested memory free " + f"({manifest['memory']} = {requested} bytes): " + f"MemAvailable={available}. Co-tenants can hold host RAM that an " + "allocation nominally grants; use an exclusive allocation or wait " + "for the node to drain." + ) + run("build", [sys.executable, "setup.py", "build_ext", "--inplace"]) + env = { + **os.environ, + "PY": sys.executable, + "QWEN3_NEXT_EVIDENCE_DIR": str(output / "operators"), + "QWEN3_NEXT_OPERATOR_SUITE": manifest.get("suite", "all"), + } + run("operators", ["bash", "ci/scripts/run_qwen3_next_operator_gates.sh"], env) + if manifest["stage"] == "preflight" or manifest.get("suite") in ("norm", "all"): + run( + "device-guards", + [ + sys.executable, + "-m", + "pytest", + "-q", + "tests/models/qwen3_next/check_qwen3_next_multigpu.py", + f"--junitxml={output}/device-guards.xml", + ], + ) + from xml.etree import ElementTree + + suites = list( + ElementTree.parse(output / "device-guards.xml").getroot().iter("testsuite") + ) + if not suites or any( + int(s.get(k, 0)) for s in suites for k in ("skipped", "errors", "failures") + ): + raise RuntimeError("Device guards must pass without skips") + checkpoint = None + if manifest["stage"] == "preflight": + run( + "tp4", + [ + sys.executable, + "-m", + "torch.distributed.run", + "--standalone", + "--nproc_per_node=4", + "tools/validation/models/qwen3_next_tp_probe.py", + "--output", + str(output / "tp4"), + ], + ) + ranks = [ + json.loads((output / "tp4" / f"rank-{rank}.json").read_text()) for rank in range(4) + ] + if any( + row.get("status") != "passed" + or row.get("rank") != rank + or row.get("world_size") != 4 + for rank, row in enumerate(ranks) + ): + raise RuntimeError("All four TP ranks must pass") + atomic_json(output / "tp4.json", {"status": "passed", "ranks": ranks}) + progress["phase"] = "checkpoint-integrity" + atomic_json(output / "progress.json", progress) + identity = json.loads( + Path("rl_engine/validation/models/qwen3_next_norm_manifest.json").read_text() + ) + checkpoint = verify_checkpoint(Path(manifest["checkpoint"]), identity["model_identity"]) + atomic_json(output / "checkpoint.json", checkpoint) + run( + "rollout-smoke", + [ + sys.executable, + "tools/validation/models/qwen3_next_rollout_smoke.py", + "--model", + manifest["checkpoint"], + "--output", + str(output / "rollout-smoke.json"), + "--tensor-parallel-size", + "4", + "--non-strict-smoke", + ], + ) + import rl_engine._C + from rl_engine.integrations.engines.train.vllm.qwen3_next_gdn import _provider + + provider = _provider() + names = {"operators": "operators/summary.json", "environment": "environment.json"} + if manifest["stage"] == "preflight" or manifest.get("suite") in ("norm", "all"): + names["device_guards"] = "device-guards.xml" + if manifest["stage"] == "preflight": + names.update( + tp4="tp4.json", checkpoint="checkpoint.json", rollout_smoke="rollout-smoke.json" + ) + evidence = { + name: evidence_record(output / filename, args.manifest.parent) + for name, filename in names.items() + } + result = result_envelope(manifest, os.environ["QWEN3_NEXT_ATTEMPT"], evidence=evidence) + result.update( + checkpoint=checkpoint, + provider_paths={ + "norm": rl_engine._C.__file__, + "gdn": f"{provider.__module__}.{provider.__name__}", + }, + ) + atomic_json(output / "result.json", result) + except Exception as exc: + progress.update( + status="failed", attempt=os.environ["QWEN3_NEXT_ATTEMPT"], **failure_fields(exc) + ) + atomic_json(output / "result.json", progress) + raise + + +if __name__ == "__main__": + main() diff --git a/tools/validation/models/qwen3_next_publish_evidence.py b/tools/validation/models/qwen3_next_publish_evidence.py new file mode 100644 index 000000000..83ebd1e06 --- /dev/null +++ b/tools/validation/models/qwen3_next_publish_evidence.py @@ -0,0 +1,152 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Copy a finished Qwen3-Next chain's evidence into the repository, without site details. + + python tools/validation/models/qwen3_next_publish_evidence.py --last \\ + --chain-report chain-report.json --out docs/usage/evidence/qwen3-next-chain- + +For every stage run on the chain (preflight -> ... -> the given run) this copies +``run.json``, ``result.json`` and every evidence file the result names (JSON +and XML only; tensor artifacts stay with the run), plus the chain report. Each +absolute root is replaced by a placeholder - ````, ````, +````, ````, ````, ```` - and host and user names +by ```` / ````. The copy fails if any file still contains a +site-specific path or name afterwards. ``redaction.json`` records what was +replaced and ``SHA256SUMS`` the published bytes; ``measured-commit.txt`` names +the commit the stages ran. +""" + +import argparse +import getpass +import hashlib +import json +import re +import shutil +import socket +from pathlib import Path + +# Absolute site paths only: "cpu/data/" inside a package path is not a site path. +_ABSOLUTE = r"(?-])" +FORBIDDEN = ( + _ABSOLUTE + r"/data/", + _ABSOLUTE + r"/home/", + _ABSOLUTE + r"/raid/", + _ABSOLUTE + r"/scratch", + r"\bdgx-", + r"(?i)slurm", +) +TEXT_SUFFIXES = (".json", ".xml", ".txt", ".log") + + +def chain_runs(last): + runs, run = [], Path(last).resolve() + while run is not None: + manifest = json.loads((run / "run.json").read_text()) + runs.append((manifest, run)) + run = Path(manifest["previous"]) if manifest.get("previous") else None + if runs[-1][0]["stage"] != "preflight": + raise SystemExit("The chain does not lead back to a preflight run") + if len({manifest["source_commit"] for manifest, _ in runs}) != 1: + raise SystemExit("The chain mixes source commits") + return list(reversed(runs)) + + +def replacements(runs): + """Longest-first (path, placeholder) pairs for every root the chain recorded.""" + pairs = {} + for manifest, run in runs: + pairs[str(run)] = "" + pairs[str(run.parent)] = "" + pairs[manifest["checkpoint"]] = "" + pairs[manifest["cuda_home"]] = "" + pairs[manifest["python"]] = "" + python_root = Path(manifest["python"]).parents[1] + pairs[str(python_root)] = "" + if manifest.get("training_storage"): + pairs[manifest["training_storage"]] = "" + pairs[str(Path.home())] = "" + return sorted(pairs.items(), key=lambda item: -len(item[0])) + + +def redact(text, pairs, counts): + for value, placeholder in pairs: + if value and value in text: + counts[placeholder] = counts.get(placeholder, 0) + text.count(value) + text = text.replace(value, placeholder) + for pattern, placeholder in ( + (r"/sys/fs/cgroup/[^\s\"']*/([^/\s\"']+)", r"/\1"), + (r"/[^\s\"']*/site-packages", ""), + # Anything else under a site root (editable sources, base interpreters, + # build directories in package metadata) keeps only its last component. + ( + _ABSOLUTE + r"/(?:data|home|raid|scratch)/[^\s\"'\\]*?([^/\s\"'\\]+)(?=[\s\"'\\]|$)", + r"/\1", + ), + (r"\bdgx-[A-Za-z0-9-]+", ""), + (rf"\b{re.escape(socket.gethostname())}\b", ""), + (rf"\b{re.escape(getpass.getuser())}\b", ""), + ): + text, count = re.subn(pattern, placeholder, text) + if count: + label = placeholder.split("/", 1)[0] + counts[label] = counts.get(label, 0) + count + return text + + +def leftovers(text): + return [pattern for pattern in FORBIDDEN if re.search(pattern, text)] + + +def publish(runs, chain_report, out): + out.mkdir(parents=True, exist_ok=False) + pairs, counts, files = replacements(runs), {}, [] + for manifest, run in runs: + stage_dir = out / manifest["stage"] + stage_dir.mkdir() + result = json.loads((run / "result.json").read_text()) + sources = {"run.json": run / "run.json", "result.json": run / "result.json"} + for name, record in result.get("evidence", {}).items(): + path = run / record["path"] + if path.suffix in TEXT_SUFFIXES and path.is_file(): + sources[f"{name}{path.suffix}"] = path + for name, source in sources.items(): + target = stage_dir / name + target.write_text(redact(source.read_text(), pairs, counts)) + files.append(target) + if chain_report is not None: + target = out / "chain-report.json" + target.write_text(redact(Path(chain_report).read_text(), pairs, counts)) + files.append(target) + (out / "measured-commit.txt").write_text(runs[0][0]["source_commit"] + "\n") + (out / "redaction.json").write_text( + json.dumps({"placeholders": dict(sorted(counts.items()))}, indent=2) + "\n" + ) + files += [out / "measured-commit.txt", out / "redaction.json"] + dirty = {str(f.relative_to(out)): leftovers(f.read_text()) for f in files} + dirty = {name: found for name, found in dirty.items() if found} + if dirty: + shutil.rmtree(out) + raise SystemExit(f"Site-specific text survived redaction: {dirty}") + sums = [ + f"{hashlib.sha256(f.read_bytes()).hexdigest()} {f.relative_to(out)}" for f in sorted(files) + ] + (out / "SHA256SUMS").write_text("\n".join(sums) + "\n") + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--last", type=Path, required=True) + parser.add_argument("--chain-report", type=Path) + parser.add_argument("--out", type=Path, required=True) + args = parser.parse_args() + runs = chain_runs(args.last) + if any(not (run / "result.json").is_file() for _, run in runs): + raise SystemExit("Every stage on the chain must have finished") + publish(runs, args.chain_report, args.out) + print(f"published {len(runs)} stages to {args.out}") + + +if __name__ == "__main__": + main() diff --git a/tools/validation/models/qwen3_next_rollout_smoke.py b/tools/validation/models/qwen3_next_rollout_smoke.py new file mode 100644 index 000000000..8ebb72c84 --- /dev/null +++ b/tools/validation/models/qwen3_next_rollout_smoke.py @@ -0,0 +1,73 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Real-checkpoint rollout diagnostic. This does not perform VIME or L2 validation.""" + +import argparse +import json +import os +from pathlib import Path + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--model", type=Path, required=True) + parser.add_argument("--output", type=Path, required=True) + parser.add_argument("--tensor-parallel-size", type=int, default=1) + parser.add_argument("--non-strict-smoke", action="store_true") + args = parser.parse_args() + config = json.loads((args.model / "config.json").read_text()) + if config.get("model_type") != "qwen3_next" or config.get("num_hidden_layers") != 48: + raise SystemExit("Expected the full Qwen3-Next checkpoint") + os.environ["VLLM_BATCH_INVARIANT"] = "0" if args.non_strict_smoke else "1" + os.environ["VLLM_PLUGINS"] = "" + from vllm import LLM, SamplingParams + + model = LLM( + model=str(args.model.resolve()), + dtype="bfloat16", + tensor_parallel_size=args.tensor_parallel_size, + gpu_memory_utilization=0.93, + max_model_len=512, + max_num_seqs=2, + enforce_eager=True, + enable_prefix_caching=False, + seed=1234, + mamba_cache_dtype="bfloat16", + mamba_ssm_cache_dtype="float32", + kernel_config={"moe_backend": "triton", "enable_flashinfer_autotune": False}, + ) + outputs = model.generate( + ["The capital of France is", "Calculate 7 plus 5. The result is"], + SamplingParams(temperature=0.0, top_p=1.0, max_tokens=8, logprobs=1), + ) + results = [] + for output in outputs: + response = output.outputs[0] + results.append( + { + "prompt_token_ids": output.prompt_token_ids, + "response_token_ids": list(response.token_ids), + "selected_logprobs": [ + row[token].logprob for row, token in zip(response.logprobs, response.token_ids) + ], + "text": response.text, + } + ) + payload = { + "scope": "rollout_smoke_only", + "full_model_l2": "not_evaluated", + "batch_invariant_requested": not args.non_strict_smoke, + "moe_backend": "triton", + "model": str(args.model.resolve()), + "tensor_parallel_size": args.tensor_parallel_size, + "results": results, + } + args.output.parent.mkdir(parents=True, exist_ok=True) + args.output.write_text(json.dumps(payload, indent=2) + "\n") + print("REAL_CHECKPOINT_ROLLOUT_SMOKE_COMPLETE", flush=True) + + +if __name__ == "__main__": + main() diff --git a/tools/validation/models/qwen3_next_run.py b/tools/validation/models/qwen3_next_run.py new file mode 100644 index 000000000..b36207e8f --- /dev/null +++ b/tools/validation/models/qwen3_next_run.py @@ -0,0 +1,337 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Run the Qwen3-Next full-model chain inside any allocation with four B200 GPUs. + + python tools/validation/models/qwen3_next_run.py --stage all \\ + --runs-root --checkpoint --cuda-home + +Stages run in order, each in its own run directory and its own clean clone of +the current commit; ``--from``/``--until`` select a contiguous part. The stages +are ``preflight`` (environment, operator gates, device guards, TP4 probe, +checkpoint hashes, rollout smoke), ``layers`` (per-layer and +scheduler gates, which certify the shared provider), ``l2`` (full-model +train/prefill/decode raw-bit matrix), then ``train1``, ``train2`` and ``train`` +(two optimizer updates, export, L2 on the updated weights, reload and +resumption). A single stage takes ``--previous `` of its predecessor. + +Every run directory holds ``run.json`` (the immutable manifest, identified by a +fresh ``execution_id``), ``attempts//`` (the stage's output) and, once the +stage passes, ``result.json``. The launcher refuses a dirty tree and never +talks to a batch scheduler; wrap it in whatever allocation command the cluster +uses. +""" + +import argparse +import json +import os +import signal +import subprocess +import sys +from datetime import datetime, timezone +from pathlib import Path +from uuid import uuid4 + +from qwen3_next_contract import ( + CONTRACT_VERSION, + checkpoint_identity, + operator_requirements, + validate_result, +) +from qwen3_next_layer_contract import layer_requirements +from qwen3_next_runtime import ( + STAGES, + atomic_json, + failure_fields, + file_digest, + interpreter_path, + probe_environment, + require_predecessor, + verify_environment, + wait_owned_child, +) + +ROOT = Path(__file__).resolve().parents[3] +ORDER = ("preflight", "layers", "l2", "train1", "train2", "train") +PROVIDER_SOURCES = ( + "rl_engine/integrations/engines/train/vllm/qwen3_next_provider.py", + "rl_engine/integrations/engines/train/vllm/qwen3_next_conv.py", + "rl_engine/integrations/engines/train/vllm/qwen3_next_gdn.py", + "rl_engine/models/qwen3_next/qwen3_next_engine_weights.py", + "rl_engine/integrations/orchestrators/vime/experiments/qwen3_next/profile.py", + "rl_engine/models/qwen3_next/qwen3_next_tp.py", + "rl_engine/models/qwen3_next/qwen3_next_tp_gdn.py", + "rl_engine/models/qwen3_next/qwen3_next_tp_blocks.py", + "rl_engine/models/qwen3_next/qwen3_next_forward.py", + "rl_engine/models/qwen3_next/qwen3_next_embedding.py", + "rl_engine/models/qwen3_next/qwen3_next_logprob.py", + "rl_engine/integrations/orchestrators/vime/providers/qwen3_next_vime.py", + "rl_engine/integrations/engines/rollout/vllm/qwen3_next_vllm.py", + "rl_engine/integrations/engines/rollout/vllm/qwen3_next_vllm_attention.py", + "rl_engine/integrations/engines/rollout/vllm/qwen3_next_vllm_model.py", + "rl_engine/backends/cuda/norm/rmsnorm.py", + "csrc/cuda/norm/rmsnorm.cu", +) + + +def _git(*args, cwd=ROOT): + return subprocess.check_output(["git", *args], cwd=cwd, text=True).strip() + + +def provider_config(): + return { + "profile": "qwen3_next_tp4_shared_eager_v1", + "scope": "shared_full_forward_implementation", + "scheduler_batch_invariance_certified": False, + "sources": {name: file_digest(ROOT / name) for name in PROVIDER_SOURCES}, + "weights": "bfloat16", + "recurrent_state": "float32", + "mtp": False, + "prefix_reuse": False, + "dropout": False, + "dynamic_tuning": False, + "cuda_graph": False, + "sequence_parallel": False, + "fp32_residual_connection": False, + "vocab_size": 151936, + "padded_vocab_size": 151936, + "expert_tensor_parallel_size": 4, + # Large enough that the batch-invariance matrix (up to 64 concurrent + # requests) runs under the same certified provider identity. + "native_rollout_kv_cache_memory_bytes": 4 << 30, + "runtime_env": {"TRITON_F32_DEFAULT": "ieee", "VLLM_USE_V2_MODEL_RUNNER": "0"}, + } + + +def prepare(stage, previous, args): + """Create the run directory, its clean source clone and its immutable manifest.""" + if _git("status", "--porcelain", "--untracked-files=no"): + raise SystemExit("Commit the source before starting an immutable run") + commit = _git("rev-parse", "HEAD") + checkpoint = args.checkpoint.resolve(strict=True) + stamp = datetime.now(timezone.utc).strftime("%Y%m%dT%H%M%SZ") + execution_id = uuid4().hex + run_id = f"{stamp}-{stage}-{commit[:8]}-{execution_id[:8]}" + run_dir = args.runs_root.resolve() / run_id + run_dir.mkdir(parents=True) + source = run_dir / "source" + subprocess.run( + ["git", "clone", "-q", "--shared", "--no-checkout", str(ROOT), str(source)], check=True + ) + subprocess.run(["git", "checkout", "-q", "--detach", commit], cwd=source, check=True) + python = interpreter_path(args.python) + manifest = { + "run_id": run_id, + "execution_id": execution_id, + "contract_version": CONTRACT_VERSION, + "suite": "all", + "execution_gpus": 4, + "source_tree": _git("rev-parse", "HEAD^{tree}"), + "stage": stage, + "source_commit": commit, + "source": str(source), + "python": python, + "cuda_home": str(args.cuda_home.resolve(strict=True)), + "checkpoint": str(checkpoint), + "memory": args.memory or STAGES[stage][0], + "previous": str(previous) if previous else None, + "status": "prepared", + "full_model_l2": "not_evaluated", + } + if args.training_storage_root and stage == "train1": + manifest["training_storage"] = str(args.training_storage_root.resolve(strict=True) / run_id) + environment = probe_environment(python) + manifest["environment"] = environment + manifest["environment_sha256"] = environment["sha256"] + manifest["cuda_identity"] = { + "home": manifest["cuda_home"], + "nvcc_sha256": file_digest(Path(manifest["cuda_home"]) / "bin/nvcc"), + } + manifest["checkpoint_identity"] = checkpoint_identity(checkpoint) + manifest["provider_config"] = provider_config() + manifest["operator_requirements"] = operator_requirements(ROOT, "all") + manifest["layer_requirements"] = layer_requirements(ROOT) + manifest["topology"] = {"tp": 4, "pp": 1, "cp": 1, "ep": 1} + require_predecessor(stage, previous, checkpoint, manifest) + if stage == "l2": + certificate = previous / "result.json" + manifest["scheduler_profile_certificate"] = { + "path": str(certificate), + "sha256": file_digest(certificate), + } + elif stage in ("train1", "train2", "train"): + manifest["scheduler_profile_certificate"] = json.loads((previous / "run.json").read_text())[ + "scheduler_profile_certificate" + ] + atomic_json(run_dir / "run.json", manifest) + return run_dir, manifest + + +def stage_environment(manifest, run_dir, attempt): + env = os.environ.copy() + env.pop("PYTHONHOME", None) + env.update( + CUDA_HOME=manifest["cuda_home"], + PYTHONUNBUFFERED="1", + VLLM_PLUGINS="", + MAX_JOBS="4", + KERNEL_ALIGN_DEV_RPATH="1", + QWEN3_NEXT_ATTEMPT=attempt, + QWEN3_NEXT_ALLOCATED_MEMORY=manifest["memory"], + # Four native ranks share the host. Left unpinned, each rank spins a + # thread per core on the ~50k small per-tensor loads of the HF import. + OMP_NUM_THREADS="16", + MKL_NUM_THREADS="16", + ) + # Layer gates qualify the providers without vLLM's aten overrides; the + # certified full-model stages run with them. + if manifest["stage"] in ("preflight", "layers"): + env["VLLM_BATCH_INVARIANT"] = "0" + else: + env["VLLM_BATCH_INVARIANT"] = "1" + env["QWEN_SHARED_PROFILE_RESULT"] = manifest["scheduler_profile_certificate"]["path"] + env.update(manifest["provider_config"]["runtime_env"]) + base_bin = Path(manifest["environment"]["identity"]["base_prefix"]) / "bin" + env["PATH"] = ( + f"{Path(manifest['python']).parent}:{manifest['cuda_home']}/bin:{base_bin}:{env['PATH']}" + ) + env["PYTHONPATH"] = manifest["source"] + env["TRITON_CACHE_DIR"] = str(run_dir / "cache/triton") + env["TORCH_EXTENSIONS_DIR"] = str(run_dir / "cache/torch") + return env + + +def execute(run_dir, manifest): + """Run one stage in its clone; on success write and validate ``result.json``.""" + attempt = "0" + output = run_dir / "attempts" / attempt + output.mkdir(parents=True) + status = { + "run_id": manifest["run_id"], + "execution_id": manifest["execution_id"], + "stage": manifest["stage"], + "attempt": attempt, + "status": "running", + "full_model_l2": "not_evaluated", + } + atomic_json(output / "status.json", status) + (run_dir / "RUNNING").touch() + received = None + + def stop(signum, frame): + nonlocal received + received = received or signum + + for sig in (signal.SIGUSR1, signal.SIGTERM, signal.SIGINT): + signal.signal(sig, stop) + child = None + try: + verify_environment(manifest["environment"], require_venv=manifest["stage"] != "preflight") + if manifest["environment"]["identity"]["build_tools"]["ninja"] is None: + raise RuntimeError("environment_mismatch: locked Ninja build tool is missing") + source = manifest["source"] + if _git("rev-parse", "HEAD^{tree}", cwd=source) != manifest["source_tree"] or _git( + "status", "--porcelain", "--untracked-files=no", cwd=source + ): + raise RuntimeError("source_mismatch: frozen tracked source changed") + if ( + file_digest(Path(manifest["cuda_home"]) / "bin/nvcc") + != manifest["cuda_identity"]["nvcc_sha256"] + ): + raise RuntimeError("environment_mismatch: CUDA toolkit changed") + atomic_json(output / "runtime-identity.json", manifest["environment"]) + command = [ + manifest["python"], + str(Path(source) / STAGES[manifest["stage"]][3]), + "--manifest", + str(run_dir / "run.json"), + "--output", + str(output), + ] + child = subprocess.Popen( + command, + cwd=source, + env=stage_environment(manifest, run_dir, attempt), + start_new_session=True, + ) + code = wait_owned_child(child, lambda: received is not None) + if received: + status.update(status="interrupted", signal=received, failure_kind="unknown") + elif code: + status.update( + status="failed", + exit_code=code, + **failure_fields(RuntimeError(f"Stage exited with code {code}")), + ) + failure = output / "result.json" + if failure.is_file(): + record = json.loads(failure.read_text()) + status.update({k: record[k] for k in ("failure_kind", "error") if k in record}) + else: + result = json.loads((output / "result.json").read_text()) + validate_result(manifest, result, run_dir=run_dir, attempt=attempt) + status.update(result) + atomic_json(run_dir / "result.json", result) + except Exception as exc: + status.update(status="interrupted" if received else "failed", **failure_fields(exc)) + raise + finally: + if child is not None and child.poll() is None: + wait_owned_child(child, lambda: True) + atomic_json(output / "status.json", status) + (run_dir / "RUNNING").unlink(missing_ok=True) + return status + + +def main(): + parser = argparse.ArgumentParser( + description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter + ) + parser.add_argument("--stage", choices=(*ORDER, "all"), required=True) + parser.add_argument("--runs-root", type=Path, required=True) + parser.add_argument("--checkpoint", type=Path, required=True) + parser.add_argument("--cuda-home", type=Path, required=True) + parser.add_argument("--python", type=Path, default=Path(sys.executable)) + parser.add_argument("--previous", type=Path, help="passed run directory of the predecessor") + parser.add_argument( + "--from", + dest="first", + choices=ORDER, + default="preflight", + help="with --stage all: first stage to run (later than preflight needs --previous)", + ) + parser.add_argument( + "--until", choices=ORDER, default="train", help="with --stage all: last stage to run" + ) + parser.add_argument( + "--memory", + help="host memory this allocation grants (e.g. 1280G); default: the stage's budget", + ) + parser.add_argument( + "--training-storage-root", + type=Path, + help="shared directory for training checkpoints and exports (default: in the run)", + ) + args = parser.parse_args() + if args.stage == "all": + stages = ORDER[ORDER.index(args.first) : ORDER.index(args.until) + 1] + if not stages: + raise SystemExit("--from must not come after --until") + else: + stages = (args.stage,) + if (stages[0] == "preflight") != (args.previous is None): + raise SystemExit("Every stage after preflight needs --previous ") + previous = args.previous.resolve(strict=True) if args.previous else None + for stage in stages: + run_dir, manifest = prepare(stage, previous, args) + print(f"[qwen3-next] {stage}: {run_dir}", flush=True) + status = execute(run_dir, manifest) + print(f"[qwen3-next] {stage}: {status['status']}", flush=True) + if status["status"] != "passed": + raise SystemExit(1) + previous = run_dir + + +if __name__ == "__main__": + main() diff --git a/tools/validation/models/qwen3_next_runtime.py b/tools/validation/models/qwen3_next_runtime.py new file mode 100644 index 000000000..8f801eae0 --- /dev/null +++ b/tools/validation/models/qwen3_next_runtime.py @@ -0,0 +1,772 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Scheduler-independent runtime for the Qwen3-Next stage runners. + +Environment identity, failure classification, memory preconditions, owned child +processes, checkpoint verification, stage ordering and crash-recoverable +training storage. Nothing here talks to a batch scheduler: a run is identified +by the ``execution_id`` that ``tools/validation/models/qwen3_next_run.py`` writes into +``run.json``, and any allocation that provides four GPUs can host it. +""" + +import errno +import hashlib +import importlib.metadata +import json +import os +import re +import shutil +import signal +import site +import subprocess +import sys +import sysconfig +import time +from pathlib import Path +from urllib.parse import unquote, urlparse + +from rl_engine.validation.common.file_digest import file_sha256 + +# --------------------------------------------------------------------------- # +# Environment identity +# --------------------------------------------------------------------------- # + + +def file_digest(path): + return file_sha256(Path(path)) + + +def identity_digest(value): + encoded = json.dumps(value, sort_keys=True, separators=(",", ":")).encode() + return hashlib.sha256(encoded).hexdigest() + + +def interpreter_path(path): + path = Path(os.path.abspath(os.path.expanduser(str(path)))) + if not path.is_file() or not os.access(path, os.X_OK): + raise ValueError(f"Python interpreter is not executable: {path}") + return str(path) + + +def source_identity(path): + path = Path(path) + result = subprocess.run( + ["git", "-C", str(path), "rev-parse", "--show-toplevel"], + capture_output=True, + text=True, + check=False, + ) + if result.returncode: + raise ValueError(f"Editable Python source has no auditable Git identity: {path}") + root = result.stdout.strip() + tree = subprocess.check_output( + ["git", "-C", root, "rev-parse", "HEAD^{tree}"], text=True + ).strip() + patch = subprocess.check_output(["git", "-C", root, "diff", "--binary", "HEAD"]) + return {"path": root, "tree": tree, "patch_sha256": hashlib.sha256(patch).hexdigest()} + + +def installed_provider_sources(distributions): + """Pin provider code inside a wheel too; unchanged metadata is insufficient. + + Editable frameworks are separately identified by Git tree and patch. vLLM + is an installed wheel in the shared environment, and local patches to its + numerical kernels or actual scheduler must invalidate the environment lock. + No framework import or GPU initialization is needed for this inventory. + """ + prefixes = ( + "vllm/model_executor/determinism/", + "vllm/model_executor/layers/mamba/", + "vllm/model_executor/layers/fused_moe/", + "vllm/model_executor/models/qwen3_next.py", + "vllm/third_party/flash_linear_attention/", + "vllm/v1/attention/", + "vllm/v1/core/sched/", + "vllm/v1/worker/", + "vllm/v1/sample/", + "vllm/config/", + "vllm/compilation/", + "vllm/distributed/", + ) + records = {} + for dist in distributions: + if dist.metadata.get("Name", "").lower().replace("_", "-") != "vllm": + continue + files = dist.files + if not files: + raise ValueError("Installed vLLM has no auditable provider file inventory") + selected = sorted( + str(path) + for path in files + if str(path).endswith(".py") and str(path).startswith(prefixes) + ) + required = "vllm/model_executor/determinism/batch_invariant.py" + if required not in selected: + raise ValueError("Installed vLLM omits the pinned shared GEMM provider") + for name in selected: + path = Path(dist.locate_file(name)) + records[name] = {"path": str(path.absolute()), "sha256": file_digest(path)} + return records + + +def installation_roots(): + """The interpreter's site directories, independent of what has been imported. + + ``sys.path`` grows at runtime: importing setuptools appends its ``_vendor`` + directory, after which ``importlib.metadata.distributions()`` also lists the + vendored packages. An identity read through ``sys.path`` therefore depends on + import order, and a worker that imports the model before verifying would + disagree with the manifest written by a fresh interpreter. Enumerate the fixed + site roots instead; in a fresh interpreter they are exactly the ``site-packages`` + entries of ``sys.path``. + """ + roots = {Path(sysconfig.get_path("purelib")), Path(sysconfig.get_path("platlib"))} + roots.update(Path(p) for p in site.getsitepackages()) + if site.ENABLE_USER_SITE: + roots.add(Path(site.getusersitepackages())) + return sorted(root for root in roots if root.is_dir()) + + +def current_identity(): + distributions = [] + sources = {} + roots = installation_roots() + installed = list(importlib.metadata.distributions(path=[str(root) for root in roots])) + for dist in installed: + if dist.metadata.get("Name", "").lower().replace("_", "-") in {"rl-engine", "rl-kernel"}: + continue + direct = dist.read_text("direct_url.json") + if direct: + direct_value = json.loads(direct) + if direct_value.get("dir_info", {}).get("editable"): + location = Path(unquote(urlparse(direct_value["url"]).path)) + # This project is loaded from the frozen source snapshot instead. + if dist.metadata.get("Name", "").lower().replace("_", "-") != "rl-engine": + sources[str(location)] = source_identity(location) + distributions.append( + { + "name": dist.metadata.get("Name"), + "version": dist.version, + "metadata_sha256": identity_digest(dist.read_text("METADATA")), + "direct_url": direct, + } + ) + pth = {} + for root in roots: + for path in sorted(root.glob("*.pth")): + pth[str(path)] = file_digest(path) + for line in path.read_text().splitlines(): + location = Path(line) + if ( + line + and not line.startswith(("#", "import ")) + and location.is_absolute() + and location.is_dir() + ): + if (location / ".git").exists(): + sources[str(location)] = source_identity(location) + config = Path(sys.prefix) / "pyvenv.cfg" + ninja = next( + ( + Path(prefix) / "bin/ninja" + for prefix in (sys.prefix, sys.base_prefix) + if (Path(prefix) / "bin/ninja").is_file() + ), + None, + ) + build_tools = {"ninja": {"path": str(ninja), "sha256": file_digest(ninja)} if ninja else None} + identity = { + "executable": sys.executable, + "binary": str(Path(sys.executable).resolve()), + "binary_sha256": file_digest(sys.executable), + "prefix": sys.prefix, + "base_prefix": sys.base_prefix, + "version": sys.version, + "pyvenv_cfg_sha256": file_digest(config) if config.is_file() else None, + "distributions": sorted( + distributions, key=lambda item: (item["name"] or "", item["version"]) + ), + "build_tools": build_tools, + "pth": pth, + "sources": sources, + "installed_provider_sources": installed_provider_sources(installed), + } + return {"sha256": identity_digest(identity), "identity": identity} + + +def probe_environment(python): + command = [interpreter_path(python), str(Path(__file__).absolute()), "--json"] + env = os.environ.copy() + env.pop("PYTHONHOME", None) + env.pop("PYTHONPATH", None) + output = subprocess.check_output(command, text=True, env=env, timeout=180) + return json.loads(output) + + +def verify_environment(expected, *, require_venv=False): + actual = current_identity() + if actual != expected: + raise RuntimeError( + "environment_mismatch: interpreter, dependencies or editable source changed" + ) + if require_venv and sys.prefix == sys.base_prefix: + raise RuntimeError("environment_mismatch: training/recompute requires the isolated venv") + return actual + + +if __name__ == "__main__": + print(json.dumps(current_identity(), sort_keys=True)) + + +# --------------------------------------------------------------------------- # +# Failure classification +# --------------------------------------------------------------------------- # + + +FAILURE_KINDS = frozenset( + { + "environment_mismatch", + "source_mismatch", + "checkpoint_mismatch", + "topology_mismatch", + "insufficient_memory", + "insufficient_disk", + "out_of_memory", + "time_limit", + "unknown", + } +) + + +class ProcessFailure(RuntimeError): + def __init__(self, message, *, failure_kind): + super().__init__(message) + self.failure_kind = failure_kind + + +def failure_kind(error=None, *, text=""): + explicit = getattr(error, "failure_kind", None) + if explicit in FAILURE_KINDS: + return explicit + if isinstance(error, (TimeoutError, subprocess.TimeoutExpired)): + return "time_limit" + if isinstance(error, OSError) and error.errno == errno.ENOSPC: + return "insufficient_disk" + if type(error).__name__ == "OutOfMemoryError": + return "out_of_memory" + if isinstance(error, (ImportError, ModuleNotFoundError)): + return "environment_mismatch" + detail = f"{type(error).__name__}: {error}\n{text}" if error is not None else text + for kind in sorted(FAILURE_KINDS - {"unknown", "out_of_memory", "time_limit"}): + if re.search(rf"\b{kind}\s*:", detail): + return kind + if re.search(r"\bOutOfMemoryError\s*:|CUDA out of memory", detail, re.IGNORECASE): + return "out_of_memory" + if re.search(r"\bENOSPC\b|\[Errno 28\]|No space left on device", detail): + return "insufficient_disk" + if re.search(r"\b(?:ModuleNotFoundError|ImportError)\s*:", detail): + return "environment_mismatch" + if re.search(r"\b(?:TimeoutExpired|TimeoutError|time_limit)\s*:", detail): + return "time_limit" + # Signals, exit 137, MemoryError and a bare 'Killed' are not proof of CUDA OOM. + return "unknown" + + +def failure_fields(error): + return {"failure_kind": failure_kind(error), "error": f"{type(error).__name__}: {error}"} + + +def subprocess_failure(code, log_path): + with Path(log_path).open("rb") as stream: + stream.seek(0, 2) + stream.seek(max(0, stream.tell() - 65536)) + tail = stream.read().decode("utf-8", errors="replace") + return ProcessFailure( + f"Native model process failed with exit {code}; see {log_path}\n{tail}", + failure_kind=failure_kind(text=tail), + ) + + +# --------------------------------------------------------------------------- # +# Memory, checkpoint and atomic files +# --------------------------------------------------------------------------- # + + +def atomic_json(path, payload): + path = Path(path) + temporary = path.with_suffix(path.suffix + ".partial") + with temporary.open("w") as stream: + stream.write(json.dumps(payload, indent=2) + "\n") + stream.flush() + os.fsync(stream.fileno()) + temporary.replace(path) + fd = os.open(path.parent, os.O_RDONLY | os.O_DIRECTORY) + try: + os.fsync(fd) + finally: + os.close(fd) + + +def digest(path): + return file_sha256(path) + + +_MEMORY_SUFFIXES = {"K": 1024, "M": 1024**2, "G": 1024**3, "T": 1024**4} + + +def parse_memory_request(text): + """A memory size (e.g. ``1280G``) in bytes; a bare number is MB.""" + text = str(text).strip() + if not text: + raise RuntimeError("Empty memory request") + scale = _MEMORY_SUFFIXES.get(text[-1].upper()) + digits = text[:-1] if scale else text + if not digits.isdigit(): + raise RuntimeError(f"Unparseable memory request: {text!r}") + return int(digits) * (scale if scale else 1024**2) + + +def available_memory_bytes(): + """MemAvailable, i.e. what the kernel thinks can be had without swapping.""" + for line in Path("/proc/meminfo").read_text().splitlines(): + if line.startswith("MemAvailable:"): + return int(line.split()[1]) * 1024 + return None + + +def memory_limits(environ=None): + """Every known memory ceiling, and what is free right now. + + ``effective_bytes`` is the smallest of the cgroup limit and the allocation + the launcher declares in ``QWEN3_NEXT_ALLOCATED_MEMORY`` (``--memory``). + It is None only when neither is known, which the stages treat as a hard + failure: host free memory alone is never taken as a grant. + ``available_bytes`` is a snapshot of MemAvailable; on a shared node a grant + is not an availability guarantee, so both are checked. + """ + environ = os.environ if environ is None else environ + records = {} + for line in Path("/proc/self/cgroup").read_text().splitlines(): + _, controllers, relative = line.split(":", 2) + if controllers == "": + root, name = Path("/sys/fs/cgroup"), "memory.max" + elif "memory" in controllers.split(","): + root, name = Path("/sys/fs/cgroup/memory"), "memory.limit_in_bytes" + else: + continue + current = root / relative.lstrip("/") + while current.is_relative_to(root): + path = current / name + if path.is_file(): + records[str(path)] = path.read_text().strip() + if current == root: + break + current = current.parent + finite = [int(value) for value in records.values() if value.isdigit() and int(value) < 2**60] + declared = environ.get("QWEN3_NEXT_ALLOCATED_MEMORY") + sources = { + "cgroup_bytes": min(finite) if finite else None, + "declared_bytes": parse_memory_request(declared) if declared else None, + } + known = [value for value in sources.values() if value is not None] + return { + "limits": records, + **sources, + "effective_bytes": min(known) if known else None, + "available_bytes": available_memory_bytes(), + } + + +def verify_checkpoint(checkpoint, identity): + if checkpoint.name != identity["revision"]: + raise RuntimeError("Checkpoint revision does not match the pinned manifest") + config = json.loads((checkpoint / "config.json").read_text()) + for key, value in identity["config_fingerprint"].items(): + if config.get(key) != value: + raise RuntimeError(f"Checkpoint architecture mismatch: {key}") + snapshot = identity["weight_snapshot"] + if digest(checkpoint / snapshot["index_file"]) != snapshot["index_sha256"]: + raise RuntimeError("Checkpoint index checksum mismatch") + for shard in snapshot["shards"]: + path = checkpoint / shard["filename"] + if path.stat().st_size != shard["size_bytes"] or digest(path) != shard["sha256"]: + raise RuntimeError(f"Checkpoint shard checksum mismatch: {path.name}") + return { + "model_id": identity["model_id"], + "revision": identity["revision"], + "content_hash": snapshot["content_hash"], + "shards_verified": len(snapshot["shards"]), + "metadata_sha256": {p.name: digest(p) for p in sorted(checkpoint.glob("*.json"))}, + } + + +# --------------------------------------------------------------------------- # +# Owned child processes +# --------------------------------------------------------------------------- # + + +def signal_group(child, signum): + try: + os.killpg(child.pid, signum) + except ProcessLookupError: + pass + + +def wait_owned_child(child, interrupted, *, grace_seconds=10): + deadline = None + while True: + if interrupted() and deadline is None: + signal_group(child, signal.SIGTERM) + deadline = time.monotonic() + grace_seconds + if deadline is not None and time.monotonic() >= deadline: + # Kill the group even if its leader exited, so grandchildren cannot linger. + signal_group(child, signal.SIGKILL) + return child.wait(timeout=10) + code = child.poll() + if code is not None and deadline is None: + return code + time.sleep(0.05) + + +# --------------------------------------------------------------------------- # +# Stage order +# --------------------------------------------------------------------------- # + +STAGES = { + "preflight": ("256G", "01:00:00", None, "tools/validation/models/qwen3_next_preflight.py"), + "layers": ("512G", "04:00:00", "preflight", "tools/validation/models/qwen3_next_layers.py"), + "l2": ("512G", "04:00:00", "layers", "tools/validation/models/qwen3_next_l2.py"), + # The training acceptance is split so no single job holds a node for a day: + # train1 = update1 + export + L2, train2 = update2 + export + L2 (continues + # train1's durable state), train = reload + L2 + continuous/resumed controls. + "train1": ("1280G", "06:00:00", "l2", "tools/validation/models/qwen3_next_training.py"), + "train2": ("1280G", "07:00:00", "train1", "tools/validation/models/qwen3_next_training.py"), + "train": ("1280G", "09:00:00", "train2", "tools/validation/models/qwen3_next_training.py"), +} + + +def require_predecessor(stage, previous, checkpoint, expected=None): + """The previous stage's run passed, finished, and pinned the same identity.""" + from qwen3_next_contract import acceptance_identity, checkpoint_identity, validate_result + + predecessor = STAGES[stage][2] + if predecessor is None: + return + if previous is None: + raise ValueError(f"{stage} requires a passed {predecessor} run") + manifest = json.loads((previous / "run.json").read_text()) + result = json.loads((previous / "result.json").read_text()) + if manifest["stage"] != predecessor or result.get("status") != "passed": + raise ValueError("predecessor stage has not passed") + if (previous / "RUNNING").exists(): + raise ValueError("predecessor run is still executing") + validate_result(manifest, result, run_dir=previous) + if manifest["checkpoint_identity"] != checkpoint_identity(checkpoint): + raise ValueError("predecessor checkpoint identity mismatch") + if expected is not None and acceptance_identity(manifest) != acceptance_identity(expected): + raise ValueError("predecessor source/environment/provider/topology identity mismatch") + + +# --------------------------------------------------------------------------- # +# Training storage +# --------------------------------------------------------------------------- # + + +def _boundary(name): + """CPU fault-injection seam; production deliberately performs no action.""" + + +def _sync(path): + descriptor = os.open(path, os.O_RDONLY | os.O_DIRECTORY) + try: + os.fsync(descriptor) + finally: + os.close(descriptor) + + +def _read(path): + if path.is_symlink() or not path.is_file(): + raise ValueError(f"Missing or external storage ownership record: {path}") + return json.loads(path.read_text()) + + +def _write(path, value): + if path.is_symlink() or path.with_suffix(path.suffix + ".partial").is_symlink(): + raise ValueError("Storage intent cannot follow a symlink") + atomic_json(path, value) + + +def _root_record(root, identity): + return { + "schema_version": 1, + "scope": "qwen3_next_owned_storage", + "root": str(root), + "identity": identity, + } + + +def owned_root(root, identity): + root = Path(root).absolute() + if root.is_symlink(): + raise ValueError("Training storage root cannot be a symlink") + root = root.resolve() + root.parent.mkdir(parents=True, exist_ok=True) + parent_owner = root.parent / f".{root.name}.owner.json" + expected = _root_record(root, identity) + if parent_owner.exists(): + if _read(parent_owner) != expected: + raise ValueError("Training storage belongs to another run") + else: + # Existing deployments can migrate only with their original owner. + # An interrupted new creation has no directory until parent proof lands. + if root.exists() and any(root.iterdir()): + if _read(root / "RUN_OWNER.json") != identity: + raise ValueError("Existing training files lack a matching run owner") + _write(parent_owner, expected) + _boundary("root_owner_persisted") + root.mkdir(exist_ok=True) + _sync(root.parent) + _boundary("root_created") + owner = root / "RUN_OWNER.json" + if owner.exists() and _read(owner) != identity: + raise ValueError("Internal training owner disagrees with durable parent proof") + _write(owner, identity) + return root + + +def require_owner(root, identity): + root = Path(root).absolute() + if root.is_symlink() or not root.is_dir(): + raise ValueError("Training storage must be a direct owned directory") + root = root.resolve() + if _read(root.parent / f".{root.name}.owner.json") != _root_record(root, identity): + raise ValueError("Training storage lacks matching durable parent ownership") + return root + + +def _child(root, name): + if not isinstance(name, str) or not name or Path(name).name != name or name in (".", ".."): + raise ValueError("Storage intent must name one direct child") + path = root / name + if path.is_symlink(): + raise ValueError("Storage intents cannot follow target symlinks") + return path + + +def create_staging(root, destination_name, metadata): + if metadata.get("status") != "staging": + raise ValueError("Staging creation needs an explicit unpublished status") + root = require_owner(root, metadata["identity"]) + destination = _child(root, destination_name) + if destination.name.startswith(".") or destination.suffix: + raise ValueError("Published storage names must remain visible and have no suffix") + staging = destination.with_suffix(".partial") + if destination.exists() or staging.exists(): + raise ValueError("A staging intent cannot adopt an existing directory") + intent = root / f".{destination.name}.staging.json" + value = { + "schema_version": 1, + "scope": "qwen3_next_staging_intent", + "identity": metadata["identity"], + "staging": staging.name, + "published": destination.name, + "metadata": metadata, + } + if intent.exists(): + raise ValueError("Staging names cannot reuse an earlier durable intent") + _write(intent, value) + _boundary("staging_intent_persisted") + staging.mkdir() + _sync(root) + _boundary("staging_created") + _write(staging / "STAGING.json", metadata) + _boundary("staging_marker_persisted") + return staging, destination + + +def _finish_retirement(root, intent, record, *, recovering=False): + target, tombstone = _child(root, record["target"]), _child(root, record["tombstone"]) + if target.exists() and tombstone.exists(): + raise ValueError("Retirement has conflicting original and tombstone directories") + if record["status"] == "retired": + if target.exists() or tombstone.exists(): + raise ValueError("Retired storage name was unexpectedly reused") + return record + if "successor" in record["proof"]: + successor = Path(record["proof"]["successor"]) + if successor.parent != root or successor.is_symlink() or successor == target: + raise ValueError("Retirement successor escaped its owning run") + if recovering: + from qwen3_next_checkpoint import validate_checkpoint + + if ( + validate_checkpoint(successor, record["identity"]) + != record["proof"]["successor_complete"] + ): + raise ValueError("Retirement successor no longer matches its verified publication") + if target.exists(): + marker, expected, optional = _retirement_marker(record) + marker = target / marker + if marker.exists() or marker.is_symlink() or not optional: + if _read(marker) != expected: + raise ValueError("Retirement target differs from its durable ownership proof") + target.rename(tombstone) + _sync(root) + _boundary("retirement_renamed") + if tombstone.exists(): + shutil.rmtree(tombstone) + _sync(root) + _boundary("retirement_removed") + record = {**record, "status": "retired"} + _write(intent, record) + _boundary("retirement_committed") + return record + + +def retire_directory(path, root, identity, *, proof): + root = require_owner(root, identity) + path = Path(path).absolute() + if path.is_symlink(): + raise ValueError("Retirement cannot follow a target symlink") + path = path.resolve() + if path.parent != root or path.name.startswith("."): + raise ValueError("Retirement target must be a visible direct child of this run") + target = _child(root, path.name) + intent = root / f".{target.name}.delete.json" + recovering = intent.exists() + if recovering: + record = _read(intent) + _validate_retirement(record, target.name, identity) + if record["proof"] != proof: + raise ValueError("Retirement retry changed its original ownership proof") + else: + if not target.is_dir(): + raise ValueError("Cannot authorize retirement of an unknown directory") + record = { + "schema_version": 1, + "scope": "qwen3_next_retirement", + "identity": identity, + "target": target.name, + "tombstone": f".{target.name}.deleting", + "status": "retiring", + "proof": proof, + } + _validate_retirement(record, target.name, identity) + _write(intent, record) + _boundary("retirement_intent_persisted") + return _finish_retirement(root, intent, record, recovering=recovering) + + +def _validate_retirement(record, target, identity): + if ( + record.get("schema_version") != 1 + or record.get("scope") != "qwen3_next_retirement" + or record.get("identity") != identity + or record.get("target") != target + or target.startswith(".") + or record.get("tombstone") != f".{target}.deleting" + or record.get("status") not in ("retiring", "retired") + or not isinstance(record.get("proof"), dict) + ): + raise ValueError("Retirement intent belongs to another target/run or is malformed") + _retirement_marker(record) + + +def _retirement_marker(record): + """Bind a destructive intent to one of the supported ownership proofs.""" + proof, identity = record["proof"], record["identity"] + if proof.get("scope") == "qwen3_next_staging_intent": + metadata = proof.get("metadata", {}) + published = proof.get("published") + if ( + proof.get("schema_version") != 1 + or proof.get("identity") != identity + or proof.get("staging") != record["target"] + or not isinstance(published, str) + or Path(published).name != published + or published.startswith(".") + or Path(published).suffix + or str(Path(published).with_suffix(".partial")) != record["target"] + or metadata.get("identity") != identity + or metadata.get("status") != "staging" + ): + raise ValueError("Staging retirement proof does not own its target") + return "STAGING.json", metadata, True + if proof.get("status") == "staging" and proof.get("identity") == identity: + if Path(record["target"]).suffix != ".partial": + raise ValueError("Legacy staging proof cannot authorize a published directory") + return "STAGING.json", proof, False + complete, successor = proof.get("complete", {}), proof.get("successor_complete", {}) + if ( + complete.get("identity") == identity + and complete.get("status") == "complete" + and successor.get("identity") == identity + and successor.get("status") == "complete" + and type(complete.get("step")) is int + and type(successor.get("step")) is int + and complete["step"] < successor["step"] + and isinstance(proof.get("successor"), str) + ): + return "COMPLETE.json", complete, False + exported = proof.get("export", {}) + if exported.get("training_identity") == identity and exported.get("status") == "complete": + return "EXPORT_COMPLETE.json", exported, False + raise ValueError("Retirement lacks a supported same-run ownership proof") + + +def recover_storage(root, identity): + root = require_owner(root, identity) + recovered = [] + for intent in sorted(root.glob(".*.delete.json")): + record = _read(intent) + target = record.get("target") + _child(root, target) + _validate_retirement(record, target, identity) + if intent.name != f".{target}.delete.json": + raise ValueError("Retirement filename contradicts its target") + if record["status"] == "retiring": + recovered.append(_finish_retirement(root, intent, record, recovering=True)) + else: + _finish_retirement(root, intent, record) + for intent in sorted(root.glob(".*.staging.json")): + record = _read(intent) + if ( + record.get("schema_version") != 1 + or record.get("scope") != "qwen3_next_staging_intent" + or record.get("identity") != identity + or record.get("metadata", {}).get("identity") != identity + or record.get("metadata", {}).get("status") != "staging" + ): + raise ValueError("Staging intent belongs to another run or is malformed") + staging, published = _child(root, record["staging"]), _child(root, record["published"]) + if ( + published.name.startswith(".") + or published.suffix + or staging != published.with_suffix(".partial") + or intent.name != f".{published.name}.staging.json" + ): + raise ValueError("Staging intent paths do not describe one publication") + if staging.exists() and published.exists(): + raise ValueError("Staging and published copies cannot coexist") + if staging.exists(): + marker = staging / "STAGING.json" + if marker.exists() and _read(marker) != record["metadata"]: + raise ValueError("Staging marker differs from its durable parent intent") + recovered.append(retire_directory(staging, root, identity, proof=record)) + # A marker from the earlier protocol can prove ownership, but an arbitrary + # directory with neither marker nor parent intent must never be deleted. + for staging in sorted(root.glob("*.partial")): + if not staging.is_dir(): + continue + metadata = _read(staging / "STAGING.json") + if metadata.get("identity") != identity or metadata.get("status") != "staging": + raise ValueError("Interrupted state belongs to another run or lacks a matching owner") + recovered.append(retire_directory(staging, root, identity, proof=metadata)) + return recovered + + +def training_storage_root(manifest, run_root): + """The run's checkpoint and export root: ``--training-storage`` or ``/training-state``.""" + shared = manifest.get("training_storage") + return Path(shared) if shared else Path(run_root) / "training-state" diff --git a/tools/validation/models/qwen3_next_tp_attention_check.py b/tools/validation/models/qwen3_next_tp_attention_check.py new file mode 100644 index 000000000..a94487e35 --- /dev/null +++ b/tools/validation/models/qwen3_next_tp_attention_check.py @@ -0,0 +1,145 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""TP4 full-attention gate on the official checkpoint's layer-3 weights; four GPUs, torchrun. + + torchrun --nproc-per-node 4 tools/validation/models/qwen3_next_tp_attention_check.py \\ + --checkpoint --output + +Requires, bitwise: the HF load/export round trip with the KV head replicated on +each rank pair; full prefill == chunked prefill (output and KV continuation) for +8-1024 tokens; a variable-length batch of four == each sequence alone, in any +order; a sixteen-token decode == the prefill rows; the training recompute == the +no-grad forward; and identical KV-pair and QK-norm gradients across replicas. +""" + +import sys +from contextlib import ExitStack +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).resolve().parents[3])) + +import torch # noqa: E402 +import torch.distributed as dist # noqa: E402 + +from rl_engine.models.qwen3_next.qwen3_next_tp_blocks import ( # noqa: E402 + ATTENTION_HF_SHAPES, + TP4FullAttention, + assemble_attention_weights, +) +from rl_engine.validation.common.tensor_identity import ( # noqa: E402 + assert_tensor_bitwise_equal as exact, +) +from tools.validation.models.qwen3_next_gate_common import ( # noqa: E402 + CheckpointWeights, + check_gradients, + gather, + run_gate, +) + + +def attention_gate(checkpoint, generator): + module = TP4FullAttention(group=dist.group.WORLD, device="cuda") + with ExitStack() as stack: + weights = CheckpointWeights( + checkpoint, "model.layers.3.self_attn.", ATTENTION_HF_SHAPES, stack + ) + module.load_hf_weights(weights) + shards = [dict() for _ in range(4)] + for name, tensor in module.export_local_hf_weights().items(): + for rank, value in enumerate(gather(tensor)): + shards[rank][name] = value.cpu() + for name, tensor in assemble_attention_weights(shards).items(): + exact(tensor, weights[name], name=f"attention HF {name}") + del shards, weights + cases = ["hf-load-export"] + slots = torch.tensor([1], device="cuda", dtype=torch.int32) + with torch.no_grad(): + for length in (8, 64, 256, 1024): + hidden = ( + torch.randn(length, 2048, device="cuda", dtype=torch.bfloat16, generator=generator) + * 0.1 + ) + state = module.initial_state(2) + whole, expected = module(hidden, state, slots, torch.tensor([0, length])) + cut = min(65, length - 1) + first, state = module(hidden[:cut], state, slots, torch.tensor([0, cut])) + last, state = module(hidden[cut:], state, slots, torch.tensor([0, length - cut])) + exact(torch.cat((first, last)), whole, name=f"attention full/chunk {length}") + exact(state.keys[1], expected.keys[1], name="attention key continuation") + exact(state.values[1], expected.values[1], name="attention value continuation") + cases.append(f"full-chunk-{length}") + hidden = ( + torch.randn(88, 2048, device="cuda", dtype=torch.bfloat16, generator=generator) * 0.1 + ) + packed, state = module( + hidden, + module.initial_state(5), + torch.tensor([1, 2, 3, 4], device="cuda"), + torch.tensor([0, 8, 24, 48, 88]), + ) + order = [3, 1, 0, 2] + segments = [hidden[:8], hidden[8:24], hidden[24:48], hidden[48:]] + ends = [0] + for index in order: + ends.append(ends[-1] + segments[index].shape[0]) + reordered, _ = module( + torch.cat([segments[i] for i in order]), + module.initial_state(5), + torch.tensor([i + 1 for i in order], device="cuda"), + torch.tensor(ends), + ) + expected = packed.split((8, 16, 24, 40)) + exact( + reordered, + torch.cat([expected[i] for i in order]), + name="attention variable-length batch4 reorder", + ) + for index, segment in enumerate(segments): + single, _ = module( + segment, module.initial_state(2), slots, torch.tensor([0, segment.shape[0]]) + ) + exact(single, expected[index], name="attention batch4/single") + cases.append("batch4-varlen-reorder") + hidden = ( + torch.randn(80, 2048, device="cuda", dtype=torch.bfloat16, generator=generator) * 0.1 + ).requires_grad_() + with torch.no_grad(): + expected, _ = module(hidden, module.initial_state(2), slots, torch.tensor([0, 80])) + _, decode_state = module(hidden[:64], module.initial_state(2), slots, torch.tensor([0, 64])) + decoded = [] + for token in hidden[64:].split(1): + value, decode_state = module(token, decode_state, slots, torch.tensor([0, 1])) + decoded.append(value) + exact(torch.cat(decoded), expected[64:], name="attention sixteen-token decode") + _, state = module(hidden[:64], module.initial_state(2), slots, torch.tensor([0, 64])) + output, _ = module(hidden[64:], state, slots, torch.tensor([0, 16])) + exact(output, expected[64:], name="attention independent response recompute") + output.float().square().mean().backward() + if ( + hidden.grad is None + or not torch.isfinite(hidden.grad).all() + or not hidden.grad[:64].count_nonzero() + ): + raise AssertionError("Attention response gradient did not reach the prompt") + gradients = check_gradients(module) + for projection in (module.k_proj, module.v_proj): + peers = gather(projection.weight.grad) + exact(peers[0], peers[1], name="KV replica gradient pair0") + exact(peers[2], peers[3], name="KV replica gradient pair1") + for norm in (module.q_norm, module.k_norm): + for peer in gather(norm.weight.grad): + exact(peer, norm.weight.grad, name="QK norm replicated gradient") + cases.extend( + ("sixteen-token-decode", "prompt-gradient", "kv-pair-gradient", "qk-norm-gradient") + ) + return {"cases": cases, "gradient_max_abs": gradients} + + +if __name__ == "__main__": + run_gate( + __doc__, + "tp4_full_attention_layer3", + lambda checkpoint, generator: {"attention": attention_gate(checkpoint, generator)}, + ) diff --git a/tools/validation/models/qwen3_next_tp_gdn_check.py b/tools/validation/models/qwen3_next_tp_gdn_check.py new file mode 100644 index 000000000..65fee3815 --- /dev/null +++ b/tools/validation/models/qwen3_next_tp_gdn_check.py @@ -0,0 +1,108 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""TP4 GDN gate on the official checkpoint's layer-0 weights; four GPUs, torchrun. + + torchrun --nproc-per-node 4 tools/validation/models/qwen3_next_tp_gdn_check.py \\ + --checkpoint --output + +A one-layer integration gate, not full-model evidence. Requires, bitwise: the +HF load/export round trip of the actual parameter storage; full prefill == +chunked prefill, output and convolution/recurrent state handoff, for 8-1024 +tokens; the training response recompute == the no-grad forward; a gradient that +reaches the prompt through the state; identical replicated norm gradients. +""" + +import json +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).resolve().parents[3])) + +import torch # noqa: E402 +import torch.distributed as dist # noqa: E402 +from safetensors import safe_open # noqa: E402 + +from rl_engine.integrations.engines.train.vllm.qwen3_next_provider import ( # noqa: E402 + GDNProviderConfig, +) +from rl_engine.models.qwen3_next.qwen3_next_tp_gdn import ( # noqa: E402 + _GLOBAL_SHAPES, + TP4GDN, + assemble_gdn_weights, +) +from rl_engine.validation.common.tensor_identity import ( # noqa: E402 + assert_tensor_bitwise_equal as exact, +) +from tools.validation.models.qwen3_next_gate_common import check_gradients, run_gate # noqa: E402 + + +def load_first_gdn(checkpoint): + index = json.loads((checkpoint / "model.safetensors.index.json").read_text())["weight_map"] + result = {} + for name in _GLOBAL_SHAPES: + key = f"model.layers.0.linear_attn.{name}" + with safe_open(checkpoint / index[key], framework="pt", device="cpu") as reader: + result[name] = reader.get_tensor(key) + return result + + +def gdn_gate(checkpoint, generator): + weights = load_first_gdn(checkpoint) + module = TP4GDN(group=dist.group.WORLD, device="cuda", config=GDNProviderConfig()) + module.load_hf_weights(weights) + # Validate actual parameter storage, not just the pure conversion helper. + shards = [dict() for _ in range(4)] + for name, parameter in module.named_parameters(): + gathered = [torch.empty_like(parameter) for _ in range(4)] + dist.all_gather(gathered, parameter.detach()) + for peer, value in enumerate(gathered): + shards[peer][name] = value.cpu() + for name, restored in assemble_gdn_weights(shards).items(): + exact(restored, weights[name], name=f"loaded weight {name}") + del shards, weights + cases = [] + indices = torch.tensor([1], device="cuda", dtype=torch.int32) + with torch.no_grad(): + for length in (8, 64, 256, 1024): + hidden = ( + torch.randn(length, 2048, device="cuda", dtype=torch.bfloat16, generator=generator) + * 0.1 + ) + initial = module.initial_state(2) + whole, expected_state = module(hidden, initial, indices, torch.tensor([0, length])) + cut = min(65, length - 1) + first, state = module(hidden[:cut], initial, indices, torch.tensor([0, cut])) + last, state = module(hidden[cut:], state, indices, torch.tensor([0, length - cut])) + exact(torch.cat((first, last)), whole, name=f"TP4 layer length={length}") + exact(state.convolution, expected_state.convolution, name="convolution handoff") + exact(state.recurrent, expected_state.recurrent, name="recurrent handoff") + cases.append(f"full-chunk-{length}") + hidden = ( + torch.randn(80, 2048, device="cuda", dtype=torch.bfloat16, generator=generator) * 0.1 + ).requires_grad_() + initial = module.initial_state(2) + with torch.no_grad(): + expected, _ = module(hidden, initial, indices, torch.tensor([0, 80])) + _, prompt_state = module(hidden[:64], initial, indices, torch.tensor([0, 64])) + actual, _ = module(hidden[64:], prompt_state, indices, torch.tensor([0, 16])) + exact(actual, expected[64:], name="independent training response") + actual.float().square().mean().backward() + if ( + hidden.grad is None + or not torch.isfinite(hidden.grad).all() + or not hidden.grad[:64].count_nonzero() + ): + raise AssertionError("Response gradient did not reach prompt input") + grad_stats = check_gradients(module) + norm_grads = [torch.empty_like(module.norm.weight.grad) for _ in range(4)] + dist.all_gather(norm_grads, module.norm.weight.grad) + for other in norm_grads: + exact(other, module.norm.weight.grad, name="replicated norm gradient") + cases.extend(("prompt-gradient", "replicated-norm-gradient", "hf-load-export")) + return {"cases": cases, "gradient_max_abs": grad_stats} + + +if __name__ == "__main__": + run_gate(__doc__, "tp4_gdn_layer0", gdn_gate) diff --git a/tools/validation/models/qwen3_next_tp_head_check.py b/tools/validation/models/qwen3_next_tp_head_check.py new file mode 100644 index 000000000..98fa8247f --- /dev/null +++ b/tools/validation/models/qwen3_next_tp_head_check.py @@ -0,0 +1,141 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Real-weight TP4 embedding, final norm, LM-head and logprob component gate.""" + +import argparse +import json +import os +from datetime import timedelta +from pathlib import Path + +import torch +import torch.distributed as dist +from qwen3_next_contract import atomic_json +from safetensors import safe_open + +from rl_engine.backends.cuda.norm.rmsnorm import Qwen3NextRMSNormCudaOp +from rl_engine.models.qwen3_next.qwen3_next_embedding import shared_embedding +from rl_engine.models.qwen3_next.qwen3_next_forward import shared_linear, shared_logprob +from rl_engine.models.qwen3_next.qwen3_next_logprob import qwen_logprob_contract +from rl_engine.models.qwen3_next.qwen3_next_tp import _CopyToTP +from rl_engine.validation.common.tensor_identity import assert_tensor_bitwise_equal as exact + +REQUIRED_CASES = [ + "hf-embedding-roundtrip", + "hf-lm-head-roundtrip", + "replicated-norm-gradient", + "nonzero-finite-embedding-head-gradient", + "embedding-repeat-100", + *[f"batch-invariant-prompt{length}" for length in (8, 64, 256, 1024)], + "logprob-original-and-promoted-logits", + "entropy-interface", +] + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--checkpoint", type=Path, required=True) + parser.add_argument("--output", type=Path, required=True) + args = parser.parse_args() + rank = int(os.environ["LOCAL_RANK"]) + if int(os.environ["WORLD_SIZE"]) != 4 or torch.cuda.device_count() != 4: + raise RuntimeError("Head acceptance requires four ranks and four visible GPUs") + torch.cuda.set_device(rank) + dist.init_process_group( + "nccl", timeout=timedelta(minutes=10), device_id=torch.device("cuda", rank) + ) + group = dist.group.WORLD + try: + index = json.loads((args.checkpoint / "model.safetensors.index.json").read_text())[ + "weight_map" + ] + + def load(name): + with safe_open(args.checkpoint / index[name], framework="pt", device="cpu") as reader: + value = reader.get_tensor(name) + if value.dtype != torch.bfloat16: + raise ValueError("Official component weight must be BF16") + return value + + weights = {} + for name in ("model.embed_tokens.weight", "lm_head.weight"): + original = load(name) + local = torch.nn.Parameter(original.chunk(4)[rank].cuda().contiguous()) + peers = [torch.empty_like(local) for _ in range(4)] + dist.all_gather(peers, local.detach()) + exact(torch.cat(peers).cpu(), original, name=f"loaded {name} HF roundtrip") + weights[name] = local + del original, peers + embedding, head = weights["model.embed_tokens.weight"], weights["lm_head.weight"] + norm = torch.nn.Parameter(load("model.norm.weight").cuda()) + norm_op = Qwen3NextRMSNormCudaOp() + + def forward(tokens): + hidden = shared_embedding(tokens, embedding, group) + normalized = norm_op(hidden, norm, eps=1e-6) + return shared_linear(_CopyToTP.apply(normalized, group), head) + + with torch.no_grad(): + for length in (8, 64, 256, 1024): + tokens = torch.arange(4 * (length + 16), device="cuda", dtype=torch.int64) + tokens = ((tokens * 2399 + 1) % 151936).reshape(4, length + 16) + batch = forward(tokens) + singleton = forward(tokens[:1]) + exact(batch[:1], singleton, name=f"embedding/norm/LM batch {length}") + repeated = torch.tensor([1, 37985, 75969, 113953, 1, 75969], device="cuda") + expected = shared_embedding(repeated, embedding, group) + for _ in range(100): + exact(shared_embedding(repeated, embedding, group), expected) + + tokens = torch.tensor([1, 37985, 75969, 113953] * 4, device="cuda") + logits = forward(tokens) + contract = qwen_logprob_contract(logits, rank=rank, world_size=4) + logp, lse, entropy = shared_logprob(logits, tokens, contract=contract, tp_group=group) + promoted = logits.float() + promoted_logp, _, _ = shared_logprob( + promoted, + tokens, + contract=qwen_logprob_contract(promoted, rank=rank, world_size=4), + tp_group=group, + ) + exact(logp, promoted_logp, name="native VIME loss input promotion") + without_entropy, _, no_entropy = shared_logprob( + logits, tokens, contract=contract, tp_group=group, with_entropy=False + ) + exact(logp, without_entropy, name="entropy request logprob identity") + if no_entropy is not None or not all(torch.isfinite(t).all() for t in (entropy, lse)): + raise AssertionError("Entropy/LSE interface is invalid") + (-logp.mean()).backward() + for name, parameter in (("embedding", embedding), ("lm_head", head), ("norm", norm)): + gradient = parameter.grad + valid = gradient is not None + valid = valid and bool(torch.isfinite(gradient).all() and gradient.count_nonzero()) + if not valid: + raise AssertionError(f"Missing finite nonzero {name} gradient") + peers = [torch.empty_like(norm.grad) for _ in range(4)] + dist.all_gather(peers, norm.grad) + for peer in peers: + exact(peer, norm.grad, name="replicated final norm gradient") + from rl_engine.integrations.common.qwen3_next_binary import imported_provider_identity + + args.output.mkdir(parents=True, exist_ok=True) + atomic_json( + args.output / f"rank-{rank}.json", + { + "status": "passed", + "scope": "tp4_embedding_lm_head_only", + "rank": rank, + "provider_binary": imported_provider_identity(), + "full_model_l2": "not_evaluated", + "cases": sorted(REQUIRED_CASES), + }, + ) + dist.barrier() + finally: + dist.destroy_process_group() + + +if __name__ == "__main__": + main() diff --git a/tools/validation/models/qwen3_next_tp_moe_check.py b/tools/validation/models/qwen3_next_tp_moe_check.py new file mode 100644 index 000000000..c18b5b1fd --- /dev/null +++ b/tools/validation/models/qwen3_next_tp_moe_check.py @@ -0,0 +1,114 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""TP4 MoE gate on the official checkpoint's layer-0 weights; four GPUs, torchrun. + + TRITON_F32_DEFAULT=ieee torchrun --nproc-per-node 4 \\ + tools/validation/models/qwen3_next_tp_moe_check.py \\ + --checkpoint --output + +Each rank writes ``rank-.json``. The gate requires, bitwise: + +* the HF load -> local shard -> all-gather -> HF export round trip of all 512 experts; +* identical top-10 routes on every rank (the router is replicated); +* full batch == concatenated chunks, and reordered tokens == reordered output, + for 8, 64, 256 and 1024 tokens; +* the training forward (autograd on) == the no-grad forward; +* identical replicated router and shared-expert-gate gradients on every rank, + and a finite, nonzero gradient for every parameter. +""" + +import sys +from contextlib import ExitStack +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).resolve().parents[3])) + +import torch # noqa: E402 +import torch.distributed as dist # noqa: E402 + +from rl_engine.models.qwen3_next.qwen3_next_forward import ( # noqa: E402 + shared_router, + stable_top10_routes, +) +from rl_engine.models.qwen3_next.qwen3_next_tp_blocks import ( # noqa: E402 + TP4MoE, + assemble_moe_weight, + moe_hf_shapes, +) +from rl_engine.validation.common.tensor_identity import ( # noqa: E402 + assert_tensor_bitwise_equal as exact, +) +from tools.validation.models.qwen3_next_gate_common import ( # noqa: E402 + CheckpointWeights, + check_gradients, + gather, + run_gate, + timed, +) + +TOKEN_COUNTS = (8, 64, 256, 1024) + + +def moe_gate(checkpoint, generator): + module = TP4MoE(group=dist.group.WORLD, device="cuda") + with ExitStack() as stack: + weights = CheckpointWeights(checkpoint, "model.layers.0.mlp.", moe_hf_shapes(), stack) + module.load_hf_weights(weights) + for name, value in module.export_local_hf_weights().items(): + restored = assemble_moe_weight(name, [peer.cpu() for peer in gather(value)]) + exact(restored, weights[name], name=f"MoE HF {name}") + cases = ["hf-load-export-all512experts"] + forward_us = {} + with torch.no_grad(): + for length in TOKEN_COUNTS: + hidden = ( + torch.randn(length, 2048, device="cuda", dtype=torch.bfloat16, generator=generator) + * 0.1 + ) + # Every rank draws the same tokens from the same generator; verify it. + for peer in gather(hidden): + exact(peer, hidden, name="replicated input") + routes = stable_top10_routes(shared_router(hidden, module.gate.weight)) + for peer in gather(routes.indices): + exact(peer, routes.indices, name=f"routes across ranks {length}") + module(hidden) + whole, forward_us[str(length)] = timed(lambda: module(hidden)) + cut = min(65, length - 1) + exact( + torch.cat((module(hidden[:cut]), module(hidden[cut:]))), + whole, + name=f"MoE full/chunk {length}", + ) + order = torch.arange(length - 1, -1, -1, device="cuda") + exact(module(hidden[order]), whole[order], name=f"MoE reorder {length}") + cases.extend((f"routes-replicated-{length}", f"full-chunk-reorder-{length}")) + hidden = ( + torch.randn(16, 2048, device="cuda", dtype=torch.bfloat16, generator=generator) * 0.1 + ).requires_grad_() + with torch.no_grad(): + expected = module(hidden) + output = module(hidden) + exact(output, expected, name="MoE independent training forward") + output.float().square().mean().backward() + if ( + hidden.grad is None + or not torch.isfinite(hidden.grad).all() + or not hidden.grad.count_nonzero() + ): + raise AssertionError("MoE input gradient is missing") + gradients = check_gradients(module) + for parameter in (module.gate.weight, module.shared_expert_gate.weight): + for peer in gather(parameter.grad): + exact(peer, parameter.grad, name="MoE replicated router/gate gradient") + cases.extend(("training-forward", "all-parameter-gradient", "replicated-router-gradient")) + return {"cases": cases, "gradient_max_abs": gradients, "forward_us": forward_us} + + +if __name__ == "__main__": + run_gate( + __doc__, + "tp4_moe_block_layer0", + lambda checkpoint, generator: {"moe": moe_gate(checkpoint, generator)}, + ) diff --git a/tools/validation/models/qwen3_next_tp_probe.py b/tools/validation/models/qwen3_next_tp_probe.py new file mode 100644 index 000000000..fd55d6d56 --- /dev/null +++ b/tools/validation/models/qwen3_next_tp_probe.py @@ -0,0 +1,54 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Four independent NCCL ranks must communicate exactly before model loading.""" + +import argparse +import os +from datetime import timedelta +from pathlib import Path + +import torch +import torch.distributed as dist +from qwen3_next_runtime import atomic_json + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--output", type=Path, required=True) + args = parser.parse_args() + rank = int(os.environ["LOCAL_RANK"]) + if int(os.environ["WORLD_SIZE"]) != 4: + raise RuntimeError("This probe requires TP=4") + torch.cuda.set_device(rank) + dist.init_process_group( + "nccl", timeout=timedelta(minutes=3), device_id=torch.device("cuda", rank) + ) + try: + value = torch.arange(1024, device="cuda", dtype=torch.int64) + rank + gathered = [torch.empty_like(value) for _ in range(4)] + dist.all_gather(gathered, value) + for peer, actual in enumerate(gathered): + assert torch.equal(actual, torch.arange(1024, device="cuda") + peer) + dist.all_reduce(value) + assert torch.equal(value, 4 * torch.arange(1024, device="cuda") + 6) + torch.cuda.synchronize() + args.output.mkdir(parents=True, exist_ok=True) + atomic_json( + args.output / f"rank-{rank}.json", + { + "status": "passed", + "rank": rank, + "world_size": 4, + "device": torch.cuda.get_device_name(), + "nccl": torch.cuda.nccl.version(), + }, + ) + dist.barrier() + finally: + dist.destroy_process_group() + + +if __name__ == "__main__": + main() diff --git a/tools/validation/models/qwen3_next_training.py b/tools/validation/models/qwen3_next_training.py new file mode 100644 index 000000000..dbedf2a4f --- /dev/null +++ b/tools/validation/models/qwen3_next_training.py @@ -0,0 +1,1079 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Native RL update, full-model L2 and atomic restart acceptance on four GPUs.""" + +import argparse +import json +import math +import os +import re +import shutil +import signal +import subprocess +import sys +import time +from pathlib import Path +from uuid import uuid4 + +ROOT = Path(__file__).resolve().parents[3] +sys.path.insert(0, str(ROOT)) + +from qwen3_next_checkpoint import ( # noqa: E402 + newest_complete_checkpoint, + publish_checkpoint, + resume_interrupted_publications, + validate_checkpoint, + write_rank_manifest, +) +from qwen3_next_contract import ( # noqa: E402 + SCOPES, + atomic_json, + evidence_record, + result_envelope, + validate_result, +) +from qwen3_next_l2 import check_ready as check_l2_ready # noqa: E402 +from qwen3_next_l2 import ( # noqa: E402 + model_identity, + run_matrix, + run_process, + verify_before_model_load, + wait_gpu_release, +) +from qwen3_next_runtime import failure_fields # noqa: E402 +from qwen3_next_runtime import ( # noqa: E402 + file_digest, + owned_root, + recover_storage, + retire_directory, + training_storage_root, + verify_environment, +) + +from rl_engine.integrations.orchestrators.vime.experiments.qwen3_next.native_training import ( # noqa: E402,E501 + policy_fixture, + run_training_phase, + validate_active_parameter_names, +) +from rl_engine.integrations.orchestrators.vime.providers.qwen3_next_training import ( # noqa: E402 + state_digest, +) +from rl_engine.validation.models.qwen3_next_binary import ( # noqa: E402 + archive_provider_binary, + validate_binary_record, +) +from rl_engine.validation.models.qwen3_next_l2 import ( # noqa: E402 + case_matrix, + checked_artifact_path, + compare_artifacts, + json_digest, + load_tensor_artifact, + validate_matrix_report, +) + +SECTIONS = ( + "baseline", + "update1", + "update2", + "reload", + "continuous_step3", + "resumed_step3", + "checkpoint", + "fault_injection", +) +FAULTS = ("interrupted_writer", "missing_rank", "hash_error", "unpublished_load") +PHASES = ("update1", "update2", "reload", "continuous", "resumed") +# Each training stage runs the phases up to its last one and leaves the durable +# state (checkpoints, journal) for the next stage to continue from. +STAGE_LAST_PHASE = {"train1": "update1", "train2": "update2", "train": "resumed"} + + +def stage_phases(stage): + """Phases a training stage executes, in order.""" + last = STAGE_LAST_PHASE[stage] + return PHASES[: PHASES.index(last) + 1] + + +def continued_training_storage(previous): + """Durable state a continuing stage resumes: the train1 run's, however many stages back. + + train2 continues train1's storage instead of creating its own, so the final + stage must follow the predecessor chain back to the run that owns the state. + """ + run = Path(previous) + for _ in range(len(STAGE_LAST_PHASE)): + manifest = json.loads((run / "run.json").read_text()) + if manifest.get("stage") == "train1": + return training_storage_root(manifest, run) + if manifest.get("stage") not in STAGE_LAST_PHASE or not manifest.get("previous"): + break + run = Path(manifest["previous"]) + raise ValueError("Training continuation does not lead back to a train1 run") + + +def continuation_identity_matches(journal_identity, model_identity_value, fixture_sha256): + """A later training stage continues a journal only for the same model/env/fixture.""" + expected = {**model_identity_value, "fixture_sha256": fixture_sha256} + actual = {k: v for k, v in journal_identity.items() if k not in ("run_id", "execution_id")} + return actual == expected + + +EVENTS = ( + "l2:baseline", + "worker:update1", + "l2:update1", + "worker:update2", + "l2:update2", + "worker:reload", + "l2:reload", + "worker:continuous", + "worker:resumed", +) + + +def record(path): + path = Path(path).absolute() + return {"path": str(path), "sha256": file_digest(path)} + + +def read_record(value): + path = Path(value["path"]) + if ( + not path.is_absolute() + or path.is_symlink() + or not path.is_file() + or file_digest(path) != value["sha256"] + ): + raise ValueError(f"Training evidence changed or is missing: {path}") + return json.loads(path.read_text()) + + +def require_digest(value): + if ( + not isinstance(value, str) + or len(value) != 64 + or any(char not in "0123456789abcdef" for char in value) + ): + raise ValueError("Training state contains an invalid original-byte digest") + + +def validate_state(state, *, rank, step, identity, parameters): + expected = { + "schema_version": 1, + "scope": "native_vime_training_state", + "rank": rank, + "identity": identity, + "step": step, + "sample_position": step * 4, + "consumed_train_samples": step * 4, + "fixture_sha256": identity["fixture_sha256"], + } + hash_fields = { + "model_sha256", + "optimizer_parameter_sha256", + "optimizer_header_sha256", + "scheduler_sha256", + "rng_sha256", + "state_sha256", + } + if set(state) != set(expected) | hash_fields or any( + state.get(key) != value for key, value in expected.items() + ): + raise ValueError("Native state omits or changes rank/step/sample/fixture identity") + if ( + state_digest({key: value for key, value in state.items() if key != "state_sha256"}) + != state["state_sha256"] + ): + raise ValueError("Native state digest does not bind the recorded recovery state") + if not isinstance(state["model_sha256"], list) or len(state["model_sha256"]) != 1: + raise ValueError("Native state requires the complete single PP1 model chunk") + for value in state["model_sha256"] + [ + state[key] for key in ("optimizer_header_sha256", "scheduler_sha256", "rng_sha256") + ]: + require_digest(value) + moments = state["optimizer_parameter_sha256"] + if set(moments) != set(parameters): + raise ValueError("Native optimizer state does not cover every trainable parameter") + for values in moments.values(): + if not {"param", "exp_avg", "exp_avg_sq"}.issubset(values): + raise ValueError("Native state omitted FP32 masters or Adam moments") + for value in values.values(): + require_digest(value) + + +def validate_journal(journal, identity, *, verify_files=True): + if journal.get("schema_version") != 1 or journal.get("identity") != identity: + raise ValueError("Training journal belongs to different source/environment/fixture") + events = journal.get("events", []) + if events != list(EVENTS[: len(events)]) or not events: + raise ValueError("Training journal did not preserve update/L2/reload/control order") + if set(journal.get("workers", {})) != { + event.split(":")[1] for event in events if event.startswith("worker:") + }: + raise ValueError("Training journal worker records disagree with durable phase order") + if set(journal.get("l2_reports", {})) != { + event.split(":")[1] for event in events if event.startswith("l2:") + }: + raise ValueError("Training journal L2 records disagree with durable phase order") + if verify_files: + for value in journal["workers"].values(): + read_record(value) + for value in journal["l2_reports"].values(): + validate_matrix_report(read_record(value)) + + +def repeat_reload_in_current_attempt(journal, attempt): + """Restore durable updates, but never pass with an older attempt's final reload.""" + if "reload" not in journal["workers"]: + return False + original = read_record(journal["workers"]["reload"]) + if original.get("attempt") == str(attempt): + return False + if not str(original.get("attempt", "")).isdigit(): + raise ValueError("Recovery source has no valid attempt identity") + cutoff = journal["events"].index("worker:reload") + retired = { + "reason": "repeat_final_reload_and_controls_in_current_attempt", + "from_attempt": original["attempt"], + "to_attempt": str(attempt), + "events": journal["events"][cutoff:], + "workers": { + phase: journal["workers"].pop(phase) + for phase in ("reload", "continuous", "resumed") + if phase in journal["workers"] + }, + "l2_report": journal["l2_reports"].pop("reload", None), + } + journal["events"] = journal["events"][:cutoff] + journal.setdefault("recovery", []).append(retired) + return True + + +def validate_update(audit, *, step, fixture): + if (audit.get("step"), audit.get("sample_position"), audit.get("fixture")) != ( + step, + step * 4, + fixture, + ): + raise ValueError("Native policy update progress/fixture mismatch") + norm = audit.get("grad_norm", float("nan")) + if audit.get("policy_loss_calls") != 4 or not math.isfinite(norm) or norm <= 0: + raise ValueError("Native policy update needs four losses and a finite nonzero norm") + before, after = ( + audit.get("parameter_hashes_before", {}), + audit.get("parameter_hashes_after", {}), + ) + if not before or before.keys() != after.keys(): + raise ValueError("Native update must hash every trainable parameter before and after") + validate_active_parameter_names(before) + for value in [*before.values(), *after.values()]: + require_digest(value) + if audit.get("progress") != { + "consumed_before": (step - 1) * 4, + "consumed_after": step * 4, + "scheduler_before": (step - 1) * 4, + "scheduler_after": step * 4, + "sample_counter_owner": "qwen3_next_native_training.policy_step", + }: + raise ValueError("Native update did not commit matching sample/scheduler progress") + changed = [name for name in before if before[name] != after[name]] + if not changed or sorted(changed) != sorted(audit.get("changed_parameters", [])): + raise ValueError("Native optimizer did not prove an actual parameter change") + gradients = audit.get("gradients", {}) + parameters, groups = gradients.get("parameters", {}), gradients.get("active_groups", {}) + if parameters.keys() != before.keys() or groups.keys() != before.keys(): + raise ValueError("Every active parameter tensor must have predeclared gradient evidence") + for name in before: + if ( + parameters[name].get("present") is not True + or parameters[name].get("nonzero") is not True + ): + raise ValueError(f"Active parameter tensor has no valid gradient: {name}") + if parameters[name].get("dtype") not in ("torch.float32", "torch.bfloat16"): + raise ValueError("Active gradient evidence omitted or changed its storage dtype") + if groups[name] != [name]: + raise ValueError("Active gradient group was substituted after execution") + metrics = audit.get("metrics", {}) + if not metrics or any( + type(value) not in (int, float) or not math.isfinite(value) for value in metrics.values() + ): + raise ValueError("Native policy loss must retain finite scalar training metrics") + return True + + +def validate_worker(value, *, phase, identity): + if ( + value.get("schema_version") != 1 + or value.get("status") != "passed" + or value.get("phase") != phase + or value.get("identity") != identity + or value.get("all_rank_processes_exited") is not True + or value.get("gpu_release_verified") is not True + or [rank.get("rank") for rank in value.get("ranks", [])] != list(range(4)) + ): + raise ValueError("Incomplete native four-rank worker evidence") + pids = [rank.get("pid") for rank in value["ranks"]] + if any(type(pid) is not int or pid <= 0 for pid in pids) or len(set(pids)) != 4: + raise ValueError("Native worker requires four distinct rank processes") + binary = validate_binary_record( + value.get("provider_binary"), source_tree=identity["source_tree"] + ) + for rank, row in enumerate(value["ranks"]): + if row.get("provider_binary") != binary: + raise ValueError("Native training rank differs from its archived CUDA provider") + if row.get("identity") != identity or row.get("phase") != phase: + raise ValueError("Native rank identity mismatch") + if row.get("native_entrypoints") != [ + "vime.backends.megatron_utils.model.setup_model_and_optimizer", + "vime.backends.megatron_utils.model.train_one_step", + "vime.backends.megatron_utils.loss.policy_loss_function", + ]: + raise ValueError("Worker did not identify the required native training entrypoints") + if phase in ("continuous", "resumed"): + controls = row.get("controls", {}) + if set(controls) != ({"1", "2", "3"} if phase == "continuous" else {"3"}): + raise ValueError("Native recovery controls omitted or added an update") + updates = [(int(step), control) for step, control in controls.items()] + elif phase == "reload": + restored = row.get("restored", {}) + audit = restored.get("rank_evidence", {}).get("update_evidence", {}) + updates = [(2, {"update": audit, "state": row.get("state", {})})] + else: + updates = [(1 if phase == "update1" else 2, row)] + for step, control in updates: + audit = control["update"] + validate_update(audit, step=step, fixture=identity["fixture_sha256"]) + validate_state( + control["state"], + rank=rank, + step=step, + identity=identity, + parameters=audit["parameter_hashes_after"], + ) + + +def validate_export_evidence(worker, identity): + from qwen3_next_training_export import validate_training_export_record + + evidence = worker["export_evidence"] + complete = read_record(evidence["complete"]) + checkpoint_identity = validate_training_export_record( + complete, worker["export"]["checkpoint_identity"] + ) + if checkpoint_identity != worker["export"]["checkpoint_identity"]: + raise ValueError("Archived export proof differs from the weights actually tested by L2") + if complete["training_identity"] != identity: + raise ValueError("Archived export belongs to another native training identity") + read_record(evidence["index"]) + # The original completion record binds the exact index bytes, including HF + # tensor-to-shard mapping. Historical proof never authorizes loading a file. + if complete["files"]["model.safetensors.index.json"]["sha256"] != evidence["index"]["sha256"]: + raise ValueError("Archived export index differs from its completion manifest") + audits = [ + ( + row["restored"]["rank_evidence"]["update_evidence"] + if worker["phase"] == "reload" + else row["update"] + ) + for row in worker["ranks"] + ] + if complete.get("model_identity_method") != "native_parameter_hashes_after" or complete[ + "model_rank_sha256" + ] != [state_digest(audit["parameter_hashes_after"]) for audit in audits]: + raise ValueError("HF export bytes do not belong to the actual optimizer-updated actor") + + +def archive_export(worker, directory, identity): + from qwen3_next_training_export import validate_training_export + + export = worker["export"] + root = Path(export["checkpoint"]) + validate_training_export(root, export["checkpoint_identity"]) + evidence = {} + for kind, name in ( + ("complete", "EXPORT_COMPLETE.json"), + ("index", "model.safetensors.index.json"), + ): + destination = Path(directory) / name + # Atomic JSON preserves the parsed content, while recording the index's + # original bytes is required for the completion manifest hash binding. + with destination.open("xb") as output, (root / name).open("rb") as source: + shutil.copyfileobj(source, output) + output.flush() + os.fsync(output.fileno()) + evidence[kind] = record(destination) + worker["export_evidence"] = evidence + validate_export_evidence(worker, identity) + + +def compare_reload_matrices(updated, reloaded): + """Reopen every original phase artifact; a saved passed boolean is insufficient.""" + ids = [case.case_id for case in case_matrix()] + if any( + matrix.get("case_ids") != ids or set(matrix.get("cases", {})) != set(ids) + for matrix in (updated, reloaded) + ): + raise ValueError("Reload comparison requires both complete sixteen-case matrices") + result = {"status": "passed", "raw_bit_comparison": True, "case_ids": ids, "cases": {}} + for case in ids: + result["cases"][case] = {} + for role in ("rollout", "recompute"): + left = load_tensor_artifact( + checked_artifact_path(updated["cases"][case]["artifacts"][role]) + ) + right = load_tensor_artifact( + checked_artifact_path(reloaded["cases"][case]["artifacts"][role]) + ) + compared = compare_artifacts(left, right) + if not compared["passed"]: + raise ValueError( + f"Reload changed original {role} tensor bits/state at {case}: {compared}" + ) + result["cases"][case][role] = compared["comparisons"] + return result + + +def validate_training_report(report, *, verify_files=True): + """No partial matrix, optimizer header or stale worker can close training.""" + if ( + report.get("schema_version") != 1 + or report.get("status") != "passed" + or report.get("scope") != "qwen3_next_training_and_reload" + or report.get("required_sections") != list(SECTIONS) + ): + raise ValueError("Incomplete/unsupported native training acceptance") + if not verify_files: + raise ValueError("Training acceptance requires verification of original evidence files") + if report.get("events") != list(EVENTS): + raise ValueError("Training acceptance omitted or reordered a required phase") + l2 = report.get("l2_reports", {}) + workers = report.get("workers", {}) + if set(l2) != {"baseline", "update1", "update2", "reload"} or set(workers) != { + "update1", + "update2", + "reload", + "continuous", + "resumed", + }: + raise ValueError("Training omitted an update, full L2 matrix or recovery control") + matrices = {} + versions = { + "baseline": "baseline", + "update1": "update-1", + "update2": "update-2", + "reload": "reload-2", + } + for phase, item in l2.items(): + matrices[phase] = matrix = read_record(item) + validate_matrix_report(matrix) + identity = matrix["identity"] + if identity.get("weight_version") != versions[phase]: + raise ValueError("Training phase used the wrong model weight version") + immutable = set(report["identity"]) - { + "checkpoint", + "checkpoint_identity", + "weight_version", + "base_checkpoint", + "base_checkpoint_identity", + } + if any(identity.get(key) != report["identity"][key] for key in immutable): + raise ValueError("Training phase changed source, environment, provider or topology") + if phase == "baseline": + if identity != report["identity"]: + raise ValueError("Training baseline must retain the exact original model identity") + elif (identity.get("base_checkpoint"), identity.get("base_checkpoint_identity")) != ( + report["identity"]["checkpoint"], + report["identity"]["checkpoint_identity"], + ): + raise ValueError("Updated actor export changed its official base checkpoint identity") + if matrix["fixture"]["content_sha256"] != report["l2_fixture_sha256"]: + raise ValueError("Training L2 changed its frozen input tokens") + identity = report["training_identity"] + if {key: identity.get(key) for key in report["identity"]} != report["identity"]: + raise ValueError("Training checkpoint is detached from the baseline model identity") + if report.get("reload_matches_update2") != compare_reload_matrices( + matrices["update2"], matrices["reload"] + ): + raise ValueError("Reload report does not match the reopened original phase artifacts") + phases = {} + for phase, item in workers.items(): + value = phases[phase] = read_record(item) + validate_worker(value, phase=phase, identity=identity) + if phase in ("update1", "update2", "reload"): + validate_export_evidence(value, identity) + export = value["export"] + if any(rank["export"] != export for rank in value["ranks"]): + raise ValueError("Native ranks disagree on exported weights") + for key in ("checkpoint", "checkpoint_identity", "weight_version"): + if export[key] != matrices[phase]["identity"][key]: + raise ValueError("L2 did not test the actual updated/reloaded actor export") + if phase in ("update1", "update2"): + step = 1 if phase == "update1" else 2 + for rank in value["ranks"]: + validate_update(rank["update"], step=step, fixture=identity["fixture_sha256"]) + for rank in range(4): + if ( + phases["update2"]["ranks"][rank]["update"]["parameter_hashes_before"] + != phases["update1"]["ranks"][rank]["update"]["parameter_hashes_after"] + ): + raise ValueError("Step2 did not start from the actual completed step1 parameters") + if phases["update2"]["ranks"][rank]["state"] != phases["reload"]["ranks"][rank]["state"]: + raise ValueError("Step2 model/optimizer/scheduler/RNG/progress changed on restart") + continuous = phases["continuous"]["ranks"][rank]["controls"] + resumed = phases["resumed"]["ranks"][rank]["controls"] + if set(continuous) != {"1", "2", "3"} or set(resumed) != {"3"}: + raise ValueError("Continuous/restarted controls omitted a required update") + for step in (1, 2, 3): + validate_update( + continuous[str(step)]["update"], step=step, fixture=identity["fixture_sha256"] + ) + if ( + step < 3 + and continuous[str(step)]["state"] + != phases[f"update{step}"]["ranks"][rank]["state"] + ): + raise ValueError("Continuous reference changed an earlier update") + validate_update(resumed["3"]["update"], step=3, fixture=identity["fixture_sha256"]) + if continuous["3"]["state"] != resumed["3"]["state"]: + raise ValueError("Continuous and restarted step3 states are not exactly equal") + checkpoint = report["checkpoint"] + complete = validate_checkpoint(checkpoint["path"], identity, verify_files=False) + if ( + complete["step"] != 2 + or file_digest(Path(checkpoint["path"]) / "COMPLETE.json") != checkpoint["sha256"] + ): + raise ValueError("Training acceptance requires the verified complete step2 checkpoint") + for rank in range(4): + progress = json.loads( + (Path(checkpoint["path"]) / f"rank-{rank}" / "progress.json").read_text() + ) + state = phases["update2"]["ranks"][rank]["state"] + for key in state.keys() - {"scope", "state_sha256"}: + if progress.get(key) != state[key]: + raise ValueError( + "Published checkpoint bytes contradict the step2 recovery identity" + ) + if progress.get("update_evidence") != phases["update2"]["ranks"][rank]["update"]: + raise ValueError("Published checkpoint detached the committed optimizer update") + validate_fault_evidence(read_record(report["fault_injection"]), identity) + return json_digest(report) + + +def validate_fault_evidence(faults, identity): + from qwen3_next_checkpoint import _validate_ranks + + if faults.get("identity") != identity or set(faults.get("cases", {})) != set(FAULTS): + raise ValueError("Checkpoint publication fault matrix is incomplete") + if any(value.get("passed") is not True for value in faults["cases"].values()): + raise ValueError("An interrupted/corrupted checkpoint was not rejected") + interrupted = faults["cases"]["interrupted_writer"] + if interrupted.get("exit_code") != -signal.SIGTERM: + raise ValueError("Interrupted writer did not record its actual termination") + checked_artifact_path(interrupted["writer_file"]) + for case in FAULTS: + path = Path(faults["cases"][case]["checkpoint"]) + if path.is_symlink() or path.suffix != ".partial" or not path.is_dir(): + raise ValueError("Fault evidence did not preserve its original unpublished directory") + try: + if case in ("missing_rank", "hash_error"): + _validate_ranks(path, world_size=4, identity=identity) + else: + validate_checkpoint(path, identity) + except (OSError, ValueError) as exc: + if case == "missing_rank" and not isinstance(exc, FileNotFoundError): + raise ValueError("Missing-rank fixture failed for an unrelated reason") from exc + if case == "hash_error" and not re.search("checksum mismatch|size mismatch", str(exc)): + raise ValueError("Corruption fixture failed for an unrelated reason") from exc + else: + raise ValueError(f"Fault fixture no longer reproduces its rejection: {case}") + + +def checkpoint_faults(output, identity): + """Kill a real writer and corrupt protocol files; never touch model checkpoints.""" + output = Path(output) + output.mkdir(parents=True, exist_ok=False) + partial = output / "interrupted.partial" + partial.mkdir() + code = ( + "import pathlib,sys,time; p=pathlib.Path(sys.argv[1]); " + "p.write_bytes(b'incomplete checkpoint'); time.sleep(300)" + ) + child = subprocess.Popen( + [sys.executable, "-c", code, str(partial / "writing")], start_new_session=True + ) + deadline = time.monotonic() + 10 + try: + while not (partial / "writing").exists(): + if child.poll() is not None or time.monotonic() > deadline: + raise RuntimeError("Fault injection writer did not start") + time.sleep(0.01) + os.killpg(child.pid, signal.SIGTERM) + code = child.wait(timeout=10) + finally: + if child.poll() is None: + os.killpg(child.pid, signal.SIGKILL) + child.wait(timeout=10) + recovery = newest_complete_checkpoint(output, identity) + cases = { + "interrupted_writer": { + "passed": code != 0 and recovery["checkpoint"] is None, + "exit_code": code, + "checkpoint": str(partial), + "writer_file": record(partial / "writing"), + } + } + try: + validate_checkpoint(partial, identity) + except (OSError, ValueError) as exc: + cases["unpublished_load"] = {"passed": True, "error": str(exc), "checkpoint": str(partial)} + partial = output / "missing.partial" + partial.mkdir() + for rank in range(4): + files = {} + for role in ("model", "optimizer", "rng", "progress"): + path = partial / f"rank-{rank}-{role}.bin" + path.write_bytes(f"{rank}:{role}".encode()) + files[role] = [path.name] + write_rank_manifest( + partial, + rank=rank, + world_size=4, + identity=identity, + step=2, + sample_position=8, + files=files, + ) + hidden = partial / "rank-3.manifest.json" + corrupted = output / "corrupted.partial" + shutil.copytree(partial, corrupted) + hidden.unlink() + try: + publish_checkpoint(partial, output / "missing", world_size=4, identity=identity) + except (OSError, ValueError) as exc: + cases["missing_rank"] = {"passed": True, "error": str(exc), "checkpoint": str(partial)} + (corrupted / "rank-2-optimizer.bin").write_bytes(b"corrupt optimizer bytes") + try: + publish_checkpoint(corrupted, output / "corrupted", world_size=4, identity=identity) + except (OSError, ValueError) as exc: + cases["hash_error"] = {"passed": True, "error": str(exc), "checkpoint": str(corrupted)} + result = { + "identity": identity, + "scope": "actual_checkpoint_publication_protocol", + "cases": cases, + } + if set(cases) != set(FAULTS) or not all(value["passed"] for value in cases.values()): + raise ValueError("Checkpoint fault injection accepted incomplete state") + validate_fault_evidence(result, identity) + atomic_json(output / "faults.json", result) + return record(output / "faults.json") + + +def _owned_remove(path, root, identity=None, *, proof=None): + path, root = Path(path), Path(root) + if path.is_symlink() or root.is_symlink() or not path.is_dir(): + raise ValueError("Cleanup target is not a directory owned by this training run") + path, root = path.resolve(), root.resolve() + if path.parent != root: + raise ValueError("Cleanup target is not a direct child of this training run") + if identity is None or proof is None: + raise ValueError("Cleanup requires explicit ownership and retirement proof") + return retire_directory(path, root, identity, proof=proof) + + +def remove_interrupted(root, identity): + return recover_storage(root, identity) + + +def retire_export(worker, root, identity): + validate_export_evidence(worker, identity) + path = Path(worker["export"]["checkpoint"]) + if not path.exists(): + return # A prior attempt may have retired it after durable L2 publication. + complete = path / "EXPORT_COMPLETE.json" + if ( + complete.is_symlink() + or json.loads(complete.read_text()) != worker["export"]["checkpoint_identity"] + ): + raise ValueError("Cleanup export is not the artifact whose complete L2 was retained") + _owned_remove( + path, + root, + identity, + proof={ + "export": worker["export"]["checkpoint_identity"], + "evidence": worker["export_evidence"], + }, + ) + + +def remove_uncommitted_exports(root, identity, journal): + """A crash after export publication cannot retain an unbounded extra copy.""" + from qwen3_next_training_export import validate_training_export_record + + keep = { + str(Path(read_record(item)["export"]["checkpoint"]).resolve()) + for phase, item in journal["workers"].items() + if phase in ("update1", "update2", "reload") and phase not in journal["l2_reports"] + } + removed = [] + for path in Path(root).iterdir(): + if ( + not path.is_dir() + or path.suffix == ".partial" + or path.name.startswith(".") + or str(path.resolve()) in keep + ): + continue + marker = path / "EXPORT_COMPLETE.json" + if path.is_symlink() or marker.is_symlink() or not marker.is_file(): + raise ValueError("Completed export cleanup has no safe ownership proof") + complete = json.loads(marker.read_text()) + validate_training_export_record(complete, complete) + if complete["training_identity"] != identity: + raise ValueError("Completed export belongs to another training run") + removed.append( + {"path": str(path.absolute()), "complete": complete, "action": "retire_unneeded_export"} + ) + _owned_remove(path, root, identity, proof={"export": complete}) + return removed + + +def execute(manifest_path, output): + from qwen3_next_runtime import require_predecessor + + manifest_path, output = Path(manifest_path).resolve(), Path(output).resolve() + manifest = json.loads(manifest_path.read_text()) + run_root = manifest_path.parent + stage = manifest["stage"] + if stage not in STAGE_LAST_PHASE: + raise ValueError("Native training runner requires a training stage") + previous = Path(manifest["previous"]) + require_predecessor(stage, previous, Path(manifest["checkpoint"]), manifest) + prior_result = json.loads((previous / "result.json").read_text()) + continuation = stage != "train1" + if continuation: + # Continue the predecessor training run's durable state under its own identity. + if manifest.get("training_storage"): + raise ValueError("A continuing training stage uses its predecessor's storage") + durable = continued_training_storage(previous) + journal_path = durable / "journal.json" + journal = json.loads(journal_path.read_text()) + baseline_path = Path(journal["l2_reports"]["baseline"]["path"]) + else: + baseline_path = previous / prior_result["evidence"]["l2_matrix"]["path"] + baseline = json.loads(baseline_path.read_text()) + validate_matrix_report(baseline, expected_identity=model_identity(manifest)) + fixture_path = Path(baseline["fixture"]["path"]) + if file_digest(fixture_path) != baseline["fixture"]["sha256"]: + raise ValueError("Baseline L2 fixture was changed") + fixture = policy_fixture(fixture_path) + if continuation: + identity = journal["identity"] + if not continuation_identity_matches( + identity, model_identity(manifest), fixture.content_sha256 + ): + raise ValueError("Training continuation identity differs from the journal") + if journal["l2_reports"]["baseline"] != record(baseline_path): + raise ValueError("Training continuation baseline L2 changed") + else: + identity = { + **model_identity(manifest), + "run_id": manifest["run_id"], + "execution_id": manifest["execution_id"], + "fixture_sha256": fixture.content_sha256, + } + durable = training_storage_root(manifest, run_root) + if not durable.is_absolute(): + raise ValueError("Training storage must be an absolute path") + durable.mkdir(parents=True, exist_ok=True) + checkpoint_root, export_root = durable / "checkpoints", durable / "exports" + owned_root(checkpoint_root, identity) + owned_root(export_root, identity) + journal_path = durable / "journal.json" + journal = { + "schema_version": 1, + "identity": identity, + "workers": {}, + "l2_reports": {"baseline": record(baseline_path)}, + "events": ["l2:baseline"], + "recovery": [], + } + if journal_path.exists(): + journal = json.loads(journal_path.read_text()) + validate_journal(journal, identity) + for phase, value in journal["workers"].items(): + worker = read_record(value) + validate_worker(worker, phase=phase, identity=identity) + if phase in ("update1", "update2", "reload"): + validate_export_evidence(worker, identity) + if repeat_reload_in_current_attempt(journal, os.environ["QWEN3_NEXT_ATTEMPT"]): + validate_journal(journal, identity, verify_files=False) + atomic_json(journal_path, journal) + verify_environment(manifest["environment"], require_venv=True) + check_l2_ready() + run_process( + [manifest["python"], str(ROOT / "setup.py"), "build_ext", "--inplace"], + log_path=output / "build.log", + timeout=1800, + ) + provider_binary = archive_provider_binary(ROOT, output, source_tree=manifest["source_tree"]) + probe = output / "gpu-probe.json" + run_process( + [ + manifest["python"], + str(ROOT / "tools/validation/models/qwen3_next_l2.py"), + "--gpu-probe", + "--output", + str(probe), + ], + log_path=output / "gpu-probe.log", + timeout=180, + ) + uuids = json.loads(probe.read_text())["uuids"] + wait_gpu_release(uuids) + # A preempted attempt may have written a whole checkpoint without publishing it: + # publish it (full validation) before interrupted state is retired. + journal["recovery"].extend(resume_interrupted_publications(checkpoint_root, identity)) + for root in (checkpoint_root, export_root): + journal["recovery"].extend(remove_interrupted(root, identity)) + journal["recovery"].extend(remove_uncommitted_exports(export_root, identity, journal)) + atomic_json(journal_path, journal) + export_bytes = sum( + value["size"] for value in manifest["checkpoint_identity"]["shards"].values() + ) + for phase in stage_phases(stage): + if phase not in journal["workers"]: + recovery = newest_complete_checkpoint(checkpoint_root, identity, verify_files=False) + checkpoint = None if phase == "continuous" else recovery["checkpoint"] + directory = output / f"{phase}-{uuid4().hex}" + directory.mkdir() + request = { + "manifest": manifest, + "phase": phase, + "identity": identity, + "fixture": str(fixture_path), + "checkpoint": checkpoint, + "checkpoint_root": str(checkpoint_root), + "export_root": str(export_root), + "export_bytes": export_bytes, + "provider_binary": provider_binary, + "expected_states": { + str(step): [ + rank["state"] + for rank in read_record(journal["workers"][f"update{step}"])["ranks"] + ] + for step in (1, 2) + if f"update{step}" in journal["workers"] + }, + } + request_path, worker_path = directory / "request.json", directory / "worker.json" + atomic_json(request_path, request) + process = run_process( + [ + manifest["python"], + str(Path(__file__)), + "--worker-request", + str(request_path), + "--output", + str(worker_path), + ], + log_path=directory / "worker.log", + timeout=8 * 3600, + ) + wait_gpu_release(uuids) + worker = json.loads(worker_path.read_text()) + worker.update( + { + "gpu_release_verified": True, + "process": process, + "attempt": os.environ["QWEN3_NEXT_ATTEMPT"], + } + ) + validate_worker(worker, phase=phase, identity=identity) + if phase in ("update1", "update2", "reload"): + archive_export(worker, directory, identity) + atomic_json(worker_path, worker) + journal["workers"][phase] = record(worker_path) + journal["events"].append(f"worker:{phase}") + validate_journal(journal, identity, verify_files=False) + atomic_json(journal_path, journal) + worker = read_record(journal["workers"][phase]) + if phase in ("update1", "update2", "reload") and phase not in journal["l2_reports"]: + directory = output / f"{phase}-l2-{uuid4().hex}" + directory.mkdir() + phase_manifest = { + **manifest, + **worker["export"], + "memory": "512G", + "input_fixture": str(fixture_path), + "input_fixture_sha256": file_digest(fixture_path), + "prebuilt_provider_binary": provider_binary, + } + phase_manifest_path = directory / "manifest.json" + atomic_json(phase_manifest_path, phase_manifest) + matrix = run_matrix(phase_manifest_path, directory, fixture_path) + validate_matrix_report(matrix, expected_identity=model_identity(phase_manifest)) + journal["l2_reports"][phase] = record(directory / "l2-matrix.json") + journal["events"].append(f"l2:{phase}") + validate_journal(journal, identity, verify_files=False) + atomic_json(journal_path, journal) + if phase == "reload": + journal["reload_matches_update2"] = compare_reload_matrices( + read_record(journal["l2_reports"]["update2"]), + read_record(journal["l2_reports"]["reload"]), + ) + atomic_json(journal_path, journal) + # Native workers retire the previous full checkpoint immediately after + # verified successor publication; export retirement waits for durable L2. + if phase in ("update1", "update2", "reload"): + retire_export(worker, export_root, identity) + if stage != "train": + _close_partial_training_stage( + manifest, output, run_root, previous, prior_result, journal, identity, baseline, uuids + ) + return + last = read_record(journal["workers"]["reload"])["checkpoint"] + report = { + "schema_version": 1, + "status": "passed", + "scope": "qwen3_next_training_and_reload", + "identity": model_identity(manifest), + "training_identity": identity, + "required_sections": list(SECTIONS), + "l2_fixture_sha256": baseline["fixture"]["content_sha256"], + "l2_reports": journal["l2_reports"], + "workers": journal["workers"], + "events": journal["events"], + "recovery": journal["recovery"], + "reload_matches_update2": journal["reload_matches_update2"], + "checkpoint": {"path": last, "sha256": file_digest(Path(last) / "COMPLETE.json")}, + "fault_injection": checkpoint_faults(output / "checkpoint-faults", identity), + "attempt": os.environ["QWEN3_NEXT_ATTEMPT"], + } + validate_training_report(report) + atomic_json(output / "training-report.json", report) + atomic_json(output / "reload.json", report) + shutil.copyfile(journal["l2_reports"]["reload"]["path"], output / "l2-matrix.json") + shutil.copyfile( + previous / prior_result["evidence"]["operators"]["path"], output / "operators.json" + ) + atomic_json( + output / "environment.json", + {"environment": manifest["environment"], "gpu_uuids": uuids, "execution_gpus": 4}, + ) + evidence = { + name: evidence_record(output / filename, run_root) + for name, filename in { + "updates": "training-report.json", + "reload": "reload.json", + "l2_matrix": "l2-matrix.json", + "operators": "operators.json", + "environment": "environment.json", + }.items() + } + result = result_envelope(manifest, os.environ["QWEN3_NEXT_ATTEMPT"], evidence=evidence) + result.update(full_model_l2="passed", training_and_reload="passed") + validate_result(manifest, result, run_dir=run_root, attempt=os.environ["QWEN3_NEXT_ATTEMPT"]) + atomic_json(output / "result.json", result) + + +def _close_partial_training_stage( + manifest, output, run_root, previous, prior_result, journal, identity, baseline, uuids +): + """Record a train1/train2 result: its phases, L2 matrix and the checkpoint left behind.""" + stage = manifest["stage"] + last_phase = STAGE_LAST_PHASE[stage] + checkpoint = read_record(journal["workers"][last_phase])["checkpoint"] + phases = list(stage_phases(stage)) + if any( + phase not in journal["workers"] or phase not in journal["l2_reports"] for phase in phases + ): + raise ValueError("Partial training stage closed before its phases completed") + progress = { + "schema_version": 1, + "status": "passed", + "scope": SCOPES[stage], + "identity": model_identity(manifest), + "training_identity": identity, + "phases": phases, + "l2_fixture_sha256": baseline["fixture"]["content_sha256"], + "l2_reports": journal["l2_reports"], + "workers": journal["workers"], + "events": journal["events"], + "recovery": journal["recovery"], + "checkpoint": { + "path": checkpoint, + "sha256": file_digest(Path(checkpoint) / "COMPLETE.json"), + }, + "attempt": os.environ["QWEN3_NEXT_ATTEMPT"], + } + atomic_json(output / "training-progress.json", progress) + shutil.copyfile(journal["l2_reports"][last_phase]["path"], output / "l2-matrix.json") + shutil.copyfile( + previous / prior_result["evidence"]["operators"]["path"], output / "operators.json" + ) + atomic_json( + output / "environment.json", + {"environment": manifest["environment"], "gpu_uuids": uuids, "execution_gpus": 4}, + ) + evidence = { + name: evidence_record(output / filename, run_root) + for name, filename in { + "updates": "training-progress.json", + "l2_matrix": "l2-matrix.json", + "operators": "operators.json", + "environment": "environment.json", + }.items() + } + result = result_envelope(manifest, os.environ["QWEN3_NEXT_ATTEMPT"], evidence=evidence) + result.update(full_model_l2="passed", training_phases=phases) + validate_result(manifest, result, run_dir=run_root, attempt=os.environ["QWEN3_NEXT_ATTEMPT"]) + atomic_json(output / "result.json", result) + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--manifest", type=Path) + parser.add_argument("--output", type=Path) + parser.add_argument("--worker-request", type=Path) + parser.add_argument("--check-ready", action="store_true") + args = parser.parse_args() + if args.check_ready: + check_l2_ready() + from qwen3_next_training_checkpoint import save_training_checkpoint # noqa: F401 + from qwen3_next_training_export import export_training_weights # noqa: F401 + + print(json.dumps({"status": "ready", "native_training": True})) + return 0 + if args.output is None: + parser.error("--output is required") + if args.worker_request: + request = json.loads(args.worker_request.read_text()) + verify_environment(request["manifest"]["environment"], require_venv=True) + verify_before_model_load(request["manifest"], args.output.parent) + run_training_phase(request, args.output) + return 0 + if args.manifest is None: + parser.error("--manifest is required") + args.output.mkdir(parents=True, exist_ok=True) + try: + execute(args.manifest, args.output) + except Exception as exc: + atomic_json( + args.output / "result.json", + { + "run_id": json.loads(args.manifest.read_text())["run_id"], + "attempt": os.environ["QWEN3_NEXT_ATTEMPT"], + "status": "failed", + "training_and_reload": "not_passed", + **failure_fields(exc), + }, + ) + raise + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tools/validation/models/qwen3_next_training_checkpoint.py b/tools/validation/models/qwen3_next_training_checkpoint.py new file mode 100644 index 000000000..f25519a8a --- /dev/null +++ b/tools/validation/models/qwen3_next_training_checkpoint.py @@ -0,0 +1,605 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Serialize the real native VIME/Megatron training state, one TP rank at a time. + +DistributedOptimizer.state_dict() deliberately omits master weights and Adam +moments. The bounded native parameter getter/setter adapter preserves all of +these states without allocating whole-bucket CPU packing copies. Publication +and recovery use the all-rank atomic protocol. +""" + +import gc +import json +import os +import uuid +from pathlib import Path + +import torch +import torch.distributed as dist +from qwen3_next_checkpoint import ( + newest_complete_checkpoint, + publish_checkpoint, + require_checkpoint_disk_space, + validate_checkpoint, + write_rank_manifest, +) +from qwen3_next_contract import atomic_json +from qwen3_next_optimizer_checkpoint import ( + load_bounded_parameter_state, + native_parameter_layout, + native_parameter_states, + parameter_state_files, +) +from qwen3_next_optimizer_checkpoint import parameter_state_records as _optimizer_parameter_records +from qwen3_next_optimizer_checkpoint import ( + save_bounded_parameter_state, + verify_hdo_optimizer_master_aliases, +) +from qwen3_next_runtime import create_staging, owned_root + +from rl_engine.integrations.orchestrators.vime.providers.qwen3_next_training import ( + capture_rng_state, + named_trainable_parameters, + restore_rng_state, + state_digest, +) +from rl_engine.validation.models.qwen3_next_rl_fixture import ( + PolicyFixture, + require_policy_configuration, +) + +SCHEMA_VERSION = 1 +CLASS_TAG = "__qwen3_next_native_optimizer_class__" + + +def _native_leaves(args, model, optimizer, tracker): + """Reject an alternate optimizer/topology before any checkpoint work starts.""" + require_policy_configuration(args) + if tracker is None or not tracker.get_states(): + raise ValueError("Native checkpoint must include the initialized Megatron RNG tracker") + if type(getattr(args, "consumed_train_samples", None)) is not int: + raise ValueError("Native training sample progress must be explicit") + from megatron.core import parallel_state + from megatron.core.optimizer.cpu_offloading.hybrid_optimizer import HybridDeviceOptimizer + from megatron.core.optimizer.distrib_optimizer import DistributedOptimizer + from megatron.core.optimizer.optimizer import ChainedOptimizer + + if not dist.is_initialized() or dist.get_world_size() != 4: + raise ValueError("Native checkpoint requires an initialized four-rank process group") + topology = ( + parallel_state.get_tensor_model_parallel_world_size(), + parallel_state.get_pipeline_model_parallel_world_size(), + parallel_state.get_context_parallel_world_size(), + parallel_state.get_expert_model_parallel_world_size(), + parallel_state.get_data_parallel_world_size(), + ) + if topology != (4, 1, 1, 1, 1): + raise ValueError("Native checkpoint requires TP4 and PP/CP/EP/DP1") + if parallel_state.get_tensor_model_parallel_rank() != dist.get_rank(): + raise ValueError("Checkpoint rank order must equal tensor-parallel rank order") + leaves = ( + list(optimizer.chained_optimizers) + if isinstance(optimizer, ChainedOptimizer) + else [optimizer] + ) + if not leaves or any(not isinstance(leaf, DistributedOptimizer) for leaf in leaves): + raise TypeError("Checkpoint requires actual native DistributedOptimizer leaves") + for leaf in leaves: + if getattr(leaf, "is_stub_optimizer", False): + raise ValueError("Stub optimizers cannot provide complete training state") + if leaf.ddp_config.use_megatron_fsdp: + raise ValueError("The fixed TP4 checkpoint path does not use FSDP") + for group in (leaf.data_parallel_group, leaf.data_parallel_group_gloo): + if group is None or dist.get_world_size(group) != 1 or dist.get_rank(group) != 0: + raise ValueError("Serial native optimizer saving requires singleton DP groups") + native = leaf.optimizer + if not isinstance(native, HybridDeviceOptimizer): + raise TypeError("Native checkpoint requires Megatron CPU optimizer offload") + if ( + native.offload_fraction != 1.0 + or not native.param_update_in_fp32 + or native.overlap_cpu_optimizer_d2h_h2d + or native.gpu_optimizer is not None + ): + raise ValueError("Native optimizer must fully offload FP32 masters without overlap") + parameters = named_trainable_parameters(model) + if any(value.dtype != torch.bfloat16 or not value.is_cuda for value in parameters.values()): + raise ValueError("The complete native model must retain BF16 CUDA parameters") + return leaves + + +def _all_rank_call(action, label): + """Propagate a Python failure before another rank enters a later collective.""" + value, error = None, None + try: + value = action() + except Exception as exc: + error = f"{type(exc).__name__}: {exc}" + errors = [None] * 4 + dist.all_gather_object(errors, error) + if any(errors): + raise RuntimeError(f"{label} failed across ranks: {errors}") + return value + + +def _rank_zero_call(action, label): + value = _all_rank_call(lambda: action() if dist.get_rank() == 0 else None, label) + values = [value] + dist.broadcast_object_list(values, src=0) + return values[0] + + +def _serial_rank_call(action, label): + result = None + for owner in range(4): + dist.barrier() + current = _all_rank_call( + lambda: action() if dist.get_rank() == owner else None, f"{label} rank {owner}" + ) + if dist.get_rank() == owner: + result = current + gc.collect() + return result + + +def _native_class_allowlist(leaves): + allowed = {} + for leaf in leaves: + for name in ("cpu_optimizer_cls", "gpu_optimizer_cls"): + cls = getattr(leaf.optimizer, name) + if cls is not None: + key = f"{cls.__module__}.{cls.__qualname__}" + if not isinstance(cls, type) or (key in allowed and allowed[key] is not cls): + raise ValueError("Ambiguous native optimizer class identity") + allowed[key] = cls + return allowed + + +def _encode_header(value, allowed): + """Preserve native class-valued param-group defaults without unsafe unpickling.""" + if isinstance(value, type): + key = f"{value.__module__}.{value.__qualname__}" + if allowed.get(key) is not value: + raise TypeError(f"Unpinned class in native optimizer header: {key}") + return {CLASS_TAG: key} + if isinstance(value, dict): + if CLASS_TAG in value: + raise ValueError("Reserved native class tag in optimizer header") + return {key: _encode_header(item, allowed) for key, item in value.items()} + if isinstance(value, (list, tuple)): + return type(value)(_encode_header(item, allowed) for item in value) + if value is None or isinstance(value, torch.Tensor) or type(value) in (str, bool, int, float): + return value + raise TypeError(f"Unsupported native optimizer header value: {type(value)!r}") + + +def _decode_header(value, allowed): + if isinstance(value, dict): + if CLASS_TAG in value: + if set(value) != {CLASS_TAG} or value[CLASS_TAG] not in allowed: + raise ValueError( + "Saved optimizer class is absent from the running native optimizer" + ) + return allowed[value[CLASS_TAG]] + return {key: _decode_header(item, allowed) for key, item in value.items()} + if isinstance(value, (list, tuple)): + return type(value)(_decode_header(item, allowed) for item in value) + return value + + +def _model_states(model): + if not model: + raise ValueError("Cannot save an empty native model") + return [chunk.state_dict_for_save_checkpoint() for chunk in model] + + +def _state_signature(value): + if isinstance(value, torch.Tensor): + return {"dtype": str(value.dtype), "shape": list(value.shape)} + if isinstance(value, dict): + return {key: _state_signature(item) for key, item in value.items()} + if isinstance(value, (list, tuple)): + return type(value)(_state_signature(item) for item in value) + if value is None or type(value) in (str, bool, int, float): + return type(value).__name__ + raise TypeError(f"Unsupported native model state type: {type(value)!r}") + + +def _tensor_bytes(value, seen=None): + if seen is None: + seen = set() + if isinstance(value, torch.Tensor): + # A serialized view retains its underlying storage, including TP padding. + storage = value.untyped_storage() + key = (value.device, storage.data_ptr(), storage.nbytes()) + if key in seen: + return 0 + seen.add(key) + return storage.nbytes() + if isinstance(value, dict): + return sum(_tensor_bytes(item, seen) for item in value.values()) + if isinstance(value, (list, tuple)): + return sum(_tensor_bytes(item, seen) for item in value) + return 0 + + +def _encode_rng(state): + numpy_state = state["numpy"] + return { + **state, + "numpy": ( + numpy_state[0], + torch.from_numpy(numpy_state[1].copy()), + *numpy_state[2:], + ), + } + + +def _decode_rng(state): + numpy_state = state["numpy"] + if numpy_state[1].dtype != torch.uint32 or numpy_state[1].device.type != "cpu": + raise ValueError("Invalid saved NumPy RNG state") + return {**state, "numpy": (numpy_state[0], numpy_state[1].numpy().copy(), *numpy_state[2:])} + + +def _save_tensor_file(path, payload): + with Path(path).open("xb") as stream: + torch.save(payload, stream) + stream.flush() + os.fsync(stream.fileno()) + + +def _rank_files(rank, chunk_count, rank_dir): + return { + "model": [f"rank-{rank}/model-{index}.pt" for index in range(chunk_count)], + "optimizer": [f"rank-{rank}/{name}" for name in parameter_state_files(rank_dir)], + "rng": [f"rank-{rank}/rng.pt"], + "progress": [ + f"rank-{rank}/{name}" for name in ("progress.json", "scheduler.pt", "fixture.pt") + ], + } + + +def _validate_native_checkpoint(checkpoint, identity, chunk_count): + # Sizes and manifests only: _load_rank compares every loaded tensor's digest. + complete = validate_checkpoint(checkpoint, identity, verify_files=False) + for rank in range(4): + manifest = json.loads((checkpoint / f"rank-{rank}.manifest.json").read_text()) + files = { + role: sorted(record["path"] for record in records) + for role, records in manifest["files"].items() + } + expected = { + role: sorted(paths) + for role, paths in _rank_files(rank, chunk_count, checkpoint / f"rank-{rank}").items() + } + if files != expected: + raise ValueError( + "Native checkpoint manifest omits or substitutes a required state file" + ) + return complete + + +def _save_rank( + model, + optimizer, + scheduler, + fixture, + staging, + *, + leaves, + identity, + step, + sample_position, + tracker, + native_args, + update_evidence, +): + rank = dist.get_rank() + rank_dir = staging / f"rank-{rank}" + rank_dir.mkdir() + torch.cuda.synchronize() + rng = capture_rng_state(tracker=tracker) + states = _model_states(model) + model_hashes = [state_digest(state) for state in states] + native_records, _ = _optimizer_parameter_records(model, leaves) + header = _encode_header(optimizer.state_dict(), _native_class_allowlist(leaves)) + schedule = scheduler.state_dict() + for index, state in enumerate(states): + _save_tensor_file(rank_dir / f"model-{index}.pt", state) + del states + _save_tensor_file(rank_dir / "optimizer-header.pt", header) + save_bounded_parameter_state(model, leaves, rank_dir, _save_tensor_file) + verify_hdo_optimizer_master_aliases(model, leaves) + _save_tensor_file(rank_dir / "rng.pt", _encode_rng(rng)) + _save_tensor_file(rank_dir / "scheduler.pt", schedule) + _save_tensor_file( + rank_dir / "fixture.pt", + { + "tokens": fixture.tokens, + "old_logprobs": fixture.old_logprobs, + "baseline_identity": fixture.baseline_identity, + "content_sha256": fixture.content_sha256, + }, + ) + progress = { + "schema_version": SCHEMA_VERSION, + "scope": "native_vime_training_checkpoint", + "rank": rank, + "world_size": 4, + "identity": identity, + "step": step, + "sample_position": sample_position, + "consumed_train_samples": native_args.consumed_train_samples, + "update_evidence": update_evidence, + "fixture_sha256": fixture.content_sha256, + "model_sha256": model_hashes, + "optimizer_parameter_sha256": native_records, + "optimizer_header_sha256": state_digest(header), + "scheduler_sha256": state_digest(schedule), + "rng_sha256": state_digest(rng), + "serialization": "native_parameter_views_bounded_serial_tp_ranks", + } + atomic_json(rank_dir / "progress.json", progress) + if state_digest(capture_rng_state(tracker=tracker)) != progress["rng_sha256"]: + raise ValueError("Checkpoint serialization unexpectedly changed training RNG state") + write_rank_manifest( + staging, + rank=rank, + world_size=4, + identity=identity, + step=step, + sample_position=sample_position, + files=_rank_files(rank, len(model), rank_dir), + ) + return progress + + +def _load_rank( + model, + optimizer, + scheduler, + fixture, + checkpoint, + *, + leaves, + identity, + complete, + tracker, + native_args, +): + rank = dist.get_rank() + rank_dir = checkpoint / f"rank-{rank}" + progress = json.loads((rank_dir / "progress.json").read_text()) + expected = { + "schema_version": SCHEMA_VERSION, + "scope": "native_vime_training_checkpoint", + "rank": rank, + "world_size": 4, + "identity": identity, + "step": complete["step"], + "sample_position": complete["sample_position"], + "fixture_sha256": fixture.content_sha256, + "serialization": "native_parameter_views_bounded_serial_tp_ranks", + } + if any(progress.get(key) != value for key, value in expected.items()): + raise ValueError("Saved native training progress or fixture identity differs") + saved_fixture = PolicyFixture(**torch.load(rank_dir / "fixture.pt", weights_only=True)) + saved_fixture.validate() + if saved_fixture.content_sha256 != fixture.content_sha256: + raise ValueError("Recovery must reuse the frozen baseline policy samples/logprobs") + header = torch.load(rank_dir / "optimizer-header.pt", map_location="cpu", weights_only=True) + if state_digest(header) != progress["optimizer_header_sha256"]: + raise ValueError("Native optimizer header content mismatch") + # Native load_state_dict may initialize state with a dummy step. Load the + # saved BF16 model afterwards and restore RNG only after every other load. + optimizer.load_state_dict(_decode_header(header, _native_class_allowlist(leaves))) + load_bounded_parameter_state(model, leaves, rank_dir) + verify_hdo_optimizer_master_aliases(model, leaves) + if len(progress["model_sha256"]) != len(model): + raise ValueError("Saved model chunk count differs") + for index, chunk in enumerate(model): + saved = torch.load( + rank_dir / f"model-{index}.pt", map_location="cpu", weights_only=True, mmap=True + ) + current = chunk.state_dict_for_save_checkpoint() + if _state_signature(saved) != _state_signature(current): + raise ValueError("Model checkpoint would change tensor dtypes, shapes or state keys") + if state_digest(saved) != progress["model_sha256"][index]: + raise ValueError("Saved native model content mismatch") + del current + chunk.load_state_dict(saved, strict=True) + del saved + schedule = torch.load(rank_dir / "scheduler.pt", map_location="cpu", weights_only=True) + scheduler.load_state_dict(schedule) + torch.cuda.synchronize() + if [state_digest(value) for value in _model_states(model)] != progress["model_sha256"]: + raise ValueError("Native model reload changed original tensor bits") + restored, _ = _optimizer_parameter_records(model, leaves) + if restored != progress["optimizer_parameter_sha256"]: + raise ValueError("Native optimizer reload changed FP32 master weights or Adam moments") + current_header = _encode_header(optimizer.state_dict(), _native_class_allowlist(leaves)) + if state_digest(current_header) != progress["optimizer_header_sha256"]: + raise ValueError("Native optimizer reload changed optimizer metadata or step") + if state_digest(scheduler.state_dict()) != progress["scheduler_sha256"]: + raise ValueError("Native scheduler reload changed schedule progress") + if type(progress.get("consumed_train_samples")) is not int: + raise ValueError("Saved native consumed sample progress is absent") + native_args.consumed_train_samples = progress["consumed_train_samples"] + rng = _decode_rng(torch.load(rank_dir / "rng.pt", map_location="cpu", weights_only=True)) + if state_digest(rng) != progress["rng_sha256"]: + raise ValueError("Saved RNG content mismatch") + restore_rng_state(rng, tracker=tracker) + if state_digest(capture_rng_state(tracker=tracker)) != progress["rng_sha256"]: + raise ValueError("Native RNG restore changed original state") + return progress + + +def save_training_checkpoint( + args, + model, + optimizer, + scheduler, + fixture, + root, + *, + step, + sample_position, + identity, + tracker, + export_bytes, + update_evidence=None, +): + """Collectively save a complete native checkpoint; call on all four TP ranks.""" + if ( + type(step) is not int + or step not in (1, 2, 3) + or type(sample_position) is not int + or sample_position != step * 4 + ): + raise ValueError("Checkpoint progress must match complete four-sample native updates") + fixture.validate() + leaves = _all_rank_call( + lambda: _native_leaves(args, model, optimizer, tracker), "native topology" + ) + root = Path(root).absolute() + + def estimate(): + optimizer_bytes = sum( + value.numel() * value.element_size() + for record in native_parameter_layout(model, leaves).values() + for states in [native_parameter_states(record)] + for value in states.values() + if isinstance(value, torch.Tensor) + ) + # Four-rank allgather carries only byte counts, never parameter tensors. + model_bytes = sum(_tensor_bytes(state) for state in _model_states(model)) + # Native DP packing retains buffer padding, rather than only model numels. + return model_bytes + (optimizer_bytes * 105 // 100) + 64 * 1024**2 + + local_bytes = _all_rank_call(estimate, "checkpoint disk estimate") + estimates = [None] * 4 + dist.all_gather_object(estimates, local_bytes) + + def prepare(): + owned_root(root, identity) + recovery = newest_complete_checkpoint(root, identity, verify_files=False) + retained = 0 + if recovery["checkpoint"]: + retained = sum( + path.stat().st_size + for path in Path(recovery["checkpoint"]).rglob("*") + if path.is_file() + ) + require_checkpoint_disk_space( + root, + checkpoint_bytes=sum(estimates), + export_bytes=export_bytes, + retained_complete_bytes=retained, + ) + staging, destination = create_staging( + root, + f"step-{step:08d}-{uuid.uuid4().hex}", + { + "schema_version": 1, + "scope": "native_vime_training_checkpoint", + "status": "staging", + "identity": identity, + "step": step, + "sample_position": sample_position, + }, + ) + return {"staging": str(staging), "destination": str(destination), "recovery": recovery} + + paths = _rank_zero_call(prepare, "checkpoint disk budget and staging") + staging, destination = Path(paths["staging"]), Path(paths["destination"]) + _serial_rank_call( + lambda: _save_rank( + model, + optimizer, + scheduler, + fixture, + staging, + leaves=leaves, + identity=identity, + step=step, + sample_position=sample_position, + tracker=tracker, + native_args=args, + update_evidence=update_evidence, + ), + "native checkpoint save", + ) + complete = _rank_zero_call( + lambda: publish_checkpoint(staging, destination, world_size=4, identity=identity), + "checkpoint all-file validation and publication", + ) + return {"checkpoint": str(destination), "complete": complete, "recovery": paths["recovery"]} + + +def load_training_checkpoint( + args, model, optimizer, scheduler, fixture, checkpoint, *, identity, tracker +): + """Verify every rank's file before any load, then restore native state serially.""" + fixture.validate() + leaves = _all_rank_call( + lambda: _native_leaves(args, model, optimizer, tracker), "native topology" + ) + checkpoint = Path(checkpoint).resolve() + complete = _rank_zero_call( + lambda: _validate_native_checkpoint(checkpoint, identity, len(model)), + "checkpoint pre-load all-file validation", + ) + if complete["step"] not in (1, 2, 3) or complete["sample_position"] != complete["step"] * 4: + raise ValueError("Checkpoint progress differs from complete fixed native updates") + progress = _serial_rank_call( + lambda: _load_rank( + model, + optimizer, + scheduler, + fixture, + checkpoint, + leaves=leaves, + identity=identity, + complete=complete, + tracker=tracker, + native_args=args, + ), + "native checkpoint load", + ) + return { + "checkpoint": str(checkpoint), + "step": complete["step"], + "sample_position": complete["sample_position"], + "rank_evidence": progress, + } + + +def training_state_identity( + args, model, optimizer, scheduler, fixture, *, step, sample_position, identity, tracker +): + """Exact per-rank control/recovery state identity, with no PID or path fields.""" + fixture.validate() + if type(step) is not int or step not in (1, 2, 3) or sample_position != step * 4: + raise ValueError("State audit requires complete fixed native updates") + leaves = _native_leaves(args, model, optimizer, tracker) + torch.cuda.synchronize() + records, _ = _optimizer_parameter_records(model, leaves) + header = _encode_header(optimizer.state_dict(), _native_class_allowlist(leaves)) + result = { + "schema_version": SCHEMA_VERSION, + "scope": "native_vime_training_state", + "rank": dist.get_rank(), + "identity": identity, + "step": step, + "sample_position": sample_position, + "consumed_train_samples": args.consumed_train_samples, + "fixture_sha256": fixture.content_sha256, + "model_sha256": [state_digest(value) for value in _model_states(model)], + "optimizer_parameter_sha256": records, + "optimizer_header_sha256": state_digest(header), + "scheduler_sha256": state_digest(scheduler.state_dict()), + "rng_sha256": state_digest(capture_rng_state(tracker=tracker)), + } + return {**result, "state_sha256": state_digest(result)} diff --git a/tools/validation/models/qwen3_next_training_export.py b/tools/validation/models/qwen3_next_training_export.py new file mode 100644 index 000000000..f785e30e3 --- /dev/null +++ b/tools/validation/models/qwen3_next_training_export.py @@ -0,0 +1,511 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Publish fresh BF16 HF weights through the installed native VIME exporter. + +An export completion record preserves provenance after historical weights are +retired. Only validate_training_export, which rehashes every current file, can +authorize loading an export. A retained record alone cannot authorize a load. +""" + +import hashlib +import json +import math +import os +import re +import uuid +from pathlib import Path + +import torch +import torch.distributed as dist +from qwen3_next_checkpoint import require_checkpoint_disk_space +from qwen3_next_contract import atomic_json, checkpoint_identity +from qwen3_next_runtime import create_staging, file_digest, owned_root +from qwen3_next_training_checkpoint import _all_rank_call, _rank_zero_call + +from rl_engine.integrations.orchestrators.vime.providers.qwen3_next_training import ( + capture_rng_state, + named_trainable_parameters, + state_digest, + tensor_digest, +) + +COMPLETE_FILE = "EXPORT_COMPLETE.json" +INDEX_FILE = "model.safetensors.index.json" +KIND = "qwen3_next_native_hf_export" +# Official tensors the native trainer neither loads nor updates: the multi-token-prediction head. +# VIME's HF saver writes only Megatron-owned parameters, so these are carried from the pinned base. +PASSTHROUGH_PREFIXES = ("mtp.",) +PASSTHROUGH_SHARD = "model-base-passthrough-{idx:05d}-of-{total:05d}.safetensors" +IDENTITY_KEYS = ( + "source_commit", + "source_tree", + "environment_sha256", + "provider_config", + "topology", +) + + +def _json_digest(value): + return hashlib.sha256( + json.dumps(value, sort_keys=True, separators=(",", ":")).encode() + ).hexdigest() + + +def _reference(): + path = ( + Path(__file__).resolve().parents[3] + / "rl_engine/validation/models/qwen3_next_norm_manifest.json" + ) + return json.loads(path.read_text())["model_identity"] + + +def _schema_reference(): + path = ( + Path(__file__).resolve().parents[3] + / "rl_engine/validation/models/qwen3_next_export_schema.json" + ) + record = json.loads(path.read_text()) + if ( + record.get("schema_version") != 1 + or record.get("checkpoint_revision") != _reference()["revision"] + ): + raise ValueError("Pinned export schema must identify the official checkpoint revision") + return record + + +def _safe_file(root, name): + path = Path(name) + if len(path.parts) != 1 or path.is_absolute() or path.name in (".", ".."): + raise ValueError("HF export file must be directly inside its export directory") + candidate = root / path + if candidate.is_symlink() or not candidate.is_file(): + raise ValueError(f"Missing or external HF export file: {name}") + return candidate + + +def _weight_schema(root, *, check_finite): + from safetensors import safe_open + + root = Path(root) + index = json.loads((root / INDEX_FILE).read_text()) + weight_map = index["weight_map"] + if not weight_map or any(not isinstance(key, str) for key in weight_map): + raise ValueError("An HF export must contain the complete named model") + by_shard = {} + for name, shard in weight_map.items(): + if Path(shard).name != shard or not shard.endswith(".safetensors"): + raise ValueError("HF tensor index points outside safetensors shards") + by_shard.setdefault(shard, set()).add(name) + schema = {} + for shard, names in sorted(by_shard.items()): + with safe_open(root / shard, framework="pt", device="cpu") as reader: + if set(reader.keys()) != names: + raise ValueError("HF shard tensor inventory differs from its weight index") + for name in sorted(names): + view = reader.get_slice(name) + shape, dtype = view.get_shape(), view.get_dtype() + if dtype != "BF16" or not shape or any(value <= 0 for value in shape): + raise ValueError(f"HF export must preserve nonempty BF16 weights: {name}") + schema[name] = {"dtype": dtype, "shape": shape} + if check_finite: + # Keep verification memory bounded, including embedding/LM head. + row_size = max(1, math.prod(shape[1:])) + rows = max(1, (32 * 1024**2) // (row_size * 2)) + for start in range(0, shape[0], rows): + if not torch.isfinite(view[start : start + rows]).all(): + raise ValueError(f"Nonfinite exported model weight: {name}") + layers = { + int(match.group(1)) + for name in schema + if (match := re.match(r"model\.layers\.(\d+)\.", name)) + } + if layers != set(range(48)): + raise ValueError("HF export must retain all 48 real decoder layers") + if index.get("metadata", {}).get("total_size") != sum( + math.prod(record["shape"]) * 2 for record in schema.values() + ): + raise ValueError("HF tensor index total byte size differs from its tensors") + return schema + + +def validate_training_export_record(record, expected_identity): + """Validate a durable history record; this deliberately does not authorize loading.""" + if record != expected_identity: + raise ValueError("Published HF export identity differs from the requested weights") + if (record.get("schema_version"), record.get("kind"), record.get("status")) != ( + 1, + KIND, + "complete", + ): + raise ValueError("HF export has no supported completion record") + if (record.get("architecture_layers"), record.get("weights_dtype")) != (48, "bfloat16"): + raise ValueError("HF export architecture or precision differs") + expected_versions = {"update-1": 1, "update-2": 2, "reload-2": 2} + if ( + record.get("weight_version") not in expected_versions + or type(record.get("step")) is not int + or record.get("step") != expected_versions[record["weight_version"]] + ): + raise ValueError("HF export does not identify an accepted native update/reload phase") + training, base = record["training_identity"], record["base_checkpoint_identity"] + if ( + training.get("checkpoint") != record["base_checkpoint"] + or training.get("checkpoint_identity") != base + or any(key not in training for key in IDENTITY_KEYS) + ): + raise ValueError( + "Updated weights require explicit fixed baseline/source/environment provenance" + ) + if base.get("revision") != _reference()["revision"]: + raise ValueError("HF export base revision differs from the official pinned checkpoint") + hashes = record.get("model_rank_sha256") + if record.get("model_identity_method") != "native_parameter_hashes_after": + raise ValueError("HF export must bind directly to the native update parameter audit") + if not isinstance(hashes, list) or len(hashes) != 4: + raise ValueError("HF export requires four actual native model state hashes") + passthrough = record.get("base_passthrough") + if ( + not isinstance(passthrough, dict) + or passthrough.get("prefixes") != list(PASSTHROUGH_PREFIXES) + or type(passthrough.get("tensor_count")) is not int + or passthrough["tensor_count"] < 0 + or not isinstance(passthrough.get("shards"), dict) + ): + raise ValueError("HF export must state which untrained official tensors came from the base") + if any( + not isinstance(value, str) or not re.fullmatch("[0-9a-f]{64}", value) for value in hashes + ): + raise ValueError("HF export has an invalid native model state hash") + files = record.get("files", {}) + shards = {name: value for name, value in files.items() if name.endswith(".safetensors")} + if not shards or INDEX_FILE not in files or "config.json" not in files: + raise ValueError("HF export is missing model shards, index or configuration") + for name, item in files.items(): + if ( + Path(name).name != name + or type(item.get("size")) is not int + or item["size"] <= 0 + or not isinstance(item.get("sha256"), str) + or not re.fullmatch("[0-9a-f]{64}", item["sha256"]) + ): + raise ValueError("Invalid file identity in HF export record") + if record.get("weights_content_sha256") != _json_digest(shards): + raise ValueError("HF export shard content proof differs") + if record.get("metadata") != { + name: value["sha256"] + for name, value in files.items() + if not name.endswith(".safetensors") and name != "STAGING.json" + }: + raise ValueError("HF export metadata proof differs") + reference = _schema_reference() + if ( + record.get("weight_schema_sha256") != reference["weight_schema_sha256"] + or record.get("tensor_count") != reference["tensor_count"] + ): + raise ValueError("HF export omits the pinned complete official tensor schema proof") + return record + + +def validate_training_export(checkpoint, expected_identity): + """Rehash every current export file and exact full-model schema before loading.""" + checkpoint = Path(checkpoint) + if checkpoint.suffix == ".partial" or checkpoint.name.startswith("."): + raise ValueError("An unpublished HF export cannot be loaded") + record = json.loads((checkpoint / COMPLETE_FILE).read_text()) + validate_training_export_record(record, expected_identity) + present = {path.name for path in checkpoint.iterdir() if path.name != COMPLETE_FILE} + if present != record["files"].keys(): + raise ValueError("HF export file inventory changed after publication") + for name, expected in record["files"].items(): + path = _safe_file(checkpoint, name) + if path.stat().st_size != expected["size"] or file_digest(path) != expected["sha256"]: + raise ValueError(f"HF export file checksum mismatch: {name}") + base = Path(record["base_checkpoint"]) + if checkpoint_identity(base) != record["base_checkpoint_identity"]: + raise ValueError("HF export official base metadata or shard identity changed") + schema = _weight_schema(checkpoint, check_finite=True) + if ( + schema != _weight_schema(base, check_finite=False) + or _json_digest(schema) != record["weight_schema_sha256"] + or len(schema) != record["tensor_count"] + ): + raise ValueError("HF export differs from the complete official model tensor schema") + return record + + +def _carry_base_passthrough(staging, base_checkpoint): + """Copy the official tensors the native model does not own from the pinned base, byte for byte. + + Returns the passthrough record for publication. Any missing tensor outside + ``PASSTHROUGH_PREFIXES`` is a real omission by the saver and is rejected; the saver must + also not have written part of the passthrough head itself. + """ + from safetensors import safe_open + from safetensors.torch import save_file + + staging, base = Path(staging), Path(base_checkpoint) + index = json.loads((staging / INDEX_FILE).read_text()) + staged = index["weight_map"] + official = json.loads((base / INDEX_FILE).read_text())["weight_map"] + extra = sorted(set(staged) - set(official)) + if extra: + raise ValueError(f"Native HF saver wrote tensors outside the official schema: {extra[:5]}") + missing = sorted(set(official) - set(staged)) + foreign = [name for name in missing if not name.startswith(PASSTHROUGH_PREFIXES)] + if foreign: + raise ValueError(f"Native HF saver omitted trained official tensors: {foreign[:5]}") + if any(name.startswith(PASSTHROUGH_PREFIXES) for name in staged): + raise ValueError("Native HF saver wrote part of the base passthrough head itself") + record = {"prefixes": list(PASSTHROUGH_PREFIXES), "tensor_count": len(missing), "shards": {}} + if not missing: + return record + by_shard = {} + for name in missing: + by_shard.setdefault(official[name], []).append(name) + added = 0 + for idx, source in enumerate(sorted(by_shard), start=1): + if Path(source).name != source or not source.endswith(".safetensors"): + raise ValueError("Official tensor index points outside safetensors shards") + filename = PASSTHROUGH_SHARD.format(idx=idx, total=len(by_shard)) + if (staging / filename).exists(): + raise ValueError(f"Passthrough shard already present in the staging export: {filename}") + with safe_open(base / source, framework="pt", device="cpu") as reader: + tensors = {name: reader.get_tensor(name) for name in by_shard[source]} + for name, value in tensors.items(): + if ( + value.dtype != torch.bfloat16 + or value.numel() == 0 + or not torch.isfinite(value).all() + ): + raise ValueError(f"Official passthrough tensor is not finite BF16: {name}") + save_file(tensors, staging / filename, metadata={"format": "pt"}) + with safe_open(staging / filename, framework="pt", device="cpu") as reader: + if set(reader.keys()) != set(tensors) or any( + not torch.equal(reader.get_tensor(name), value) for name, value in tensors.items() + ): + raise ValueError( + f"Passthrough shard does not reproduce the base tensors: {filename}" + ) + for name, value in tensors.items(): + staged[name] = filename + added += value.numel() * value.element_size() + record["shards"][filename] = {"source": source, "tensor_count": len(tensors)} + metadata = index.setdefault("metadata", {}) + metadata["total_size"] = int(metadata.get("total_size", 0)) + added + atomic_json(staging / INDEX_FILE, index) + record["names_sha256"] = _json_digest(missing) + return record + + +def _publish_export( + staging, + destination, + *, + step, + weight_version, + identity, + base_checkpoint, + base_checkpoint_identity, + model_hashes, +): + staging, destination, base_checkpoint = Path(staging), Path(destination), Path(base_checkpoint) + if staging.suffix != ".partial" or staging.parent != destination.parent or destination.exists(): + raise ValueError("HF export publication requires a new sibling destination") + if checkpoint_identity(base_checkpoint) != base_checkpoint_identity: + raise ValueError("HF export official base identity changed") + passthrough = _carry_base_passthrough(staging, base_checkpoint) + schema = _weight_schema(staging, check_finite=True) + if schema != _weight_schema(base_checkpoint, check_finite=False): + raise ValueError("Native HF saver did not preserve the complete official tensor schema") + expected_assets = { + name: digest + for name, digest in base_checkpoint_identity["metadata"].items() + if name != INDEX_FILE + } + actual_assets = { + path.name: file_digest(path) + for path in staging.iterdir() + if path.name not in (INDEX_FILE, "STAGING.json") and path.suffix != ".safetensors" + } + if expected_assets != actual_assets: + raise ValueError("Native HF export changed tokenizer/configuration assets") + files = {} + for path in sorted(staging.iterdir()): + _safe_file(staging, path.name) + with path.open("rb") as stream: + os.fsync(stream.fileno()) + files[path.name] = {"size": path.stat().st_size, "sha256": file_digest(path)} + record = { + "schema_version": 1, + "kind": KIND, + "status": "complete", + "weight_version": weight_version, + "step": step, + "export_id": destination.name, + "base_checkpoint": str(base_checkpoint), + "base_checkpoint_identity": base_checkpoint_identity, + "training_identity": identity, + "architecture_layers": 48, + "weights_dtype": "bfloat16", + "model_rank_sha256": model_hashes, + "model_identity_method": "native_parameter_hashes_after", + "base_passthrough": passthrough, + "files": files, + "metadata": { + name: value["sha256"] + for name, value in files.items() + if not name.endswith(".safetensors") and name != "STAGING.json" + }, + "weight_schema_sha256": _json_digest(schema), + "tensor_count": len(schema), + "weights_content_sha256": _json_digest( + {name: value for name, value in files.items() if name.endswith(".safetensors")} + ), + } + validate_training_export_record(record, record) + atomic_json(staging / COMPLETE_FILE, record) + staging.rename(destination) + fd = os.open(destination.parent, os.O_RDONLY | os.O_DIRECTORY) + try: + os.fsync(fd) + finally: + os.close(fd) + return record + + +def export_training_weights( + args, + model, + root, + *, + step, + weight_version, + identity, + base_checkpoint, + base_checkpoint_identity, + checkpoint_bytes, + retained_complete_bytes=0, +): + """Collectively export the current native model; call on all four TP ranks.""" + from megatron.core import parallel_state + from megatron.core.tensor_parallel.random import get_cuda_rng_tracker + from vime.backends.megatron_utils.hf_checkpoint_saver import save_hf_model_to_path + + from rl_engine.integrations.orchestrators.vime.providers.qwen3_next_vime import ( + install_vime_gdn_weight_hooks, + ) + + if ( + type(step) is not int + or {"update-1": 1, "update-2": 2, "reload-2": 2}.get(weight_version) != step + ): + raise ValueError("Native HF export requires an explicit accepted update/reload phase") + if ( + identity.get("checkpoint") != str(base_checkpoint) + or identity.get("checkpoint_identity") != base_checkpoint_identity + ): + raise ValueError("Native HF export provenance must retain the fixed official baseline") + if not dist.is_initialized() or dist.get_world_size() != 4: + raise ValueError("Native HF export requires four actual distributed ranks") + if ( + parallel_state.get_tensor_model_parallel_world_size(), + parallel_state.get_expert_tensor_parallel_world_size(), + parallel_state.get_pipeline_model_parallel_world_size(), + parallel_state.get_context_parallel_world_size(), + parallel_state.get_expert_model_parallel_world_size(), + ) != (4, 4, 1, 1, 1): + raise ValueError("Native HF export requires TP/ETP4 and PP/CP/EP1") + if Path(args.hf_checkpoint).resolve() != Path(base_checkpoint).resolve(): + raise ValueError("Native HF conversion metadata must come from the pinned official base") + if ( + getattr(args, "actor_num_nodes", None) != 1 + or getattr(args, "actor_num_gpus_per_node", None) != 4 + ): + raise ValueError("Native HF export requires one node writer for its four GPUs") + if not 0 < args.update_weight_buffer_size <= 4 * 1024**3: + raise ValueError("Native HF export must use a pinned bounded parameter gather size") + if save_hf_model_to_path.__module__ != "vime.backends.megatron_utils.hf_checkpoint_saver": + raise ValueError("Native VIME HF exporter was replaced") + install_vime_gdn_weight_hooks() + tracker = get_cuda_rng_tracker() + parameters = named_trainable_parameters(model) + if any(value.dtype != torch.bfloat16 for value in parameters.values()): + raise ValueError("Native HF export must retain BF16 model parameters") + torch.cuda.synchronize() + rng_before = state_digest(capture_rng_state(tracker=tracker)) + + def parameter_identity(): + return state_digest({name: tensor_digest(value) for name, value in parameters.items()}) + + model_before = _all_rank_call(parameter_identity, "native export model identity") + model_hashes = [None] * 4 + dist.all_gather_object(model_hashes, model_before) + root = Path(root).absolute() + + def prepare(): + owned_root(root, identity) + if checkpoint_identity(base_checkpoint) != base_checkpoint_identity: + raise ValueError("Native HF export official base identity changed before conversion") + export_bytes = sum(item["size"] for item in base_checkpoint_identity["shards"].values()) + require_checkpoint_disk_space( + root, + checkpoint_bytes=checkpoint_bytes, + export_bytes=export_bytes, + retained_complete_bytes=retained_complete_bytes, + ) + staging, destination = create_staging( + root, + f"{weight_version}-{uuid.uuid4().hex}", + { + "schema_version": 1, + "scope": KIND, + "status": "staging", + "identity": identity, + "step": step, + "weight_version": weight_version, + "base_checkpoint": str(base_checkpoint), + "base_checkpoint_identity": base_checkpoint_identity, + }, + ) + return {"staging": str(staging), "destination": str(destination)} + + paths = _rank_zero_call(prepare, "native HF export disk budget and staging") + save_hf_model_to_path( + args, + paths["staging"], + model, + model_name="qwen3_next", + quantization_config=None, + progress_desc=f"Native HF export {weight_version}", + ) + torch.cuda.synchronize() + + def verify_immutable(): + if ( + parameter_identity() != model_before + or state_digest(capture_rng_state(tracker=tracker)) != rng_before + ): + raise ValueError("Native HF export unexpectedly changed model parameters or RNG") + + _all_rank_call(verify_immutable, "native export model/RNG immutability") + record = _rank_zero_call( + lambda: _publish_export( + paths["staging"], + paths["destination"], + step=step, + weight_version=weight_version, + identity=identity, + base_checkpoint=base_checkpoint, + base_checkpoint_identity=base_checkpoint_identity, + model_hashes=model_hashes, + ), + "native HF all-file publication", + ) + return { + "checkpoint": paths["destination"], + "checkpoint_identity": record, + "weight_version": weight_version, + "base_checkpoint": str(base_checkpoint), + "base_checkpoint_identity": base_checkpoint_identity, + } diff --git a/tools/validation/models/ws1_gdn_provider_agreement.py b/tools/validation/models/ws1_gdn_provider_agreement.py new file mode 100644 index 000000000..5b2ee3567 --- /dev/null +++ b/tools/validation/models/ws1_gdn_provider_agreement.py @@ -0,0 +1,496 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Measure how closely the GDN decode-step goldens track vLLM's providers (RFC #428 C6). + +``tests/models/qwen3_next/check_gdn_recurrent_golden.py`` asserts regression bounds; this runner +prints the measured values behind them, so the numbers quoted in +``docs/archive/design/rfc428-c6-gdn-recurrent-replay.md`` can be reproduced. Inputs and seeds +are the check file's own helpers, imported from it rather than copied. + +Measurements, emitted as one JSON document on stdout: + +* ``recurrent``: provider vs golden for the packed recurrent decode, per + (batch, state dtype): max|d out|, max|d state| and bitwise mismatch counts. +* ``conv``: provider vs golden for ``causal_conv1d_update``, per (batch, cache dtype): + output mismatch count and max|diff|, and whether the rolled state is bitwise equal. +* ``conv`` again with Triton FP fusion disabled, plus ``conv_kernels``: per compiled + variant of the provider's conv-update kernel, its ``enable_fp_fusion`` option and + instruction counts from the PTX and from the SASS. +* ``conv_silu`` localises the fp32-cache conv mismatches, on the same inputs widened to + fp32 with an fp32 output: the pre-activation comparison (activation off), the SiLU + comparison with its ULP histogram, and four Triton SiLU variants applied to the + golden's pre-activation values, each compared bitwise with both sides. +* ``conv_noact_bf16``: the no-activation, bf16-output specialization against the golden, + whether it equals the fp32-output run rounded to bf16, each mismatch's size, and the + compiled variants of both specializations; with fusion on and off. + +The fusion-off arm runs in a child process with ``TRITON_DEFAULT_FP_FUSION=0`` and a +private ``TRITON_CACHE_DIR``. Flipping ``triton.knobs.language.default_fp_fusion`` +in-process does not work: Triton's in-memory kernel cache is keyed on the launch +kwargs, and the knob is read only after a cache miss, so the fused variant is reused. + +Count FMAs in the SASS, not only the PTX. With fusion on, Triton emits plain +``mul.f32``/``add.f32`` and leaves ptxas free to contract them into ``FFMA``; with +fusion off it passes ``--fmad=false`` to ptxas. A PTX with no ``fma.rn.f32`` can still +run FMAs. ``fusion_check`` reports whether each arm compiled what it claims to. + +Requires CUDA and vLLM 0.30.0. Run it from a clean checkout so ``git_dirty`` is false, +and write the result outside the checkout: an untracked file inside it would itself +make the next run report ``git_dirty: true``. + + python tools/validation/models/ws1_gdn_provider_agreement.py \\ + > "${TMPDIR:-/tmp}/gdn_provider_agreement.json" +""" + +from __future__ import annotations + +import argparse +import importlib.util +import json +import math +import os +import platform +import re +import subprocess +import sys +import tempfile +from pathlib import Path +from typing import Any + +import torch + +REPO_ROOT = Path(__file__).resolve().parents[3] +if str(REPO_ROOT) not in sys.path: + sys.path.insert(0, str(REPO_ROOT)) + +_CHECK_FILE = REPO_ROOT / "tests" / "check_gdn_recurrent_golden.py" +_STATE_DTYPES = {"fp32": torch.float32, "bf16": torch.bfloat16} +_INT_VIEW = {2: torch.int16, 4: torch.int32} +# FLA_USE_FAST_OPS swaps the kernel's exp/log for fast_expf/fast_logf; +# TRITON_DEFAULT_FP_FUSION decides whether ptxas may contract mul/add. +_PROVENANCE_ENV = ("FLA_USE_FAST_OPS", "TRITON_DEFAULT_FP_FUSION") +# Opcode patterns. PTX: a rounding-qualified op (".rn") may not be contracted by ptxas; +# the plain form may. SASS: count opcode tokens, including modifiers such as FFMA.FTZ. +_PTX_OPS = { + "fma_rn_f32": r"\bfma\.rn\.f32\b", + "mul_f32": r"\bmul\.f32\b", + "add_f32": r"\badd\.f32\b", + "mul_rn_f32": r"\bmul\.rn\.f32\b", + "add_rn_f32": r"\badd\.rn\.f32\b", + # Packed pairs (sm_100), approximate exp and division. + "fma_rn_f32x2": r"\bfma\.rn\.f32x2\b", + "mul_f32x2": r"\bmul(\.rn)?\.f32x2\b", + "add_f32x2": r"\badd(\.rn)?\.f32x2\b", + "ex2_approx": r"\bex2\.approx", + "div_full_f32": r"\bdiv\.full\.f32\b", +} +_SASS_OPS = {"FFMA": r"\bFFMA[\w.]*", "FMUL": r"\bFMUL[\w.]*", "FADD": r"\bFADD[\w.]*"} +# Triton SiLU variants for conv_silu, by MODE of _triton_silu's kernel. +_SILU_VARIANTS = ("div_exp", "divrn_exp", "div_libexp", "divrn_libexp") + + +def _load_check_module(): + """Import the check file by path; ``tests/`` is not a package.""" + spec = importlib.util.spec_from_file_location("check_gdn_recurrent_golden", _CHECK_FILE) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + return module + + +def _bit_mismatches(a: torch.Tensor, b: torch.Tensor) -> int: + """Elements whose bit patterns differ (NaN-safe, unlike ``a != b``).""" + assert a.dtype == b.dtype and a.shape == b.shape, (a.dtype, b.dtype, a.shape, b.shape) + view = _INT_VIEW[a.element_size()] + return int((a.contiguous().view(view) != b.contiguous().view(view)).sum()) + + +def _max_abs_diff(a: torch.Tensor, b: torch.Tensor) -> float: + return (a.float() - b.float()).abs().max().item() + + +def _git(*args: str) -> str | None: + """Stripped stdout, or ``None`` if git is missing or the command fails.""" + try: + return subprocess.run( + ["git", *args], cwd=REPO_ROOT, capture_output=True, text=True, check=True + ).stdout.strip() + except (OSError, subprocess.CalledProcessError): + return None + + +def _provenance() -> dict[str, Any]: + import triton + import vllm + + import rl_engine + + status = _git("status", "--porcelain") + return { + # None means "unknown" (no git, or not a checkout), never "clean". + "git_commit": _git("rev-parse", "HEAD"), + "git_dirty": None if status is None else bool(status), + # Which tree was imported, and the env knobs that change the provider's code. + "rl_engine_file": rl_engine.__file__, + "env": {key: os.environ.get(key) for key in _PROVENANCE_ENV}, + "python": platform.python_version(), + "torch": torch.__version__, + "triton": triton.__version__, + "vllm": vllm.__version__, + "device": torch.cuda.get_device_name(), + "capability": list(torch.cuda.get_device_capability()), + "default_fp_fusion": bool(triton.knobs.language.default_fp_fusion), + } + + +def _measure_recurrent(check, batches: list[int]) -> list[dict[str, Any]]: + bounds = {name: check._RECURRENT_BOUNDS[dtype] for name, dtype in _STATE_DTYPES.items()} + rows = [] + for batch in batches: + for name, state_dtype in _STATE_DTYPES.items(): + # Same call as test_golden_matches_packed_decode_provider. + inp = check._inputs(batch, batch + 2, state_dtype, torch.bfloat16, seed=batch) + out_ref, state_ref = check._run_provider(inp) + out_got, state_got = check._run_golden(inp) + rows.append( + { + "batch": batch, + "state_dtype": name, + "max_abs_diff_out": _max_abs_diff(out_got, out_ref), + "max_abs_diff_state": _max_abs_diff(state_got, state_ref), + "out_mismatch_elements": _bit_mismatches(out_got, out_ref), + "out_elements": out_ref.numel(), + "state_mismatch_elements": _bit_mismatches(state_got, state_ref), + "state_elements": state_ref.numel(), + "asserted_out_atol": bounds[name][0], + "asserted_state_atol": bounds[name][1], + } + ) + return rows + + +def _measure_conv(check, batches: list[int]) -> list[dict[str, Any]]: + import triton + + fp_fusion = bool(triton.knobs.language.default_fp_fusion) # this process's setting + rows = [] + for batch in batches: + for name, cache_dtype in _STATE_DTYPES.items(): + # Same call as the test_conv_* provider comparisons. + inp = check._conv_inputs(batch, cache_dtype, seed=batch) + (out_ref, state_ref), (out_got, state_got) = check._run_conv_pair(inp) + rows.append( + { + "batch": batch, + "cache_dtype": name, + "fp_fusion": fp_fusion, + "out_mismatch_elements": _bit_mismatches(out_got, out_ref), + "out_elements": out_ref.numel(), + "max_abs_diff_out": _max_abs_diff(out_got, out_ref), + "state_bitwise_equal": torch.equal(state_got, state_ref), + } + ) + return rows + + +def _count(patterns: dict[str, str], text: str) -> dict[str, int]: + return {name: len(re.findall(pattern, text)) for name, pattern in patterns.items()} + + +def _compiled_conv_variants() -> dict[tuple[str, Any], Any]: + """Every compiled variant of vLLM's conv-update kernel in this process, by cache key.""" + from vllm.model_executor.layers.mamba.ops import causal_conv1d as conv_module + + kernel = conv_module._causal_conv1d_update_kernel + while not hasattr(kernel, "device_caches") and hasattr(kernel, "fn"): + kernel = kernel.fn + return { + (str(device), key): compiled + for device, cache in kernel.device_caches.items() + for key, compiled in cache[0].items() + } + + +def _conv_kernel_variants(keys: Any = None) -> list[dict[str, Any]] | dict[str, str]: + """Options and instruction counts per compiled variant (only ``keys``, if given).""" + try: + variants = [] + for (device, key), compiled in _compiled_conv_variants().items(): + if keys is not None and (device, key) not in keys: + continue + row: dict[str, Any] = { + "device": device, + "enable_fp_fusion": getattr(compiled.metadata, "enable_fp_fusion", None), + "ptx": _count(_PTX_OPS, compiled.asm["ptx"]), + } + try: + row["sass"] = _count(_SASS_OPS, compiled.asm["sass"]) + except Exception as exc: # needs cuobjdump; report, do not fail + row["sass"] = {"unavailable": f"{type(exc).__name__}: {exc}"} + variants.append(row) + return variants + except Exception as exc: # introspection of Triton internals; report, do not fail + return {"unavailable": f"{type(exc).__name__}: {exc}"} + + +def _new_variant_keys(before: set[Any]) -> set[Any] | None: + try: + return set(_compiled_conv_variants()) - before + except Exception: # introspection of Triton internals; report, do not fail + return None + + +def _bf16_ulps(diff: float, ref: float) -> float | None: + """``diff`` in units of one bf16 ULP at the magnitude of ``ref`` (None at zero).""" + if ref == 0.0: + return None if diff else 0.0 + return diff / 2.0 ** (math.floor(math.log2(abs(ref))) - 7) + + +def _conv_noact_bf16(check, batches: list[int]) -> dict[str, Any]: + """The no-activation conv with a bf16 output, against its fp32-output twin. + + The provider casts x to the fp32 cache dtype before launching, so the two runs + compute the same thing and differ only in the output dtype, i.e. in which Triton + specialization runs. Each specialization runs in its own loop so that the compiled + variants it adds can be told apart. + """ + import triton + + fp_fusion = bool(triton.knobs.language.default_fp_fusion) + try: + before = set(_compiled_conv_variants()) + except Exception: # introspection of Triton internals; report, do not fail + before = set() + bf16_out = {} + for batch in batches: + inp = check._conv_inputs(batch, torch.float32, seed=batch) + bf16_out[batch] = check._run_conv_pair(inp, activation=None) + bf16_keys = _new_variant_keys(before) + fp32_out = {} + for batch in batches: + inp = check._conv_inputs(batch, torch.float32, seed=batch) + fp32_out[batch] = check._run_conv_pair(dict(inp, x=inp["x"].float()), activation=None) + fp32_keys = _new_variant_keys(before | (bf16_keys or set())) + + rows = [] + for batch in batches: + (b_ref, _), (b_got, _) = bf16_out[batch] + (d_ref, _), (d_got, _) = fp32_out[batch] + differ = torch.nonzero(b_ref.view(torch.int16) != b_got.view(torch.int16)).tolist() + mismatches = [] + for r, ch in differ: + provider, golden = b_ref[r, ch].item(), b_got[r, ch].item() + mismatches.append( + { + "abs_out": abs(golden), + "abs_diff": abs(provider - golden), + "bf16_ulps": _bf16_ulps(abs(provider - golden), golden), + } + ) + rows.append( + { + "batch": batch, + "fp_fusion": fp_fusion, + "out_mismatch_elements": len(differ), + "out_elements": b_ref.numel(), + "provider_eq_rne_of_fp32_out": torch.equal(b_ref, d_ref.to(torch.bfloat16)), + "fp32_out_mismatch_elements": _bit_mismatches(d_got, d_ref), + "mismatches": mismatches, + } + ) + return { + "batches": rows, + "bf16_out_kernels": _conv_kernel_variants(bf16_keys) if bf16_keys is not None else None, + "fp32_out_kernels": _conv_kernel_variants(fp32_keys) if fp32_keys is not None else None, + } + + +def _triton_silu(): + """``apply(x, mode)``: one of the four SiLU formulations, evaluated by Triton.""" + import triton + import triton.language as tl + from triton.language.extra import libdevice + + @triton.jit + def silu(x_ptr, y_ptr, n, MODE: tl.constexpr, BLOCK: tl.constexpr): + offs = tl.program_id(0) * BLOCK + tl.arange(0, BLOCK) + mask = offs < n + x = tl.load(x_ptr + offs, mask=mask, other=0.0) + if MODE == 0: # the provider's source: x / (1 + tl.exp(-x)) + y = x / (1 + tl.exp(-x)) + elif MODE == 1: + y = tl.math.div_rn(x, 1 + tl.exp(-x)) + elif MODE == 2: + y = x / (1 + libdevice.exp(-x)) + else: + y = tl.math.div_rn(x, 1 + libdevice.exp(-x)) + tl.store(y_ptr + offs, y, mask=mask) + + def apply(x: torch.Tensor, mode: int) -> torch.Tensor: + flat = x.contiguous().view(-1) + y = torch.empty_like(flat) + silu[(triton.cdiv(flat.numel(), 1024),)](flat, y, flat.numel(), MODE=mode, BLOCK=1024) + return y.view_as(x) + + return apply + + +def _ulp_histogram(a: torch.Tensor, b: torch.Tensor) -> dict[str, int]: + """Differing fp32 elements by bit-pattern distance.""" + d = (a.contiguous().view(torch.int32).long() - b.contiguous().view(torch.int32).long()).abs() + d = d[d != 0] + return { + "1": int((d == 1).sum()), + "2": int((d == 2).sum()), + "3-4": int(((d == 3) | (d == 4)).sum()), + ">4": int((d > 4).sum()), + } + + +def _conv_silu(check, batches: list[int]) -> list[dict[str, Any]]: + """Where the fp32-cache conv mismatches come from, on fp32 inputs and outputs.""" + silu = _triton_silu() + rows = [] + for batch in batches: + inp = check._conv_inputs(batch, torch.float32, seed=batch) + inp32 = dict(inp, x=inp["x"].float()) # the same values, kept in fp32 throughout + (pre_ref, _), (pre_got, _) = check._run_conv_pair(inp32, activation=None) + (out_ref, _), (out_got, _) = check._run_conv_pair(inp32) + variants = {name: silu(pre_got, mode) for mode, name in enumerate(_SILU_VARIANTS)} + rows.append( + { + "batch": batch, + "elements": out_ref.numel(), + "preactivation_mismatch_elements": _bit_mismatches(pre_got, pre_ref), + "silu_mismatch_elements": _bit_mismatches(out_got, out_ref), + "silu_ulp_histogram": _ulp_histogram(out_got, out_ref), + # Applied to the golden's pre-activation values. + "triton_silu_vs_provider": { + k: _bit_mismatches(v, out_ref) for k, v in variants.items() + }, + "triton_silu_vs_golden": { + k: _bit_mismatches(v, out_got) for k, v in variants.items() + }, + } + ) + return rows + + +def _conv_report(check, batches: list[int]) -> dict[str, Any]: + conv = _measure_conv(check, batches) + kernels = _conv_kernel_variants() # before the no-activation runs add their own + return { + "conv": conv, + "conv_kernels": kernels, + "conv_noact_bf16": _conv_noact_bf16(check, batches), + } + + +def _arm_variants(arm: dict[str, Any]) -> list[Any] | None: + """Every compiled variant an arm reports, or None if any listing is unavailable.""" + noact = arm["conv_noact_bf16"] + lists = [arm["conv_kernels"], noact["bf16_out_kernels"], noact["fp32_out_kernels"]] + if not all(isinstance(x, list) for x in lists): + return None + return [v for x in lists for v in x] + + +def _conv_report_without_fusion(batches: str) -> dict[str, Any]: + """Rerun the conv arm in a child process that compiles with fusion off.""" + with tempfile.TemporaryDirectory(prefix="triton-nofusion-") as cache_dir: + env = dict(os.environ, TRITON_DEFAULT_FP_FUSION="0", TRITON_CACHE_DIR=cache_dir) + child = subprocess.run( + [sys.executable, str(Path(__file__).resolve()), "--conv-only", "--batches", batches], + env=env, + stdout=subprocess.PIPE, + text=True, + check=True, + ) + return json.loads(child.stdout) + + +def _fusion_check(on: Any, off: Any) -> dict[str, Any]: + """Whether each arm's compiled variants carry the fusion setting it claims.""" + + def flags(variants: Any) -> list[Any] | None: + if not isinstance(variants, list): + return None + return [v["enable_fp_fusion"] for v in variants] + + on_flags, off_flags = flags(on), flags(off) + return { + "fusion_on_variants": on_flags, + "fusion_off_variants": off_flags, + "fusion_off_effective": bool(off_flags) and all(f is False for f in off_flags), + } + + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser(description=__doc__.splitlines()[0]) + parser.add_argument( + "--batches", + default="1,4,17,64", + help="comma-separated batch sizes (default: the check file's 1,4,17,64)", + ) + parser.add_argument( + "--skip-fusion-off", + action="store_true", + help="do not rerun the conv comparison with Triton FP fusion disabled", + ) + # Internal: the fusion-off child process prints only the conv arm. + parser.add_argument("--conv-only", action="store_true", help=argparse.SUPPRESS) + return parser.parse_args() + + +def main() -> int: + args = parse_args() + if not torch.cuda.is_available(): + print("CUDA is required", file=sys.stderr) + return 2 + try: + import vllm # noqa: F401 + except ImportError: + print("vLLM is required", file=sys.stderr) + return 2 + + batches = [int(b) for b in args.batches.split(",") if b.strip()] + check = _load_check_module() + if args.conv_only: + print(json.dumps(_conv_report(check, batches), sort_keys=True)) + return 0 + + report: dict[str, Any] = { + "runner": "tools/validation/models/ws1_gdn_provider_agreement.py", + "provenance": _provenance(), + "inputs": { + "source": ( + "tests/models/qwen3_next/check_gdn_recurrent_golden.py " "(_inputs, _conv_inputs)" + ), + "seed": "seed=batch for every case", + "batches": batches, + "recurrent": "bf16 I/O, use_qk_l2norm_in_kernel=True, num_blocks=batch+2", + "conv": "bias=True, activation=silu, dim_first=True, W=4, dim=8192", + "conv_silu": "the conv inputs with x widened to fp32; fp32 cache and output", + "conv_noact_bf16": "the conv inputs with activation=None; fp32 cache", + }, + "recurrent": _measure_recurrent(check, batches), + } + fused = _conv_report(check, batches) + report["conv"] = fused["conv"] + report["conv_kernels"] = {"fusion_on": fused["conv_kernels"]} + report["conv_noact_bf16"] = {"fusion_on": fused["conv_noact_bf16"]} + report["conv_silu"] = _conv_silu(check, batches) + if not args.skip_fusion_off: + unfused = _conv_report_without_fusion(args.batches) + report["conv"] += unfused["conv"] + report["conv_kernels"]["fusion_off"] = unfused["conv_kernels"] + report["conv_noact_bf16"]["fusion_off"] = unfused["conv_noact_bf16"] + report["fusion_check"] = _fusion_check(_arm_variants(fused), _arm_variants(unfused)) + print(json.dumps(report, indent=2, sort_keys=True)) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tools/validation/operators/check_forward_invariance.py b/tools/validation/operators/check_forward_invariance.py index c7a836f2c..6830d8315 100644 --- a/tools/validation/operators/check_forward_invariance.py +++ b/tools/validation/operators/check_forward_invariance.py @@ -18,8 +18,9 @@ if str(REPO_ROOT) not in sys.path: sys.path.insert(0, str(REPO_ROOT)) -from rl_engine.config.workload import load_manifest # noqa: E402 +from rl_engine.config.workload import load_manifest, workload_report # noqa: E402 from rl_engine.contracts.numerical import resolve_dtype_policy # noqa: E402 +from rl_engine.validation.models.qwen3_next_workload import validate_norm_dimensions # noqa: E402 from rl_engine.validation.operators import ( # noqa: E402 BackendProvenance, assert_forward_batch_invariant, @@ -113,6 +114,12 @@ def parse_args() -> argparse.Namespace: if adapter.requirement != "absent_not_required" ] parser = argparse.ArgumentParser(description="WS1 C3 forward invariance GPU gate") + parser.add_argument( + "--manifest", + type=pathlib.Path, + default=None, + help="Workload manifest JSON (default: the Qwen3-8B Dense C2 manifest)", + ) parser.add_argument("--op", choices=sorted(runnable), default="rms_norm") parser.add_argument( "--candidate", required=True, help="Manifest-declared CUDA/Triton/Ascend candidate" @@ -146,7 +153,8 @@ def main() -> None: raise SystemExit("ERROR: --vocab must cover every fixed C2 workload token id") contract = load_contract() - manifest = load_manifest() + manifest = load_manifest(args.manifest) + validate_norm_dimensions(manifest.raw, args.op, args.hidden, args.head_dim) adapter = get_adapter(args.op) if adapter.requirement == "layout_supported": raise SystemExit( @@ -233,7 +241,9 @@ def main() -> None: ) if args.json: - print(json.dumps(report.to_dict(), indent=2, default=str)) + payload = report.to_dict() + payload["workload"] = workload_report(manifest) + print(json.dumps(payload, indent=2, default=str)) else: _summarize(report) if not report.passed: diff --git a/tools/validation/operators/check_gradient_invariance.py b/tools/validation/operators/check_gradient_invariance.py index db81d8c58..178a5a4a6 100644 --- a/tools/validation/operators/check_gradient_invariance.py +++ b/tools/validation/operators/check_gradient_invariance.py @@ -18,8 +18,9 @@ if str(REPO_ROOT) not in sys.path: sys.path.insert(0, str(REPO_ROOT)) -from rl_engine.config.workload import load_manifest # noqa: E402 +from rl_engine.config.workload import load_manifest, workload_report # noqa: E402 from rl_engine.contracts.numerical import resolve_dtype_policy # noqa: E402 +from rl_engine.validation.models.qwen3_next_workload import validate_norm_dimensions # noqa: E402 from rl_engine.validation.operators import ( # noqa: E402 BackendProvenance, assert_gradient_batch_invariant, @@ -125,6 +126,12 @@ def parse_args() -> argparse.Namespace: if adapter.requirement != "absent_not_required" ] parser = argparse.ArgumentParser(description="WS1 C4 gradient invariance GPU gate") + parser.add_argument( + "--manifest", + type=pathlib.Path, + default=None, + help="Workload manifest JSON (default: the Qwen3-8B Dense C2 manifest)", + ) parser.add_argument("--op", choices=sorted(runnable), default="rms_norm") parser.add_argument( "--candidate", required=True, help="Manifest-declared CUDA/Triton/Ascend candidate" @@ -159,7 +166,8 @@ def main() -> None: raise SystemExit(f"ERROR: C4 required-profile evidence needs a real device: {exc}") from exc contract = load_contract() - manifest = load_manifest() + manifest = load_manifest(args.manifest) + validate_norm_dimensions(manifest.raw, args.op, args.hidden, args.head_dim) adapter = get_adapter(args.op) if adapter.requirement == "layout_supported": # Pack is the same PyTorch layout op under both profiles and is not a C2 @@ -255,7 +263,9 @@ def main() -> None: ) from exc if args.json: - print(json.dumps(report.to_dict(), indent=2, default=str)) + payload = report.to_dict() + payload["workload"] = workload_report(manifest) + print(json.dumps(payload, indent=2, default=str)) else: _summarize(report) if not report.passed: