Skip to content

Dependency conflict: causal student net (atten_backend="i4") requires natten≥0.21.5, but pinned install (torch 2.7 + natten 0.21.0) cannot satisfy it #16

Description

@zihenghe04

Summary

The release appears to be internally inconsistent. The distilled causal student net (with atten_backend="i4") hard-depends on NATTEN, and the code requires natten>=0.21.5 for the causal varlen API. However, the official install instructions pin torch 2.7 + natten 0.21.0, which does not provide that API. The versions of NATTEN that do ship the API (0.21.5+) only publish prebuilt wheels for torch>=2.8. As a result, there is no combination that satisfies the constraints out of the box.

Details

  • The causal student net architecture (atten_backend="i4") is tied to NATTEN.
  • The code path uses the causal varlen API, which requires natten>=0.21.5.
  • The official installation instructions pin torch 2.7 + natten 0.21.0.
  • natten 0.21.0 does not include the causal varlen API, so the pinned stack fails at runtime/import.
  • NATTEN 0.21.5+ (which contains the required API) only provides prebuilt wheels for torch>=2.8, so it is incompatible with the pinned torch 2.7.

The contradiction

Requirement Source Conflict
natten>=0.21.5 (causal varlen API) code / atten_backend="i4" Not met by pinned natten 0.21.0
torch 2.7 + natten 0.21.0 official install instructions Lacks the required API
natten>=0.21.5 prebuilt wheels NATTEN release channel Only built for torch>=2.8, conflicts with pinned torch 2.7

Questions / Requested fix

  1. What is the intended, working version combination for running the causal student net with atten_backend="i4"?
  2. Should the official install instructions be updated to torch>=2.8 together with natten>=0.21.5?
  3. Alternatively, is there a supported way to build natten>=0.21.5 from source against torch 2.7, or a fallback backend that avoids the causal varlen API requirement?

Could you please clarify the correct, self-consistent dependency set? Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions