Skip to content

[TRTLLM-14813][feat] Add Kimi K3 (KimiLinear) model - #17269

Open
brnguyen2 wants to merge 8 commits into
NVIDIA:mainfrom
brnguyen2:k3/14813-kimilinear-model
Open

[TRTLLM-14813][feat] Add Kimi K3 (KimiLinear) model#17269
brnguyen2 wants to merge 8 commits into
NVIDIA:mainfrom
brnguyen2:k3/14813-kimilinear-model

Conversation

@brnguyen2

@brnguyen2 brnguyen2 commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

Description

Adds the Kimi K3 (KimiLinear) model: hybrid KDA/MLA layer stack with the
K3 MoE blocks, HF checkpoint config and weight loading, executor
integration (config utils, resource manager, mamba cache-manager sizing
for KDA state, mapping), chunked prefill enabled by default with KV-cache
block reuse as an opt-in, and quant-config handling for the K3 checkpoint
format. Model-level defaults enable the fused attention-residual path,
CUDA graphs, and the CuTe DSL kernels from the dependency PRs.

Ships with the K3 module packages the model builds on — the KDA mixer +
kernel glue (modules/kimi_kda), the K3 SITU MoE block/gate/MLP
(modules/kimi_k3_moe), the fused attention-residual op wrapper
(modules/kimi_k3_attn_res), and the K3 MLA module as a thin wrapper
over the general MLA path (modules/kimi_k3_mla, TRTLLM-14811). Also
includes fused_moe SiTu activation + communication_method support and
the SiTu entry in the python ActType_TrtllmGen enum mirror.

Dependencies (all merged to main)

All dependency PRs have landed; this branch is now a single model commit
on top of current main.

Notes

  • FP8 KV cache support is not part of this PR; bf16 KV is the validated
    default.
  • Later K3 perf work (fused-A-GEMM mxfp8 dispatch etc.) is intentionally
    excluded and will follow separately.

Test Coverage

  • tests/unittest/_torch/modeling/test_kimi_kda_fused_verify_parity.py
  • tests/unittest/_torch/modeling/test_kimi_kda_verify_parity.py
  • tests/unittest/_torch/modeling/test_kda_mtp_decode_cute_parity.py
  • tests/unittest/_torch/modules/kimi_kda/test_kda_prefill_op.py
  • tests/unittest/_torch/modules/kimi_kda/test_kda_prefill_state_parity.py
  • tests/unittest/_torch/modules/kimi_kda/test_kda_cache_soundness.py
  • tests/unittest/_torch/modules/kimi_k3_attn_res/test_attn_res_op.py
  • tests/unittest/_torch/modules/moe/test_kimi_k3_situ_moe.py

PR Checklist

  • PR title follows the [TRTLLM-14813][feat] convention
  • Sanity rerun on the updated base: build green on a Blackwell (sm_100 family) node; import tensorrt_llm + model module import clean; unit suites green — kimi_kda 35 passed/2 skipped, attn_res 10 passed, situ_moe 23 passed, KDA modeling parity 14 passed
  • Dependencies merged; full CI run kicked on the main-based single-commit head

Dev Engineer Review

  • Added Kimi K3 support across configuration, model execution, KDA, MLA, MoE, checkpoint loading, cache management, quantization, mapping, and runtime integration.
  • Added Blackwell-specific fused kernels with validated PyTorch fallbacks.
  • Added SiTu activation and MXFP4 expert loading support.
  • Added optional output reuse to kda_decode.
  • Added validation for unsupported K3 configurations, cache combinations, routing methods, quantization settings, and hardware paths.
  • CI results were mixed. The latest pipeline passed x86_64 and SBSA builds and the SBSA single-GPU stage. Four x86_64 DGX B200 shards failed because of the pre-existing get_valid_configs() argument mismatch in FP8 block-scale MoE fallback handling. PR #17362 addresses this unrelated failure.

