@graphty/webgpu-graph-algorithms 0.6.13 → 0.6.15

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 (95) hide show
  1. package/README.md +52 -52
  2. package/dist/browser.js +1 -1
  3. package/dist/chunks/{context-Bi6AhScG.js → context-oXphO3yj.js} +36 -28
  4. package/dist/chunks/context-oXphO3yj.js.map +1 -0
  5. package/dist/node.js +1 -1
  6. package/dist/src/accelerator.d.ts +3 -2
  7. package/dist/src/accelerator.d.ts.map +1 -1
  8. package/dist/src/accelerator.js +48 -4
  9. package/dist/src/accelerator.js.map +1 -1
  10. package/dist/src/algorithms/betweenness.d.ts +70 -0
  11. package/dist/src/algorithms/betweenness.d.ts.map +1 -0
  12. package/dist/src/algorithms/betweenness.js +538 -0
  13. package/dist/src/algorithms/betweenness.js.map +1 -0
  14. package/dist/src/algorithms/closeness.d.ts +15 -5
  15. package/dist/src/algorithms/closeness.d.ts.map +1 -1
  16. package/dist/src/algorithms/closeness.js +112 -26
  17. package/dist/src/algorithms/closeness.js.map +1 -1
  18. package/dist/src/constants.d.ts +8 -0
  19. package/dist/src/constants.d.ts.map +1 -1
  20. package/dist/src/constants.js +8 -0
  21. package/dist/src/constants.js.map +1 -1
  22. package/dist/src/index.d.ts +4 -2
  23. package/dist/src/index.d.ts.map +1 -1
  24. package/dist/src/index.js +1 -0
  25. package/dist/src/index.js.map +1 -1
  26. package/dist/src/kernels.d.ts +12 -6
  27. package/dist/src/kernels.d.ts.map +1 -1
  28. package/dist/src/kernels.js +153 -7
  29. package/dist/src/kernels.js.map +1 -1
  30. package/dist/src/primitives/frontier.d.ts +2 -0
  31. package/dist/src/primitives/frontier.d.ts.map +1 -1
  32. package/dist/src/primitives/frontier.js +2 -0
  33. package/dist/src/primitives/frontier.js.map +1 -1
  34. package/dist/src/types/accelerator.d.ts +11 -7
  35. package/dist/src/types/accelerator.d.ts.map +1 -1
  36. package/dist/src/types/algorithms.d.ts +4 -0
  37. package/dist/src/types/algorithms.d.ts.map +1 -1
  38. package/dist/src/types/betweenness.d.ts +35 -0
  39. package/dist/src/types/betweenness.d.ts.map +1 -0
  40. package/dist/src/types/betweenness.js +7 -0
  41. package/dist/src/types/betweenness.js.map +1 -0
  42. package/dist/src/wgsl/bc-backward.wgsl.d.ts +15 -0
  43. package/dist/src/wgsl/bc-backward.wgsl.d.ts.map +1 -0
  44. package/dist/src/wgsl/bc-backward.wgsl.js +34 -0
  45. package/dist/src/wgsl/bc-backward.wgsl.js.map +1 -0
  46. package/dist/src/wgsl/bc-edge-gather.wgsl.d.ts +12 -0
  47. package/dist/src/wgsl/bc-edge-gather.wgsl.d.ts.map +1 -0
  48. package/dist/src/wgsl/bc-edge-gather.wgsl.js +36 -0
  49. package/dist/src/wgsl/bc-edge-gather.wgsl.js.map +1 -0
  50. package/dist/src/wgsl/bc-finalize.wgsl.d.ts +21 -0
  51. package/dist/src/wgsl/bc-finalize.wgsl.d.ts.map +1 -0
  52. package/dist/src/wgsl/bc-finalize.wgsl.js +47 -0
  53. package/dist/src/wgsl/bc-finalize.wgsl.js.map +1 -0
  54. package/dist/src/wgsl/bc-forward-edge.wgsl.d.ts +15 -0
  55. package/dist/src/wgsl/bc-forward-edge.wgsl.d.ts.map +1 -0
  56. package/dist/src/wgsl/bc-forward-edge.wgsl.js +76 -0
  57. package/dist/src/wgsl/bc-forward-edge.wgsl.js.map +1 -0
  58. package/dist/src/wgsl/bc-forward.wgsl.d.ts +23 -0
  59. package/dist/src/wgsl/bc-forward.wgsl.d.ts.map +1 -0
  60. package/dist/src/wgsl/bc-forward.wgsl.js +106 -0
  61. package/dist/src/wgsl/bc-forward.wgsl.js.map +1 -0
  62. package/dist/src/wgsl/bc-gather.wgsl.d.ts +9 -0
  63. package/dist/src/wgsl/bc-gather.wgsl.d.ts.map +1 -0
  64. package/dist/src/wgsl/bc-gather.wgsl.js +20 -0
  65. package/dist/src/wgsl/bc-gather.wgsl.js.map +1 -0
  66. package/dist/src/wgsl/closeness-reduce.wgsl.d.ts +4 -1
  67. package/dist/src/wgsl/closeness-reduce.wgsl.d.ts.map +1 -1
  68. package/dist/src/wgsl/closeness-reduce.wgsl.js +8 -4
  69. package/dist/src/wgsl/closeness-reduce.wgsl.js.map +1 -1
  70. package/dist/src/wgsl/closeness-sweep.wgsl.d.ts +4 -2
  71. package/dist/src/wgsl/closeness-sweep.wgsl.d.ts.map +1 -1
  72. package/dist/src/wgsl/closeness-sweep.wgsl.js +12 -2
  73. package/dist/src/wgsl/closeness-sweep.wgsl.js.map +1 -1
  74. package/dist/webgpu-graph-algorithms.js +1037 -168
  75. package/dist/webgpu-graph-algorithms.js.map +1 -1
  76. package/package.json +5 -5
  77. package/src/accelerator.ts +75 -7
  78. package/src/algorithms/betweenness.ts +739 -0
  79. package/src/algorithms/closeness.ts +124 -32
  80. package/src/constants.ts +8 -0
  81. package/src/index.ts +8 -0
  82. package/src/kernels.ts +169 -10
  83. package/src/primitives/frontier.ts +4 -0
  84. package/src/types/accelerator.ts +18 -6
  85. package/src/types/algorithms.ts +5 -0
  86. package/src/types/betweenness.ts +38 -0
  87. package/src/wgsl/bc-backward.wgsl.ts +33 -0
  88. package/src/wgsl/bc-edge-gather.wgsl.ts +35 -0
  89. package/src/wgsl/bc-finalize.wgsl.ts +46 -0
  90. package/src/wgsl/bc-forward-edge.wgsl.ts +75 -0
  91. package/src/wgsl/bc-forward.wgsl.ts +105 -0
  92. package/src/wgsl/bc-gather.wgsl.ts +19 -0
  93. package/src/wgsl/closeness-reduce.wgsl.ts +8 -4
  94. package/src/wgsl/closeness-sweep.wgsl.ts +12 -2
  95. package/dist/chunks/context-Bi6AhScG.js.map +0 -1
