@graphty/webgpu-graph-algorithms 0.6.3 → 0.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/README.md +62 -32
  2. package/dist/browser.js +1 -1
  3. package/dist/chunks/{context-BXqgCifx.js → context-hzGggHeM.js} +68 -24
  4. package/dist/chunks/context-hzGggHeM.js.map +1 -0
  5. package/dist/node.js +1 -1
  6. package/dist/src/accelerator.d.ts +8 -6
  7. package/dist/src/accelerator.d.ts.map +1 -1
  8. package/dist/src/accelerator.js +57 -6
  9. package/dist/src/accelerator.js.map +1 -1
  10. package/dist/src/algorithms/bellman-ford.d.ts +60 -0
  11. package/dist/src/algorithms/bellman-ford.d.ts.map +1 -0
  12. package/dist/src/algorithms/bellman-ford.js +301 -0
  13. package/dist/src/algorithms/bellman-ford.js.map +1 -0
  14. package/dist/src/algorithms/bfs.d.ts +67 -0
  15. package/dist/src/algorithms/bfs.d.ts.map +1 -0
  16. package/dist/src/algorithms/bfs.js +534 -0
  17. package/dist/src/algorithms/bfs.js.map +1 -0
  18. package/dist/src/algorithms/closeness.d.ts +53 -0
  19. package/dist/src/algorithms/closeness.d.ts.map +1 -0
  20. package/dist/src/algorithms/closeness.js +323 -0
  21. package/dist/src/algorithms/closeness.js.map +1 -0
  22. package/dist/src/algorithms/scope.d.ts +3 -1
  23. package/dist/src/algorithms/scope.d.ts.map +1 -1
  24. package/dist/src/algorithms/scope.js +1 -0
  25. package/dist/src/algorithms/scope.js.map +1 -1
  26. package/dist/src/algorithms/sssp.d.ts +72 -0
  27. package/dist/src/algorithms/sssp.d.ts.map +1 -0
  28. package/dist/src/algorithms/sssp.js +586 -0
  29. package/dist/src/algorithms/sssp.js.map +1 -0
  30. package/dist/src/constants.d.ts +10 -0
  31. package/dist/src/constants.d.ts.map +1 -1
  32. package/dist/src/constants.js +10 -0
  33. package/dist/src/constants.js.map +1 -1
  34. package/dist/src/index.d.ts +8 -2
  35. package/dist/src/index.d.ts.map +1 -1
  36. package/dist/src/index.js +7 -1
  37. package/dist/src/index.js.map +1 -1
  38. package/dist/src/kernel/prelude.d.ts +4 -4
  39. package/dist/src/kernel/prelude.d.ts.map +1 -1
  40. package/dist/src/kernel/prelude.js +39 -5
  41. package/dist/src/kernel/prelude.js.map +1 -1
  42. package/dist/src/kernel/uniform-ring.d.ts +8 -0
  43. package/dist/src/kernel/uniform-ring.d.ts.map +1 -1
  44. package/dist/src/kernel/uniform-ring.js +13 -0
  45. package/dist/src/kernel/uniform-ring.js.map +1 -1
  46. package/dist/src/kernels.d.ts +45 -4
  47. package/dist/src/kernels.d.ts.map +1 -1
  48. package/dist/src/kernels.js +368 -3
  49. package/dist/src/kernels.js.map +1 -1
  50. package/dist/src/primitives/advance.d.ts +63 -0
  51. package/dist/src/primitives/advance.d.ts.map +1 -0
  52. package/dist/src/primitives/advance.js +95 -0
  53. package/dist/src/primitives/advance.js.map +1 -0
  54. package/dist/src/primitives/compact.d.ts +89 -0
  55. package/dist/src/primitives/compact.d.ts.map +1 -0
  56. package/dist/src/primitives/compact.js +233 -0
  57. package/dist/src/primitives/compact.js.map +1 -0
  58. package/dist/src/primitives/core-shape.d.ts +22 -1
  59. package/dist/src/primitives/core-shape.d.ts.map +1 -1
  60. package/dist/src/primitives/core-shape.js +33 -3
  61. package/dist/src/primitives/core-shape.js.map +1 -1
  62. package/dist/src/primitives/frontier.d.ts +151 -0
  63. package/dist/src/primitives/frontier.d.ts.map +1 -0
  64. package/dist/src/primitives/frontier.js +250 -0
  65. package/dist/src/primitives/frontier.js.map +1 -0
  66. package/dist/src/types/accelerator.d.ts +16 -7
  67. package/dist/src/types/accelerator.d.ts.map +1 -1
  68. package/dist/src/types/traversal.d.ts +53 -0
  69. package/dist/src/types/traversal.d.ts.map +1 -0
  70. package/dist/src/types/traversal.js +10 -0
  71. package/dist/src/types/traversal.js.map +1 -0
  72. package/dist/src/wgsl/advance-expand.wgsl.d.ts +19 -0
  73. package/dist/src/wgsl/advance-expand.wgsl.d.ts.map +1 -0
  74. package/dist/src/wgsl/advance-expand.wgsl.js +69 -0
  75. package/dist/src/wgsl/advance-expand.wgsl.js.map +1 -0
  76. package/dist/src/wgsl/bf-relax.wgsl.d.ts +22 -0
  77. package/dist/src/wgsl/bf-relax.wgsl.d.ts.map +1 -0
  78. package/dist/src/wgsl/bf-relax.wgsl.js +58 -0
  79. package/dist/src/wgsl/bf-relax.wgsl.js.map +1 -0
  80. package/dist/src/wgsl/bfs-bitset-build.wgsl.d.ts +15 -0
  81. package/dist/src/wgsl/bfs-bitset-build.wgsl.d.ts.map +1 -0
  82. package/dist/src/wgsl/bfs-bitset-build.wgsl.js +24 -0
  83. package/dist/src/wgsl/bfs-bitset-build.wgsl.js.map +1 -0
  84. package/dist/src/wgsl/bfs-bottom-up.wgsl.d.ts +20 -0
  85. package/dist/src/wgsl/bfs-bottom-up.wgsl.d.ts.map +1 -0
  86. package/dist/src/wgsl/bfs-bottom-up.wgsl.js +67 -0
  87. package/dist/src/wgsl/bfs-bottom-up.wgsl.js.map +1 -0
  88. package/dist/src/wgsl/bfs-contract.wgsl.d.ts +20 -0
  89. package/dist/src/wgsl/bfs-contract.wgsl.d.ts.map +1 -0
  90. package/dist/src/wgsl/bfs-contract.wgsl.js +55 -0
  91. package/dist/src/wgsl/bfs-contract.wgsl.js.map +1 -0
  92. package/dist/src/wgsl/bfs-fused.wgsl.d.ts +25 -0
  93. package/dist/src/wgsl/bfs-fused.wgsl.d.ts.map +1 -0
  94. package/dist/src/wgsl/bfs-fused.wgsl.js +78 -0
  95. package/dist/src/wgsl/bfs-fused.wgsl.js.map +1 -0
  96. package/dist/src/wgsl/bfs-unvisited-flags.wgsl.d.ts +18 -0
  97. package/dist/src/wgsl/bfs-unvisited-flags.wgsl.d.ts.map +1 -0
  98. package/dist/src/wgsl/bfs-unvisited-flags.wgsl.js +42 -0
  99. package/dist/src/wgsl/bfs-unvisited-flags.wgsl.js.map +1 -0
  100. package/dist/src/wgsl/closeness-reduce.wgsl.d.ts +17 -0
  101. package/dist/src/wgsl/closeness-reduce.wgsl.d.ts.map +1 -0
  102. package/dist/src/wgsl/closeness-reduce.wgsl.js +65 -0
  103. package/dist/src/wgsl/closeness-reduce.wgsl.js.map +1 -0
  104. package/dist/src/wgsl/closeness-sweep.wgsl.d.ts +20 -0
  105. package/dist/src/wgsl/closeness-sweep.wgsl.d.ts.map +1 -0
  106. package/dist/src/wgsl/closeness-sweep.wgsl.js +96 -0
  107. package/dist/src/wgsl/closeness-sweep.wgsl.js.map +1 -0
  108. package/dist/src/wgsl/compact-scatter.wgsl.d.ts +9 -0
  109. package/dist/src/wgsl/compact-scatter.wgsl.d.ts.map +1 -0
  110. package/dist/src/wgsl/compact-scatter.wgsl.js +17 -0
  111. package/dist/src/wgsl/compact-scatter.wgsl.js.map +1 -0
  112. package/dist/src/wgsl/dedupe-claim.wgsl.d.ts +10 -0
  113. package/dist/src/wgsl/dedupe-claim.wgsl.d.ts.map +1 -0
  114. package/dist/src/wgsl/dedupe-claim.wgsl.js +19 -0
  115. package/dist/src/wgsl/dedupe-claim.wgsl.js.map +1 -0
  116. package/dist/src/wgsl/dedupe-filter.wgsl.d.ts +12 -0
  117. package/dist/src/wgsl/dedupe-filter.wgsl.d.ts.map +1 -0
  118. package/dist/src/wgsl/dedupe-filter.wgsl.js +46 -0
  119. package/dist/src/wgsl/dedupe-filter.wgsl.js.map +1 -0
  120. package/dist/src/wgsl/frontier-finalize.wgsl.d.ts +53 -0
  121. package/dist/src/wgsl/frontier-finalize.wgsl.d.ts.map +1 -0
  122. package/dist/src/wgsl/frontier-finalize.wgsl.js +164 -0
  123. package/dist/src/wgsl/frontier-finalize.wgsl.js.map +1 -0
  124. package/dist/src/wgsl/sssp-pred.wgsl.d.ts +28 -0
  125. package/dist/src/wgsl/sssp-pred.wgsl.d.ts.map +1 -0
  126. package/dist/src/wgsl/sssp-pred.wgsl.js +80 -0
  127. package/dist/src/wgsl/sssp-pred.wgsl.js.map +1 -0
  128. package/dist/src/wgsl/sssp-relax.wgsl.d.ts +30 -0
  129. package/dist/src/wgsl/sssp-relax.wgsl.d.ts.map +1 -0
  130. package/dist/src/wgsl/sssp-relax.wgsl.js +72 -0
  131. package/dist/src/wgsl/sssp-relax.wgsl.js.map +1 -0
  132. package/dist/webgpu-graph-algorithms.js +3155 -384
  133. package/dist/webgpu-graph-algorithms.js.map +1 -1
  134. package/package.json +5 -4
  135. package/src/accelerator.ts +65 -7
  136. package/src/algorithms/bellman-ford.ts +387 -0
  137. package/src/algorithms/bfs.ts +626 -0
  138. package/src/algorithms/closeness.ts +395 -0
  139. package/src/algorithms/scope.ts +4 -1
  140. package/src/algorithms/sssp.ts +768 -0
  141. package/src/constants.ts +10 -0
  142. package/src/index.ts +14 -1
  143. package/src/kernel/prelude.ts +39 -4
  144. package/src/kernel/uniform-ring.ts +14 -0
  145. package/src/kernels.ts +447 -6
  146. package/src/primitives/advance.ts +131 -0
  147. package/src/primitives/compact.ts +323 -0
  148. package/src/primitives/core-shape.ts +41 -3
  149. package/src/primitives/frontier.ts +372 -0
  150. package/src/types/accelerator.ts +18 -5
  151. package/src/types/traversal.ts +56 -0
  152. package/src/wgsl/advance-expand.wgsl.ts +68 -0
  153. package/src/wgsl/bf-relax.wgsl.ts +57 -0
  154. package/src/wgsl/bfs-bitset-build.wgsl.ts +23 -0
  155. package/src/wgsl/bfs-bottom-up.wgsl.ts +66 -0
  156. package/src/wgsl/bfs-contract.wgsl.ts +54 -0
  157. package/src/wgsl/bfs-fused.wgsl.ts +77 -0
  158. package/src/wgsl/bfs-unvisited-flags.wgsl.ts +41 -0
  159. package/src/wgsl/closeness-reduce.wgsl.ts +64 -0
  160. package/src/wgsl/closeness-sweep.wgsl.ts +95 -0
  161. package/src/wgsl/compact-scatter.wgsl.ts +16 -0
  162. package/src/wgsl/dedupe-claim.wgsl.ts +18 -0
  163. package/src/wgsl/dedupe-filter.wgsl.ts +45 -0
  164. package/src/wgsl/frontier-finalize.wgsl.ts +163 -0
  165. package/src/wgsl/sssp-pred.wgsl.ts +79 -0
  166. package/src/wgsl/sssp-relax.wgsl.ts +71 -0
  167. package/dist/chunks/context-BXqgCifx.js.map +0 -1