QA Engineer Review

  • Added KDA decode, verification, prefill, and cache soundness tests.
  • Added attention-residual parity tests.
  • Added Kimi K3 SiTu MoE tests for routing, activation contracts, kernel execution, numerical parity, weight loading, TP/EP selection, and TP8 execution.
  • Added test_update_quant_config_from_compressed_tensors_mxfp4_with_fp8_kv_cache.
  • No test-list files were changed.
  • The new KDA, attention-residual, and Kimi K3 SiTu MoE tests are not listed in the available test-db/ or qa/ files.
  • Existing list entries cover related Kimi K2/K2.5 and generic MXFP4 MoE tests.
  • Verdict: needs follow-up.

@brnguyen2

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #63876 [ run ] triggered by Bot. Commit: 108cfbe Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #63876 [ run ] completed with state SUCCESS. Commit: 108cfbe
/LLM/main/L0_MergeRequest_PR pipeline #51815 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@brnguyen2

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #63898 [ run ] triggered by Bot. Commit: e40834b Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #63898 [ run ] completed with state SUCCESS. Commit: e40834b
/LLM/main/L0_MergeRequest_PR pipeline #51840 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@brnguyen2

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #63930 [ run ] triggered by Bot. Commit: e40834b Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #63930 [ run ] completed with state SUCCESS. Commit: e40834b
/LLM/main/L0_MergeRequest_PR pipeline #51868 completed with status: 'FAILURE'

CI Report

⚠️ Multi-GPU Label Required:
Multi-GPU tests require the ci: full pre-merge approved label on this PR. Ask a member of NVIDIA/trt-llm-ci-approvers to add the label, then re-trigger CI with the same bot command (no rebase needed).

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@brnguyen2
brnguyen2 force-pushed the k3/14813-kimilinear-model branch from e40834b to 1365842 Compare August 5, 2026 15:38
@brnguyen2

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #64074 [ run ] triggered by Bot. Commit: 1365842 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #64074 [ run ] completed with state SUCCESS. Commit: 1365842
/LLM/main/L0_MergeRequest_PR pipeline #52001 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@brnguyen2
brnguyen2 force-pushed the k3/14813-kimilinear-model branch from 1365842 to d7cd8ee Compare August 5, 2026 19:08
@brnguyen2

Copy link
Copy Markdown
Collaborator Author

/bot run --skip-test

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #64103 [ run ] triggered by Bot. Commit: d7cd8ee Link to invocation

@brnguyen2

Copy link
Copy Markdown
Collaborator Author

/bot run --skip-test

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #64111 [ run ] triggered by Bot. Commit: f092cd2 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #64103 [ run ] completed with state ABORTED. Commit: d7cd8ee

Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #64111 [ run ] completed with state SUCCESS. Commit: f092cd2
/LLM/main/L0_MergeRequest_PR pipeline #52033 (Partly Tested) completed with status: 'SUCCESS'

CI Report

Link to invocation

@brnguyen2

Copy link
Copy Markdown
Collaborator Author

/bot skip --comment "Full pipeline 52001 on the pre-rebase head failed only on AutoDeploy MoE unit tests already failing on main and waived there (nvbugs 6564714, waives merged via #17162), plus cascade aborts from those stages. The branch was then rebased onto current main (which carries those waives) with byte-identical content, adding only a fake-impl registration for the new custom op; that fix passed the H100 unit-test stage on PR #17225 (pipeline 52037), and a build-only run on this exact head passed (pipeline 52033)."

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #64129 [ skip ] triggered by Bot. Commit: f092cd2 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #64129 [ skip ] completed with state SUCCESS. Commit: f092cd2
Skipping testing for commit f092cd2

Link to invocation

