@graphty/webgpu-graph-algorithms 0.6.24 → 0.6.26
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.
- package/LICENSE +1 -1
- package/dist/browser.js +1 -1
- package/dist/chunks/{context-B40Z6lV_.js → context-BZY6SMsM.js} +41 -35
- package/dist/chunks/context-BZY6SMsM.js.map +1 -0
- package/dist/node.js +1 -1
- package/dist/src/algorithms/betweenness.d.ts +24 -9
- package/dist/src/algorithms/betweenness.d.ts.map +1 -1
- package/dist/src/algorithms/betweenness.js +105 -39
- package/dist/src/algorithms/betweenness.js.map +1 -1
- package/dist/src/constants.d.ts +11 -0
- package/dist/src/constants.d.ts.map +1 -1
- package/dist/src/constants.js +11 -0
- package/dist/src/constants.js.map +1 -1
- package/dist/src/kernel/prelude.d.ts.map +1 -1
- package/dist/src/kernel/prelude.js +4 -1
- package/dist/src/kernel/prelude.js.map +1 -1
- package/dist/src/kernels.d.ts +4 -4
- package/dist/src/kernels.d.ts.map +1 -1
- package/dist/src/kernels.js +43 -13
- package/dist/src/kernels.js.map +1 -1
- package/dist/src/layouts/seed.d.ts +3 -1
- package/dist/src/layouts/seed.d.ts.map +1 -1
- package/dist/src/layouts/seed.js +10 -1
- package/dist/src/layouts/seed.js.map +1 -1
- package/dist/src/types/betweenness.d.ts +5 -2
- package/dist/src/types/betweenness.d.ts.map +1 -1
- package/dist/src/wgsl/bc-backward.wgsl.d.ts +5 -2
- package/dist/src/wgsl/bc-backward.wgsl.d.ts.map +1 -1
- package/dist/src/wgsl/bc-backward.wgsl.js +12 -3
- package/dist/src/wgsl/bc-backward.wgsl.js.map +1 -1
- package/dist/src/wgsl/bc-count.wgsl.d.ts +22 -0
- package/dist/src/wgsl/bc-count.wgsl.d.ts.map +1 -0
- package/dist/src/wgsl/bc-count.wgsl.js +46 -0
- package/dist/src/wgsl/bc-count.wgsl.js.map +1 -0
- package/dist/src/wgsl/bc-edge-gather.wgsl.d.ts +3 -2
- package/dist/src/wgsl/bc-edge-gather.wgsl.d.ts.map +1 -1
- package/dist/src/wgsl/bc-edge-gather.wgsl.js +10 -2
- package/dist/src/wgsl/bc-edge-gather.wgsl.js.map +1 -1
- package/dist/src/wgsl/bc-finalize.wgsl.d.ts +4 -3
- package/dist/src/wgsl/bc-finalize.wgsl.d.ts.map +1 -1
- package/dist/src/wgsl/bc-finalize.wgsl.js +5 -3
- package/dist/src/wgsl/bc-finalize.wgsl.js.map +1 -1
- package/dist/src/wgsl/bc-forward-edge.wgsl.d.ts +2 -2
- package/dist/src/wgsl/bc-forward-edge.wgsl.js +2 -2
- package/dist/src/wgsl/bc-forward.wgsl.d.ts +4 -2
- package/dist/src/wgsl/bc-forward.wgsl.d.ts.map +1 -1
- package/dist/src/wgsl/bc-forward.wgsl.js +4 -2
- package/dist/src/wgsl/bc-forward.wgsl.js.map +1 -1
- package/dist/webgpu-graph-algorithms.js +176 -47
- package/dist/webgpu-graph-algorithms.js.map +1 -1
- package/package.json +3 -3
- package/src/algorithms/betweenness.ts +155 -48
- package/src/constants.ts +11 -0
- package/src/kernel/prelude.ts +4 -0
- package/src/kernels.ts +45 -13
- package/src/layouts/seed.ts +10 -1
- package/src/types/betweenness.ts +5 -2
- package/src/wgsl/bc-backward.wgsl.ts +12 -3
- package/src/wgsl/bc-count.wgsl.ts +45 -0
- package/src/wgsl/bc-edge-gather.wgsl.ts +10 -2
- package/src/wgsl/bc-finalize.wgsl.ts +5 -3
- package/src/wgsl/bc-forward-edge.wgsl.ts +2 -2
- package/src/wgsl/bc-forward.wgsl.ts +4 -2
- package/dist/chunks/context-B40Z6lV_.js.map +0 -1
package/LICENSE
CHANGED
package/dist/browser.js
CHANGED
|
@@ -105,6 +105,8 @@ const F32_INF_BITS = 2139095040;
|
|
|
105
105
|
const BC_BATCH_BUDGET_FRACTION = 0.25;
|
|
106
106
|
const BC_MAX_BATCH = 64;
|
|
107
107
|
const BC_EDGE_PARALLEL_GAMMA = 2;
|
|
108
|
+
const BC_SIGMA_EXPONENT_CAP = 100;
|
|
109
|
+
const BC_COUNT_MAX_GROUPS = 256;
|
|
108
110
|
const BC_BACKWARD_LEVELS_PER_SUBMIT = 64;
|
|
109
111
|
const APSP_TILE = 32;
|
|
110
112
|
const APSP_MAX_DISPATCHES_PER_SUBMIT = 4096;
|
|
@@ -940,6 +942,7 @@ const RADIX_DIGIT_MASK: u32 = ${RADIX_BINS - 1}u;
|
|
|
940
942
|
const APSP_TILE: u32 = ${APSP_TILE}u;
|
|
941
943
|
const GROUP_HASH_LOAD_FACTOR: u32 = ${GROUP_HASH_LOAD_FACTOR}u;
|
|
942
944
|
const TRIANGLE_BINARY_SEARCH_RATIO: u32 = ${TRIANGLE_BINARY_SEARCH_RATIO}u;
|
|
945
|
+
const BC_SIGMA_EXPONENT_CAP: i32 = ${BC_SIGMA_EXPONENT_CAP}i;
|
|
943
946
|
const F32_MAX: f32 = 0x1.fffffep+127;
|
|
944
947
|
override WG: u32 = ${WORKGROUP_SIZE}u;
|
|
945
948
|
override USE_PERM: bool = false;
|
|
@@ -949,6 +952,8 @@ override SUBGROUP_MAX: u32 = 0u;
|
|
|
949
952
|
|
|
950
953
|
fn linear_id(wid: vec3<u32>, lid: u32) -> u32 { return (wid.x + wid.y * MAX_WORKGROUPS_PER_DIM) * WG + lid; }
|
|
951
954
|
fn group_id(wid: vec3<u32>) -> u32 { return wid.x + wid.y * MAX_WORKGROUPS_PER_DIM; }
|
|
955
|
+
// betweenness: the power of two the counts of depth L + 1 are divided by, from the f32 bits of depth L's largest count
|
|
956
|
+
fn sigma_shift(maxBits: u32) -> i32 { return max(0i, i32((maxBits >> 23u) & 0xffu) - 127i - BC_SIGMA_EXPONENT_CAP); }
|
|
952
957
|
fn lowbias32(x0: u32) -> u32 {
|
|
953
958
|
var x = x0;
|
|
954
959
|
x = x ^ (x >> 16u);
|
|
@@ -3545,41 +3550,42 @@ class GpuContext {
|
|
|
3545
3550
|
}
|
|
3546
3551
|
}
|
|
3547
3552
|
export {
|
|
3548
|
-
|
|
3553
|
+
SE_DEFAULTS as $,
|
|
3549
3554
|
APSP_MAX_DISPATCHES_PER_SUBMIT as A,
|
|
3550
3555
|
BufferUsage as B,
|
|
3551
|
-
|
|
3552
|
-
|
|
3556
|
+
PARTIAL_BYTES as C,
|
|
3557
|
+
GRID_HUB_CELL as D,
|
|
3553
3558
|
EXACT_TILES_PER_PASS as E,
|
|
3554
3559
|
FUSED_FRONTIER_MAX as F,
|
|
3555
3560
|
GpuContext as G,
|
|
3556
|
-
|
|
3561
|
+
LAYOUT_TUNING_DEFAULTS as H,
|
|
3557
3562
|
INDIRECT_ARGS_STRIDE as I,
|
|
3558
|
-
|
|
3559
|
-
|
|
3563
|
+
EXACT_MAX_NODES as J,
|
|
3564
|
+
SETTLE_FLOOR_UNBOUNDED as K,
|
|
3560
3565
|
LABEL_PROP_PASSES_PER_SUBMIT as L,
|
|
3561
3566
|
MAX_WORKGROUPS_PER_DIM as M,
|
|
3562
|
-
|
|
3563
|
-
|
|
3567
|
+
GRID_BBOX_MARGIN as N,
|
|
3568
|
+
GRID_EXTENT_FLOOR as O,
|
|
3564
3569
|
PARALLEL_MERGE_LIMIT as P,
|
|
3565
|
-
|
|
3570
|
+
FR_ADAPTIVE_MAX_ITERATIONS as Q,
|
|
3566
3571
|
RADIX_BINS as R,
|
|
3567
3572
|
STATE_HEADER_BYTES as S,
|
|
3568
3573
|
TRACE_RECORD_BYTES as T,
|
|
3569
3574
|
UNIFORM_SLOT_BYTES as U,
|
|
3570
|
-
|
|
3575
|
+
FR_START_TEMPERATURE as V,
|
|
3571
3576
|
WebGpuGraphError as W,
|
|
3572
|
-
|
|
3573
|
-
|
|
3574
|
-
|
|
3575
|
-
|
|
3577
|
+
FA2_FLAG_ADAPTIVE as X,
|
|
3578
|
+
SETTLE_FLOOR_FRACTION as Y,
|
|
3579
|
+
FR_REHEAT_FRACTION as Z,
|
|
3580
|
+
FR_DEFAULTS as _,
|
|
3576
3581
|
WGSL_RESERVED_WORDS as a,
|
|
3577
|
-
|
|
3578
|
-
|
|
3579
|
-
|
|
3580
|
-
|
|
3581
|
-
|
|
3582
|
-
|
|
3582
|
+
SETTLE_FLOOR_REFERENCE_NODES as a0,
|
|
3583
|
+
SE_SCALE_REFERENCE_NODES as a1,
|
|
3584
|
+
ARC_WINDOW_ALIGN as a2,
|
|
3585
|
+
PASSTHROUGH_FORMAT_CODES as a3,
|
|
3586
|
+
STORAGE_ALIGN as a4,
|
|
3587
|
+
WORKGROUP_SIZE as a5,
|
|
3588
|
+
isSoftwareAdapter as a6,
|
|
3583
3589
|
U32_MAX as b,
|
|
3584
3590
|
MAX_LEVELS_PER_SUBMIT as c,
|
|
3585
3591
|
deviceLostError as d,
|
|
@@ -3591,19 +3597,19 @@ export {
|
|
|
3591
3597
|
BC_BATCH_BUDGET_FRACTION as j,
|
|
3592
3598
|
BC_MAX_BATCH as k,
|
|
3593
3599
|
BC_BACKWARD_LEVELS_PER_SUBMIT as l,
|
|
3594
|
-
|
|
3595
|
-
|
|
3596
|
-
|
|
3597
|
-
|
|
3598
|
-
|
|
3599
|
-
|
|
3600
|
-
|
|
3601
|
-
|
|
3602
|
-
|
|
3603
|
-
|
|
3604
|
-
|
|
3605
|
-
|
|
3606
|
-
|
|
3607
|
-
|
|
3600
|
+
BC_COUNT_MAX_GROUPS as m,
|
|
3601
|
+
APSP_TILE as n,
|
|
3602
|
+
GROUP_ROW_THREAD_MAX as o,
|
|
3603
|
+
GROUP_ROW_THREAD_LIMIT as p,
|
|
3604
|
+
GROUP_HASH_LOAD_FACTOR as q,
|
|
3605
|
+
BORUVKA_ROUNDS_PER_SUBMIT as r,
|
|
3606
|
+
GRID_COARSEST_SIDE as s,
|
|
3607
|
+
GRID_MIN_SIDE as t,
|
|
3608
|
+
GRID_SORT_BITS as u,
|
|
3609
|
+
FA2_DEFAULTS as v,
|
|
3610
|
+
MAX_ITERATIONS_PER_STEP as w,
|
|
3611
|
+
MAX_1D_ITEMS as x,
|
|
3612
|
+
hasErrorCode as y,
|
|
3613
|
+
FA2_FLAG_FIRST as z
|
|
3608
3614
|
};
|
|
3609
|
-
//# sourceMappingURL=context-
|
|
3615
|
+
//# sourceMappingURL=context-BZY6SMsM.js.map
|