- Step1: Compute the offset/edge/weight access sequence
- 1.1 Count the number and index for the same C (random update count_c_single).
- 1.2 Aggregate count_c_single to get the total offset of each cid (burst read and write).
- 1.3 Compute final jump sequence to access input offset (random read and write).
- Step2: Hash aggregation based on the previous access sequence The pseudo-code is shown below:
foreach c in count_c //scan count_c to get each cid number
for v from prev_c → current_c // scan each input vertex with the same cid
for e in v // scan each edge in vertex
Hash aggregation for each single C
output result for each single C