@graphty/webgpu-graph-algorithms 0.6.6 → 0.6.8
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/dist/browser.js +1 -1
- package/dist/chunks/{context-DiSr6eiz.js → context-Cezi7qpi.js} +15 -5
- package/dist/chunks/{context-DiSr6eiz.js.map → context-Cezi7qpi.js.map} +1 -1
- package/dist/node.js +19 -11
- package/dist/node.js.map +1 -1
- package/dist/src/algorithms/pagerank.d.ts.map +1 -1
- package/dist/src/algorithms/pagerank.js +19 -5
- package/dist/src/algorithms/pagerank.js.map +1 -1
- package/dist/src/algorithms/power-iteration.d.ts.map +1 -1
- package/dist/src/algorithms/power-iteration.js +8 -2
- package/dist/src/algorithms/power-iteration.js.map +1 -1
- package/dist/src/memory/residency.js +14 -4
- package/dist/src/memory/residency.js.map +1 -1
- package/dist/src/node/index.d.ts +13 -8
- package/dist/src/node/index.d.ts.map +1 -1
- package/dist/src/node/index.js +36 -17
- package/dist/src/node/index.js.map +1 -1
- package/dist/webgpu-graph-algorithms.js +22 -7
- package/dist/webgpu-graph-algorithms.js.map +1 -1
- package/package.json +5 -4
- package/src/node/index.ts +42 -18
package/dist/node.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { W as WebGpuGraphError, G as GpuContext } from "./chunks/context-
|
|
1
|
+
import { W as WebGpuGraphError, G as GpuContext } from "./chunks/context-Cezi7qpi.js";
|
|
2
2
|
const INSTALL_HINT = "install the optional peer dependency webgpu@0.4.0";
|
|
3
|
+
const instances = /* @__PURE__ */ new Map();
|
|
3
4
|
function isDawnModule(loaded) {
|
|
4
5
|
return typeof loaded === "object" && loaded !== null && typeof loaded.create === "function";
|
|
5
6
|
}
|
|
@@ -67,12 +68,22 @@ async function createNodeGpu(options) {
|
|
|
67
68
|
if (options?.installGlobals !== false && typeof loaded.globals === "object" && loaded.globals !== null) {
|
|
68
69
|
Object.assign(globalThis, loaded.globals);
|
|
69
70
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
71
|
+
const flags = dawnFlags(options);
|
|
72
|
+
const key = flags.join("\n");
|
|
73
|
+
let byFlags = instances.get(loaded);
|
|
74
|
+
if (byFlags === void 0) {
|
|
75
|
+
byFlags = /* @__PURE__ */ new Map();
|
|
76
|
+
instances.set(loaded, byFlags);
|
|
77
|
+
}
|
|
78
|
+
let gpu = byFlags.get(key);
|
|
79
|
+
if (gpu === void 0) {
|
|
80
|
+
try {
|
|
81
|
+
gpu = loaded.create(flags);
|
|
82
|
+
} catch (err) {
|
|
83
|
+
const reason = `dawn.create() threw: ${messageOf(err)}`;
|
|
84
|
+
throw new WebGpuGraphError("E_NO_WEBGPU", `${reason}; ${INSTALL_HINT}`, { reason, hint: INSTALL_HINT });
|
|
85
|
+
}
|
|
86
|
+
byFlags.set(key, gpu);
|
|
76
87
|
}
|
|
77
88
|
return new DawnHandle(gpu);
|
|
78
89
|
}
|
|
@@ -97,11 +108,8 @@ async function createNodeGpuContext(options) {
|
|
|
97
108
|
handle.dispose();
|
|
98
109
|
throw err;
|
|
99
110
|
}
|
|
100
|
-
const { lost } = ctx;
|
|
101
111
|
ctx.attachDisposer(() => {
|
|
102
|
-
|
|
103
|
-
handle.dispose();
|
|
104
|
-
});
|
|
112
|
+
handle.dispose();
|
|
105
113
|
});
|
|
106
114
|
return ctx;
|
|
107
115
|
}
|
package/dist/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sources":["../src/node/index.ts"],"sourcesContent":["/// <reference types=\"@webgpu/types\" preserve=\"true\" />\n/**\n * The ./node entry (spec 2.1, 2.3, 3.4; contract 3.7): Dawn through the optional peer dependency `webgpu`. The\n * ONLY file of the package that names the \"webgpu\" module, and only inside `await import(\"webgpu\")` in a\n * function body, so the root and browser bundles never carry the specifier (spec 2.5; test/build-output.test.ts,\n * test/layers.test.ts). P0-T3 wrote createNodeGpu, dawnFlags and their types; P1-T1 adds createNodeGpuContext,\n * probeNodeWebGpu and the `extends Omit<GpuContextOptions, ...>` clause of NodeGpuOptions.\n *\n * Rule of spec 2.5 item 5 (also in CLAUDE.md): \"./node\" is imported only by Node entry points and tests.\n */\n\nimport { GpuContext } from \"../context.js\";\nimport { WebGpuGraphError } from \"../errors.js\";\nimport type { GpuContextOptions, ProbeResult } from \"../types/context.js\";\n\n/** Options of the Node helpers (spec 3.4). */\nexport interface NodeGpuOptions extends Omit<GpuContextOptions, \"gpu\" | \"adapter\" | \"device\" | \"runtime\"> {\n /** Dawn `adapter=<substring>`: a substring of the adapter name (`llvmpipe`, `4070`); an empty string is ignored; wins over `software`. */\n readonly adapter?: string | undefined;\n /** Dawn `backend=<name>`; `null` compiles pipelines and runs nothing (spec 5.1; the compile tests use it). */\n readonly backend?: \"vulkan\" | \"d3d12\" | \"d3d11\" | \"metal\" | \"opengl\" | \"opengles\" | \"null\" | undefined;\n /** Dawn toggles, emitted as `enable-dawn-features=a,b`. */\n readonly dawnFeatures?: readonly string[] | undefined;\n /** Shorthand for `adapter=llvmpipe` (Linux / Mesa specific, spec 2.3); ignored when `adapter` is given. */\n readonly software?: boolean | undefined;\n /** Install dawn.globals on globalThis (default true; spec 2.1 rule 2) so user code sees GPUBufferUsage and friends. */\n readonly installGlobals?: boolean | undefined;\n /**\n * Test seam: replaces `() => import(\"webgpu\")` so a missing / broken module can be simulated.\n * @internal\n */\n readonly loadModule?: (() => Promise<unknown>) | undefined;\n}\n\n/** The Dawn GPU handle (spec 2.3): dispose() drops the reference so the process can exit. */\nexport interface NodeGpuHandle {\n /** The GPU of `dawn.create(flags)`; reading it after dispose() throws E_DISPOSED. */\n readonly gpu: GPU;\n /** Drops the GPU reference; idempotent. */\n dispose(): void;\n}\n\n/** The install hint of E_NO_WEBGPU (spec 2.5 item 4); P-ENV re-pins the version together with the devDependency. */\nconst INSTALL_HINT = \"install the optional peer dependency webgpu@0.4.0\";\n\n/** The shape of the `webgpu` module (its types.d.ts: create(options: string[]): GPU; globals: Object). */\ninterface DawnModule {\n create(options: string[]): GPU;\n globals?: unknown;\n}\n\n/**\n * Whether a loaded module is usable as Dawn.\n * @param loaded - the module namespace\n * @returns true when it has a create() function\n */\nfunction isDawnModule(loaded: unknown): loaded is DawnModule {\n return (\n typeof loaded === \"object\" && loaded !== null && typeof (loaded as { create?: unknown }).create === \"function\"\n );\n}\n\n/**\n * The message of a thrown value.\n * @param err - what was caught\n * @returns the Error message, or the value as a string\n */\nfunction messageOf(err: unknown): string {\n return err instanceof Error ? err.message : String(err);\n}\n\n/** The handle returned by createNodeGpu(): `gpu` is a getter so dispose() can drop the reference. */\nclass DawnHandle implements NodeGpuHandle {\n private ref: GPU | null;\n\n /**\n * Wraps a GPU object.\n * @param gpu - the object dawn.create() returned\n */\n constructor(gpu: GPU) {\n this.ref = gpu;\n }\n\n /**\n * The GPU object; E_DISPOSED after dispose().\n * @returns the GPU object\n */\n get gpu(): GPU {\n if (this.ref === null) {\n throw new WebGpuGraphError(\"E_DISPOSED\", \"the Dawn GPU handle was disposed\", { label: \"NodeGpuHandle\" });\n }\n return this.ref;\n }\n\n /** Drops the reference; idempotent. */\n dispose(): void {\n this.ref = null;\n }\n}\n\n/**\n * The Dawn flag list a NodeGpuOptions maps to (exported for the tests and scripts/gpu-report.js):\n * adapter=<s>, backend=<s>, enable-dawn-features=a,b, and software -> adapter=llvmpipe; an explicit non-empty\n * `adapter` wins over `software`; an empty feature list emits nothing.\n * @param options - the Node options, or undefined for no flags\n * @returns the strings for dawn.create(), in the order adapter, backend, features\n */\nexport function dawnFlags(options: NodeGpuOptions | undefined): string[] {\n const flags: string[] = [];\n if (options === undefined) {\n return flags;\n }\n if (options.adapter !== undefined && options.adapter !== \"\") {\n flags.push(`adapter=${options.adapter}`);\n } else if (options.software === true) {\n flags.push(\"adapter=llvmpipe\");\n }\n if (options.backend !== undefined) {\n flags.push(`backend=${options.backend}`);\n }\n if (options.dawnFeatures !== undefined && options.dawnFeatures.length > 0) {\n flags.push(`enable-dawn-features=${options.dawnFeatures.join(\",\")}`);\n }\n return flags;\n}\n\n/**\n * import(\"webgpu\"), install dawn.globals unless installGlobals === false, dawn.create(flags) (spec 2.3).\n * @param options - adapter / backend / dawnFeatures / software / installGlobals (and the test seam)\n * @returns the handle; `dispose()` drops the GPU reference so the process can exit\n * @throws WebGpuGraphError E_NO_WEBGPU { reason, hint } when the module does not load (missing, or its glibc is too old), has no create(), or create(flags) throws\n */\nexport async function createNodeGpu(options?: NodeGpuOptions): Promise<NodeGpuHandle> {\n const load = options?.loadModule ?? ((): Promise<unknown> => import(\"webgpu\"));\n let loaded: unknown;\n try {\n loaded = await load();\n } catch (err) {\n const reason = messageOf(err);\n throw new WebGpuGraphError(\n \"E_NO_WEBGPU\",\n `the webgpu (Dawn) native module did not load: ${reason}; ${INSTALL_HINT}`,\n { reason, hint: INSTALL_HINT },\n );\n }\n if (!isDawnModule(loaded)) {\n const reason = \"the webgpu module exports no create() function\";\n throw new WebGpuGraphError(\"E_NO_WEBGPU\", `${reason}; ${INSTALL_HINT}`, { reason, hint: INSTALL_HINT });\n }\n if (options?.installGlobals !== false && typeof loaded.globals === \"object\" && loaded.globals !== null) {\n Object.assign(globalThis, loaded.globals);\n }\n let gpu: GPU;\n try {\n gpu = loaded.create(dawnFlags(options));\n } catch (err) {\n const reason = `dawn.create() threw: ${messageOf(err)}`;\n throw new WebGpuGraphError(\"E_NO_WEBGPU\", `${reason}; ${INSTALL_HINT}`, { reason, hint: INSTALL_HINT });\n }\n return new DawnHandle(gpu);\n}\n\n/**\n * The GpuContextOptions part of a NodeGpuOptions, copied key by key so the Node-only `adapter` string never\n * reaches GpuContext.create as a GPUAdapter.\n * @param options - the Node options\n * @returns the context options without gpu / adapter / device / runtime\n */\nfunction contextOptionsOf(options: NodeGpuOptions): Omit<GpuContextOptions, \"gpu\" | \"adapter\" | \"device\" | \"runtime\"> {\n return {\n powerPreference: options.powerPreference,\n rejectSoftware: options.rejectSoftware,\n limits: options.limits,\n optionalFeatures: options.optionalFeatures,\n requiredFeatures: options.requiredFeatures,\n label: options.label,\n onError: options.onError,\n warnUnreleasedSnapshots: options.warnUnreleasedSnapshots,\n };\n}\n\n/**\n * createNodeGpu + GpuContext.create({ gpu, runtime: \"node\", ...options }); ctx.dispose() also disposes the\n * handle, and a create() failure disposes it before rethrowing. The handle is dropped once `ctx.lost` has\n * settled, never before: under webgpu@0.4.0 a GPU object collected while the device it created is still\n * tearing down (its lost / work-done callbacks in flight) crashes or deadlocks the process (PLAN DECISION,\n * P1-T1; measured with tmp/p1t1/gc-race2.mjs), and device.destroy() reports the loss right away.\n * @param options - the Node options\n * @returns the context\n */\nexport async function createNodeGpuContext(options?: NodeGpuOptions): Promise<GpuContext> {\n const handle = await createNodeGpu(options);\n let ctx: GpuContext;\n try {\n ctx = await GpuContext.create({ ...contextOptionsOf(options ?? {}), gpu: handle.gpu, runtime: \"node\" });\n } catch (err) {\n handle.dispose();\n throw err;\n }\n const { lost } = ctx;\n ctx.attachDisposer(() => {\n void lost.then(() => {\n handle.dispose();\n });\n });\n return ctx;\n}\n\n/**\n * createNodeGpu + GpuContext.probe + dispose; never throws (a load failure is { code: \"E_NO_WEBGPU\" }).\n * @param options - the Node options\n * @returns the probe result\n */\nexport async function probeNodeWebGpu(options?: NodeGpuOptions): Promise<ProbeResult> {\n let handle: NodeGpuHandle;\n try {\n handle = await createNodeGpu(options);\n } catch (err) {\n return { ok: false, code: \"E_NO_WEBGPU\", reason: messageOf(err), adapter: null, summary: null };\n }\n try {\n return await GpuContext.probe({\n gpu: handle.gpu,\n powerPreference: options?.powerPreference ?? \"high-performance\",\n rejectSoftware: options?.rejectSoftware,\n });\n } finally {\n handle.dispose();\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"node.js","sources":["../src/node/index.ts"],"sourcesContent":["/// <reference types=\"@webgpu/types\" preserve=\"true\" />\n/**\n * The ./node entry (spec 2.1, 2.3, 3.4; contract 3.7): Dawn through the optional peer dependency `webgpu`. The\n * ONLY file of the package that names the \"webgpu\" module, and only inside `await import(\"webgpu\")` in a\n * function body, so the root and browser bundles never carry the specifier (spec 2.5; test/build-output.test.ts,\n * test/layers.test.ts). P0-T3 wrote createNodeGpu, dawnFlags and their types; P1-T1 adds createNodeGpuContext,\n * probeNodeWebGpu and the `extends Omit<GpuContextOptions, ...>` clause of NodeGpuOptions.\n *\n * Rule of spec 2.5 item 5 (also in CLAUDE.md): \"./node\" is imported only by Node entry points and tests.\n */\n\nimport { GpuContext } from \"../context.js\";\nimport { WebGpuGraphError } from \"../errors.js\";\nimport type { GpuContextOptions, ProbeResult } from \"../types/context.js\";\n\n/** Options of the Node helpers (spec 3.4). */\nexport interface NodeGpuOptions extends Omit<GpuContextOptions, \"gpu\" | \"adapter\" | \"device\" | \"runtime\"> {\n /** Dawn `adapter=<substring>`: a substring of the adapter name (`llvmpipe`, `4070`); an empty string is ignored; wins over `software`. */\n readonly adapter?: string | undefined;\n /** Dawn `backend=<name>`; `null` compiles pipelines and runs nothing (spec 5.1; the compile tests use it). */\n readonly backend?: \"vulkan\" | \"d3d12\" | \"d3d11\" | \"metal\" | \"opengl\" | \"opengles\" | \"null\" | undefined;\n /** Dawn toggles, emitted as `enable-dawn-features=a,b`. */\n readonly dawnFeatures?: readonly string[] | undefined;\n /** Shorthand for `adapter=llvmpipe` (Linux / Mesa specific, spec 2.3); ignored when `adapter` is given. */\n readonly software?: boolean | undefined;\n /** Install dawn.globals on globalThis (default true; spec 2.1 rule 2) so user code sees GPUBufferUsage and friends. */\n readonly installGlobals?: boolean | undefined;\n /**\n * Test seam: replaces `() => import(\"webgpu\")` so a missing / broken module can be simulated.\n * @internal\n */\n readonly loadModule?: (() => Promise<unknown>) | undefined;\n}\n\n/**\n * The Dawn GPU handle (spec 2.3). The Dawn instance behind `gpu` is shared by every handle created with the\n * same flags and lives until the process exits (see `createNodeGpu`); it holds no event-loop handle, so it\n * never keeps the process alive.\n */\nexport interface NodeGpuHandle {\n /** The GPU of `dawn.create(flags)`; reading it after dispose() throws E_DISPOSED. */\n readonly gpu: GPU;\n /** Drops this handle's GPU reference (the shared instance stays alive); idempotent. */\n dispose(): void;\n}\n\n/** The install hint of E_NO_WEBGPU (spec 2.5 item 4); P-ENV re-pins the version together with the devDependency. */\nconst INSTALL_HINT = \"install the optional peer dependency webgpu@0.4.0\";\n\n/** The shape of the `webgpu` module (its types.d.ts: create(options: string[]): GPU; globals: Object). */\ninterface DawnModule {\n create(options: string[]): GPU;\n globals?: unknown;\n}\n\n/**\n * Every GPU object `dawn.create()` returned, per module and flag list, kept for the life of the process.\n * webgpu@0.4.0's adapters, devices and queues run their promises through an AsyncRunner that polls the Dawn\n * instance by RAW pointer, and only the GPU object owns that instance: once the GPU object is collected, the\n * next promise on any adapter or device it produced (a requestDevice on a probed adapter, a queue call or a\n * late map / lost callback of a destroyed device) polls freed memory -- SIGSEGV in\n * dawn::native::InstanceBase::ProcessEvents, on Metal and lavapipe alike (issue #30). dawn-node signals no\n * point at which the instance has drained, so no GPU object is ever released; sharing one per flag list\n * bounds what that keeps to one instance per configuration.\n */\nconst instances = new Map<DawnModule, Map<string, GPU>>();\n\n/**\n * Whether a loaded module is usable as Dawn.\n * @param loaded - the module namespace\n * @returns true when it has a create() function\n */\nfunction isDawnModule(loaded: unknown): loaded is DawnModule {\n return (\n typeof loaded === \"object\" && loaded !== null && typeof (loaded as { create?: unknown }).create === \"function\"\n );\n}\n\n/**\n * The message of a thrown value.\n * @param err - what was caught\n * @returns the Error message, or the value as a string\n */\nfunction messageOf(err: unknown): string {\n return err instanceof Error ? err.message : String(err);\n}\n\n/** The handle returned by createNodeGpu(): `gpu` is a getter so dispose() can drop the reference. */\nclass DawnHandle implements NodeGpuHandle {\n private ref: GPU | null;\n\n /**\n * Wraps a GPU object.\n * @param gpu - the object dawn.create() returned\n */\n constructor(gpu: GPU) {\n this.ref = gpu;\n }\n\n /**\n * The GPU object; E_DISPOSED after dispose().\n * @returns the GPU object\n */\n get gpu(): GPU {\n if (this.ref === null) {\n throw new WebGpuGraphError(\"E_DISPOSED\", \"the Dawn GPU handle was disposed\", { label: \"NodeGpuHandle\" });\n }\n return this.ref;\n }\n\n /** Drops the reference; idempotent. */\n dispose(): void {\n this.ref = null;\n }\n}\n\n/**\n * The Dawn flag list a NodeGpuOptions maps to (exported for the tests and scripts/gpu-report.js):\n * adapter=<s>, backend=<s>, enable-dawn-features=a,b, and software -> adapter=llvmpipe; an explicit non-empty\n * `adapter` wins over `software`; an empty feature list emits nothing.\n * @param options - the Node options, or undefined for no flags\n * @returns the strings for dawn.create(), in the order adapter, backend, features\n */\nexport function dawnFlags(options: NodeGpuOptions | undefined): string[] {\n const flags: string[] = [];\n if (options === undefined) {\n return flags;\n }\n if (options.adapter !== undefined && options.adapter !== \"\") {\n flags.push(`adapter=${options.adapter}`);\n } else if (options.software === true) {\n flags.push(\"adapter=llvmpipe\");\n }\n if (options.backend !== undefined) {\n flags.push(`backend=${options.backend}`);\n }\n if (options.dawnFeatures !== undefined && options.dawnFeatures.length > 0) {\n flags.push(`enable-dawn-features=${options.dawnFeatures.join(\",\")}`);\n }\n return flags;\n}\n\n/**\n * import(\"webgpu\"), install dawn.globals unless installGlobals === false, dawn.create(flags) (spec 2.3). The GPU\n * object is created once per flag list and reused by every later call with the same flags; it is never released,\n * because Dawn keeps polling its instance for the adapters and devices it produced (issue #30).\n * @param options - adapter / backend / dawnFeatures / software / installGlobals (and the test seam)\n * @returns the handle; `dispose()` drops the handle's reference, never the shared instance\n * @throws WebGpuGraphError E_NO_WEBGPU { reason, hint } when the module does not load (missing, or its glibc is too old), has no create(), or create(flags) throws\n */\nexport async function createNodeGpu(options?: NodeGpuOptions): Promise<NodeGpuHandle> {\n const load = options?.loadModule ?? ((): Promise<unknown> => import(\"webgpu\"));\n let loaded: unknown;\n try {\n loaded = await load();\n } catch (err) {\n const reason = messageOf(err);\n throw new WebGpuGraphError(\n \"E_NO_WEBGPU\",\n `the webgpu (Dawn) native module did not load: ${reason}; ${INSTALL_HINT}`,\n { reason, hint: INSTALL_HINT },\n );\n }\n if (!isDawnModule(loaded)) {\n const reason = \"the webgpu module exports no create() function\";\n throw new WebGpuGraphError(\"E_NO_WEBGPU\", `${reason}; ${INSTALL_HINT}`, { reason, hint: INSTALL_HINT });\n }\n if (options?.installGlobals !== false && typeof loaded.globals === \"object\" && loaded.globals !== null) {\n Object.assign(globalThis, loaded.globals);\n }\n const flags = dawnFlags(options);\n const key = flags.join(\"\\n\");\n let byFlags = instances.get(loaded);\n if (byFlags === undefined) {\n byFlags = new Map();\n instances.set(loaded, byFlags);\n }\n let gpu = byFlags.get(key);\n if (gpu === undefined) {\n try {\n gpu = loaded.create(flags);\n } catch (err) {\n const reason = `dawn.create() threw: ${messageOf(err)}`;\n throw new WebGpuGraphError(\"E_NO_WEBGPU\", `${reason}; ${INSTALL_HINT}`, { reason, hint: INSTALL_HINT });\n }\n byFlags.set(key, gpu);\n }\n return new DawnHandle(gpu);\n}\n\n/**\n * The GpuContextOptions part of a NodeGpuOptions, copied key by key so the Node-only `adapter` string never\n * reaches GpuContext.create as a GPUAdapter.\n * @param options - the Node options\n * @returns the context options without gpu / adapter / device / runtime\n */\nfunction contextOptionsOf(options: NodeGpuOptions): Omit<GpuContextOptions, \"gpu\" | \"adapter\" | \"device\" | \"runtime\"> {\n return {\n powerPreference: options.powerPreference,\n rejectSoftware: options.rejectSoftware,\n limits: options.limits,\n optionalFeatures: options.optionalFeatures,\n requiredFeatures: options.requiredFeatures,\n label: options.label,\n onError: options.onError,\n warnUnreleasedSnapshots: options.warnUnreleasedSnapshots,\n };\n}\n\n/**\n * createNodeGpu + GpuContext.create({ gpu, runtime: \"node\", ...options }); ctx.dispose() also disposes the\n * handle, and a create() failure disposes it before rethrowing. Disposing is safe at any moment: the Dawn\n * instance itself stays alive for the process (createNodeGpu), so a callback of the destroyed device that\n * arrives late, or a call on `ctx.device` after dispose(), never reaches a freed instance.\n * @param options - the Node options\n * @returns the context\n */\nexport async function createNodeGpuContext(options?: NodeGpuOptions): Promise<GpuContext> {\n const handle = await createNodeGpu(options);\n let ctx: GpuContext;\n try {\n ctx = await GpuContext.create({ ...contextOptionsOf(options ?? {}), gpu: handle.gpu, runtime: \"node\" });\n } catch (err) {\n handle.dispose();\n throw err;\n }\n ctx.attachDisposer(() => {\n handle.dispose();\n });\n return ctx;\n}\n\n/**\n * createNodeGpu + GpuContext.probe + dispose; never throws (a load failure is { code: \"E_NO_WEBGPU\" }).\n * @param options - the Node options\n * @returns the probe result\n */\nexport async function probeNodeWebGpu(options?: NodeGpuOptions): Promise<ProbeResult> {\n let handle: NodeGpuHandle;\n try {\n handle = await createNodeGpu(options);\n } catch (err) {\n return { ok: false, code: \"E_NO_WEBGPU\", reason: messageOf(err), adapter: null, summary: null };\n }\n try {\n return await GpuContext.probe({\n gpu: handle.gpu,\n powerPreference: options?.powerPreference ?? \"high-performance\",\n rejectSoftware: options?.rejectSoftware,\n });\n } finally {\n handle.dispose();\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagerank.d.ts","sourceRoot":"","sources":["../../../src/algorithms/pagerank.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGrE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAUhD,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEtF,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"pagerank.d.ts","sourceRoot":"","sources":["../../../src/algorithms/pagerank.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGrE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAUhD,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEtF,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA2QrD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CACpB,GAAG,EAAE,UAAU,EACf,CAAC,EAAE,aAAa,EAChB,OAAO,CAAC,EAAE,eAAe,GAAG,aAAa,GAC1C,OAAO,CAAC,iBAAiB,CAAC,CAE5B;AAED;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACtC,GAAG,EAAE,UAAU,EACf,CAAC,EAAE,aAAa,EAChB,eAAe,EAAE,GAAG,EACpB,OAAO,CAAC,EAAE,eAAe,GAAG,aAAa,GAC1C,OAAO,CAAC,iBAAiB,CAAC,CA8B5B"}
|
|
@@ -25,8 +25,8 @@ import { assertDeviceComputes } from "../primitives/verify.js";
|
|
|
25
25
|
import { algorithmScope } from "./scope.js";
|
|
26
26
|
/** Iterations per submit (spec 8.2: k = 8). */
|
|
27
27
|
const PR_BATCH = 8;
|
|
28
|
-
/** Params slots of one batch: per iteration one PrParams (shared by pr-scale and pr-finalize) and one SpmvParams, plus the normaliser's RangeParams; a smaller ring wraps onto a slot the same batch still reads. */
|
|
29
|
-
const RING_SLOTS = 2 * PR_BATCH +
|
|
28
|
+
/** Params slots of one batch: per iteration one PrParams (shared by pr-scale and pr-finalize) and one SpmvParams, plus the normaliser's RangeParams and the last batch's convergence check; a smaller ring wraps onto a slot the same batch still reads. */
|
|
29
|
+
const RING_SLOTS = 2 * PR_BATCH + 2;
|
|
30
30
|
/**
|
|
31
31
|
* Validates `options.dest` for a score result of `n` elements.
|
|
32
32
|
* @param dest - the caller's destination array, if any
|
|
@@ -148,6 +148,8 @@ async function run(ctx, s, personalization, options, algorithm) {
|
|
|
148
148
|
const groups = groupsOf(scalePlan);
|
|
149
149
|
const partialsBytes = PR_PARTIAL.byteLength * (1 + groups);
|
|
150
150
|
const partials = scope.scratch(partialsBytes, "partials");
|
|
151
|
+
// the header as the last pull left it, before the convergence check of the last batch overwrites danglingMass
|
|
152
|
+
const lastHeader = scope.scratch(PR_PARTIAL.byteLength, "lastHeader");
|
|
151
153
|
if (personalization !== null) {
|
|
152
154
|
uploaded = ctx.residency.array(personalization, `${algorithm}/personalization`);
|
|
153
155
|
}
|
|
@@ -176,17 +178,21 @@ async function run(ctx, s, personalization, options, algorithm) {
|
|
|
176
178
|
const xNormBinding = bindingOf(xNorm, bytes);
|
|
177
179
|
const outWeightSumBinding = bindingOf(outWeightSum, bytes);
|
|
178
180
|
const partialsBinding = bindingOf(partials, partialsBytes);
|
|
181
|
+
const lastHeaderBinding = bindingOf(lastHeader, PR_PARTIAL.byteLength);
|
|
179
182
|
const coefficients = { alpha, beta: 1 - alpha, uniformP: 1 / n };
|
|
180
183
|
let cur = 0;
|
|
181
184
|
let iterationsRun = 0;
|
|
182
185
|
for (;;) {
|
|
183
186
|
const k = Math.min(PR_BATCH, maxIterations - iterationsRun);
|
|
184
187
|
const batch = new CommandBatch(ctx, algorithm);
|
|
185
|
-
|
|
188
|
+
let pass = batch.pass("iterations");
|
|
186
189
|
if (iterationsRun === 0) {
|
|
187
190
|
normaliser.record(pass, weightedCore, outWeightSumBinding);
|
|
188
191
|
}
|
|
189
|
-
|
|
192
|
+
const last = iterationsRun + k === maxIterations;
|
|
193
|
+
// the scale + finalize of iteration i measures the error of iteration i - 1 (PD-9), so the last batch
|
|
194
|
+
// runs them once more, with no pull, to measure the error of iteration maxIterations itself
|
|
195
|
+
for (let i = 0; i < k + (last ? 1 : 0); i++) {
|
|
190
196
|
const params = scope.params(PR_PARAMS, {
|
|
191
197
|
n,
|
|
192
198
|
groups,
|
|
@@ -195,6 +201,10 @@ async function run(ctx, s, personalization, options, algorithm) {
|
|
|
195
201
|
convergeThreshold: tolerance * n,
|
|
196
202
|
});
|
|
197
203
|
const other = 1 - cur;
|
|
204
|
+
if (i === k) {
|
|
205
|
+
batch.copy(partialsBinding, lastHeaderBinding, PR_PARTIAL.byteLength);
|
|
206
|
+
pass = batch.pass("convergence");
|
|
207
|
+
}
|
|
198
208
|
const scaleBound = scale.bind({
|
|
199
209
|
rankIn: rank[cur],
|
|
200
210
|
rankPrev: rank[other],
|
|
@@ -206,6 +216,9 @@ async function run(ctx, s, personalization, options, algorithm) {
|
|
|
206
216
|
scale.dispatch(pass, scaleBound, scalePlan, [params.offset]);
|
|
207
217
|
const finalizeBound = finalize.bind({ partials: partialsBinding, P: params.binding });
|
|
208
218
|
finalize.dispatch(pass, finalizeBound, finalizePlan, [params.offset]);
|
|
219
|
+
if (i === k) {
|
|
220
|
+
break;
|
|
221
|
+
}
|
|
209
222
|
pull.record(pass, weightedRev, {
|
|
210
223
|
xNorm: xNormBinding,
|
|
211
224
|
rankOut: rank[other],
|
|
@@ -216,6 +229,7 @@ async function run(ctx, s, personalization, options, algorithm) {
|
|
|
216
229
|
}
|
|
217
230
|
batch.endPass();
|
|
218
231
|
const headerRequest = batch.readback(partials, 0, PR_PARTIAL.byteLength);
|
|
232
|
+
const lastHeaderRequest = last ? batch.readback(lastHeader, 0, PR_PARTIAL.byteLength) : headerRequest;
|
|
219
233
|
const scoresRequest = batch.readback(rank[cur].buffer, 0, bytes);
|
|
220
234
|
scope.flush();
|
|
221
235
|
const submitted = batch.submit();
|
|
@@ -239,7 +253,7 @@ async function run(ctx, s, personalization, options, algorithm) {
|
|
|
239
253
|
scores,
|
|
240
254
|
iterations: converged ? firstConverged : iterationsRun,
|
|
241
255
|
converged,
|
|
242
|
-
danglingMass:
|
|
256
|
+
danglingMass: PR_PARTIAL.read(new DataView(back), lastHeaderRequest.offset).danglingMass,
|
|
243
257
|
precision: "f32",
|
|
244
258
|
};
|
|
245
259
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagerank.js","sourceRoot":"","sources":["../../../src/algorithms/pagerank.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pagerank.js","sourceRoot":"","sources":["../../../src/algorithms/pagerank.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"power-iteration.d.ts","sourceRoot":"","sources":["../../../src/algorithms/power-iteration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGrE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIhD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAI1D,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAQlD;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACjC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,wGAAwG;IACxG,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC5E;AAED,6GAA6G;AAC7G,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,qHAAqH;IACrH,QAAQ,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,WAAW,GAAG,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAgBhH;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CAIxF;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,GAAG,WAAW,CAGxE;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAM7E;AAYD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iBAAiB,CACnC,GAAG,EAAE,UAAU,EACf,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,oBAAoB,GAC7B,OAAO,CAAC,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"power-iteration.d.ts","sourceRoot":"","sources":["../../../src/algorithms/power-iteration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGrE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIhD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAI1D,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAQlD;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACjC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,wGAAwG;IACxG,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC5E;AAED,6GAA6G;AAC7G,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,qHAAqH;IACrH,QAAQ,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,WAAW,GAAG,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAgBhH;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CAIxF;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,GAAG,WAAW,CAGxE;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAM7E;AAYD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iBAAiB,CACnC,GAAG,EAAE,UAAU,EACf,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,oBAAoB,GAC7B,OAAO,CAAC,iBAAiB,CAAC,CAgH5B"}
|
|
@@ -26,7 +26,7 @@ import { assertDeviceComputes } from "../primitives/verify.js";
|
|
|
26
26
|
import { algorithmScope } from "./scope.js";
|
|
27
27
|
/** Iterations per submit (spec 8.2: k = 8). */
|
|
28
28
|
const BATCH = 8;
|
|
29
|
-
/** Params slots of one batch: four blocks per iteration times the batch, plus a margin (the plan's `4 * 8 + 8`). */
|
|
29
|
+
/** Params slots of one batch: four blocks per iteration times the batch, plus a margin (the plan's `4 * 8 + 8`) that also holds the last batch's convergence check. */
|
|
30
30
|
const RING_SLOTS = 4 * BATCH + 8;
|
|
31
31
|
/**
|
|
32
32
|
* Validates `options.dest` for a score result of `n` elements.
|
|
@@ -140,7 +140,10 @@ export async function runPowerIteration(ctx, n, config) {
|
|
|
140
140
|
const k = Math.min(BATCH, config.maxIterations - iterationsRun);
|
|
141
141
|
const batch = new CommandBatch(ctx, config.label);
|
|
142
142
|
const pass = batch.pass("iterations");
|
|
143
|
-
|
|
143
|
+
// the scale + finalize of iteration i measures the error of iteration i - 1 (PD-9), so the last batch
|
|
144
|
+
// runs them once more, with no apply and no pull, to measure the error of iteration maxIterations itself
|
|
145
|
+
const last = iterationsRun + k === config.maxIterations;
|
|
146
|
+
for (let i = 0; i < k + (last ? 1 : 0); i++) {
|
|
144
147
|
const iteration = iterationsRun + i + 1;
|
|
145
148
|
const params = scope.params(PR_PARAMS, {
|
|
146
149
|
n,
|
|
@@ -164,6 +167,9 @@ export async function runPowerIteration(ctx, n, config) {
|
|
|
164
167
|
};
|
|
165
168
|
scaleNorm.dispatch(pass, scaleNorm.bind(scaleBindings), scalePlan, [params.offset]);
|
|
166
169
|
finalize.dispatch(pass, finalize.bind({ partials, P: params.binding }), finalizePlan, [params.offset]);
|
|
170
|
+
if (i === k) {
|
|
171
|
+
break;
|
|
172
|
+
}
|
|
167
173
|
if (scaleApply !== null) {
|
|
168
174
|
scaleApply.dispatch(pass, scaleApply.bind(scaleBindings), scalePlan, [params.offset]);
|
|
169
175
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"power-iteration.js","sourceRoot":"","sources":["../../../src/algorithms/power-iteration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,+CAA+C;AAC/C,MAAM,KAAK,GAAG,CAAC,CAAC;AAChB,
|
|
1
|
+
{"version":3,"file":"power-iteration.js","sourceRoot":"","sources":["../../../src/algorithms/power-iteration.ts"],"names":[],"mappings":"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"}
|
|
@@ -379,7 +379,9 @@ export class GraphResidency {
|
|
|
379
379
|
});
|
|
380
380
|
}
|
|
381
381
|
/**
|
|
382
|
-
* One resident per array (spec 4.3: views upload in perArray mode, never into the arena).
|
|
382
|
+
* One resident per array (spec 4.3: views upload in perArray mode, never into the arena). An empty array (the
|
|
383
|
+
* colIdx of an edgeless directed reverse view, the src / dst of an edgeless edgeList) is skipped: spec 5.6 never
|
|
384
|
+
* uploads a zero-length array, and Kernel.bind rejects a zero-size binding, so it is absent as in core().
|
|
383
385
|
* @param record - the owning record
|
|
384
386
|
* @param arrays - the named arrays
|
|
385
387
|
* @param label - the buffer label prefix
|
|
@@ -388,6 +390,9 @@ export class GraphResidency {
|
|
|
388
390
|
separateArrays(record, arrays, label) {
|
|
389
391
|
const bindings = {};
|
|
390
392
|
for (const [name, array] of arrays) {
|
|
393
|
+
if (array.byteLength === 0) {
|
|
394
|
+
continue;
|
|
395
|
+
}
|
|
391
396
|
const resident = this.upload(record, array, array, `${label}:${name}`);
|
|
392
397
|
bindings[name] = { buffer: resident.buffer, offset: 0, size: resident.byteLength, window: null };
|
|
393
398
|
}
|
|
@@ -401,14 +406,19 @@ export class GraphResidency {
|
|
|
401
406
|
* lengths, so keying the packed buffer on `rev.rowPtr` would make the packed and the unpacked view of one
|
|
402
407
|
* snapshot collide -- whichever was built second would get the other's buffer. The record still owns the
|
|
403
408
|
* resident, so release(s) destroys it with the rest. Offsets are STORAGE_ALIGN-aligned because Kernel.bind
|
|
404
|
-
* rejects any other offset synchronously (E_INVALID_ARGUMENT { argument: "offset" }).
|
|
409
|
+
* rejects any other offset synchronously (E_INVALID_ARGUMENT { argument: "offset" }). Empty arrays are left
|
|
410
|
+
* out as in separateArrays; when nothing is left, nothing is uploaded.
|
|
405
411
|
* @param record - the owning record
|
|
406
|
-
* @param
|
|
412
|
+
* @param all - the named arrays, in buffer order
|
|
407
413
|
* @param key - the marker object the resident is keyed on
|
|
408
414
|
* @param label - the buffer label
|
|
409
415
|
* @returns the bindings by name, all into the one buffer
|
|
410
416
|
*/
|
|
411
|
-
packArrays(record,
|
|
417
|
+
packArrays(record, all, key, label) {
|
|
418
|
+
const arrays = all.filter(([, array]) => array.byteLength > 0);
|
|
419
|
+
if (arrays.length === 0) {
|
|
420
|
+
return Object.freeze({});
|
|
421
|
+
}
|
|
412
422
|
const offsets = [];
|
|
413
423
|
let total = 0;
|
|
414
424
|
for (const [, array] of arrays) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"residency.js","sourceRoot":"","sources":["../../../src/memory/residency.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"residency.js","sourceRoot":"","sources":["../../../src/memory/residency.ts"],"names":[],"mappings":"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"}
|
package/dist/src/node/index.d.ts
CHANGED
|
@@ -23,11 +23,15 @@ export interface NodeGpuOptions extends Omit<GpuContextOptions, "gpu" | "adapter
|
|
|
23
23
|
/** Install dawn.globals on globalThis (default true; spec 2.1 rule 2) so user code sees GPUBufferUsage and friends. */
|
|
24
24
|
readonly installGlobals?: boolean | undefined;
|
|
25
25
|
}
|
|
26
|
-
/**
|
|
26
|
+
/**
|
|
27
|
+
* The Dawn GPU handle (spec 2.3). The Dawn instance behind `gpu` is shared by every handle created with the
|
|
28
|
+
* same flags and lives until the process exits (see `createNodeGpu`); it holds no event-loop handle, so it
|
|
29
|
+
* never keeps the process alive.
|
|
30
|
+
*/
|
|
27
31
|
export interface NodeGpuHandle {
|
|
28
32
|
/** The GPU of `dawn.create(flags)`; reading it after dispose() throws E_DISPOSED. */
|
|
29
33
|
readonly gpu: GPU;
|
|
30
|
-
/** Drops
|
|
34
|
+
/** Drops this handle's GPU reference (the shared instance stays alive); idempotent. */
|
|
31
35
|
dispose(): void;
|
|
32
36
|
}
|
|
33
37
|
/**
|
|
@@ -39,18 +43,19 @@ export interface NodeGpuHandle {
|
|
|
39
43
|
*/
|
|
40
44
|
export declare function dawnFlags(options: NodeGpuOptions | undefined): string[];
|
|
41
45
|
/**
|
|
42
|
-
* import("webgpu"), install dawn.globals unless installGlobals === false, dawn.create(flags) (spec 2.3).
|
|
46
|
+
* import("webgpu"), install dawn.globals unless installGlobals === false, dawn.create(flags) (spec 2.3). The GPU
|
|
47
|
+
* object is created once per flag list and reused by every later call with the same flags; it is never released,
|
|
48
|
+
* because Dawn keeps polling its instance for the adapters and devices it produced (issue #30).
|
|
43
49
|
* @param options - adapter / backend / dawnFeatures / software / installGlobals (and the test seam)
|
|
44
|
-
* @returns the handle; `dispose()` drops the
|
|
50
|
+
* @returns the handle; `dispose()` drops the handle's reference, never the shared instance
|
|
45
51
|
* @throws WebGpuGraphError E_NO_WEBGPU { reason, hint } when the module does not load (missing, or its glibc is too old), has no create(), or create(flags) throws
|
|
46
52
|
*/
|
|
47
53
|
export declare function createNodeGpu(options?: NodeGpuOptions): Promise<NodeGpuHandle>;
|
|
48
54
|
/**
|
|
49
55
|
* createNodeGpu + GpuContext.create({ gpu, runtime: "node", ...options }); ctx.dispose() also disposes the
|
|
50
|
-
* handle, and a create() failure disposes it before rethrowing.
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* P1-T1; measured with tmp/p1t1/gc-race2.mjs), and device.destroy() reports the loss right away.
|
|
56
|
+
* handle, and a create() failure disposes it before rethrowing. Disposing is safe at any moment: the Dawn
|
|
57
|
+
* instance itself stays alive for the process (createNodeGpu), so a callback of the destroyed device that
|
|
58
|
+
* arrives late, or a call on `ctx.device` after dispose(), never reaches a freed instance.
|
|
54
59
|
* @param options - the Node options
|
|
55
60
|
* @returns the context
|
|
56
61
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/node/index.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE1E,8CAA8C;AAC9C,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,iBAAiB,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACrG,0IAA0I;IAC1I,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,8GAA8G;IAC9G,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;IACvG,2DAA2D;IAC3D,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACtD,2GAA2G;IAC3G,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,uHAAuH;IACvH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAMjD;AAED
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/node/index.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE1E,8CAA8C;AAC9C,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,iBAAiB,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACrG,0IAA0I;IAC1I,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,8GAA8G;IAC9G,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;IACvG,2DAA2D;IAC3D,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACtD,2GAA2G;IAC3G,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,uHAAuH;IACvH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAMjD;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC1B,qFAAqF;IACrF,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,uFAAuF;IACvF,OAAO,IAAI,IAAI,CAAC;CACnB;AAwED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,EAAE,CAiBvE;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAsCpF;AAqBD;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAaxF;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAgBpF"}
|