You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
mmap'd CSR ─► Rust sampler ─► Vec<u32> ─► numpy int64 ─► torch.from_numpy() ─► PyG Data
│ │ │
no copy widened wraps in place
The graph itself is never copied — sampling reads it through the mapping. The
returned index arrays are Python-owned and widened to int64, because that is
PyTorch's index dtype; that widening is the one copy on the path, and it
vectorizes. Because the arrays never alias Rust memory, torch.from_numpy wraps
them without a defensive copy.
Accessors cache, so the same array object may come back on every access. Treat a
returned array as immutable — a mutation would be visible through every later
access and through to_dict(). Copy first if you need to write.
CLI Usage
# Convert edge list to binary format
aethergraph convert -i edges.txt -o graph.bin -n 1000000
# Inspect graph
aethergraph info graph.bin
aethergraph stats graph.bin