Optimized topk for topk=1 (Llama-4) (#16512)

Signed-off-by: mgoin <mgoin64@gmail.com>
This commit is contained in:
Michael Goin
2025-04-12 00:21:08 -06:00
committed by GitHub
parent 802329dee9
commit bd6028d6b0
2 changed files with 11 additions and 2 deletions

View File

@@ -703,3 +703,12 @@ def cast_overflow_tensors(
clamp_value = torch.finfo(tensors.dtype).max - offset
tensors = torch.clamp(tensors, min=-clamp_value, max=clamp_value)
return tensors
def fast_topk(values, topk, dim):
if topk == 1:
# Use max along the specified dimension to get both value and index
return torch.max(values, dim=dim, keepdim=True)
else:
# Use topk for efficiency with larger k values
return torch.topk(values, topk, dim=dim)