@@ -8,12 +8,29 @@
8
8
  * segmented-reduce; P3-T2 adds fa2-stats-finalize (K1), fa2-attraction (K2), fa2-integrate (K5) and
9
9
  * fa2-to-scene; M8b-T3 adds the seven P7 entries: spmv-pull, pr-scale, pr-finalize, wcc-link-sample,
10
10
  * wcc-link-edges, wcc-compress and wcc-sample. P4-T1 adds indirect-finalize; the other P4 entries follow, one task
11
- * each (the P4 plan, PD-1). This file is the only importer of src/wgsl/** (spec 3.2; test/layers.test.ts).
11
+ * each (the P4 plan, PD-1). P8-T3 opens the P8 run of nine appends (the P8 plan, PD-2) with compact-scatter,
12
+ * dedupe-claim and dedupe-filter; P8-T4 adds frontier-finalize with the FrontierCounters and FrontierParams blocks;
13
+ * P8-T5 adds advance-expand; P8-T6 adds bfs-contract and sssp-pred; P8-T7 adds bfs-fused; P8-T8 adds bfs-bottom-up,
14
+ * bfs-bitset-build and bfs-unvisited-flags; P8-T9 adds sssp-relax; P8-T10 adds bf-relax with the BfParams and BfFlags
15
+ * blocks; P8-T11 adds closeness-sweep and closeness-reduce. This file is the only importer of src/wgsl/** (spec 3.2;
16
+ * test/layers.test.ts).
12
17
  */
13
18
  import { STATE_HEADER_BYTES } from "./constants.js";
14
19
  import { WebGpuGraphError } from "./errors.js";
15
20
  import { UniformBlock } from "./kernel/struct-block.js";
21
+ import { advanceExpandWgsl } from "./wgsl/advance-expand.wgsl.js";
22
+ import { bfRelaxWgsl } from "./wgsl/bf-relax.wgsl.js";
23
+ import { bfsBitsetBuildWgsl } from "./wgsl/bfs-bitset-build.wgsl.js";
24
+ import { bfsBottomUpWgsl } from "./wgsl/bfs-bottom-up.wgsl.js";
25
+ import { bfsContractWgsl } from "./wgsl/bfs-contract.wgsl.js";
26
+ import { bfsFusedWgsl } from "./wgsl/bfs-fused.wgsl.js";
27
+ import { bfsUnvisitedFlagsWgsl } from "./wgsl/bfs-unvisited-flags.wgsl.js";
28
+ import { closenessReduceWgsl } from "./wgsl/closeness-reduce.wgsl.js";
29
+ import { closenessSweepWgsl } from "./wgsl/closeness-sweep.wgsl.js";
30
+ import { compactScatterWgsl } from "./wgsl/compact-scatter.wgsl.js";
16
31
  import { countingScatterWgsl } from "./wgsl/counting-scatter.wgsl.js";
32
+ import { dedupeClaimWgsl } from "./wgsl/dedupe-claim.wgsl.js";
33
+ import { dedupeFilterWgsl } from "./wgsl/dedupe-filter.wgsl.js";
17
34
  import { degreeWgsl } from "./wgsl/degree.wgsl.js";
18
35
  import { fa2AttractionWgsl } from "./wgsl/fa2-attraction.wgsl.js";
19
36
  import { fa2IntegrateWgsl } from "./wgsl/fa2-integrate.wgsl.js";
@@ -22,6 +39,7 @@ import { fa2SpeedFinalizeWgsl } from "./wgsl/fa2-speed-finalize.wgsl.js";
22
39
  import { fa2StatsFinalizeWgsl } from "./wgsl/fa2-stats-finalize.wgsl.js";
23
40
  import { fa2ToSceneWgsl } from "./wgsl/fa2-to-scene.wgsl.js";
24
41
  import { fillWgsl } from "./wgsl/fill.wgsl.js";
42
+ import { frontierFinalizeWgsl } from "./wgsl/frontier-finalize.wgsl.js";
25
43
  import { gridCellKeyWgsl } from "./wgsl/grid-cell-key.wgsl.js";
26
44
  import { gridCentroidWgsl } from "./wgsl/grid-centroid.wgsl.js";
27
45
  import { gridCentroidHubWgsl } from "./wgsl/grid-centroid-hub.wgsl.js";
@@ -39,6 +57,8 @@ import { scanAddWgsl } from "./wgsl/scan-add.wgsl.js";
39
57
  import { scanBlockWgsl } from "./wgsl/scan-block.wgsl.js";
40
58
  import { segmentedReduceWgsl } from "./wgsl/segmented-reduce.wgsl.js";
41
59
  import { spmvPullWgsl } from "./wgsl/spmv-pull.wgsl.js";
60
+ import { ssspPredWgsl } from "./wgsl/sssp-pred.wgsl.js";
61
+ import { ssspRelaxWgsl } from "./wgsl/sssp-relax.wgsl.js";
42
62
  import { wccCompressWgsl } from "./wgsl/wcc-compress.wgsl.js";
43
63
  import { wccLinkEdgesWgsl } from "./wgsl/wcc-link-edges.wgsl.js";
44
64
  import { wccLinkSampleWgsl } from "./wgsl/wcc-link-sample.wgsl.js";
@@ -242,6 +262,104 @@ export const RADIX_PARAMS = UniformBlock.define("RadixParams", [
242
262
  ["groups", "u32"],
243
263
  ["pad0", "u32"],
244
264
  ]);
265
+ /** `CompactParams` (uniform, 16 B; spec 6 row 4, P8-T3): `count` @0 (the entries, or the capacity a device count is clamped to), `outIndex` @4 (the word of `outCount` that receives the output count: the block is bound whole because a four-byte word is never 256-aligned), `countIndex` @8 (the word of the counters block holding the entry count, or `U32_MAX` for a host-known count; `compact-scatter` ignores it), `pad0` @12. */
266
+ export const COMPACT_PARAMS = UniformBlock.define("CompactParams", [
267
+ ["count", "u32"],
268
+ ["outIndex", "u32"],
269
+ ["countIndex", "u32"],
270
+ ["stride", "u32"],
271
+ ]);
272
+ /**
273
+ * `FrontierCounters` (storage, 112 B; design 6 row 7, P8-T4, PD-8): EVERY counter of the frontier family is a word of
274
+ * this one block, byte offset 4 x index, because a four-byte word is never a legal storage-binding offset and the
275
+ * device-side selector must reach every count it acts on through one binding; every kernel binds it as
276
+ * `array<atomic<u32>>` and indexes by the `W` record of src/primitives/frontier.ts, and the host decodes the result
277
+ * copy with `FRONTIER_COUNTERS.read`. `frontierCount` @0 (role 0 rotates it in from word 1; never seeded),
278
+ * `nextFrontierCount` @4 (the claim kernels' append span; the BFS seed is 1), `frontierDegreeSum` @8,
279
+ * `prevFrontierCount` @12, `prevDegreeSum` @16, `unvisitedCount` @20, `unvisitedDegreeSum` @24,
280
+ * `unvisitedListLen` @28 (P8-T8), `edgeCount` @32 (clamped by role 1), `edgeCountUnclamped` @36 (the overflow
281
+ * detector, PD-23), `overflowLevels` @40, `level` @44 (the current level; the seed is U32_MAX so the first boundary
282
+ * lands on 0), `visitedCount` @48, `switches` @52, `direction` @56, `done` @60 (the four bytes the host reads per
283
+ * submit), `arcsScanned` @64, `fusedLevels` @68, `twoPhaseLevels` @72, `bottomUpLevels` @76, `farCount` @80,
284
+ * `nextFarCount` @84, `thresholdBits` @88, `deltaBits` @92 (P8-T9), `path` @96 (what the level's kernels run, written
285
+ * by the selector: 0 nothing, 1 two-phase, 2 fused, 3 bottom-up, 4 the fused retry, 5 a near SSSP round, 6 a far
286
+ * one; every level kernel is a direct dispatch that reads it first -- G8-F5). The words nothing writes before
287
+ * P8-T8 / P8-T9 are declared now because the byte layout is what the single result copy decodes.
288
+ */
289
+ export const FRONTIER_COUNTERS = UniformBlock.define("FrontierCounters", [
290
+ ["frontierCount", "u32"],
291
+ ["nextFrontierCount", "u32"],
292
+ ["frontierDegreeSum", "u32"],
293
+ ["prevFrontierCount", "u32"],
294
+ ["prevDegreeSum", "u32"],
295
+ ["unvisitedCount", "u32"],
296
+ ["unvisitedDegreeSum", "u32"],
297
+ ["unvisitedListLen", "u32"],
298
+ ["edgeCount", "u32"],
299
+ ["edgeCountUnclamped", "u32"],
300
+ ["overflowLevels", "u32"],
301
+ ["level", "u32"],
302
+ ["visitedCount", "u32"],
303
+ ["switches", "u32"],
304
+ ["direction", "u32"],
305
+ ["done", "u32"],
306
+ ["arcsScanned", "u32"],
307
+ ["fusedLevels", "u32"],
308
+ ["twoPhaseLevels", "u32"],
309
+ ["bottomUpLevels", "u32"],
310
+ ["farCount", "u32"],
311
+ ["nextFarCount", "u32"],
312
+ ["thresholdBits", "u32"],
313
+ ["deltaBits", "u32"],
314
+ ["path", "u32"],
315
+ ], { layout: "storage" });
316
+ /**
317
+ * `FrontierParams` (uniform, 80 B; P8-T4): the params block every P8 kernel except the three compact / dedupe
318
+ * primitives and `bf-relax` binds -- `role` @0 (the finalize role), `wg` @4 (the consumers' workgroup size),
319
+ * `alpha` @8, `beta` @12 (Beamer's thresholds, P8-T8), `fusedMax` @16, `edgeCapacity` @20, `maxDepth` @24, `n` @28,
320
+ * `mode` @32 (BFS: 0 auto, 1 top-down only; `sssp-pred`: the PD-27 key rule), `cutoffBits` @36, `arcBase` @40,
321
+ * `arcEnd` @44 (the bound arc window), `predKind` @48 (0 arc, 1 node), `bitsBase` @52, `source` @56, `stride` @60
322
+ * (a grid-stride plan's stride), `firstOfSubmit` @64 (the boundary's index inside its submit, clamped to 2: the
323
+ * unvisited-count subtraction runs at >= 1, the degree-sum one at >= 2), `iteration` @68 (an `sssp-pred` hop pass,
324
+ * P8-T9), `pad1` @72, `pad2` @76. The `slotBase` field that once addressed the selector's indirect slots went with
325
+ * the slots (2026-09-25); `pad2` keeps the block an explicit 80 bytes, the way every block here is padded.
326
+ */
327
+ export const FRONTIER_PARAMS = UniformBlock.define("FrontierParams", [
328
+ ["role", "u32"],
329
+ ["wg", "u32"],
330
+ ["alpha", "u32"],
331
+ ["beta", "u32"],
332
+ ["fusedMax", "u32"],
333
+ ["edgeCapacity", "u32"],
334
+ ["maxDepth", "u32"],
335
+ ["n", "u32"],
336
+ ["mode", "u32"],
337
+ ["cutoffBits", "u32"],
338
+ ["arcBase", "u32"],
339
+ ["arcEnd", "u32"],
340
+ ["predKind", "u32"],
341
+ ["bitsBase", "u32"],
342
+ ["source", "u32"],
343
+ ["stride", "u32"],
344
+ ["firstOfSubmit", "u32"],
345
+ ["iteration", "u32"],
346
+ ["pad1", "u32"],
347
+ ["pad2", "u32"],
348
+ ]);
349
+ /** `BfParams` (uniform, 16 B; P8-T10): `edgeCount` @0 (the logical edges of the `edgeList` view), `stride` @4 (the grid-stride plan's stride), `maxRetries` @8 (PD-12's compare-exchange bound), `cutoffBits` @12 (the f32 bit pattern of the CPU port's `cutoff`, `+Inf` when absent). */
350
+ export const BF_PARAMS = UniformBlock.define("BfParams", [
351
+ ["edgeCount", "u32"],
352
+ ["stride", "u32"],
353
+ ["maxRetries", "u32"],
354
+ ["cutoffBits", "u32"],
355
+ ]);
356
+ /** `BfFlags` (storage, 16 B; P8-T10): the two words `bf-relax` raises and the host reads back after every batch of rounds -- `changed` @0 (some exchange succeeded), `retryExhausted` @4 (some lane hit `maxRetries`, PD-12), `pad0` @8, `pad1` @12. Bound by the kernel as `array<atomic<u32>>`; the block is the host's decoder. */
357
+ export const BF_FLAGS = UniformBlock.define("BfFlags", [
358
+ ["changed", "u32"],
359
+ ["retryExhausted", "u32"],
360
+ ["pad0", "u32"],
361
+ ["pad1", "u32"],
362
+ ], { layout: "storage" });
245
363
  // ---- the entries (contract 3.10.1; group 0 = graph, 1 = state, 2 = params, 3 = cold)