package/README.md CHANGED
@@ -127,25 +127,25 @@ caller re-issues its pins with a mask over the new index space), and the simulat
127
127
  `createForceAtlas2(ctx, options)` and `accelerator.forceAtlas2(options)` take `ForceAtlas2Options` (the same
128
128
  names and defaults as the CPU port in `@graphty/layout`) plus the GPU tuning:
129
129
 
130
- | Option | Default | Meaning |
131
- | --------------------------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
132
- | `dim` | `2` | `2` or `3`; in 2D every readback writes `z = center[2]` whatever was uploaded |
133
- | `scale`, `center` | `1`, `[0, 0, 0]` | scene units = layout units x `scale` + `center` |
134
- | `seed` | `null` | the LCG seed of the NaN rows (the CPU port's generator, bit for bit); `0` / `null` draws a random seed |
135
- | `maxIter` | `100` | `run()` stops and `settled` turns true after this many iterations since `load()` / `reheat()` |
136
- | `jitterTolerance` | `1` | the speed controller's tolerance |
137
- | `scalingRatio` | `2` | the repulsion constant |
138
- | `gravity` | `1` | toward the centroid (`compat: "paper"`) or the origin (`compat: "networkx"`) |
139
- | `strongGravity` | `false` | gravity proportional to the distance |
140
- | `distributedAction` | `false` | attraction divided by the source's mass |
141
- | `linlog` | `false` | logarithmic attraction |
142
- | `nodeMass` | `null` | `null`: the node column with the role `mass` when present, else `outDegree + 1`; a `Float32Array` of length n; a numeric node column name (a `Record` is `E_UNSUPPORTED`) |
143
- | `nodeSize` | `null` | `E_UNSUPPORTED` when non-null (no overlap prevention) |
144
- | `weight` | unset | `true`: the snapshot's arc weights; an edge column name: that numeric column; unset / `false` / `null`: every edge weighs 1 |
145
- | `dissuadeHubs` | `false` | accepted and ignored |
146
- | `settleThreshold`, `settleWindow` | `0.001`, `10` | settled when the mean displacement stayed below `settleThreshold x rmsRadius` AND below an absolute floor (a fraction of the model's length unit: 0.003 `springLength` x (2000 / n)^(1/4) for spring-electrical, 0.002 `k` for Fruchterman-Reingold; ForceAtlas2 has none) for `settleWindow` iterations |
147
- | `iterationsPerStep` | `1` | iterations per `step()` (the Node `run()` uses its own `batch`) |
148
- | `maxInFlight` | `2` | batches in flight before `step()` coalesces; `1` for the strictest freshness |
130
+ | Option | Default | Meaning |
131
+ | --------------------------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
132
+ | `dim` | `2` | `2` or `3`; in 2D every readback writes `z = center[2]` whatever was uploaded |
133
+ | `scale`, `center` | `1`, `[0, 0, 0]` | scene units = layout units x `scale` + `center` |
134
+ | `seed` | `null` | the LCG seed of the NaN rows (the CPU port's generator, bit for bit); `0` / `null` draws a random seed |
135
+ | `maxIter` | `100` | `run()` stops and `settled` turns true after this many iterations since `load()` / `reheat()` |
136
+ | `jitterTolerance` | `1` | the speed controller's tolerance |
137
+ | `scalingRatio` | `2` | the repulsion constant |
138
+ | `gravity` | `1` | toward the centroid (`compat: "paper"`) or the origin (`compat: "networkx"`) |
139
+ | `strongGravity` | `false` | gravity proportional to the distance |
140
+ | `distributedAction` | `false` | attraction divided by the source's mass |
141
+ | `linlog` | `false` | logarithmic attraction |
142
+ | `nodeMass` | `null` | `null`: the node column with the role `mass` when present, else `outDegree + 1`; a `Float32Array` of length n; a numeric node column name (a `Record` is `E_UNSUPPORTED`) |
143
+ | `nodeSize` | `null` | `E_UNSUPPORTED` when non-null (no overlap prevention) |
144
+ | `weight` | unset | `true`: the snapshot's arc weights; an edge column name: that numeric column; unset / `false` / `null`: every edge weighs 1 |
145
+ | `dissuadeHubs` | `false` | accepted and ignored |
146
+ | `settleThreshold`, `settleWindow` | `0.001`, `10` | settled when the mean displacement stayed below `settleThreshold x rmsRadius` AND below an absolute floor (a fraction of the model's length unit: 0.003 `springLength` x (2000 / n)^(1/4) for spring-electrical, 0.002 `k` for Fruchterman-Reingold; ForceAtlas2 has none) for `settleWindow` iterations |
147
+ | `iterationsPerStep` | `1` | iterations per `step()` (the Node `run()` uses its own `batch`) |
148
+ | `maxInFlight` | `2` | batches in flight before `step()` coalesces; `1` for the strictest freshness |
149
149
 
150
150
  GPU tuning (`GpuLayoutTuning`; also the `layout` field of `createAccelerator`'s options, inherited by every
151
151
  simulation the accelerator creates):
@@ -695,39 +695,39 @@ never relaxed silently.
695
695
 
696
696
  <!-- targets-table:nvidia-lovelace-driver580 -->
697
697
 
698
- Generated by `pnpm run bench:readme` from `benchmarks/results/targets.json`. Each figure is the best median the row has recorded, the baseline `bench:compare` pins: Node rows across the 7 session(s) of `benchmarks/results/nvidia-lovelace-driver580.json`, Chromium rows across the 3 of `benchmarks/results/nvidia-lovelace-driver0.json`.
699
-
700
- | Id | What | Target | Measured | Status |
701
- | ---- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ----------- | -------------- |
702
- | T-1 | Upload of the 100k / 1M weighted hot prefix (16.4 MB), Node | <= 10 ms | 5.734 ms | met |
703
- | T-1 | Upload of the 1M / 10M weighted hot prefix (164 MB), Node | <= 100 ms | 122.254 ms | missed (noisy) |
704
- | T-2 | `degree` + 400 KB readback at 100k (core resident), Node | <= 2 ms | 0.838 ms | met |
705
- | T-3 | Empty submit + 4-byte `readU32` round trip, Dawn in Node | <= 0.1 ms | 0.062 ms | met |
706
- | T-3 | Empty submit + 4-byte `readU32` round trip, Chromium (the <= 0.1 ms target is Dawn's) | recorded | 0.170 ms | recorded |
707
- | T-4 | ForceAtlas2 exact tier, GPU time per iteration (profiler) at 10k | <= 1 ms | 0.586 ms | met |
708
- | T-4 | ForceAtlas2 exact tier, GPU time per iteration (profiler) at 16k | <= 2 ms | 1.052 ms | met |
709
- | T-5 | ForceAtlas2 per-frame cost, `step(1)` + the 12n readback at 10k, Chromium | <= 6 ms | 2.400 ms | met |
710
- | T-5 | ForceAtlas2 per-frame cost, `step(1)` + the 12n readback at 10k, Node | recorded | 0.713 ms | recorded |
711
- | T-5 | ForceAtlas2 per-frame cost, `step(1)` + the 12n readback at 100k on the grid tier, Chromium | <= 12 ms | 3.700 ms | met |
712
- | T-5 | ForceAtlas2 per-frame cost, `step(1)` + the 12n readback at 100k on the grid tier, Node | recorded | 1.769 ms | recorded |
713
- | T-6 | ForceAtlas2 grid tier, GPU time per iteration (profiler) at 100k 2D | <= 10 ms | 0.574 ms | met |
714
- | T-6 | ForceAtlas2 grid tier, GPU time per iteration (profiler) at 1M 2D | <= 100 ms | 5.303 ms | met |
715
- | T-6 | ForceAtlas2 grid tier, GPU time per iteration (profiler) at 100k 3D | <= 20 ms | 1.279 ms | met |
716
- | T-7 | Attraction gather (the `fa2-attraction` pass of the grid tier), GPU time per iteration (profiler) at 1M / 10M | <= 15 ms | 1.475 ms | met |
717
- | T-8 | PageRank, 100 iterations, wall end to end including the upload, at 100k / 1M | <= 150 ms | 17.204 ms | met |
718
- | T-8 | PageRank, 100 iterations, wall end to end including the upload, at 1M / 10M | <= 1500 ms | 197.154 ms | met |
719
- | T-9 | Weakly connected components (Afforest), wall end to end including the upload and the label readback, at 1M / 10M | <= 100 ms | 140.984 ms | missed |
720
- | T-9 | Weakly connected components (Afforest), wall end to end including the upload and the label readback, at 100k / 1M | recorded | 12.613 ms | recorded |
721
- | T-14 | Fruchterman-Reingold exact tier, GPU time per iteration (profiler) at 10k | recorded | 0.566 ms | recorded |
722
- | T-14 | Fruchterman-Reingold exact tier, GPU time per iteration (profiler) at 100k (`repulsion: "exact"`) | recorded | 16.322 ms | recorded |
723
- | T-14 | Spring-electrical preset, GPU time per iteration (profiler) at 10k | recorded | 0.648 ms | recorded |
724
- | T-14 | Spring-electrical preset, GPU time per iteration (profiler) at 100k (`repulsion: "exact"`) | recorded | 18.154 ms | recorded |
725
- | T-10 | BFS direction-optimizing (`breadthFirstSearch`), wall end to end including the upload, from node 0 of the undirected RMAT at 1M / 10M (a contract on the dev box only) | <= 100 ms | 237.388 ms | missed |
726
- | T-10 | BFS top-down, the same traversal at 1M / 10M | recorded | 233.064 ms | recorded |
727
- | T-10 | BFS direction-optimizing, the same traversal at 100k / 1M | recorded | 101.183 ms | recorded |
728
- | T-10 | BFS on the 1000 x 1000 grid from a corner (1,999 levels), wall including the upload (a contract on the dev box only) | <= 1500 ms | 5680.192 ms | missed |
729
- | T-10 | `sssp` (the near-far queue), wall end to end including the upload, random f32 weights in [0.1, 10), at 1M / 10M | recorded | 310.351 ms | recorded |
730
- | T-10 | `sssp`, the same run at 100k / 1M | recorded | 118.064 ms | recorded |
698
+ Generated by `pnpm run bench:readme` from `benchmarks/results/targets.json`. Each figure is the best median the row has recorded, the baseline `bench:compare` pins: Node rows across the 8 session(s) of `benchmarks/results/nvidia-lovelace-driver580.json`, Chromium rows across the 3 of `benchmarks/results/nvidia-lovelace-driver0.json`.
699
+
700
+ | Id | What | Target | Measured | Status |
701
+ | ---- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ---------- | -------- |
702
+ | T-1 | Upload of the 100k / 1M weighted hot prefix (16.4 MB), Node | <= 10 ms | 5.734 ms | met |
703
+ | T-1 | Upload of the 1M / 10M weighted hot prefix (164 MB), Node | <= 100 ms | 74.110 ms | met |
704
+ | T-2 | `degree` + 400 KB readback at 100k (core resident), Node | <= 2 ms | 0.256 ms | met |
705
+ | T-3 | Empty submit + 4-byte `readU32` round trip, Dawn in Node | <= 0.1 ms | 0.037 ms | met |
706
+ | T-3 | Empty submit + 4-byte `readU32` round trip, Chromium (the <= 0.1 ms target is Dawn's) | recorded | 0.170 ms | recorded |
707
+ | T-4 | ForceAtlas2 exact tier, GPU time per iteration (profiler) at 10k | <= 1 ms | 0.586 ms | met |
708
+ | T-4 | ForceAtlas2 exact tier, GPU time per iteration (profiler) at 16k | <= 2 ms | 1.052 ms | met |
709
+ | T-5 | ForceAtlas2 per-frame cost, `step(1)` + the 12n readback at 10k, Chromium | <= 6 ms | 2.400 ms | met |
710
+ | T-5 | ForceAtlas2 per-frame cost, `step(1)` + the 12n readback at 10k, Node | recorded | 0.713 ms | recorded |
711
+ | T-5 | ForceAtlas2 per-frame cost, `step(1)` + the 12n readback at 100k on the grid tier, Chromium | <= 12 ms | 3.700 ms | met |
712
+ | T-5 | ForceAtlas2 per-frame cost, `step(1)` + the 12n readback at 100k on the grid tier, Node | recorded | 1.769 ms | recorded |
713
+ | T-6 | ForceAtlas2 grid tier, GPU time per iteration (profiler) at 100k 2D | <= 10 ms | 0.553 ms | met |
714
+ | T-6 | ForceAtlas2 grid tier, GPU time per iteration (profiler) at 1M 2D | <= 100 ms | 5.303 ms | met |
715
+ | T-6 | ForceAtlas2 grid tier, GPU time per iteration (profiler) at 100k 3D | <= 20 ms | 1.279 ms | met |
716
+ | T-7 | Attraction gather (the `fa2-attraction` pass of the grid tier), GPU time per iteration (profiler) at 1M / 10M | <= 15 ms | 1.475 ms | met |
717
+ | T-8 | PageRank, 100 iterations, wall end to end including the upload, at 100k / 1M | <= 150 ms | 17.204 ms | met |
718
+ | T-8 | PageRank, 100 iterations, wall end to end including the upload, at 1M / 10M | <= 1500 ms | 197.154 ms | met |
719
+ | T-9 | Weakly connected components (Afforest), wall end to end including the upload and the label readback, at 1M / 10M | <= 100 ms | 138.425 ms | missed |
720
+ | T-9 | Weakly connected components (Afforest), wall end to end including the upload and the label readback, at 100k / 1M | recorded | 12.613 ms | recorded |
721
+ | T-14 | Fruchterman-Reingold exact tier, GPU time per iteration (profiler) at 10k | recorded | 0.566 ms | recorded |
722
+ | T-14 | Fruchterman-Reingold exact tier, GPU time per iteration (profiler) at 100k (`repulsion: "exact"`) | recorded | 16.322 ms | recorded |
723
+ | T-14 | Spring-electrical preset, GPU time per iteration (profiler) at 10k | recorded | 0.648 ms | recorded |
724
+ | T-14 | Spring-electrical preset, GPU time per iteration (profiler) at 100k (`repulsion: "exact"`) | recorded | 18.154 ms | recorded |
725
+ | T-10 | BFS direction-optimizing (`breadthFirstSearch`), wall end to end including the upload, from node 0 of the undirected RMAT at 1M / 10M (a contract on the dev box only) | <= 100 ms | 89.706 ms | met |
726
+ | T-10 | BFS top-down, the same traversal at 1M / 10M | recorded | 97.061 ms | recorded |
727
+ | T-10 | BFS direction-optimizing, the same traversal at 100k / 1M | recorded | 12.837 ms | recorded |
728
+ | T-10 | BFS on the 1000 x 1000 grid from a corner (1,999 levels), wall including the upload (a contract on the dev box only) | <= 1500 ms | 425.858 ms | met |
729
+ | T-10 | `sssp` (the near-far queue), wall end to end including the upload, random f32 weights in [0.1, 10), at 1M / 10M | recorded | 266.241 ms | recorded |
730
+ | T-10 | `sssp`, the same run at 100k / 1M | recorded | 47.421 ms | recorded |
731
731
 
732
732
  <!-- /targets-table:nvidia-lovelace-driver580 -->
733
733
 
package/dist/browser.js CHANGED
@@ -1,4 +1,4 @@
1
- import { G as GpuContext, W as WebGpuGraphError } from "./chunks/context-Bi6AhScG.js";
1
+ import { G as GpuContext, W as WebGpuGraphError } from "./chunks/context-oXphO3yj.js";
2
2
  function navigatorGpu() {
3
3
  if (typeof navigator === "undefined") {
4
4
  return void 0;
@@ -102,6 +102,10 @@ const FUSED_FRONTIER_MAX = 4096;
102
102
  const BEAMER_BETA = 24;
103
103
  const SSSP_DELTA_FACTOR = 32;
104
104
  const F32_INF_BITS = 2139095040;
105
+ const BC_BATCH_BUDGET_FRACTION = 0.25;
106
+ const BC_MAX_BATCH = 64;
107
+ const BC_EDGE_PARALLEL_GAMMA = 2;
108
+ const BC_BACKWARD_LEVELS_PER_SUBMIT = 64;
105
109
  const PASSTHROUGH_FORMAT_CODES = Object.freeze(["E_GPU_INELIGIBLE", "E_UNKNOWN_NODE", "E_UNKNOWN_COLUMN", "E_COLUMN_LENGTH"]);
106
110
  const EMPTY_DETAILS = Object.freeze({});
107
111
  class WebGpuGraphError extends Error {
@@ -3513,28 +3517,32 @@ class GpuContext {
3513
3517
  }
3514
3518
  }
3515
3519
  export {
3516
- FR_DEFAULTS as A,
3520
+ FR_START_TEMPERATURE as A,
3517
3521
  BufferUsage as B,
3518
- SE_DEFAULTS as C,
3519
- SETTLE_FLOOR_REFERENCE_NODES as D,
3522
+ FA2_FLAG_ADAPTIVE as C,
3523
+ SETTLE_FLOOR_FRACTION as D,
3520
3524
  EXACT_TILES_PER_PASS as E,
3521
3525
  FUSED_FRONTIER_MAX as F,
3522
3526
  GpuContext as G,
3523
- SE_SCALE_REFERENCE_NODES as H,
3527
+ FR_REHEAT_FRACTION as H,
3524
3528
  INDIRECT_ARGS_STRIDE as I,
3525
- ARC_WINDOW_ALIGN as J,
3526
- PASSTHROUGH_FORMAT_CODES as K,
3529
+ FR_DEFAULTS as J,
3530
+ SE_DEFAULTS as K,
3527
3531
  LAYOUT_TUNING_DEFAULTS as L,
3528
3532
  MAX_WORKGROUPS_PER_DIM as M,
3529
- STORAGE_ALIGN as N,
3530
- WORKGROUP_SIZE as O,
3533
+ SETTLE_FLOOR_REFERENCE_NODES as N,
3534
+ SE_SCALE_REFERENCE_NODES as O,
3531
3535
  PARTIAL_BYTES as P,
3532
- isSoftwareAdapter as Q,
3536
+ ARC_WINDOW_ALIGN as Q,
3533
3537
  RADIX_BINS as R,
3534
3538
  STATE_HEADER_BYTES as S,
3535
3539
  TRACE_RECORD_BYTES as T,
3536
3540
  UNIFORM_SLOT_BYTES as U,
3541
+ PASSTHROUGH_FORMAT_CODES as V,
3537
3542
  WebGpuGraphError as W,
3543
+ STORAGE_ALIGN as X,
3544
+ WORKGROUP_SIZE as Y,
3545
+ isSoftwareAdapter as Z,
3538
3546
  WGSL_RESERVED_WORDS as a,
3539
3547
  U32_MAX as b,
3540
3548
  MAX_LEVELS_PER_SUBMIT as c,
@@ -3542,24 +3550,24 @@ export {
3542
3550
  BEAMER_BETA as e,
3543
3551
  SSSP_DELTA_FACTOR as f,
3544
3552
  F32_INF_BITS as g,
3545
- GRID_COARSEST_SIDE as h,
3553
+ BC_EDGE_PARALLEL_GAMMA as h,
3546
3554
  isWebGpuGraphError as i,
3547
- GRID_MIN_SIDE as j,
3548
- GRID_SORT_BITS as k,
3549
- FA2_DEFAULTS as l,
3550
- MAX_ITERATIONS_PER_STEP as m,
3551
- MAX_1D_ITEMS as n,
3552
- hasErrorCode as o,
3553
- FA2_FLAG_FIRST as p,
3554
- GRID_HUB_CELL as q,
3555
- EXACT_MAX_NODES as r,
3556
- SETTLE_FLOOR_UNBOUNDED as s,
3557
- GRID_BBOX_MARGIN as t,
3558
- GRID_EXTENT_FLOOR as u,
3559
- FR_ADAPTIVE_MAX_ITERATIONS as v,
3560
- FR_START_TEMPERATURE as w,
3561
- FA2_FLAG_ADAPTIVE as x,
3562
- SETTLE_FLOOR_FRACTION as y,
3563
- FR_REHEAT_FRACTION as z
3555
+ BC_BATCH_BUDGET_FRACTION as j,
3556
+ BC_MAX_BATCH as k,
3557
+ BC_BACKWARD_LEVELS_PER_SUBMIT as l,
3558
+ GRID_COARSEST_SIDE as m,
3559
+ GRID_MIN_SIDE as n,
3560
+ GRID_SORT_BITS as o,
3561
+ FA2_DEFAULTS as p,
3562
+ MAX_ITERATIONS_PER_STEP as q,
3563
+ MAX_1D_ITEMS as r,
3564
+ hasErrorCode as s,
3565
+ FA2_FLAG_FIRST as t,
3566
+ GRID_HUB_CELL as u,
3567
+ EXACT_MAX_NODES as v,
3568
+ SETTLE_FLOOR_UNBOUNDED as w,
3569
+ GRID_BBOX_MARGIN as x,
3570
+ GRID_EXTENT_FLOOR as y,
3571
+ FR_ADAPTIVE_MAX_ITERATIONS as z
3564
3572
  };
3565
- //# sourceMappingURL=context-Bi6AhScG.js.map
3573
+ //# sourceMappingURL=context-oXphO3yj.js.map