Repository navigation
Preserve edge IDs for featureless graph sampling - #789
Conversation
|
/all_test |
GiGL Automation@ 17:02:10UTC : 🔄 @ 18:24:30UTC : ❌ Workflow failed. |
GiGL Automation@ 17:12:40UTC : 🔄 @ 19:01:54UTC : ✅ Workflow completed successfully. |
GiGL Automation@ 17:14:23UTC : 🔄 @ 17:24:48UTC : ✅ Workflow completed successfully. |
GiGL Automation@ 17:15:15UTC : 🔄 @ 17:24:13UTC : ✅ Workflow completed successfully. |
GiGL Automation@ 17:16:27UTC : 🔄 @ 17:18:28UTC : ✅ Workflow completed successfully. |
GiGL Automation@ 17:21:21UTC : 🔄 @ 19:04:38UTC : ✅ Workflow completed successfully. |
mkolodner-sc
left a comment
There was a problem hiding this comment.
Thanks Kyle! Approving to unblock proved my comments are addressed.
|
Thanks Kyle, I have a question -- why can't the default be to |
|
also, #788 was just merged, so we will need to rebase this |
Merge the 0003 GLT patch into 0001, because both rewrite the same SampleWithEdge region in random_sampler.cc. Add a note that featureless graphs should set retain_edge_ids to False. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…sing-edge-ids # Conflicts: # gigl/utils/csr.py # tests/unit/utils/csr_test.py
|
> why can't the default be to retain_edge_ids=False Because there are some usages of with_edge being set to True explicitly, and I do not want to break those usages. We will migrate those usages to use this opt-out, and then we can swag the flag after. #788 should be merged in now :) |
|
Summary
Restore edge-ID sampling for featureless graph partitions without requiring callers to switch to with_edge=False. Retain implicit edge IDs by default, with an explicit memory-saving opt-out for callers that do not need them.
Failure and fix
For example:
Input COO edges: (1,7), (0,5), (1,6), (0,4)
Implicit edge IDs: 0, 1, 2, 3
Sampling nodes [0,1]:
Neighbors: [4,5,6,7]
Counts: [2,2]
Edge IDs: [3,1,2,0]
The featureless-partition regression test exercises this through actual dataset construction and native sampling.
API and memory
Verification
63 focused CSR and topology tests passed, along with scoped lint, formatting, and type checks. The featureless edge-ID regression was also rerun independently and passed. Full-suite validation is deferred to CI.