246
364
  /**
247
365
  * One binding declaration of contract 3.9, so the tables below read like the rows of 3.10.1.
@@ -776,14 +894,246 @@ const GRID_NEAR_FIELD = {
776
894
  snippetSlots: [],
777
895
  phase: "P4",
778
896
  };
897
+ /** `compact-scatter` (spec 6 row 4; P8-T3): the scatter of `compact` after the flags' exclusive scan, plus the total into `outCount[P.outIndex]`; 5 storage bindings; order-preserving, so bitwise reproducible. */
898
+ const COMPACT_SCATTER = {
899
+ id: "compact-scatter",
900
+ body: compactScatterWgsl,
901
+ entryPoint: "compact_scatter",
902
+ bindings: [
903
+ decl(1, 0, "queue", "storage-ro", "array<u32>"),
904
+ decl(1, 1, "flags", "storage-ro", "array<u32>"),
905
+ decl(1, 2, "offsets", "storage-ro", "array<u32>"),
906
+ decl(1, 3, "out", "storage", "array<u32>"),
907
+ decl(1, 4, "outCount", "storage", "array<u32>"),
908
+ decl(2, 0, "P", "uniform", "CompactParams"),
909
+ ],
910
+ overrideDecls: [],
911
+ uniforms: [COMPACT_PARAMS],
912
+ needs: [],
913
+ snippetSlots: [],
914
+ phase: "P8",
915
+ };
916
+ /** `dedupe-claim` (spec 6 row 4; P8-T3): `atomicStore(&owner[queue[i]], i)` for every entry, the count from `P.count` or the device word `counters[P.countIndex]`; 3 storage bindings (`counters` is `array<atomic<u32>>` and therefore read-write, although only loaded: WGSL admits an atomic only in a read-write storage buffer). */
917
+ const DEDUPE_CLAIM = {
918
+ id: "dedupe-claim",
919
+ body: dedupeClaimWgsl,
920
+ entryPoint: "dedupe_claim",
921
+ bindings: [
922
+ decl(1, 0, "queue", "storage-ro", "array<u32>"),
923
+ decl(1, 1, "owner", "storage", "array<atomic<u32>>"),
924
+ decl(1, 2, "counters", "storage", "array<atomic<u32>>"),
925
+ decl(2, 0, "P", "uniform", "CompactParams"),
926
+ ],
927
+ overrideDecls: [],
928
+ uniforms: [COMPACT_PARAMS],
929
+ needs: [],
930
+ snippetSlots: [],
931
+ phase: "P8",
932
+ };
933
+ /** `dedupe-filter` (spec 6 row 4; P8-T3): a separate dispatch keeping the entries that still own their vertex, packed by a workgroup scan and one `atomicAdd` per workgroup on `outCount[P.outIndex]`, which is also the block the count word `P.countIndex` is read from; 4 storage bindings; set-deterministic. */
934
+ const DEDUPE_FILTER = {
935
+ id: "dedupe-filter",
936
+ body: dedupeFilterWgsl,
937
+ entryPoint: "dedupe_filter",
938
+ bindings: [
939
+ decl(1, 0, "queue", "storage-ro", "array<u32>"),
940
+ decl(1, 1, "owner", "storage", "array<atomic<u32>>"),
941
+ decl(1, 2, "out", "storage", "array<u32>"),
942
+ decl(1, 3, "outCount", "storage", "array<atomic<u32>>"),
943
+ decl(2, 0, "P", "uniform", "CompactParams"),
944
+ ],
945
+ overrideDecls: [],
946
+ uniforms: [COMPACT_PARAMS],
947
+ needs: [],
948
+ snippetSlots: [],
949
+ phase: "P8",
950
+ };
951
+ /** `frontier-finalize` (design 5.4, 8.10 "BFS finalizeArgs"; P8-T4, PD-3): the one-lane level-boundary selector that rotates the counters block and writes the level's `path` word (role 0), then clamps the edge count or switches the path to the fused retry (role 1); 1 storage binding (the block as `array<atomic<u32>>`). Since 2026-09-25 it writes no indirect slots: every level kernel is a direct dispatch gated by the path word. */
952
+ const FRONTIER_FINALIZE = {
953
+ id: "frontier-finalize",
954
+ body: frontierFinalizeWgsl,
955
+ entryPoint: "frontier_finalize",
956
+ bindings: [decl(1, 0, "counters", "storage", "array<atomic<u32>>"), decl(2, 0, "P", "uniform", "FrontierParams")],
957
+ overrideDecls: [],
958
+ uniforms: [FRONTIER_PARAMS],
959
+ needs: [],
960
+ snippetSlots: [],
961
+ phase: "P8",
962
+ };
963
+ /** `advance-expand` (design 6 row 8, 8.10 "BFS expand"; P8-T5): the block-mapped expansion of the frontier into the edge queue -- each workgroup scans its entries' degrees with the prelude's `wg_scan_u32` (the twin axis: `needs: ["subgroups"]` is what makes the subgroup compilation differ) and strips the aggregate by binary search, one `atomicAdd` per workgroup reserving its span; 7 storage bindings (the four graph slots, `frontierIn`, the counters block as `array<atomic<u32>>`, `edgeQueue`); no `TIER` override (the workgroup-per-row structure is `bfs-fused`). */
964
+ const ADVANCE_EXPAND = {
965
+ id: "advance-expand",
966
+ body: advanceExpandWgsl,
967
+ entryPoint: "advance_expand",
968
+ bindings: GRAPH_SLOTS.concat(decl(1, 0, "frontierIn", "storage-ro", "array<u32>"), decl(1, 1, "counters", "storage", "array<atomic<u32>>"), decl(1, 2, "edgeQueue", "storage", "array<u32>"), decl(2, 0, "P", "uniform", "FrontierParams")),
969
+ overrideDecls: [],
970
+ uniforms: [FRONTIER_PARAMS],
971
+ needs: ["subgroups"],
972
+ snippetSlots: [],
973
+ phase: "P8",
974
+ };
975
+ /** `bfs-contract` (design 8.4, 8.10 "BFS contract"; P8-T6, PD-6): the contraction of the edge queue -- `atomicMin(&depth[v], level + 1)` with the invocation that observes `INVALID_INDEX` the unique winner, packed into the output vertex queue by a workgroup scan and one `atomicAdd` per workgroup on `nextFrontierCount`; 4 storage bindings (no `owner`: the claim already dedupes, DEP-P8-B; no `parent`: the post-pass writes it, PD-24; both counts are words of `counters`). */
976
+ const BFS_CONTRACT = {
977
+ id: "bfs-contract",
978
+ body: bfsContractWgsl,
979
+ entryPoint: "bfs_contract",
980
+ bindings: [
981
+ decl(1, 0, "edgeQueue", "storage-ro", "array<u32>"),
982
+ decl(1, 1, "counters", "storage", "array<atomic<u32>>"),
983
+ decl(1, 2, "depth", "storage", "array<atomic<u32>>"),
984
+ decl(1, 3, "frontierOut", "storage", "array<u32>"),
985
+ decl(2, 0, "P", "uniform", "FrontierParams"),
986
+ ],
987
+ overrideDecls: [],
988
+ uniforms: [FRONTIER_PARAMS],
989
+ needs: [],
990
+ snippetSlots: [],
991
+ phase: "P8",
992
+ };
993
+ /** `sssp-pred` (design 8.10 "SSSP predecessor pass"; P8-T6 / P8-T9, PD-24 / PD-27): the one post-pass over the settled distances, grid-striding every row -- `MODE 1` reads u32 depths and writes BFS `parent`, `MODE 0` reads f32 bit patterns and writes `predArc` under PD-27's key, `P.predKind` choosing the node or the arc index; 6 storage bindings (the four graph slots, `dist` bound plain across dispatches, `pred` as `array<atomic<u32>>`, which in `MODE 0` also carries the hop counts and the two flag words in its upper regions). */
994
+ const SSSP_PRED = {
995
+ id: "sssp-pred",
996
+ body: ssspPredWgsl,
997
+ entryPoint: "sssp_pred",
998
+ bindings: GRAPH_SLOTS.concat(decl(1, 0, "dist", "storage-ro", "array<u32>"), decl(1, 1, "pred", "storage", "array<atomic<u32>>"), decl(2, 0, "P", "uniform", "FrontierParams")),
999
+ overrideDecls: [{ name: "MODE", type: "u32", default: 0 }],
1000
+ uniforms: [FRONTIER_PARAMS],
1001
+ needs: [],
1002
+ snippetSlots: [],
1003
+ phase: "P8",
1004
+ };
1005
+ /** `bfs-fused` (design 8.4 "the fused variant", 6 row 8 "the workgroup-per-row tier", 8.10 "BFS fused expand-contract"; P8-T7, PD-23): one level's expansion and contraction in one dispatch, one WORKGROUP per frontier entry, every lane stripping the entry's row with `bfs-contract`'s claim inline and no edge queue traffic; a direct grid-stride dispatch that runs when the path word is 2 (a frontier below `P.fusedMax`) or 4 (the overflow retry, role 1's), sized from `frontierCount`; 8 storage bindings (the four graph slots, `frontierIn`, the counters block as `array<atomic<u32>>`, `depth` as `array<atomic<u32>>`, `frontierOut`) -- exactly at the budget, which is why no `parent` lives here (PD-24). */
1006
+ const BFS_FUSED = {
1007
+ id: "bfs-fused",
1008
+ body: bfsFusedWgsl,
1009
+ entryPoint: "bfs_fused",
1010
+ bindings: GRAPH_SLOTS.concat(decl(1, 0, "frontierIn", "storage-ro", "array<u32>"), decl(1, 1, "counters", "storage", "array<atomic<u32>>"), decl(1, 2, "depth", "storage", "array<atomic<u32>>"), decl(1, 3, "frontierOut", "storage", "array<u32>"), decl(2, 0, "P", "uniform", "FrontierParams")),
1011
+ overrideDecls: [],
1012
+ uniforms: [FRONTIER_PARAMS],
1013
+ needs: [],
1014
+ snippetSlots: [],
1015
+ phase: "P8",
1016
+ };
1017
+ /** `bfs-bottom-up` (design 8.4 "the bottom-up sweep", 8.10 "BFS bottom-up"; P8-T8, PD-18 / PD-21): one invocation per entry of the unvisited list, walking its in-neighbours through the REVERSE core bound in group 0 until the first one whose bit is set in the frontier bitset (the early exit `arcsScanned` witnesses), claiming with a plain `atomicStore` and packing the winners into the output vertex queue by `bfs-contract`'s scan; 8 storage bindings (the four graph slots of the reverse core, `sweepIn` read-only -- the unvisited list at word 0 and the bitset at `P.bitsBase`, one buffer -- the counters block, `depth` and `frontierOut` as `array<atomic<u32>>` / `array<u32>`); `needs: ["subgroups"]` for the `wg_reduce_u32` call (a twin kernel). */
1018
+ const BFS_BOTTOM_UP = {
1019
+ id: "bfs-bottom-up",
1020
+ body: bfsBottomUpWgsl,
1021
+ entryPoint: "bfs_bottom_up",
1022
+ bindings: GRAPH_SLOTS.concat(decl(1, 0, "sweepIn", "storage-ro", "array<u32>"), decl(1, 1, "counters", "storage", "array<atomic<u32>>"), decl(1, 2, "depth", "storage", "array<atomic<u32>>"), decl(1, 3, "frontierOut", "storage", "array<u32>"), decl(2, 0, "P", "uniform", "FrontierParams")),
1023
+ overrideDecls: [],
1024
+ uniforms: [FRONTIER_PARAMS],
1025
+ needs: ["subgroups"],
1026
+ snippetSlots: [],
1027
+ phase: "P8",
1028
+ };
1029
+ /** `bfs-bitset-build` (design 8.4 "the bitset frontier"; P8-T8): the vertex-list-to-bitset hand-off of a bottom-up level -- one `atomicOr` per entry of the input frontier into the `ceil(n / 32)`-word bitset at `P.bitsBase` of the `sweepIn` buffer (bound whole as `bits`, read-write); 3 storage bindings. */
1030
+ const BFS_BITSET_BUILD = {
1031
+ id: "bfs-bitset-build",
1032
+ body: bfsBitsetBuildWgsl,
1033
+ entryPoint: "bfs_bitset_build",
1034
+ bindings: [
1035
+ decl(1, 0, "frontierIn", "storage-ro", "array<u32>"),
1036
+ decl(1, 1, "counters", "storage", "array<atomic<u32>>"),
1037
+ decl(1, 2, "bits", "storage", "array<atomic<u32>>"),
1038
+ decl(2, 0, "P", "uniform", "FrontierParams"),
1039
+ ],
1040
+ overrideDecls: [],
1041
+ uniforms: [FRONTIER_PARAMS],
1042
+ needs: [],
1043
+ snippetSlots: [],
1044
+ phase: "P8",
1045
+ };
1046
+ /** `bfs-unvisited-flags` (design 8.4; P8-T8, PD-18): the unvisited set's producer, once per submit -- grid-striding over the vertices, counting the unclaimed ones and their OUT-degree sum into words 5 and 6 and flagging those with a non-zero IN-degree (word 7, what the sweep iterates) for `compact`; 5 storage bindings (the `outDegree` and `inDegree` VIEWS rather than the graph group, `depth` read-only, `flags`, the counters block); `needs: ["subgroups"]` for the three `wg_reduce_u32` calls (a twin kernel). */
1047
+ const BFS_UNVISITED_FLAGS = {
1048
+ id: "bfs-unvisited-flags",
1049
+ body: bfsUnvisitedFlagsWgsl,
1050
+ entryPoint: "bfs_unvisited_flags",
1051
+ bindings: [
1052
+ decl(1, 0, "outDegree", "storage-ro", "array<u32>"),
1053
+ decl(1, 1, "inDegree", "storage-ro", "array<u32>"),
1054
+ decl(1, 2, "depth", "storage-ro", "array<u32>"),
1055
+ decl(1, 3, "flags", "storage", "array<u32>"),
1056
+ decl(1, 4, "counters", "storage", "array<atomic<u32>>"),
1057
+ decl(2, 0, "P", "uniform", "FrontierParams"),
1058
+ ],
1059
+ overrideDecls: [],
1060
+ uniforms: [FRONTIER_PARAMS],
1061
+ needs: ["subgroups"],
1062
+ snippetSlots: [],
1063
+ phase: "P8",
1064
+ };
1065
+ /** `sssp-relax` (design 8.4 "Davidson's near-far", 8.10 "SSSP near-far relax"; P8-T9, PD-9 / PD-20 / DEP-P8-E): one round of the near-far loop -- role 0 relaxes the deduped near pile's whole rows with `atomicMin` on the f32 bit patterns of `dist` and appends each improved vertex to the raw near or far half of `queueOut` (the two halves of ONE buffer at word 0 and word `P.edgeCapacity`), role 1 re-buckets the deduped far pile; 8 storage bindings (the four graph slots with the run's weights bound in the weights slot, `dist` and the counters block as `array<atomic<u32>>`, `queueIn` read-only, `queueOut`) -- exactly at the budget, which is why no `pred` lives here (PD-11) and why the piles' counts, the threshold and the delta are words of the block. */
1066
+ const SSSP_RELAX = {
1067
+ id: "sssp-relax",
1068
+ body: ssspRelaxWgsl,
1069
+ entryPoint: "sssp_relax",
1070
+ bindings: GRAPH_SLOTS.concat(decl(1, 0, "dist", "storage", "array<atomic<u32>>"), decl(1, 1, "counters", "storage", "array<atomic<u32>>"), decl(1, 2, "queueIn", "storage-ro", "array<u32>"), decl(1, 3, "queueOut", "storage", "array<u32>"), decl(2, 0, "P", "uniform", "FrontierParams")),
1071
+ overrideDecls: [],
1072
+ uniforms: [FRONTIER_PARAMS],
1073
+ needs: [],
1074
+ snippetSlots: [],
1075
+ phase: "P8",
1076
+ };
1077
+ /** `bf-relax` (design 8.4 "Bellman-Ford"; P8-T10, PD-12 / DEP-P8-E): one edge-parallel relaxation round over the `edgeList` view with a bounded compare-exchange on the f32 bit patterns of `dist` (negative distances reverse the bit-pattern order, so no `atomicMin`); `UNDIRECTED` relaxes the other direction of every edge too; 6 storage bindings (`edgeSrc`, `edgeDst`, `edgeToArc` -- the core's segment, or an iota scratch on a directed identity snapshot --, the run's arc-indexed `weights`, `dist` and the `BfFlags` block as `array<atomic<u32>>`); no graph group. */
1078
+ const BF_RELAX = {
1079
+ id: "bf-relax",
1080
+ body: bfRelaxWgsl,
1081
+ entryPoint: "bf_relax",
1082
+ bindings: [
1083
+ decl(1, 0, "edgeSrc", "storage-ro", "array<u32>"),
1084
+ decl(1, 1, "edgeDst", "storage-ro", "array<u32>"),
1085
+ decl(1, 2, "edgeToArc", "storage-ro", "array<u32>"),
1086
+ decl(1, 3, "weights", "storage-ro", "array<f32>"),
1087
+ decl(1, 4, "dist", "storage", "array<atomic<u32>>"),
1088
+ decl(1, 5, "flags", "storage", "array<atomic<u32>>"),
1089
+ decl(2, 0, "P", "uniform", "BfParams"),
1090
+ ],
1091
+ overrideDecls: [{ name: "UNDIRECTED", type: "bool", default: false }],
1092
+ uniforms: [BF_PARAMS],
1093
+ needs: [],
1094
+ snippetSlots: [],
1095
+ phase: "P8",
1096
+ };
1097
+ /** `closeness-sweep` (design 8.4 "32 sources per u32 word"; P8-T11, PD-13 / DEP-P8-E): one level of the bit-parallel multi-source BFS -- `advance-expand`'s block-mapped strip over the compacted frontier list with the claim inline (`atomicOr` on the visited word of the four-region `bits` buffer, the won bits into the level's next region and the flags region, one workgroup-memory tally per source flushed by one `atomicAdd` per source per workgroup into `perSource`); 8 storage bindings (the four graph slots, `frontierList` read-only, `counters`, `bits` and `perSource` as `array<atomic<u32>>`) -- exactly at the budget; the inlined Hillis-Steele scan, so `needs: []`. */
1098
+ const CLOSENESS_SWEEP = {
1099
+ id: "closeness-sweep",
1100
+ body: closenessSweepWgsl,
1101
+ entryPoint: "closeness_sweep",
1102
+ bindings: GRAPH_SLOTS.concat(decl(1, 0, "frontierList", "storage-ro", "array<u32>"), decl(1, 1, "counters", "storage", "array<atomic<u32>>"), decl(1, 2, "bits", "storage", "array<atomic<u32>>"), decl(1, 3, "perSource", "storage", "array<atomic<u32>>"), decl(2, 0, "P", "uniform", "FrontierParams")),
1103
+ overrideDecls: [],
1104
+ uniforms: [FRONTIER_PARAMS],
1105
+ needs: [],
1106
+ snippetSlots: [],
1107
+ phase: "P8",
1108
+ };
1109
+ /** `closeness-reduce` (design 8.4, 9.7; P8-T11, PD-13): the one-lane bookkeeping of the sweep -- role 0 the level boundary (`done` from the previous level's compacted count, `newCount` folded into `reached` and the 64-bit `sum` at `level + 1` with the 16-bit split product and the carry, `level` advanced), role 1 the seed of a batch (the sources' bits into `visited` and the level-0 frontier region, their flags, `counters[0] = k`, `level = U32_MAX`); 3 storage bindings (`counters` and `perSource` as `array<atomic<u32>>`, `bits` plain: one lane writes the seed). */
1110
+ const CLOSENESS_REDUCE = {
1111
+ id: "closeness-reduce",
1112
+ body: closenessReduceWgsl,
1113
+ entryPoint: "closeness_reduce",
1114
+ bindings: [
1115
+ decl(1, 0, "counters", "storage", "array<atomic<u32>>"),
1116
+ decl(1, 1, "perSource", "storage", "array<atomic<u32>>"),
1117
+ decl(1, 2, "bits", "storage", "array<u32>"),
1118
+ decl(2, 0, "P", "uniform", "FrontierParams"),
1119
+ ],
1120
+ overrideDecls: [],
1121
+ uniforms: [FRONTIER_PARAMS],
1122
+ needs: [],
1123
+ snippetSlots: [],
1124
+ phase: "P8",
1125
+ };
779
1126
  /**
780
1127
  * The entries by id, in dispatch order. PLAN DECISION: `KernelId` is declared in full (contract 3.10) while the
781
1128
  * entries landed phase by phase, so the table is built as a Partial record and exported below through the
782
1129
  * contract's `Readonly<Record<KernelId, KernelEntry>>` type by one assertion; the runtime membership check of
783
1130
  * `entryOf` is the E_INVALID_ARGUMENT the contract documents for a JS caller's unknown id. P1-T4 landed the five
784
1131
  * P1 entries, P2-T2 `"segmented-reduce"`, and P3-T2 `"fa2-stats-finalize"`, `"fa2-attraction"`, `"fa2-integrate"`
785
- * and `"fa2-to-scene"`; M8b-T3 landed the seven P7 entries, so every member of `KernelId` is present and the
786
- * assertion is exact.
1132
+ * and `"fa2-to-scene"`; M8b-T3 landed the seven P7 entries and P4 its thirteen; P8-T3 landed the three compact /
1133
+ * dedupe entries, P8-T4 `"frontier-finalize"`, P8-T5 `"advance-expand"`, P8-T6 `"bfs-contract"` and `"sssp-pred"` and
1134
+ * P8-T7 `"bfs-fused"`, P8-T8 `"bfs-bottom-up"`, `"bfs-bitset-build"` and `"bfs-unvisited-flags"`, P8-T9
1135
+ * `"sssp-relax"`, P8-T10 `"bf-relax"` and P8-T11 `"closeness-sweep"` and `"closeness-reduce"`, so every member of
1136
+ * `KernelId` is present and the assertion is exact.
787
1137
  */
