error
8_SegmentTopKCSR.py
started
2026-05-02T23:38:59Z
reference PyTorch source (the prompt the agent sees)
import torch
import torch.nn as nn
class Model(nn.Module):
"""
Per-row top-k selection over CSR edge segments.
Returns the top-k values and their original edge indices for each node's
neighborhood. Useful for graph sparsification, hard attention, and
candidate-pruning workloads.
"""
def __init__(self, k):
super().__init__()
self.k = k
def forward(
self,
row_ptr: torch.Tensor,
edge_scores: torch.Tensor,
) -> tuple[torch.Tensor, torch.Tensor]:
num_nodes = row_ptr.numel() - 1
topk_vals = torch.full((num_nodes, self.k), float("-inf"), dtype=edge_scores.dtype, device=edge_scores.device)
topk_idx = torch.full((num_nodes, self.k), -1, dtype=torch.int64, device=edge_scores.device)
for node in range(num_nodes):
start = int(row_ptr[node].item())
end = int(row_ptr[node + 1].item())
if end <= start:
continue
segment = edge_scores[start:end]
curr_k = min(self.k, end - start)
vals, idx = torch.topk(segment, k=curr_k, dim=0)
topk_vals[node, :curr_k] = vals
topk_idx[node, :curr_k] = idx.long() + start
return topk_vals, topk_idx
num_nodes = 320
avg_degree = 12
k = 4
def get_inputs():
return list(popcorn_pri.make_csr_scalar_edge_scores(num_nodes, avg_degree))
def get_init_inputs():
return [k]
turn 07200.0s turn · 7200.0s LLM · 0.0s tools
feedbackLLM call failed: Empty: