Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions npu/pack_import.h
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,10 @@ std::string qk_norm_refusal(bool declared, bool found);

// How many rows a head read from the .fconst tail occupies in the container. The pack stores the head in whole 64-row
// tiles, so a vocabulary that is not a multiple of 64 is carried with the pack's own padding rows (Hunyuan: 120,818 ->
// 120,832) while `vocab_size` and the plan's tensor shape stay the vocabulary. A head that is a graph initializer does
// not go through this (its own padding, to the 32-row tile quantum, is engine#1992's). This is the number a container's lm_head tile count follows from.
// 120,832) while `vocab_size` and the plan's tensor shape stay the vocabulary. A head that is a graph initializer is
// stored as it is: on main nothing pads it, and one whose row count is not a multiple of 32 is refused by the tile
// writer ("q4_1 tiles need N % 32 == 0"). If graph-head padding lands (engine#1992 was closed unmerged), its quantum
// belongs here. This is the number a container's lm_head tile count follows from.
int64_t head_stored_rows(int64_t vocab, bool from_fconst_tail);

// Why a pack's two layout witnesses cannot be reconciled, or "" when they can (engine#1985).
Expand Down
Loading