Squash of the KimiLinear model integration on top of the kernel PRs
(NVIDIA#17190, NVIDIA#17054, NVIDIA#17266, NVIDIA#17225):

- KimiLinear model (modeling_kimi_k3) and KimiLinearConfig registration
- Kimi K3 support modules: KDA mixer, K3 MoE, K3 MLA, fused
  attention-residual wrapper
- K3 MLA module refactored onto the general MLA path (TRTLLM-14811)
- fused_moe: SiTu activation and communication_method support
- SiTu in the ActType_TrtllmGen python enum (python mirror of the C++
  enum from the MoE kernel drop)
- kda_decode: accept an optional out tensor (to be folded into NVIDIA#17054)
- KDA kernel/runtime unit tests

Signed-off-by: Brian Nguyen <brnguyen@nvidia.com>
@brnguyen2
brnguyen2 force-pushed the k3/14813-kimilinear-model branch from f092cd2 to 82fab8c Compare August 5, 2026 23:59
@brnguyen2

Copy link
Copy Markdown
Collaborator Author

/bot run

@brnguyen2
brnguyen2 marked this pull request as ready for review August 6, 2026 00:05
@brnguyen2
brnguyen2 requested review from a team as code owners August 6, 2026 00:05
Comment thread tensorrt_llm/_torch/pyexecutor/mamba_cache_manager.py
Comment thread tensorrt_llm/_torch/modules/kimi_k3_mla/kimi_k3_mla_attention.py

@VALLIS-NERIA VALLIS-NERIA left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. The comment is non-blocking

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #64257 [ run ] completed with state FAILURE. Commit: b379d30
/LLM/main/L0_MergeRequest_PR pipeline #52162 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@brnguyen2

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #64318 [ run ] triggered by Bot. Commit: b379d30 Link to invocation

Signed-off-by: Brian Nguyen <brnguyen@nvidia.com>
Comment thread cpp/tensorrt_llm/thop/kdaDecodeOp.cpp
Comment thread tensorrt_llm/_torch/models/modeling_kimi_linear.py
Comment thread tensorrt_llm/_torch/models/modeling_kimi_linear.py
Comment thread tensorrt_llm/_torch/models/modeling_kimi_linear.py
Comment thread tensorrt_llm/_torch/modules/kimi_k3_mla/kimi_k3_mla_attention.py
Comment thread tensorrt_llm/_torch/modules/kimi_k3_moe/_moe_kernels.py
@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #64318 [ run ] completed with state SUCCESS. Commit: b379d30
/LLM/main/L0_MergeRequest_PR pipeline #52214 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@brnguyen2

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #64354 [ run ] triggered by Bot. Commit: c0f2bb9 Link to invocation

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
tensorrt_llm/_torch/models/checkpoints/hf/weight_loader.py (1)

234-241: 🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

Do not treat filesystem errors as a missing Kimi configuration.

Line 234 can return False when stat() cannot access the path, even if config.json exists. (docs.python.org) If one rank takes this result, it enters the eager path and executes the collectives at Lines 213-217, while another rank enters the lazy path. The job can deadlock.

Open the file directly and catch only FileNotFoundError. Propagate other filesystem errors.

Proposed fix
     config_path = os.path.join(checkpoint_dir, "config.json")
-    if not os.path.isfile(config_path):
-        return False
-    with open(config_path) as f:
-        model_type = json.load(f).get("model_type")
+    try:
+        with open(config_path) as f:
+            model_type = json.load(f).get("model_type")
+    except FileNotFoundError:
+        return False
     return model_type in ("kimi_k3", "kimi_linear")

As per coding guidelines, catch the narrowest exception possible.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tensorrt_llm/_torch/models/checkpoints/hf/weight_loader.py` around lines 234
- 241, Update the Kimi configuration check around config_path and model_type to
open config.json directly, catching only FileNotFoundError to return False for a
genuinely missing file. Remove the os.path.isfile precheck so permission, I/O,
and other filesystem errors propagate consistently across ranks.

Source: Coding guidelines

🧹 Nitpick comments (1)
tensorrt_llm/_torch/custom_ops/cpp_custom_ops.py (1)

315-315: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Use PEP 604 optional annotations.

Change the two annotations to torch.Tensor | None. The project supports Python 3.10+, and the coding guidelines prefer | unions.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tensorrt_llm/_torch/custom_ops/cpp_custom_ops.py` at line 315, Update the two
Optional[torch.Tensor] annotations in the affected function signature to use
torch.Tensor | None, and remove the now-unused Optional import if applicable.

Sources: Coding guidelines, Learnings

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@tensorrt_llm/_torch/models/checkpoints/hf/weight_loader.py`:
- Around line 234-241: Update the Kimi configuration check around config_path
and model_type to open config.json directly, catching only FileNotFoundError to
return False for a genuinely missing file. Remove the os.path.isfile precheck so
permission, I/O, and other filesystem errors propagate consistently across
ranks.

---

Nitpick comments:
In `@tensorrt_llm/_torch/custom_ops/cpp_custom_ops.py`:
- Line 315: Update the two Optional[torch.Tensor] annotations in the affected
function signature to use torch.Tensor | None, and remove the now-unused
Optional import if applicable.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 307b17e2-eccc-4be5-8c10-ca19ac2bea3a

📥 Commits

Reviewing files that changed from the base of the PR and between 83e865f and c0f2bb9.

📒 Files selected for processing (5)
  • tensorrt_llm/_torch/custom_ops/cpp_custom_ops.py
  • tensorrt_llm/_torch/models/checkpoints/hf/weight_loader.py
  • tensorrt_llm/_torch/models/modeling_kimi_linear.py
  • tensorrt_llm/_torch/modules/kimi_k3_moe/kimi_k3_moe_block.py
  • tensorrt_llm/_torch/modules/mla.py
🚧 Files skipped from review as they are similar to previous changes (3)
  • tensorrt_llm/_torch/modules/kimi_k3_moe/kimi_k3_moe_block.py
  • tensorrt_llm/_torch/modules/mla.py
  • tensorrt_llm/_torch/models/modeling_kimi_linear.py

Comment thread tensorrt_llm/_torch/modules/fused_moe/configurable_moe.py
Comment thread tensorrt_llm/_torch/modules/fused_moe/configurable_moe.py
Comment thread tensorrt_llm/_torch/modules/kimi_k3_moe/_moe_kernels.py
@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #64354 [ run ] completed with state SUCCESS. Commit: c0f2bb9
/LLM/main/L0_MergeRequest_PR pipeline #52248 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@Tabrizian

Copy link
Copy Markdown
Member

py_executor changes and disagg changes LGTM.

@brnguyen2

Copy link
Copy Markdown
Collaborator Author

CI status on head c0f2bb9 (pipeline 52248) and why a skip is justified

Full L0 ran on the exact merge head:

  • Both builds green (x86_64 and SBSA).
  • SBSA single-GPU: fully green (28/28 stages).
  • x86_64 single-GPU: 208/216 stages green. The 4 failing stages are all DGX_B200 PyTorch shards.
  • Multi-GPU stages did not run: they were blocked-collateral of the x86_64 single-GPU failure, not independent failures.

The 4 failures share one root cause, and it is not from this PR

Per the CI failure analysis for pipeline 52248, all four failing shards (DeepSeek V3 Lite FP8 perf sanity, Gemma4 dummy e2e, layer-wise benchmarks, LTX2 example) fail on the same error:

RuntimeError: get_valid_configs() is missing value for argument '_6'.

Root cause: #15297 added a numFusedSharedExpert argument to FP8BlockScaleMoERunner::getValidConfigs and updated the get_valid_tactics call site, but missed the memoized fallback path — get_fallback_tactic() in tensorrt_llm/_torch/custom_ops/trtllm_gen_custom_ops.py still builds a 5-element key for the now 6-argument binding. Any FP8 block-scale MoE forward that misses the autotuner profiling cache fails hard. The bug is readable straight from main's source and is deterministic once that path is hit; nothing in the path is Kimi-related, and this PR does not modify the failing file. The one-line fix is up as #17362.

All four affected tests are non-Kimi tests exercising FP8 block-scale MoE on B200, which is exactly the blast radius that bug predicts.

Prior run on the previous head

Pipeline 52214 (head b379d30) was pure infrastructure: the test artifact download hit repeated 503s and then a truncated tarball, so no tests executed. The delta between that head and c0f2bb9 is a review-feedback commit (comment cleanups, an eps fallback, defensive guards) that has never been implicated in any test failure.

Additional coverage beyond this pipeline

The stacked serving/spec-dec branch (#17327), which contains this PR's full diff, passed 652 Kimi unit tests plus a speculative-decoding-vs-baseline logits-parity integration run and GSM8K accuracy checks on multi-GPU hardware.

Known residual gap, stated for the record: the multi-GPU L0 stages were blocked by the failure above and so did not run in this pipeline. The multi-GPU validation cited above covers the Kimi paths this PR adds; shared-code risk to other models is bounded by the fully-green single-GPU coverage of the same files.

@brnguyen2

Copy link
Copy Markdown
Collaborator Author

/bot skip --comment "All 4 failures in pipeline 52248 trace to a single pre-existing main bug (FP8 MoE fallback-tactic signature mismatch from #15297, fixed by #17362) in code this PR does not modify; see previous comment for the full analysis and coverage evidence."

@brnguyen2
brnguyen2 enabled auto-merge (squash) August 6, 2026 17:56
@brnguyen2

Copy link
Copy Markdown
Collaborator Author

/bot skip --comment "All 4 failures in pipeline 52248 trace to a single pre-existing main bug (FP8 MoE fallback-tactic signature mismatch from #15297, fixed by #17362) in code this PR does not modify; see previous comment for the full analysis and coverage evidence."


class KimiLinearConfig(PretrainedConfig):
model_type = "kimi_linear"
keys_to_ignore_at_inference = ["past_key_values"]

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it still work if this is a tuple instead of a list? Otherwise this is globally mutable through e.g. append.

model_type = json.load(f).get("model_type")
return model_type in ("kimi_k3", "kimi_linear")

def _load_lazy_safetensors(

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could be left as a followup (although please create a JIRA ticket + reference here in TODO comment?) if the existing code doesn't allow for this: should we have a Kimi K3 specific weight loader that encapsulates all this? Otherwise my fear is that this HfWeightLoader class eventually becomes a hodge-podge of if / else for various model-specific business. If the logic in here is generic enough, we could even have it be a HfLazyWeightLoader.

``forward``), with no FP8 dequant path. Returns the number of projections
converted.
"""
import gc

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: consider making the import module-level (it's a standard library package).


count = 0

def _swap(parent: nn.Module, attr: str) -> None:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This local function seems to be duplicated in several functions. Any chance for it to be made a common helper function?

self.routed_expert_up_proj = nn.Linear(
self.moe_hidden_size, cfg.hidden_size, bias=False, dtype=dtype
)
assert getattr(cfg, "latent_moe_use_norm", False), (

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: move this earlier in the function (raise earlier)?

)
rt = KimiKDARuntime(cfg, layer_idx=0).to("cuda")
gen = torch.Generator(device="cuda").manual_seed(seed)
with torch.no_grad():

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: this whole function could be wrapped in @torch.no_grad()? Saves an indentation layer.



def _make_runtime(seed):
from tensorrt_llm._torch.models.modeling_kimi_linear import KimiKDARuntime

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: why the local import?

cache[:, :, : W - 1] = conv_pool[:, section * d : (section + 1) * d, 1:].float()
return cache

return SimpleNamespace(

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: is there anyway we could use the actual object instead of this SimpleNamespace? It's usually better to use something as close to the actual object instead of mocks.

Same comment throughout the rest of the file.

).to(torch.bfloat16)

ok = True
with torch.no_grad():

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: @torch.no_grad() the entire function?

assert ok


if __name__ == "__main__":

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: please remove. We never execute these tests as executables, and only through pytest anyway.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.