error
2_GraphEdgeSoftmaxCSR.py
started
2026-05-02T23:45:20Z
reference PyTorch source (the prompt the agent sees)
import torch
import torch.nn as nn
class Model(nn.Module):
"""
Row-wise softmax over edge scores stored in CSR format.
This is a core primitive in graph attention networks and sparse attention on
irregular neighborhoods. Each node owns a contiguous edge segment in
`edge_scores[row_ptr[i]:row_ptr[i + 1]]`, and the kernel normalizes scores
independently within each segment.
"""
def __init__(self):
super().__init__()
def forward(
self,
row_ptr: torch.Tensor,
edge_scores: torch.Tensor,
) -> torch.Tensor:
"""
Args:
row_ptr: (num_nodes + 1,) CSR row offsets
edge_scores: (num_edges,) unnormalized attention logits
Returns:
(num_edges,) softmax-normalized edge weights per source node
"""
num_nodes = row_ptr.numel() - 1
out = torch.empty_like(edge_scores)
for node in range(num_nodes):
start = int(row_ptr[node].item())
end = int(row_ptr[node + 1].item())
if end > start:
out[start:end] = torch.softmax(edge_scores[start:end], dim=0)
return out
num_nodes = 512
avg_degree = 24
batchless_num_edges = num_nodes * avg_degree
def _make_row_ptr(num_nodes: int, avg_degree: int) -> torch.Tensor:
base = torch.full((num_nodes,), avg_degree, dtype=torch.int32)
return row_ptr
def get_inputs():
return list(popcorn_pri.make_csr_scalar_edge_scores(num_nodes, avg_degree))
def get_init_inputs():
return []
turn 07200.0s turn · 7200.0s LLM · 0.0s tools
feedbackLLM call failed: _WorkItemTimeout: work item exceeded soft timeout budget