788
1138
  const REGISTRY = Object.freeze({
789
1139
  degree: DEGREE,
@@ -816,6 +1166,21 @@ const REGISTRY = Object.freeze({
816
1166
  "grid-downsample": GRID_DOWNSAMPLE,
817
1167
  "grid-far-field": GRID_FAR_FIELD,
818
1168
  "grid-near-field": GRID_NEAR_FIELD,
1169
+ "compact-scatter": COMPACT_SCATTER,
1170
+ "dedupe-claim": DEDUPE_CLAIM,
1171
+ "dedupe-filter": DEDUPE_FILTER,
1172
+ "frontier-finalize": FRONTIER_FINALIZE,
1173
+ "advance-expand": ADVANCE_EXPAND,
1174
+ "bfs-contract": BFS_CONTRACT,
1175
+ "sssp-pred": SSSP_PRED,
1176
+ "bfs-fused": BFS_FUSED,
1177
+ "bfs-bottom-up": BFS_BOTTOM_UP,
1178
+ "bfs-bitset-build": BFS_BITSET_BUILD,
1179
+ "bfs-unvisited-flags": BFS_UNVISITED_FLAGS,
1180
+ "sssp-relax": SSSP_RELAX,
1181
+ "bf-relax": BF_RELAX,
1182
+ "closeness-sweep": CLOSENESS_SWEEP,
1183
+ "closeness-reduce": CLOSENESS_REDUCE,
819
1184
  });
820
1185
  /** THE registry (spec 3.5): every entry, keyed by id. */
821
1186
  export const KERNELS = REGISTRY;
@@ -1 +1 @@
1
- {"version":3,"file":"kernels.js","sourceRoot":"","sources":["../../src/kernels.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kernels.js","sourceRoot":"","sources":["../../src/kernels.ts"],"names":[],"mappings":"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"}