From 63227e38b013bdcff4ecca2841bd8818519bd884 Mon Sep 17 00:00:00 2001 From: Szymon Szulc Date: Sun, 1 Mar 2026 23:37:31 +0100 Subject: [PATCH 01/14] initial commit --- apps/resolution-time/package.json | 16 ++ apps/resolution-time/plot.png | Bin 0 -> 141617 bytes apps/resolution-time/plot.py | 27 ++ apps/resolution-time/procedural.ts | 249 +++++++++++++++++ apps/resolution-time/results.json | 352 +++++++++++++++++++++++++ apps/resolution-time/tsconfig.json | 5 + apps/resolution-time/vitest.config.mts | 16 ++ pnpm-lock.yaml | 15 ++ 8 files changed, 680 insertions(+) create mode 100644 apps/resolution-time/package.json create mode 100644 apps/resolution-time/plot.png create mode 100644 apps/resolution-time/plot.py create mode 100644 apps/resolution-time/procedural.ts create mode 100644 apps/resolution-time/results.json create mode 100644 apps/resolution-time/tsconfig.json create mode 100644 apps/resolution-time/vitest.config.mts diff --git a/apps/resolution-time/package.json b/apps/resolution-time/package.json new file mode 100644 index 0000000000..4d9c82a1c9 --- /dev/null +++ b/apps/resolution-time/package.json @@ -0,0 +1,16 @@ +{ + "name": "resolution-time", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "resolution-time": "vitest run", + "dev": "vitest run -w" + }, + "dependencies": { + "typegpu": "workspace:*", + "unplugin-typegpu": "workspace:*", + "vitest": "catalog:test", + "jiti": "catalog:build" + } +} diff --git a/apps/resolution-time/plot.png b/apps/resolution-time/plot.png new file mode 100644 index 0000000000000000000000000000000000000000..5c7c2b906a8ab7f92ce265858d129a2073101d3a GIT binary patch literal 141617 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± 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 16; + seed = (seed + 0x9e3779b9) | 0; + let t = seed ^ (seed >>> 16); t = Math.imul(t, 0x21f0aaad); - t = t ^ t >>> 15; + t = t ^ (t >>> 15); t = Math.imul(t, 0x735a2d97); - return ((t = t ^ t >>> 15) >>> 0) / 4294967296; + return ((t = t ^ (t >>> 15)) >>> 0) / 4294967296; }; } -const config = { - mainBranching: 2, // top-level calls from main (tgpu.unroll blocks) - branching: 2, // fan-out in functions from instruction list (tgpu.unroll blocks) +const config: ProcGenConfig & { samples: number } = { + mainBranching: 2, + branching: 2, maxDepth: 1, - recurseProb: 1, // seeded probability of recursing at each node + recurseProb: 1, seed: 0.1882 * 2 ** 32, - iterations: 10, + samples: SAMPLES, }; -let rand = splitmix32(config.seed); +let rand = splitmix32(0.1882 * 2 ** 32); -const state = tgpu.lazy(() => ( - { - stackDepth: 0, - } -)); +const state = tgpu.lazy(() => ({ + stackDepth: 0, +})); const instructions: TgpuComptime<() => TgpuGenericFn<() => void>>[] = []; const LEAF_COUNT = 3; // TODO: replace it with number, when unroll supports that const arrayForUnroll = tgpu.comptime((n: number) => Array.from({ length: n })); -const branchichUnrollArray = arrayForUnroll(config.branching); +let branchichUnrollArray = arrayForUnroll(config.branching); const choice = tgpu.comptime((): number => { - if ( - state.$.stackDepth == config.maxDepth - 1 /*|| rand() > config.recurseProb*/ - ) { + if (state.$.stackDepth == config.maxDepth - 1 /*|| rand() > config.recurseProb*/) { state.$.stackDepth++; return Math.floor(rand() * LEAF_COUNT); } @@ -69,132 +75,135 @@ const dataLayout = tgpu.bindGroupLayout({ }); const baseFn = tgpu.comptime(() => { - return tgpu.fn(() => { - 'use gpu'; + return tgpu + .fn(() => { + 'use gpu'; - let v = d.vec2f(0.5, 0.5); - v.x += 0.1; + let v = d.vec2f(0.5, 0.5); + v.x += 0.1; - popDepth(); - }).$name('baseFn'); + popDepth(); + }) + .$name('baseFn'); }); const blendFn = tgpu.comptime(() => { - return tgpu.fn(() => { - 'use gpu'; - - const base = d.vec3f(0.2, 0.4, 0.8); - const target = colorAccessor.$; - const t = std.fract(timeAccessor.$); - const blended = std.mix(base, target, t); - const luma = std.dot(blended, d.vec3f(0.299, 0.587, 0.114)); - - popDepth(); - }).$name('blendFn'); + return tgpu + .fn(() => { + 'use gpu'; + + const base = d.vec3f(0.2, 0.4, 0.8); + const target = colorAccessor.$; + const t = std.fract(timeAccessor.$); + const blended = std.mix(base, target, t); + const _luma = std.dot(blended, d.vec3f(0.299, 0.587, 0.114)); + + popDepth(); + }) + .$name('blendFn'); }); const thresholdFn = tgpu.comptime(() => { - return tgpu.fn(() => { - 'use gpu'; - - const tint = tintSlot.$; - const v = d.vec2f(tint.x, tint.y); - const len = std.length(v); - const edge = std.smoothstep(0.2, 0.8, len); - const result = d.vec3f(tint.x * edge, tint.y * edge, tint.z); - - popDepth(); - }).$name('thresholdFn'); + return tgpu + .fn(() => { + 'use gpu'; + + const tint = tintSlot.$; + const v = d.vec2f(tint.x, tint.y); + const len = std.length(v); + const edge = std.smoothstep(0.2, 0.8, len); + const _result = d.vec3f(tint.x * edge, tint.y * edge, tint.z); + + popDepth(); + }) + .$name('thresholdFn'); }); const waveFn = tgpu.comptime(() => { - return tgpu.fn(() => { - 'use gpu'; - - let v = d.vec2f(0.3, 0.7); - v = d.vec2f(std.sin(v.x * 3.14159), std.cos(v.y * 3.14159)); - const energy = v.x * v.x + v.y * v.y; - - for (const _i of tgpu.unroll(branchichUnrollArray)) { - // @ts-expect-error trust me - instructions[choice()]()(); - } - - popDepth(); - }).$name('waveFn'); + return tgpu + .fn(() => { + 'use gpu'; + + let v = d.vec2f(0.3, 0.7); + v = d.vec2f(std.sin(v.x * Math.PI), std.cos(v.y * Math.PI)); + const _energy = v.x * v.x + v.y * v.y; + + for (const _i of tgpu.unroll(branchichUnrollArray)) { + // @ts-expect-error trust me + instructions[choice()]()(); + } + + popDepth(); + }) + .$name('waveFn'); }); const accFn = tgpu.comptime(() => { - return tgpu.fn(() => { - 'use gpu'; - - const offset = dataLayout.$.offset; - const scale = dataLayout.$.scale; - let acc = d.vec2f(); - acc = d.vec2f(acc.x + offset.x * scale, acc.y + offset.y * scale); - - for (const _i of tgpu.unroll(branchichUnrollArray)) { - // @ts-expect-error trust me - instructions[choice()]()(); - } - - popDepth(); - }).$name('accFn'); + return tgpu + .fn(() => { + 'use gpu'; + + const offset = dataLayout.$.offset; + const scale = dataLayout.$.scale; + let acc = d.vec2f(); + acc = d.vec2f(acc.x + offset.x * scale, acc.y + offset.y * scale); + + for (const _i of tgpu.unroll(branchichUnrollArray)) { + // @ts-expect-error trust me + instructions[choice()]()(); + } + + popDepth(); + }) + .$name('accFn'); }); const rotateFn = tgpu.comptime(() => { - return tgpu.fn(() => { - 'use gpu'; - - const phase = phaseSlot.$; - const angle = phase.x + timeAccessor.$ * phase.y; - let v = d.vec2f(1, 0); - const c = Math.cos(angle); - const s = Math.sin(angle); - v = d.vec2f(v.x * c - v.y * s, v.x * s + v.y * c); - - for (const _i of tgpu.unroll(branchichUnrollArray)) { - // @ts-expect-error trust me - instructions[choice()]()(); - } - - popDepth(); - }).$name('rotateFn'); + return tgpu + .fn(() => { + 'use gpu'; + + const phase = phaseSlot.$; + const angle = phase.x + timeAccessor.$ * phase.y; + let v = d.vec2f(1, 0); + const c = Math.cos(angle); + const s = Math.sin(angle); + v = d.vec2f(v.x * c - v.y * s, v.x * s + v.y * c); + + for (const _i of tgpu.unroll(branchichUnrollArray)) { + // @ts-expect-error trust me + instructions[choice()]()(); + } + + popDepth(); + }) + .$name('rotateFn'); }); const spiralFn = tgpu.comptime(() => { - return tgpu.fn(() => { - 'use gpu'; - - const t = timeAccessor.$; - const center = dataLayout.$.offset; - const radius = 0.5 * std.sin(t * 2.0); - const angle = t * 3.14159; - const pos = d.vec2f( - center.x + radius * Math.cos(angle), - center.y + radius * Math.sin(angle), - ); - const dist = std.length(pos); - - for (const _i of tgpu.unroll(branchichUnrollArray)) { - // @ts-expect-error trust me - instructions[choice()]()(); - } - - popDepth(); - }).$name('spiralFn'); + return tgpu + .fn(() => { + 'use gpu'; + + const t = timeAccessor.$; + const center = dataLayout.$.offset; + const radius = 0.5 * std.sin(t * 2.0); + const angle = t * Math.PI; + const pos = d.vec2f(center.x + radius * Math.cos(angle), center.y + radius * Math.sin(angle)); + const _dist = std.length(pos); + + for (const _i of tgpu.unroll(branchichUnrollArray)) { + // @ts-expect-error trust me + instructions[choice()]()(); + } + + popDepth(); + }) + .$name('spiralFn'); }); // leaves first, then recursive -instructions.push( - baseFn, - blendFn, - thresholdFn, - waveFn, - accFn, - rotateFn, - spiralFn, -); +instructions.push(baseFn, blendFn, thresholdFn, waveFn, accFn, rotateFn, spiralFn); const main = () => { 'use gpu'; @@ -205,11 +214,11 @@ const main = () => { } }; -type BenchmarkResult = { +interface BenchmarkResult { maxDepth: number; timeMs: number; wgslLength: number; -}; +} function benchmarkResolve(): BenchmarkResult { const start = performance.now(); @@ -218,32 +227,76 @@ function benchmarkResolve(): BenchmarkResult { return { maxDepth: config.maxDepth, timeMs, wgslLength: wgsl.length }; } -const DEPTH_RANGE = [1, 2, 3, 4, 5, 6, 7]; const outDir = resolve(import.meta.dirname ?? '.', '.'); -test('resolution time vs maxDepth', () => { - // one resolve on default depth to minimize JIT warmup bias - const _ = benchmarkResolve(); +function runBenchmark(input: ProcGenConfig, output: BenchmarkResult[]) { + Object.assign(config, { samples: input.samples ?? SAMPLES }, input); + branchichUnrollArray = arrayForUnroll(config.branching); + rand = splitmix32(config.seed); + + for (let i = 0; i < config.samples; i++) { + rand = splitmix32(config.maxDepth * 2 ** 32); + const result = benchmarkResolve(); + output.push(result); + console.log( + `iteration=${i} maxDepth=${config.maxDepth} time=${result.timeMs.toFixed( + 2, + )}ms wgsl=${result.wgslLength} chars`, + ); + } +} - const results: BenchmarkResult[] = []; +function warmupJIT() { + runBenchmark( + { + mainBranching: 1, + branching: 1, + maxDepth: 1, + recurseProb: 1, + seed: 0.1882 * 2 ** 32, + }, + [], + ); +} - for (const depth of DEPTH_RANGE) { - config.maxDepth = depth; - for (let i = 0; i < config.iterations; i++) { - rand = splitmix32(depth * 2 ** 32); - const result = benchmarkResolve(); - results.push(result); - console.log( - `iteration=${i} maxDepth=${depth} time=${ - result.timeMs.toFixed(2) - }ms wgsl=${result.wgslLength} chars`, - ); - } +test('resolution time vs max depth', () => { + const results: BenchmarkResult[] = []; + const DEPTHS = Array.from({ length: 8 }, (_, i) => i + 1); + + warmupJIT(); + + for (const depth of DEPTHS) { + runBenchmark( + { + mainBranching: 2, + branching: 2, + maxDepth: depth, + recurseProb: 1, + seed: 0.1882 * 2 ** 32, + }, + results, + ); } + writeFileSync(resolve(outDir, 'results-max-depth.json'), JSON.stringify(results, null, 2)); +}); - writeFileSync( - resolve(outDir, 'results.json'), - JSON.stringify(results, null, 2), - ); - console.log(`\nResults written to results.json`); +test('resolution time vs linear recursion', () => { + const results: BenchmarkResult[] = []; + const DEPTHS = Array.from({ length: 8 }, (_, i) => i + 1); + + warmupJIT(); + + for (const depth of DEPTHS) { + runBenchmark( + { + mainBranching: 1, + branching: 1, + maxDepth: depth, + recurseProb: 1, + seed: 0.1882 * 2 ** 32, + }, + results, + ); + } + writeFileSync(resolve(outDir, 'results-linear-recursion.json'), JSON.stringify(results, null, 2)); }); diff --git a/apps/resolution-time/results-linear-recursion.json b/apps/resolution-time/results-linear-recursion.json new file mode 100644 index 0000000000..683dd82ce1 --- /dev/null +++ b/apps/resolution-time/results-linear-recursion.json @@ -0,0 +1,402 @@ +[ + { + "maxDepth": 1, + "timeMs": 0.06591700000012679, + "wgslLength": 367 + }, + { + "maxDepth": 1, + "timeMs": 0.06445800000005875, + "wgslLength": 367 + }, + { + "maxDepth": 1, + "timeMs": 0.06437499999992724, + "wgslLength": 367 + }, + { + "maxDepth": 1, + "timeMs": 0.0734580000000733, + "wgslLength": 367 + }, + { + "maxDepth": 1, + "timeMs": 0.07104099999992286, + "wgslLength": 367 + }, + { + "maxDepth": 1, + "timeMs": 0.0806249999998272, + "wgslLength": 367 + }, + { + "maxDepth": 1, + "timeMs": 0.06479200000012497, + "wgslLength": 367 + }, + { + "maxDepth": 1, + "timeMs": 0.06391700000017408, + "wgslLength": 367 + }, + { + "maxDepth": 1, + "timeMs": 0.06462499999997817, + "wgslLength": 367 + }, + { + "maxDepth": 1, + "timeMs": 0.0648750000000291, + "wgslLength": 367 + }, + { + "maxDepth": 2, + "timeMs": 0.14095800000018244, + "wgslLength": 652 + }, + { + "maxDepth": 2, + "timeMs": 0.16733400000020993, + "wgslLength": 652 + }, + { + "maxDepth": 2, + "timeMs": 0.11920900000018264, + "wgslLength": 652 + }, + { + "maxDepth": 2, + "timeMs": 0.11687499999993634, + "wgslLength": 652 + }, + { + "maxDepth": 2, + "timeMs": 0.11354099999994105, + "wgslLength": 652 + }, + { + "maxDepth": 2, + "timeMs": 0.11525000000006003, + "wgslLength": 652 + }, + { + "maxDepth": 2, + "timeMs": 0.11337499999990541, + "wgslLength": 652 + }, + { + "maxDepth": 2, + "timeMs": 0.11562499999990905, + "wgslLength": 652 + }, + { + "maxDepth": 2, + "timeMs": 0.11454200000002857, + "wgslLength": 652 + }, + { + "maxDepth": 2, + "timeMs": 0.11449999999990723, + "wgslLength": 652 + }, + { + "maxDepth": 3, + "timeMs": 0.19220900000004804, + "wgslLength": 969 + }, + { + "maxDepth": 3, + "timeMs": 0.18833300000005693, + "wgslLength": 969 + }, + { + "maxDepth": 3, + "timeMs": 0.1960830000000442, + "wgslLength": 969 + }, + { + "maxDepth": 3, + "timeMs": 0.1892920000000231, + "wgslLength": 969 + }, + { + "maxDepth": 3, + "timeMs": 0.19329100000004473, + "wgslLength": 969 + }, + { + "maxDepth": 3, + "timeMs": 0.1851249999999709, + "wgslLength": 969 + }, + { + "maxDepth": 3, + "timeMs": 0.1884580000000824, + "wgslLength": 969 + }, + { + "maxDepth": 3, + "timeMs": 0.20504100000016479, + "wgslLength": 969 + }, + { + "maxDepth": 3, + "timeMs": 0.20325000000002547, + "wgslLength": 969 + }, + { + "maxDepth": 3, + "timeMs": 0.1774169999998776, + "wgslLength": 969 + }, + { + "maxDepth": 4, + "timeMs": 0.24795799999992596, + "wgslLength": 1290 + }, + { + "maxDepth": 4, + "timeMs": 0.24441699999988487, + "wgslLength": 1290 + }, + { + "maxDepth": 4, + "timeMs": 0.24308399999995345, + "wgslLength": 1290 + }, + { + "maxDepth": 4, + "timeMs": 0.26270899999985886, + "wgslLength": 1290 + }, + { + "maxDepth": 4, + "timeMs": 0.24345800000014606, + "wgslLength": 1290 + }, + { + "maxDepth": 4, + "timeMs": 0.25041699999997036, + "wgslLength": 1290 + }, + { + "maxDepth": 4, + "timeMs": 0.25004199999989396, + "wgslLength": 1290 + }, + { + "maxDepth": 4, + "timeMs": 0.2615000000000691, + "wgslLength": 1290 + }, + { + "maxDepth": 4, + "timeMs": 0.24612499999989268, + "wgslLength": 1290 + }, + { + "maxDepth": 4, + "timeMs": 0.24537499999996726, + "wgslLength": 1290 + }, + { + "maxDepth": 5, + "timeMs": 0.31483400000001893, + "wgslLength": 1476 + }, + { + "maxDepth": 5, + "timeMs": 0.3194579999999405, + "wgslLength": 1476 + }, + { + "maxDepth": 5, + "timeMs": 0.32558399999993526, + "wgslLength": 1476 + }, + { + "maxDepth": 5, + "timeMs": 0.29291699999998855, + "wgslLength": 1476 + }, + { + "maxDepth": 5, + "timeMs": 0.2834580000001097, + "wgslLength": 1476 + }, + { + "maxDepth": 5, + "timeMs": 0.28579199999990124, + "wgslLength": 1476 + }, + { + "maxDepth": 5, + "timeMs": 0.28833399999984977, + "wgslLength": 1476 + }, + { + "maxDepth": 5, + "timeMs": 0.30129199999987577, + "wgslLength": 1476 + }, + { + "maxDepth": 5, + "timeMs": 0.28645800000003874, + "wgslLength": 1476 + }, + { + "maxDepth": 5, + "timeMs": 0.2825829999999314, + "wgslLength": 1476 + }, + { + "maxDepth": 6, + "timeMs": 0.35029199999985394, + "wgslLength": 1797 + }, + { + "maxDepth": 6, + "timeMs": 0.353458000000046, + "wgslLength": 1797 + }, + { + "maxDepth": 6, + "timeMs": 0.349666999999954, + "wgslLength": 1797 + }, + { + "maxDepth": 6, + "timeMs": 0.3512080000000424, + "wgslLength": 1797 + }, + { + "maxDepth": 6, + "timeMs": 0.3470830000001115, + "wgslLength": 1797 + }, + { + "maxDepth": 6, + "timeMs": 0.3861660000000029, + "wgslLength": 1797 + }, + { + "maxDepth": 6, + "timeMs": 0.37837500000000546, + "wgslLength": 1797 + }, + { + "maxDepth": 6, + "timeMs": 0.3678339999999025, + "wgslLength": 1797 + }, + { + "maxDepth": 6, + "timeMs": 0.3669159999999465, + "wgslLength": 1797 + }, + { + "maxDepth": 6, + "timeMs": 0.3738749999999982, + "wgslLength": 1797 + }, + { + "maxDepth": 7, + "timeMs": 0.4679169999999431, + "wgslLength": 2153 + }, + { + "maxDepth": 7, + "timeMs": 0.43104200000016135, + "wgslLength": 2153 + }, + { + "maxDepth": 7, + "timeMs": 0.4296670000001086, + "wgslLength": 2153 + }, + { + "maxDepth": 7, + "timeMs": 0.42908299999999144, + "wgslLength": 2153 + }, + { + "maxDepth": 7, + "timeMs": 0.4672089999999116, + "wgslLength": 2153 + }, + { + "maxDepth": 7, + "timeMs": 0.4312919999999849, + "wgslLength": 2153 + }, + { + "maxDepth": 7, + "timeMs": 0.4216670000000704, + "wgslLength": 2153 + }, + { + "maxDepth": 7, + "timeMs": 0.4170419999998103, + "wgslLength": 2153 + }, + { + "maxDepth": 7, + "timeMs": 0.41716600000017934, + "wgslLength": 2153 + }, + { + "maxDepth": 7, + "timeMs": 0.4154590000000553, + "wgslLength": 2153 + }, + { + "maxDepth": 8, + "timeMs": 0.49283300000001873, + "wgslLength": 2443 + }, + { + "maxDepth": 8, + "timeMs": 0.49041600000009566, + "wgslLength": 2443 + }, + { + "maxDepth": 8, + "timeMs": 0.48820900000009715, + "wgslLength": 2443 + }, + { + "maxDepth": 8, + "timeMs": 0.5027910000001157, + "wgslLength": 2443 + }, + { + "maxDepth": 8, + "timeMs": 0.4986659999999574, + "wgslLength": 2443 + }, + { + "maxDepth": 8, + "timeMs": 0.5170410000000629, + "wgslLength": 2443 + }, + { + "maxDepth": 8, + "timeMs": 0.50912500000004, + "wgslLength": 2443 + }, + { + "maxDepth": 8, + "timeMs": 0.5059579999999642, + "wgslLength": 2443 + }, + { + "maxDepth": 8, + "timeMs": 0.5087919999998576, + "wgslLength": 2443 + }, + { + "maxDepth": 8, + "timeMs": 0.49862499999994725, + "wgslLength": 2443 + } +] \ No newline at end of file diff --git a/apps/resolution-time/results-max-depth.json b/apps/resolution-time/results-max-depth.json new file mode 100644 index 0000000000..e0111a6ed8 --- /dev/null +++ b/apps/resolution-time/results-max-depth.json @@ -0,0 +1,402 @@ +[ + { + "maxDepth": 1, + "timeMs": 0.6697080000000142, + "wgslLength": 686 + }, + { + "maxDepth": 1, + "timeMs": 0.3409159999999929, + "wgslLength": 686 + }, + { + "maxDepth": 1, + "timeMs": 0.3090829999999869, + "wgslLength": 686 + }, + { + "maxDepth": 1, + "timeMs": 0.31270900000004076, + "wgslLength": 686 + }, + { + "maxDepth": 1, + "timeMs": 0.28949999999997544, + "wgslLength": 686 + }, + { + "maxDepth": 1, + "timeMs": 0.29712500000005093, + "wgslLength": 686 + }, + { + "maxDepth": 1, + "timeMs": 0.3246669999999767, + "wgslLength": 686 + }, + { + "maxDepth": 1, + "timeMs": 0.3088749999999436, + "wgslLength": 686 + }, + { + "maxDepth": 1, + "timeMs": 0.33083399999998164, + "wgslLength": 686 + }, + { + "maxDepth": 1, + "timeMs": 0.32787499999994907, + "wgslLength": 686 + }, + { + "maxDepth": 2, + "timeMs": 1.2829580000000078, + "wgslLength": 1842 + }, + { + "maxDepth": 2, + "timeMs": 0.7673750000000155, + "wgslLength": 1842 + }, + { + "maxDepth": 2, + "timeMs": 0.7380419999999503, + "wgslLength": 1842 + }, + { + "maxDepth": 2, + "timeMs": 0.7234999999999445, + "wgslLength": 1842 + }, + { + "maxDepth": 2, + "timeMs": 0.6817079999999578, + "wgslLength": 1842 + }, + { + "maxDepth": 2, + "timeMs": 0.6210839999999962, + "wgslLength": 1842 + }, + { + "maxDepth": 2, + "timeMs": 0.6281669999999622, + "wgslLength": 1842 + }, + { + "maxDepth": 2, + "timeMs": 0.5762919999999667, + "wgslLength": 1842 + }, + { + "maxDepth": 2, + "timeMs": 0.5680410000001075, + "wgslLength": 1842 + }, + { + "maxDepth": 2, + "timeMs": 0.5848750000000109, + "wgslLength": 1842 + }, + { + "maxDepth": 3, + "timeMs": 1.7641249999999218, + "wgslLength": 4330 + }, + { + "maxDepth": 3, + "timeMs": 1.3347079999999778, + "wgslLength": 4330 + }, + { + "maxDepth": 3, + "timeMs": 1.4230420000000095, + "wgslLength": 4330 + }, + { + "maxDepth": 3, + "timeMs": 1.2958339999998998, + "wgslLength": 4330 + }, + { + "maxDepth": 3, + "timeMs": 2.0174999999999272, + "wgslLength": 4330 + }, + { + "maxDepth": 3, + "timeMs": 1.1964590000000044, + "wgslLength": 4330 + }, + { + "maxDepth": 3, + "timeMs": 1.0565420000000358, + "wgslLength": 4330 + }, + { + "maxDepth": 3, + "timeMs": 1.031500000000051, + "wgslLength": 4330 + }, + { + "maxDepth": 3, + "timeMs": 0.9660419999999021, + "wgslLength": 4330 + }, + { + "maxDepth": 3, + "timeMs": 1.0624159999999847, + "wgslLength": 4330 + }, + { + "maxDepth": 4, + "timeMs": 2.3997080000000324, + "wgslLength": 8706 + }, + { + "maxDepth": 4, + "timeMs": 2.177500000000009, + "wgslLength": 8706 + }, + { + "maxDepth": 4, + "timeMs": 2.165707999999995, + "wgslLength": 8706 + }, + { + "maxDepth": 4, + "timeMs": 1.9757909999999583, + "wgslLength": 8706 + }, + { + "maxDepth": 4, + "timeMs": 2.443791000000033, + "wgslLength": 8706 + }, + { + "maxDepth": 4, + "timeMs": 1.8566250000000082, + "wgslLength": 8706 + }, + { + "maxDepth": 4, + "timeMs": 1.9732079999999996, + "wgslLength": 8706 + }, + { + "maxDepth": 4, + "timeMs": 1.860125000000039, + "wgslLength": 8706 + }, + { + "maxDepth": 4, + "timeMs": 1.7767499999999927, + "wgslLength": 8706 + }, + { + "maxDepth": 4, + "timeMs": 1.971541000000002, + "wgslLength": 8706 + }, + { + "maxDepth": 5, + "timeMs": 4.463415999999938, + "wgslLength": 17306 + }, + { + "maxDepth": 5, + "timeMs": 3.7070420000000013, + "wgslLength": 17306 + }, + { + "maxDepth": 5, + "timeMs": 3.5201250000000073, + "wgslLength": 17306 + }, + { + "maxDepth": 5, + "timeMs": 3.19237499999997, + "wgslLength": 17306 + }, + { + "maxDepth": 5, + "timeMs": 4.129542000000015, + "wgslLength": 17306 + }, + { + "maxDepth": 5, + "timeMs": 3.5289999999999964, + "wgslLength": 17306 + }, + { + "maxDepth": 5, + "timeMs": 3.743082999999956, + "wgslLength": 17306 + }, + { + "maxDepth": 5, + "timeMs": 3.920833000000016, + "wgslLength": 17306 + }, + { + "maxDepth": 5, + "timeMs": 3.1866249999999354, + "wgslLength": 17306 + }, + { + "maxDepth": 5, + "timeMs": 3.417041999999924, + "wgslLength": 17306 + }, + { + "maxDepth": 6, + "timeMs": 7.551375000000007, + "wgslLength": 33705 + }, + { + "maxDepth": 6, + "timeMs": 6.25304200000005, + "wgslLength": 33705 + }, + { + "maxDepth": 6, + "timeMs": 6.922832999999969, + "wgslLength": 33705 + }, + { + "maxDepth": 6, + "timeMs": 6.853709000000094, + "wgslLength": 33705 + }, + { + "maxDepth": 6, + "timeMs": 7.282165999999961, + "wgslLength": 33705 + }, + { + "maxDepth": 6, + "timeMs": 6.870958000000087, + "wgslLength": 33705 + }, + { + "maxDepth": 6, + "timeMs": 7.540875000000028, + "wgslLength": 33705 + }, + { + "maxDepth": 6, + "timeMs": 6.717583999999988, + "wgslLength": 33705 + }, + { + "maxDepth": 6, + "timeMs": 6.952417000000082, + "wgslLength": 33705 + }, + { + "maxDepth": 6, + "timeMs": 6.067791000000057, + "wgslLength": 33705 + }, + { + "maxDepth": 7, + "timeMs": 13.808499999999981, + "wgslLength": 68583 + }, + { + "maxDepth": 7, + "timeMs": 14.152500000000032, + "wgslLength": 68583 + }, + { + "maxDepth": 7, + "timeMs": 13.992624999999975, + "wgslLength": 68583 + }, + { + "maxDepth": 7, + "timeMs": 16.518750000000068, + "wgslLength": 68583 + }, + { + "maxDepth": 7, + "timeMs": 16.483499999999935, + "wgslLength": 68583 + }, + { + "maxDepth": 7, + "timeMs": 14.276124999999979, + "wgslLength": 68583 + }, + { + "maxDepth": 7, + "timeMs": 14.041166999999973, + "wgslLength": 68583 + }, + { + "maxDepth": 7, + "timeMs": 13.189250000000015, + "wgslLength": 68583 + }, + { + "maxDepth": 7, + "timeMs": 13.596124999999915, + "wgslLength": 68583 + }, + { + "maxDepth": 7, + "timeMs": 12.618041999999946, + "wgslLength": 68583 + }, + { + "maxDepth": 8, + "timeMs": 26.316333999999983, + "wgslLength": 135963 + }, + { + "maxDepth": 8, + "timeMs": 26.17025000000001, + "wgslLength": 135963 + }, + { + "maxDepth": 8, + "timeMs": 26.170417000000043, + "wgslLength": 135963 + }, + { + "maxDepth": 8, + "timeMs": 25.678125000000023, + "wgslLength": 135963 + }, + { + "maxDepth": 8, + "timeMs": 25.4107919999999, + "wgslLength": 135963 + }, + { + "maxDepth": 8, + "timeMs": 24.703125, + "wgslLength": 135963 + }, + { + "maxDepth": 8, + "timeMs": 25.880707999999913, + "wgslLength": 135963 + }, + { + "maxDepth": 8, + "timeMs": 29.05104099999994, + "wgslLength": 135963 + }, + { + "maxDepth": 8, + "timeMs": 39.85566599999993, + "wgslLength": 135963 + }, + { + "maxDepth": 8, + "timeMs": 30.196957999999995, + "wgslLength": 135963 + } +] \ No newline at end of file diff --git a/apps/resolution-time/results.json b/apps/resolution-time/results.json deleted file mode 100644 index f1d17719b5..0000000000 --- a/apps/resolution-time/results.json +++ /dev/null @@ -1,352 +0,0 @@ -[ - { - "maxDepth": 1, - "timeMs": 0.839917000000014, - "wgslLength": 684 - }, - { - "maxDepth": 1, - "timeMs": 0.506832999999915, - "wgslLength": 684 - }, - { - "maxDepth": 1, - "timeMs": 0.42995799999994233, - "wgslLength": 684 - }, - { - "maxDepth": 1, - "timeMs": 0.39883399999996527, - "wgslLength": 684 - }, - { - "maxDepth": 1, - "timeMs": 0.33170800000004874, - "wgslLength": 684 - }, - { - "maxDepth": 1, - "timeMs": 0.3347079999999778, - "wgslLength": 684 - }, - { - "maxDepth": 1, - "timeMs": 0.32095800000001873, - "wgslLength": 684 - }, - { - "maxDepth": 1, - "timeMs": 0.3144170000000486, - "wgslLength": 684 - }, - { - "maxDepth": 1, - "timeMs": 0.3354580000000169, - "wgslLength": 684 - }, - { - "maxDepth": 1, - "timeMs": 0.2958340000000135, - "wgslLength": 684 - }, - { - "maxDepth": 2, - "timeMs": 1.359124999999949, - "wgslLength": 1838 - }, - { - "maxDepth": 2, - "timeMs": 0.8083750000000691, - "wgslLength": 1838 - }, - { - "maxDepth": 2, - "timeMs": 0.7196250000000646, - "wgslLength": 1838 - }, - { - "maxDepth": 2, - "timeMs": 0.7251669999999422, - "wgslLength": 1838 - }, - { - "maxDepth": 2, - "timeMs": 0.6620410000000447, - "wgslLength": 1838 - }, - { - "maxDepth": 2, - "timeMs": 0.5340830000000096, - "wgslLength": 1838 - }, - { - "maxDepth": 2, - "timeMs": 0.5739170000000513, - "wgslLength": 1838 - }, - { - "maxDepth": 2, - "timeMs": 0.6353340000000571, - "wgslLength": 1838 - }, - { - "maxDepth": 2, - "timeMs": 0.6276249999999663, - "wgslLength": 1838 - }, - { - "maxDepth": 2, - "timeMs": 0.5951670000000604, - "wgslLength": 1838 - }, - { - "maxDepth": 3, - "timeMs": 1.8169169999999895, - "wgslLength": 4290 - }, - { - "maxDepth": 3, - "timeMs": 1.3996669999999085, - "wgslLength": 4290 - }, - { - "maxDepth": 3, - "timeMs": 1.4750000000000227, - "wgslLength": 4290 - }, - { - "maxDepth": 3, - "timeMs": 1.4225410000000238, - "wgslLength": 4290 - }, - { - "maxDepth": 3, - "timeMs": 1.3452919999999722, - "wgslLength": 4290 - }, - { - "maxDepth": 3, - "timeMs": 1.2571249999999736, - "wgslLength": 4290 - }, - { - "maxDepth": 3, - "timeMs": 1.2472500000000082, - "wgslLength": 4290 - }, - { - "maxDepth": 3, - "timeMs": 1.7789999999999964, - "wgslLength": 4290 - }, - { - "maxDepth": 3, - "timeMs": 1.0292499999999336, - "wgslLength": 4290 - }, - { - "maxDepth": 3, - "timeMs": 0.8892499999999472, - "wgslLength": 4290 - }, - { - "maxDepth": 4, - "timeMs": 2.3198750000000246, - "wgslLength": 8607 - }, - { - "maxDepth": 4, - "timeMs": 2.2398749999999836, - "wgslLength": 8607 - }, - { - "maxDepth": 4, - "timeMs": 2.298708999999917, - "wgslLength": 8607 - }, - { - "maxDepth": 4, - "timeMs": 1.9982919999999922, - "wgslLength": 8607 - }, - { - "maxDepth": 4, - "timeMs": 1.868208999999979, - "wgslLength": 8607 - }, - { - "maxDepth": 4, - "timeMs": 3.7175829999999905, - "wgslLength": 8607 - }, - { - "maxDepth": 4, - "timeMs": 1.955959000000007, - "wgslLength": 8607 - }, - { - "maxDepth": 4, - "timeMs": 1.7312079999999241, - "wgslLength": 8607 - }, - { - "maxDepth": 4, - "timeMs": 1.8808749999999463, - "wgslLength": 8607 - }, - { - "maxDepth": 4, - "timeMs": 1.9858750000000782, - "wgslLength": 8607 - }, - { - "maxDepth": 5, - "timeMs": 3.7923749999999927, - "wgslLength": 16995 - }, - { - "maxDepth": 5, - "timeMs": 4.491250000000036, - "wgslLength": 16995 - }, - { - "maxDepth": 5, - "timeMs": 3.729708999999957, - "wgslLength": 16995 - }, - { - "maxDepth": 5, - "timeMs": 3.3888330000000906, - "wgslLength": 16995 - }, - { - "maxDepth": 5, - "timeMs": 3.5618749999999864, - "wgslLength": 16995 - }, - { - "maxDepth": 5, - "timeMs": 4.374125000000049, - "wgslLength": 16995 - }, - { - "maxDepth": 5, - "timeMs": 3.497500000000059, - "wgslLength": 16995 - }, - { - "maxDepth": 5, - "timeMs": 3.3729170000000295, - "wgslLength": 16995 - }, - { - "maxDepth": 5, - "timeMs": 4.283792000000062, - "wgslLength": 16995 - }, - { - "maxDepth": 5, - "timeMs": 3.4111669999999776, - "wgslLength": 16995 - }, - { - "maxDepth": 6, - "timeMs": 7.030166000000008, - "wgslLength": 33183 - }, - { - "maxDepth": 6, - "timeMs": 7.124333999999976, - "wgslLength": 33183 - }, - { - "maxDepth": 6, - "timeMs": 6.223416000000043, - "wgslLength": 33183 - }, - { - "maxDepth": 6, - "timeMs": 7.318957999999952, - "wgslLength": 33183 - }, - { - "maxDepth": 6, - "timeMs": 6.677583000000027, - "wgslLength": 33183 - }, - { - "maxDepth": 6, - "timeMs": 7.930333000000019, - "wgslLength": 33183 - }, - { - "maxDepth": 6, - "timeMs": 6.613749999999982, - "wgslLength": 33183 - }, - { - "maxDepth": 6, - "timeMs": 7.2466249999999945, - "wgslLength": 33183 - }, - { - "maxDepth": 6, - "timeMs": 6.580124999999953, - "wgslLength": 33183 - }, - { - "maxDepth": 6, - "timeMs": 6.854207999999971, - "wgslLength": 33183 - }, - { - "maxDepth": 7, - "timeMs": 13.88487500000008, - "wgslLength": 67524 - }, - { - "maxDepth": 7, - "timeMs": 14.481834000000049, - "wgslLength": 67524 - }, - { - "maxDepth": 7, - "timeMs": 17.535875000000033, - "wgslLength": 67524 - }, - { - "maxDepth": 7, - "timeMs": 13.93629199999998, - "wgslLength": 67524 - }, - { - "maxDepth": 7, - "timeMs": 18.075208999999973, - "wgslLength": 67524 - }, - { - "maxDepth": 7, - "timeMs": 14.299000000000092, - "wgslLength": 67524 - }, - { - "maxDepth": 7, - "timeMs": 14.290040999999974, - "wgslLength": 67524 - }, - { - "maxDepth": 7, - "timeMs": 13.945542000000046, - "wgslLength": 67524 - }, - { - "maxDepth": 7, - "timeMs": 14.76604199999997, - "wgslLength": 67524 - }, - { - "maxDepth": 7, - "timeMs": 13.165750000000003, - "wgslLength": 67524 - } -] \ No newline at end of file From b124f2b058a1edc9a098c1803fc039afaf47ce6b Mon Sep 17 00:00:00 2001 From: Szymon Szulc Date: Tue, 3 Mar 2026 17:12:23 +0100 Subject: [PATCH 04/14] python + ci --- .github/workflows/resolution-time.yml | 193 ++++++++++++++++++++++++++ apps/resolution-time/plot.py | 109 ++++++++++++--- 2 files changed, 284 insertions(+), 18 deletions(-) create mode 100644 .github/workflows/resolution-time.yml diff --git a/.github/workflows/resolution-time.yml b/.github/workflows/resolution-time.yml new file mode 100644 index 0000000000..4c6c54f4e3 --- /dev/null +++ b/.github/workflows/resolution-time.yml @@ -0,0 +1,193 @@ +name: Resolution time benchmark + +on: + pull_request: + workflow_dispatch: + inputs: + target_branch: + description: "Target branch to compare against" + required: true + default: "main" + +jobs: + resolution-time: + permissions: + contents: read + issues: write + pull-requests: write + runs-on: ubuntu-latest + steps: + - name: Install pnpm + uses: pnpm/action-setup@v4 + with: + version: 10.27.0 + run_install: false + + - name: Checkout PR branch + uses: actions/checkout@v4 + with: + path: pr-branch + + - name: Checkout target branch + uses: actions/checkout@v4 + with: + path: target-branch + ref: ${{ github.event_name == 'workflow_dispatch' && inputs.target_branch || github.base_ref }} + + - name: Checkout release branch + uses: actions/checkout@v4 + with: + path: release-branch + ref: release + + - name: Copy resolution-time app into target and release branches + run: | + cp -r pr-branch/apps/resolution-time target-branch/apps/resolution-time + cp -r pr-branch/apps/resolution-time release-branch/apps/resolution-time + + - name: Install dependencies (PR branch) + working-directory: pr-branch + run: pnpm install + + - name: Install dependencies (target branch) + working-directory: target-branch + run: pnpm install + + - name: Install dependencies (release branch) + working-directory: release-branch + run: pnpm install + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: 24.x + cache: "pnpm" + cache-dependency-path: | + pr-branch/pnpm-lock.yaml + target-branch/pnpm-lock.yaml + release-branch/pnpm-lock.yaml + + - name: Run benchmark on PR branch + working-directory: pr-branch + run: pnpm --filter resolution-time resolution-time + + - name: Run benchmark on target branch + working-directory: target-branch + run: pnpm --filter resolution-time resolution-time + continue-on-error: true + + - name: Run benchmark on release branch + working-directory: release-branch + run: pnpm --filter resolution-time resolution-time + continue-on-error: true + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install Python dependencies + run: pip install matplotlib numpy + + - name: Generate plots and reports + run: | + DEPTH_ARGS="--input PR:pr-branch/apps/resolution-time/results-max-depth.json" + LINEAR_ARGS="--input PR:pr-branch/apps/resolution-time/results-linear-recursion.json" + + if [ -f target-branch/apps/resolution-time/results-max-depth.json ]; then + DEPTH_ARGS="$DEPTH_ARGS --input target:target-branch/apps/resolution-time/results-max-depth.json" + LINEAR_ARGS="$LINEAR_ARGS --input target:target-branch/apps/resolution-time/results-linear-recursion.json" + fi + + if [ -f release-branch/apps/resolution-time/results-max-depth.json ]; then + DEPTH_ARGS="$DEPTH_ARGS --input release:release-branch/apps/resolution-time/results-max-depth.json" + LINEAR_ARGS="$LINEAR_ARGS --input release:release-branch/apps/resolution-time/results-linear-recursion.json" + fi + + python pr-branch/apps/resolution-time/plot.py \ + $DEPTH_ARGS \ + --title "Resolution Time vs Max Depth" \ + --output-file max-depth.png \ + --output-md max-depth.md + + python pr-branch/apps/resolution-time/plot.py \ + $LINEAR_ARGS \ + --title "Resolution Time vs Linear Recursion" \ + --output-file linear-recursion.png \ + --output-md linear-recursion.md + + - name: Upload plot artifacts + uses: actions/upload-artifact@v4 + with: + name: resolution-time-plots + path: | + max-depth.png + linear-recursion.png + + - name: Build comment + run: | + { + echo '' + echo '## Resolution Time Benchmark' + echo '' + echo '### Max Depth (branching=2)' + cat max-depth.md + echo '' + echo '### Linear Recursion (branching=1)' + cat linear-recursion.md + echo '' + echo "> PNG plots available as [workflow artifacts](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})" + } > comment.md + + - name: Comment PR with results + uses: actions/github-script@v7 + with: + script: | + const fs = require('fs'); + const comment = fs.readFileSync('comment.md', 'utf8'); + + const botCommentIdentifier = ''; + + async function findBotComment(issueNumber) { + if (!issueNumber) return null; + const comments = await github.rest.issues.listComments({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issueNumber, + }); + return comments.data.find((c) => + c.body.includes(botCommentIdentifier) + ); + } + + async function createOrUpdateComment(issueNumber) { + if (!issueNumber) { + console.log('No issue number provided. Cannot post or update comment.'); + return; + } + + const existingComment = await findBotComment(issueNumber); + if (existingComment) { + await github.rest.issues.updateComment({ + ...context.repo, + comment_id: existingComment.id, + body: comment, + }); + } else { + await github.rest.issues.createComment({ + ...context.repo, + issue_number: issueNumber, + body: comment, + }); + } + } + + const issueNumber = context.issue.number; + if (!issueNumber) { + console.log('No issue number found in context. Skipping comment.'); + } else { + await createOrUpdateComment(issueNumber); + } + await core.summary + .addRaw(comment) + .write(); diff --git a/apps/resolution-time/plot.py b/apps/resolution-time/plot.py index 0d4b9a5414..a37ae389d0 100644 --- a/apps/resolution-time/plot.py +++ b/apps/resolution-time/plot.py @@ -1,30 +1,103 @@ import argparse import json - -import matplotlib.pyplot as plt # ty: ignore[unresolved-import] -import numpy as np # ty: ignore[unresolved-import] +import statistics parser = argparse.ArgumentParser() -parser.add_argument("--input-file") -parser.add_argument("--output-file") +parser.add_argument( + "--input", + action="append", + required=True, + help="label:filepath pair (e.g., 'PR:results.json')", +) +parser.add_argument("--output-file", help="PNG output path") +parser.add_argument("--output-md", help="Markdown output path (Mermaid chart + table)") +parser.add_argument("--title", default="") args = parser.parse_args() -with open(args.input_file, "r") as file: - data = json.load(file) +datasets = [] +for pair in args.input: + label, filepath = pair.split(":", 1) + with open(filepath, "r") as f: + data = json.load(f) + datasets.append({"label": label, "data": data}) + +if args.output_file: + import matplotlib.pyplot as plt # ty: ignore[unresolved-import] + import numpy as np # ty: ignore[unresolved-import] + + COLORS = ["#1f77b4", "#ff7f0e", "#2ca02c", "#d62728", "#9467bd"] + + fig, ax = plt.subplots(figsize=(10, 6)) + + for i, ds in enumerate(datasets): + x = [d["maxDepth"] for d in ds["data"]] + y = [d["timeMs"] for d in ds["data"]] + color = COLORS[i % len(COLORS)] + + ax.scatter(x, y, color=color, alpha=0.3, s=60, zorder=5) + + coefficients = np.polyfit(x, y, deg=2) + polynomial = np.poly1d(coefficients) + x_smooth = np.linspace(min(x), max(x), 100) + y_smooth = polynomial(x_smooth) + ax.plot(x_smooth, y_smooth, color=color, linewidth=2, label=ds["label"]) + + ax.set_ylabel("time (ms)") + ax.set_xlabel("max depth") + if args.title: + ax.set_title(args.title) + ax.legend() + ax.grid(True, linestyle="--", alpha=0.6) + plt.savefig(args.output_file, dpi=300, bbox_inches="tight") + +if args.output_md: + all_depths = sorted(set(d["maxDepth"] for ds in datasets for d in ds["data"])) + + lines = [] + + # Mermaid chart + lines.append("```mermaid") + lines.append("xychart-beta") + if args.title: + lines.append(f' title "{args.title}"') + lines.append(f' x-axis "max depth" [{", ".join(str(d) for d in all_depths)}]') + lines.append(' y-axis "time (ms)"') -x = [d["maxDepth"] for d in data] -y = [d["timeMs"] for d in data] + for ds in datasets: + medians = [] + for depth in all_depths: + times = [d["timeMs"] for d in ds["data"] if d["maxDepth"] == depth] + median = statistics.median(times) if times else 0 + medians.append(f"{median:.2f}") + lines.append(f" line [{', '.join(medians)}]") -coefficients = np.polyfit(x, y, deg=2) -polynomial = np.poly1d(coefficients) + lines.append("```") + lines.append("") -x_smooth = np.linspace(min(x), max(x), 100) -y_smooth = polynomial(x_smooth) + # Legend (Mermaid xychart-beta doesn't support named series) + legend_parts = [] + symbols = ["\U0001f535", "\U0001f7e0", "\U0001f7e2", "\U0001f534", "\U0001f7e3"] + for i, ds in enumerate(datasets): + legend_parts.append(f"{symbols[i % len(symbols)]} {ds['label']}") + lines.append(" | ".join(legend_parts)) + lines.append("") -plt.scatter(x, y, color="#1f77b4", alpha=0.3, s=60, zorder=5) -plt.plot(x_smooth, y_smooth, color="#ff7f0e", linewidth=2) + # Data table + header = ( + "| max depth | " + " | ".join(f"{ds['label']} (ms)" for ds in datasets) + " |" + ) + separator = "|---" * (len(datasets) + 1) + "|" + lines.append(header) + lines.append(separator) -plt.ylabel("time (ms)") -plt.grid(True, linestyle="--", alpha=0.6) + for depth in all_depths: + row = f"| {depth} " + for ds in datasets: + times = [d["timeMs"] for d in ds["data"] if d["maxDepth"] == depth] + median = statistics.median(times) if times else 0 + row += f"| {median:.2f} " + row += "|" + lines.append(row) -plt.savefig(args.output_file, dpi=300, bbox_inches="tight") + with open(args.output_md, "w") as f: + f.write("\n".join(lines)) From e40fff6ddd81b8b2f2a97b3b24c2fcb134c849b1 Mon Sep 17 00:00:00 2001 From: Szymon Szulc Date: Tue, 3 Mar 2026 19:25:35 +0100 Subject: [PATCH 05/14] generating charts with mermaid --- .github/workflows/resolution-time.yml | 193 --------- apps/resolution-time/README.md | 28 ++ apps/resolution-time/generateChart.ts | 112 +++++ apps/resolution-time/linear-recursion.png | Bin 121305 -> 0 bytes apps/resolution-time/max-depth.png | Bin 109635 -> 0 bytes apps/resolution-time/plot.py | 103 ----- apps/resolution-time/procedural.ts | 2 +- .../results-linear-recursion.json | 402 ------------------ apps/resolution-time/results-max-depth.json | 402 ------------------ 9 files changed, 141 insertions(+), 1101 deletions(-) delete mode 100644 .github/workflows/resolution-time.yml create mode 100644 apps/resolution-time/generateChart.ts delete mode 100644 apps/resolution-time/linear-recursion.png delete mode 100644 apps/resolution-time/max-depth.png delete mode 100644 apps/resolution-time/plot.py delete mode 100644 apps/resolution-time/results-linear-recursion.json delete mode 100644 apps/resolution-time/results-max-depth.json diff --git a/.github/workflows/resolution-time.yml b/.github/workflows/resolution-time.yml deleted file mode 100644 index 4c6c54f4e3..0000000000 --- a/.github/workflows/resolution-time.yml +++ /dev/null @@ -1,193 +0,0 @@ -name: Resolution time benchmark - -on: - pull_request: - workflow_dispatch: - inputs: - target_branch: - description: "Target branch to compare against" - required: true - default: "main" - -jobs: - resolution-time: - permissions: - contents: read - issues: write - pull-requests: write - runs-on: ubuntu-latest - steps: - - name: Install pnpm - uses: pnpm/action-setup@v4 - with: - version: 10.27.0 - run_install: false - - - name: Checkout PR branch - uses: actions/checkout@v4 - with: - path: pr-branch - - - name: Checkout target branch - uses: actions/checkout@v4 - with: - path: target-branch - ref: ${{ github.event_name == 'workflow_dispatch' && inputs.target_branch || github.base_ref }} - - - name: Checkout release branch - uses: actions/checkout@v4 - with: - path: release-branch - ref: release - - - name: Copy resolution-time app into target and release branches - run: | - cp -r pr-branch/apps/resolution-time target-branch/apps/resolution-time - cp -r pr-branch/apps/resolution-time release-branch/apps/resolution-time - - - name: Install dependencies (PR branch) - working-directory: pr-branch - run: pnpm install - - - name: Install dependencies (target branch) - working-directory: target-branch - run: pnpm install - - - name: Install dependencies (release branch) - working-directory: release-branch - run: pnpm install - - - name: Set up Node.js - uses: actions/setup-node@v4 - with: - node-version: 24.x - cache: "pnpm" - cache-dependency-path: | - pr-branch/pnpm-lock.yaml - target-branch/pnpm-lock.yaml - release-branch/pnpm-lock.yaml - - - name: Run benchmark on PR branch - working-directory: pr-branch - run: pnpm --filter resolution-time resolution-time - - - name: Run benchmark on target branch - working-directory: target-branch - run: pnpm --filter resolution-time resolution-time - continue-on-error: true - - - name: Run benchmark on release branch - working-directory: release-branch - run: pnpm --filter resolution-time resolution-time - continue-on-error: true - - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install Python dependencies - run: pip install matplotlib numpy - - - name: Generate plots and reports - run: | - DEPTH_ARGS="--input PR:pr-branch/apps/resolution-time/results-max-depth.json" - LINEAR_ARGS="--input PR:pr-branch/apps/resolution-time/results-linear-recursion.json" - - if [ -f target-branch/apps/resolution-time/results-max-depth.json ]; then - DEPTH_ARGS="$DEPTH_ARGS --input target:target-branch/apps/resolution-time/results-max-depth.json" - LINEAR_ARGS="$LINEAR_ARGS --input target:target-branch/apps/resolution-time/results-linear-recursion.json" - fi - - if [ -f release-branch/apps/resolution-time/results-max-depth.json ]; then - DEPTH_ARGS="$DEPTH_ARGS --input release:release-branch/apps/resolution-time/results-max-depth.json" - LINEAR_ARGS="$LINEAR_ARGS --input release:release-branch/apps/resolution-time/results-linear-recursion.json" - fi - - python pr-branch/apps/resolution-time/plot.py \ - $DEPTH_ARGS \ - --title "Resolution Time vs Max Depth" \ - --output-file max-depth.png \ - --output-md max-depth.md - - python pr-branch/apps/resolution-time/plot.py \ - $LINEAR_ARGS \ - --title "Resolution Time vs Linear Recursion" \ - --output-file linear-recursion.png \ - --output-md linear-recursion.md - - - name: Upload plot artifacts - uses: actions/upload-artifact@v4 - with: - name: resolution-time-plots - path: | - max-depth.png - linear-recursion.png - - - name: Build comment - run: | - { - echo '' - echo '## Resolution Time Benchmark' - echo '' - echo '### Max Depth (branching=2)' - cat max-depth.md - echo '' - echo '### Linear Recursion (branching=1)' - cat linear-recursion.md - echo '' - echo "> PNG plots available as [workflow artifacts](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})" - } > comment.md - - - name: Comment PR with results - uses: actions/github-script@v7 - with: - script: | - const fs = require('fs'); - const comment = fs.readFileSync('comment.md', 'utf8'); - - const botCommentIdentifier = ''; - - async function findBotComment(issueNumber) { - if (!issueNumber) return null; - const comments = await github.rest.issues.listComments({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: issueNumber, - }); - return comments.data.find((c) => - c.body.includes(botCommentIdentifier) - ); - } - - async function createOrUpdateComment(issueNumber) { - if (!issueNumber) { - console.log('No issue number provided. Cannot post or update comment.'); - return; - } - - const existingComment = await findBotComment(issueNumber); - if (existingComment) { - await github.rest.issues.updateComment({ - ...context.repo, - comment_id: existingComment.id, - body: comment, - }); - } else { - await github.rest.issues.createComment({ - ...context.repo, - issue_number: issueNumber, - body: comment, - }); - } - } - - const issueNumber = context.issue.number; - if (!issueNumber) { - console.log('No issue number found in context. Skipping comment.'); - } else { - await createOrUpdateComment(issueNumber); - } - await core.summary - .addRaw(comment) - .write(); diff --git a/apps/resolution-time/README.md b/apps/resolution-time/README.md index 8a86034a40..0058b1d2d0 100644 --- a/apps/resolution-time/README.md +++ b/apps/resolution-time/README.md @@ -41,3 +41,31 @@ Add your function to the `instructions.push(...)` call. **Leaves must come first - Every instruction **must** call `popDepth()` exactly once, as the last statement - No direct function calls inside instructions — branching happens only via the `tgpu.unroll` + `choice()` pattern + +## Generating Mermaid charts + +`generateChart.ts` reads benchmark result JSON files and outputs a Mermaid xychart comparing up to 3 datasets. + +### Usage + +```sh +node generateChart.ts \ + --input "PR:results-max-depth.json" \ + --input "main:../other/results-max-depth.json" \ + --title "Resolution Time vs Max Depth" \ + --xAxisTitle "max depth" \ + --yAxisTitle "time (ms)" \ + --output chart.md +``` + +### Arguments + +| Argument | Required | Description | +|---|---|---| +| `--input

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 diff --git a/apps/resolution-time/max-depth.png b/apps/resolution-time/max-depth.png deleted file mode 100644 index 2e9c03f1b46e5a8889065fdeb269e9102d8c0e8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109635 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 z 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 diff --git a/apps/resolution-time/plot.py b/apps/resolution-time/plot.py deleted file mode 100644 index a37ae389d0..0000000000 --- a/apps/resolution-time/plot.py +++ /dev/null @@ -1,103 +0,0 @@ -import argparse -import json -import statistics - -parser = argparse.ArgumentParser() -parser.add_argument( - "--input", - action="append", - required=True, - help="label:filepath pair (e.g., 'PR:results.json')", -) -parser.add_argument("--output-file", help="PNG output path") -parser.add_argument("--output-md", help="Markdown output path (Mermaid chart + table)") -parser.add_argument("--title", default="") -args = parser.parse_args() - -datasets = [] -for pair in args.input: - label, filepath = pair.split(":", 1) - with open(filepath, "r") as f: - data = json.load(f) - datasets.append({"label": label, "data": data}) - -if args.output_file: - import matplotlib.pyplot as plt # ty: ignore[unresolved-import] - import numpy as np # ty: ignore[unresolved-import] - - COLORS = ["#1f77b4", "#ff7f0e", "#2ca02c", "#d62728", "#9467bd"] - - fig, ax = plt.subplots(figsize=(10, 6)) - - for i, ds in enumerate(datasets): - x = [d["maxDepth"] for d in ds["data"]] - y = [d["timeMs"] for d in ds["data"]] - color = COLORS[i % len(COLORS)] - - ax.scatter(x, y, color=color, alpha=0.3, s=60, zorder=5) - - coefficients = np.polyfit(x, y, deg=2) - polynomial = np.poly1d(coefficients) - x_smooth = np.linspace(min(x), max(x), 100) - y_smooth = polynomial(x_smooth) - ax.plot(x_smooth, y_smooth, color=color, linewidth=2, label=ds["label"]) - - ax.set_ylabel("time (ms)") - ax.set_xlabel("max depth") - if args.title: - ax.set_title(args.title) - ax.legend() - ax.grid(True, linestyle="--", alpha=0.6) - plt.savefig(args.output_file, dpi=300, bbox_inches="tight") - -if args.output_md: - all_depths = sorted(set(d["maxDepth"] for ds in datasets for d in ds["data"])) - - lines = [] - - # Mermaid chart - lines.append("```mermaid") - lines.append("xychart-beta") - if args.title: - lines.append(f' title "{args.title}"') - lines.append(f' x-axis "max depth" [{", ".join(str(d) for d in all_depths)}]') - lines.append(' y-axis "time (ms)"') - - for ds in datasets: - medians = [] - for depth in all_depths: - times = [d["timeMs"] for d in ds["data"] if d["maxDepth"] == depth] - median = statistics.median(times) if times else 0 - medians.append(f"{median:.2f}") - lines.append(f" line [{', '.join(medians)}]") - - lines.append("```") - lines.append("") - - # Legend (Mermaid xychart-beta doesn't support named series) - legend_parts = [] - symbols = ["\U0001f535", "\U0001f7e0", "\U0001f7e2", "\U0001f534", "\U0001f7e3"] - for i, ds in enumerate(datasets): - legend_parts.append(f"{symbols[i % len(symbols)]} {ds['label']}") - lines.append(" | ".join(legend_parts)) - lines.append("") - - # Data table - header = ( - "| max depth | " + " | ".join(f"{ds['label']} (ms)" for ds in datasets) + " |" - ) - separator = "|---" * (len(datasets) + 1) + "|" - lines.append(header) - lines.append(separator) - - for depth in all_depths: - row = f"| {depth} " - for ds in datasets: - times = [d["timeMs"] for d in ds["data"] if d["maxDepth"] == depth] - median = statistics.median(times) if times else 0 - row += f"| {median:.2f} " - row += "|" - lines.append(row) - - with open(args.output_md, "w") as f: - f.write("\n".join(lines)) diff --git a/apps/resolution-time/procedural.ts b/apps/resolution-time/procedural.ts index c88332d998..62a30ef93f 100644 --- a/apps/resolution-time/procedural.ts +++ b/apps/resolution-time/procedural.ts @@ -214,7 +214,7 @@ const main = () => { } }; -interface BenchmarkResult { +export interface BenchmarkResult { maxDepth: number; timeMs: number; wgslLength: number; diff --git a/apps/resolution-time/results-linear-recursion.json b/apps/resolution-time/results-linear-recursion.json deleted file mode 100644 index 683dd82ce1..0000000000 --- a/apps/resolution-time/results-linear-recursion.json +++ /dev/null @@ -1,402 +0,0 @@ -[ - { - "maxDepth": 1, - "timeMs": 0.06591700000012679, - "wgslLength": 367 - }, - { - "maxDepth": 1, - "timeMs": 0.06445800000005875, - "wgslLength": 367 - }, - { - "maxDepth": 1, - "timeMs": 0.06437499999992724, - "wgslLength": 367 - }, - { - "maxDepth": 1, - "timeMs": 0.0734580000000733, - "wgslLength": 367 - }, - { - "maxDepth": 1, - "timeMs": 0.07104099999992286, - "wgslLength": 367 - }, - { - "maxDepth": 1, - "timeMs": 0.0806249999998272, - "wgslLength": 367 - }, - { - "maxDepth": 1, - "timeMs": 0.06479200000012497, - "wgslLength": 367 - }, - { - "maxDepth": 1, - "timeMs": 0.06391700000017408, - "wgslLength": 367 - }, - { - "maxDepth": 1, - "timeMs": 0.06462499999997817, - "wgslLength": 367 - }, - { - "maxDepth": 1, - "timeMs": 0.0648750000000291, - "wgslLength": 367 - }, - { - "maxDepth": 2, - "timeMs": 0.14095800000018244, - "wgslLength": 652 - }, - { - "maxDepth": 2, - "timeMs": 0.16733400000020993, - "wgslLength": 652 - }, - { - "maxDepth": 2, - "timeMs": 0.11920900000018264, - "wgslLength": 652 - }, - { - "maxDepth": 2, - "timeMs": 0.11687499999993634, - "wgslLength": 652 - }, - { - "maxDepth": 2, - "timeMs": 0.11354099999994105, - "wgslLength": 652 - }, - { - "maxDepth": 2, - "timeMs": 0.11525000000006003, - "wgslLength": 652 - }, - { - "maxDepth": 2, - "timeMs": 0.11337499999990541, - "wgslLength": 652 - }, - { - "maxDepth": 2, - "timeMs": 0.11562499999990905, - "wgslLength": 652 - }, - { - "maxDepth": 2, - "timeMs": 0.11454200000002857, - "wgslLength": 652 - }, - { - "maxDepth": 2, - "timeMs": 0.11449999999990723, - "wgslLength": 652 - }, - { - "maxDepth": 3, - "timeMs": 0.19220900000004804, - "wgslLength": 969 - }, - { - "maxDepth": 3, - "timeMs": 0.18833300000005693, - "wgslLength": 969 - }, - { - "maxDepth": 3, - "timeMs": 0.1960830000000442, - "wgslLength": 969 - }, - { - "maxDepth": 3, - "timeMs": 0.1892920000000231, - "wgslLength": 969 - }, - { - "maxDepth": 3, - "timeMs": 0.19329100000004473, - "wgslLength": 969 - }, - { - "maxDepth": 3, - "timeMs": 0.1851249999999709, - "wgslLength": 969 - }, - { - "maxDepth": 3, - "timeMs": 0.1884580000000824, - "wgslLength": 969 - }, - { - "maxDepth": 3, - "timeMs": 0.20504100000016479, - "wgslLength": 969 - }, - { - "maxDepth": 3, - "timeMs": 0.20325000000002547, - "wgslLength": 969 - }, - { - "maxDepth": 3, - "timeMs": 0.1774169999998776, - "wgslLength": 969 - }, - { - "maxDepth": 4, - "timeMs": 0.24795799999992596, - "wgslLength": 1290 - }, - { - "maxDepth": 4, - "timeMs": 0.24441699999988487, - "wgslLength": 1290 - }, - { - "maxDepth": 4, - "timeMs": 0.24308399999995345, - "wgslLength": 1290 - }, - { - "maxDepth": 4, - "timeMs": 0.26270899999985886, - "wgslLength": 1290 - }, - { - "maxDepth": 4, - "timeMs": 0.24345800000014606, - "wgslLength": 1290 - }, - { - "maxDepth": 4, - "timeMs": 0.25041699999997036, - "wgslLength": 1290 - }, - { - "maxDepth": 4, - "timeMs": 0.25004199999989396, - "wgslLength": 1290 - }, - { - "maxDepth": 4, - "timeMs": 0.2615000000000691, - "wgslLength": 1290 - }, - { - "maxDepth": 4, - "timeMs": 0.24612499999989268, - "wgslLength": 1290 - }, - { - "maxDepth": 4, - "timeMs": 0.24537499999996726, - "wgslLength": 1290 - }, - { - "maxDepth": 5, - "timeMs": 0.31483400000001893, - "wgslLength": 1476 - }, - { - "maxDepth": 5, - "timeMs": 0.3194579999999405, - "wgslLength": 1476 - }, - { - "maxDepth": 5, - "timeMs": 0.32558399999993526, - "wgslLength": 1476 - }, - { - "maxDepth": 5, - "timeMs": 0.29291699999998855, - "wgslLength": 1476 - }, - { - "maxDepth": 5, - "timeMs": 0.2834580000001097, - "wgslLength": 1476 - }, - { - "maxDepth": 5, - "timeMs": 0.28579199999990124, - "wgslLength": 1476 - }, - { - "maxDepth": 5, - "timeMs": 0.28833399999984977, - "wgslLength": 1476 - }, - { - "maxDepth": 5, - "timeMs": 0.30129199999987577, - "wgslLength": 1476 - }, - { - "maxDepth": 5, - "timeMs": 0.28645800000003874, - "wgslLength": 1476 - }, - { - "maxDepth": 5, - "timeMs": 0.2825829999999314, - "wgslLength": 1476 - }, - { - "maxDepth": 6, - "timeMs": 0.35029199999985394, - "wgslLength": 1797 - }, - { - "maxDepth": 6, - "timeMs": 0.353458000000046, - "wgslLength": 1797 - }, - { - "maxDepth": 6, - "timeMs": 0.349666999999954, - "wgslLength": 1797 - }, - { - "maxDepth": 6, - "timeMs": 0.3512080000000424, - "wgslLength": 1797 - }, - { - "maxDepth": 6, - "timeMs": 0.3470830000001115, - "wgslLength": 1797 - }, - { - "maxDepth": 6, - "timeMs": 0.3861660000000029, - "wgslLength": 1797 - }, - { - "maxDepth": 6, - "timeMs": 0.37837500000000546, - "wgslLength": 1797 - }, - { - "maxDepth": 6, - "timeMs": 0.3678339999999025, - "wgslLength": 1797 - }, - { - "maxDepth": 6, - "timeMs": 0.3669159999999465, - "wgslLength": 1797 - }, - { - "maxDepth": 6, - "timeMs": 0.3738749999999982, - "wgslLength": 1797 - }, - { - "maxDepth": 7, - "timeMs": 0.4679169999999431, - "wgslLength": 2153 - }, - { - "maxDepth": 7, - "timeMs": 0.43104200000016135, - "wgslLength": 2153 - }, - { - "maxDepth": 7, - "timeMs": 0.4296670000001086, - "wgslLength": 2153 - }, - { - "maxDepth": 7, - "timeMs": 0.42908299999999144, - "wgslLength": 2153 - }, - { - "maxDepth": 7, - "timeMs": 0.4672089999999116, - "wgslLength": 2153 - }, - { - "maxDepth": 7, - "timeMs": 0.4312919999999849, - "wgslLength": 2153 - }, - { - "maxDepth": 7, - "timeMs": 0.4216670000000704, - "wgslLength": 2153 - }, - { - "maxDepth": 7, - "timeMs": 0.4170419999998103, - "wgslLength": 2153 - }, - { - "maxDepth": 7, - "timeMs": 0.41716600000017934, - "wgslLength": 2153 - }, - { - "maxDepth": 7, - "timeMs": 0.4154590000000553, - "wgslLength": 2153 - }, - { - "maxDepth": 8, - "timeMs": 0.49283300000001873, - "wgslLength": 2443 - }, - { - "maxDepth": 8, - "timeMs": 0.49041600000009566, - "wgslLength": 2443 - }, - { - "maxDepth": 8, - "timeMs": 0.48820900000009715, - "wgslLength": 2443 - }, - { - "maxDepth": 8, - "timeMs": 0.5027910000001157, - "wgslLength": 2443 - }, - { - "maxDepth": 8, - "timeMs": 0.4986659999999574, - "wgslLength": 2443 - }, - { - "maxDepth": 8, - "timeMs": 0.5170410000000629, - "wgslLength": 2443 - }, - { - "maxDepth": 8, - "timeMs": 0.50912500000004, - "wgslLength": 2443 - }, - { - "maxDepth": 8, - "timeMs": 0.5059579999999642, - "wgslLength": 2443 - }, - { - "maxDepth": 8, - "timeMs": 0.5087919999998576, - "wgslLength": 2443 - }, - { - "maxDepth": 8, - "timeMs": 0.49862499999994725, - "wgslLength": 2443 - } -] \ No newline at end of file diff --git a/apps/resolution-time/results-max-depth.json b/apps/resolution-time/results-max-depth.json deleted file mode 100644 index e0111a6ed8..0000000000 --- a/apps/resolution-time/results-max-depth.json +++ /dev/null @@ -1,402 +0,0 @@ -[ - { - "maxDepth": 1, - "timeMs": 0.6697080000000142, - "wgslLength": 686 - }, - { - "maxDepth": 1, - "timeMs": 0.3409159999999929, - "wgslLength": 686 - }, - { - "maxDepth": 1, - "timeMs": 0.3090829999999869, - "wgslLength": 686 - }, - { - "maxDepth": 1, - "timeMs": 0.31270900000004076, - "wgslLength": 686 - }, - { - "maxDepth": 1, - "timeMs": 0.28949999999997544, - "wgslLength": 686 - }, - { - "maxDepth": 1, - "timeMs": 0.29712500000005093, - "wgslLength": 686 - }, - { - "maxDepth": 1, - "timeMs": 0.3246669999999767, - "wgslLength": 686 - }, - { - "maxDepth": 1, - "timeMs": 0.3088749999999436, - "wgslLength": 686 - }, - { - "maxDepth": 1, - "timeMs": 0.33083399999998164, - "wgslLength": 686 - }, - { - "maxDepth": 1, - "timeMs": 0.32787499999994907, - "wgslLength": 686 - }, - { - "maxDepth": 2, - "timeMs": 1.2829580000000078, - "wgslLength": 1842 - }, - { - "maxDepth": 2, - "timeMs": 0.7673750000000155, - "wgslLength": 1842 - }, - { - "maxDepth": 2, - "timeMs": 0.7380419999999503, - "wgslLength": 1842 - }, - { - "maxDepth": 2, - "timeMs": 0.7234999999999445, - "wgslLength": 1842 - }, - { - "maxDepth": 2, - "timeMs": 0.6817079999999578, - "wgslLength": 1842 - }, - { - "maxDepth": 2, - "timeMs": 0.6210839999999962, - "wgslLength": 1842 - }, - { - "maxDepth": 2, - "timeMs": 0.6281669999999622, - "wgslLength": 1842 - }, - { - "maxDepth": 2, - "timeMs": 0.5762919999999667, - "wgslLength": 1842 - }, - { - "maxDepth": 2, - "timeMs": 0.5680410000001075, - "wgslLength": 1842 - }, - { - "maxDepth": 2, - "timeMs": 0.5848750000000109, - "wgslLength": 1842 - }, - { - "maxDepth": 3, - "timeMs": 1.7641249999999218, - "wgslLength": 4330 - }, - { - "maxDepth": 3, - "timeMs": 1.3347079999999778, - "wgslLength": 4330 - }, - { - "maxDepth": 3, - "timeMs": 1.4230420000000095, - "wgslLength": 4330 - }, - { - "maxDepth": 3, - "timeMs": 1.2958339999998998, - "wgslLength": 4330 - }, - { - "maxDepth": 3, - "timeMs": 2.0174999999999272, - "wgslLength": 4330 - }, - { - "maxDepth": 3, - "timeMs": 1.1964590000000044, - "wgslLength": 4330 - }, - { - "maxDepth": 3, - "timeMs": 1.0565420000000358, - "wgslLength": 4330 - }, - { - "maxDepth": 3, - "timeMs": 1.031500000000051, - "wgslLength": 4330 - }, - { - "maxDepth": 3, - "timeMs": 0.9660419999999021, - "wgslLength": 4330 - }, - { - "maxDepth": 3, - "timeMs": 1.0624159999999847, - "wgslLength": 4330 - }, - { - "maxDepth": 4, - "timeMs": 2.3997080000000324, - "wgslLength": 8706 - }, - { - "maxDepth": 4, - "timeMs": 2.177500000000009, - "wgslLength": 8706 - }, - { - "maxDepth": 4, - "timeMs": 2.165707999999995, - "wgslLength": 8706 - }, - { - "maxDepth": 4, - "timeMs": 1.9757909999999583, - "wgslLength": 8706 - }, - { - "maxDepth": 4, - "timeMs": 2.443791000000033, - "wgslLength": 8706 - }, - { - "maxDepth": 4, - "timeMs": 1.8566250000000082, - "wgslLength": 8706 - }, - { - "maxDepth": 4, - "timeMs": 1.9732079999999996, - "wgslLength": 8706 - }, - { - "maxDepth": 4, - "timeMs": 1.860125000000039, - "wgslLength": 8706 - }, - { - "maxDepth": 4, - "timeMs": 1.7767499999999927, - "wgslLength": 8706 - }, - { - "maxDepth": 4, - "timeMs": 1.971541000000002, - "wgslLength": 8706 - }, - { - "maxDepth": 5, - "timeMs": 4.463415999999938, - "wgslLength": 17306 - }, - { - "maxDepth": 5, - "timeMs": 3.7070420000000013, - "wgslLength": 17306 - }, - { - "maxDepth": 5, - "timeMs": 3.5201250000000073, - "wgslLength": 17306 - }, - { - "maxDepth": 5, - "timeMs": 3.19237499999997, - "wgslLength": 17306 - }, - { - "maxDepth": 5, - "timeMs": 4.129542000000015, - "wgslLength": 17306 - }, - { - "maxDepth": 5, - "timeMs": 3.5289999999999964, - "wgslLength": 17306 - }, - { - "maxDepth": 5, - "timeMs": 3.743082999999956, - "wgslLength": 17306 - }, - { - "maxDepth": 5, - "timeMs": 3.920833000000016, - "wgslLength": 17306 - }, - { - "maxDepth": 5, - "timeMs": 3.1866249999999354, - "wgslLength": 17306 - }, - { - "maxDepth": 5, - "timeMs": 3.417041999999924, - "wgslLength": 17306 - }, - { - "maxDepth": 6, - "timeMs": 7.551375000000007, - "wgslLength": 33705 - }, - { - "maxDepth": 6, - "timeMs": 6.25304200000005, - "wgslLength": 33705 - }, - { - "maxDepth": 6, - "timeMs": 6.922832999999969, - "wgslLength": 33705 - }, - { - "maxDepth": 6, - "timeMs": 6.853709000000094, - "wgslLength": 33705 - }, - { - "maxDepth": 6, - "timeMs": 7.282165999999961, - "wgslLength": 33705 - }, - { - "maxDepth": 6, - "timeMs": 6.870958000000087, - "wgslLength": 33705 - }, - { - "maxDepth": 6, - "timeMs": 7.540875000000028, - "wgslLength": 33705 - }, - { - "maxDepth": 6, - "timeMs": 6.717583999999988, - "wgslLength": 33705 - }, - { - "maxDepth": 6, - "timeMs": 6.952417000000082, - "wgslLength": 33705 - }, - { - "maxDepth": 6, - "timeMs": 6.067791000000057, - "wgslLength": 33705 - }, - { - "maxDepth": 7, - "timeMs": 13.808499999999981, - "wgslLength": 68583 - }, - { - "maxDepth": 7, - "timeMs": 14.152500000000032, - "wgslLength": 68583 - }, - { - "maxDepth": 7, - "timeMs": 13.992624999999975, - "wgslLength": 68583 - }, - { - "maxDepth": 7, - "timeMs": 16.518750000000068, - "wgslLength": 68583 - }, - { - "maxDepth": 7, - "timeMs": 16.483499999999935, - "wgslLength": 68583 - }, - { - "maxDepth": 7, - "timeMs": 14.276124999999979, - "wgslLength": 68583 - }, - { - "maxDepth": 7, - "timeMs": 14.041166999999973, - "wgslLength": 68583 - }, - { - "maxDepth": 7, - "timeMs": 13.189250000000015, - "wgslLength": 68583 - }, - { - "maxDepth": 7, - "timeMs": 13.596124999999915, - "wgslLength": 68583 - }, - { - "maxDepth": 7, - "timeMs": 12.618041999999946, - "wgslLength": 68583 - }, - { - "maxDepth": 8, - "timeMs": 26.316333999999983, - "wgslLength": 135963 - }, - { - "maxDepth": 8, - "timeMs": 26.17025000000001, - "wgslLength": 135963 - }, - { - "maxDepth": 8, - "timeMs": 26.170417000000043, - "wgslLength": 135963 - }, - { - "maxDepth": 8, - "timeMs": 25.678125000000023, - "wgslLength": 135963 - }, - { - "maxDepth": 8, - "timeMs": 25.4107919999999, - "wgslLength": 135963 - }, - { - "maxDepth": 8, - "timeMs": 24.703125, - "wgslLength": 135963 - }, - { - "maxDepth": 8, - "timeMs": 25.880707999999913, - "wgslLength": 135963 - }, - { - "maxDepth": 8, - "timeMs": 29.05104099999994, - "wgslLength": 135963 - }, - { - "maxDepth": 8, - "timeMs": 39.85566599999993, - "wgslLength": 135963 - }, - { - "maxDepth": 8, - "timeMs": 30.196957999999995, - "wgslLength": 135963 - } -] \ No newline at end of file From 4ef79d2b436b9f2cc236a9b90f672ba1d2e2a6bd Mon Sep 17 00:00:00 2001 From: Szymon Szulc Date: Tue, 3 Mar 2026 19:34:20 +0100 Subject: [PATCH 06/14] oxfmt --- apps/resolution-time/package.json | 6 +++--- apps/resolution-time/procedural.ts | 29 +++++++++++++------------- apps/resolution-time/tsconfig.json | 2 +- apps/resolution-time/vitest.config.mts | 5 +---- 4 files changed, 20 insertions(+), 22 deletions(-) diff --git a/apps/resolution-time/package.json b/apps/resolution-time/package.json index 4d9c82a1c9..537cc4904f 100644 --- a/apps/resolution-time/package.json +++ b/apps/resolution-time/package.json @@ -1,16 +1,16 @@ { "name": "resolution-time", - "private": true, "version": "0.0.0", + "private": true, "type": "module", "scripts": { "resolution-time": "vitest run", "dev": "vitest run -w" }, "dependencies": { + "jiti": "catalog:build", "typegpu": "workspace:*", "unplugin-typegpu": "workspace:*", - "vitest": "catalog:test", - "jiti": "catalog:build" + "vitest": "catalog:test" } } diff --git a/apps/resolution-time/procedural.ts b/apps/resolution-time/procedural.ts index 62a30ef93f..9d290556aa 100644 --- a/apps/resolution-time/procedural.ts +++ b/apps/resolution-time/procedural.ts @@ -11,7 +11,17 @@ interface ProcGenConfig { seed: number; samples?: number; } + +// default config const SAMPLES = 10; +const config: ProcGenConfig & { samples: number } = { + mainBranching: 2, + branching: 2, + maxDepth: 3, + recurseProb: 0.77, + seed: 0.1882 * 2 ** 32, + samples: SAMPLES, +}; // simple stateful PRNG // https://stackoverflow.com/questions/521295/seeding-the-random-number-generator-in-javascript @@ -27,16 +37,7 @@ function splitmix32(seed: number) { }; } -const config: ProcGenConfig & { samples: number } = { - mainBranching: 2, - branching: 2, - maxDepth: 1, - recurseProb: 1, - seed: 0.1882 * 2 ** 32, - samples: SAMPLES, -}; - -let rand = splitmix32(0.1882 * 2 ** 32); +let rand = splitmix32(config.seed); const state = tgpu.lazy(() => ({ stackDepth: 0, @@ -50,7 +51,7 @@ const arrayForUnroll = tgpu.comptime((n: number) => Array.from({ length: n })); let branchichUnrollArray = arrayForUnroll(config.branching); const choice = tgpu.comptime((): number => { - if (state.$.stackDepth == config.maxDepth - 1 /*|| rand() > config.recurseProb*/) { + if (state.$.stackDepth == config.maxDepth - 1 || rand() > config.recurseProb) { state.$.stackDepth++; return Math.floor(rand() * LEAF_COUNT); } @@ -252,14 +253,14 @@ function warmupJIT() { mainBranching: 1, branching: 1, maxDepth: 1, - recurseProb: 1, + recurseProb: 0, seed: 0.1882 * 2 ** 32, }, [], ); } -test('resolution time vs max depth', () => { +test('resolution time vs max depth (full tree)', () => { const results: BenchmarkResult[] = []; const DEPTHS = Array.from({ length: 8 }, (_, i) => i + 1); @@ -280,7 +281,7 @@ test('resolution time vs max depth', () => { writeFileSync(resolve(outDir, 'results-max-depth.json'), JSON.stringify(results, null, 2)); }); -test('resolution time vs linear recursion', () => { +test('resolution time vs linear recursion (path)', () => { const results: BenchmarkResult[] = []; const DEPTHS = Array.from({ length: 8 }, (_, i) => i + 1); diff --git a/apps/resolution-time/tsconfig.json b/apps/resolution-time/tsconfig.json index 14c6d63e39..a0d178fcf6 100644 --- a/apps/resolution-time/tsconfig.json +++ b/apps/resolution-time/tsconfig.json @@ -1,5 +1,5 @@ { "extends": "../../tsconfig.base.json", "include": ["*.ts"], - "exclude": ["node_modules", "dist"], + "exclude": ["node_modules", "dist"] } diff --git a/apps/resolution-time/vitest.config.mts b/apps/resolution-time/vitest.config.mts index d4cdb24bd0..3f48002f19 100644 --- a/apps/resolution-time/vitest.config.mts +++ b/apps/resolution-time/vitest.config.mts @@ -3,10 +3,7 @@ import type TypeGPUPlugin from 'unplugin-typegpu/vite'; import { defineConfig } from 'vitest/config'; const jiti = createJiti(import.meta.url); -const typegpu = await jiti.import( - 'unplugin-typegpu/vite', - { default: true }, -); +const typegpu = await jiti.import('unplugin-typegpu/vite', { default: true }); export default defineConfig({ plugins: [typegpu({})], From 780872bacf7ff99d9d5dbd36282314c90928cd5b Mon Sep 17 00:00:00 2001 From: Szymon Szulc Date: Tue, 3 Mar 2026 19:39:29 +0100 Subject: [PATCH 07/14] review fixes --- apps/resolution-time/generateChart.ts | 2 +- apps/resolution-time/procedural.ts | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/apps/resolution-time/generateChart.ts b/apps/resolution-time/generateChart.ts index eefa59c733..7a90e0f50d 100644 --- a/apps/resolution-time/generateChart.ts +++ b/apps/resolution-time/generateChart.ts @@ -31,7 +31,7 @@ for (let i = 0; i < args.length; i++) { title = args[++i]!; } else if (args[i] === '--output') { if (output !== '') { - throw new Error('Ambiguous title'); + throw new Error('Ambiguous output'); } // oxlint-disable-next-line typescript/no-non-null-assertion output = args[++i]!; diff --git a/apps/resolution-time/procedural.ts b/apps/resolution-time/procedural.ts index 9d290556aa..85aa373bb2 100644 --- a/apps/resolution-time/procedural.ts +++ b/apps/resolution-time/procedural.ts @@ -48,7 +48,7 @@ const LEAF_COUNT = 3; // TODO: replace it with number, when unroll supports that const arrayForUnroll = tgpu.comptime((n: number) => Array.from({ length: n })); -let branchichUnrollArray = arrayForUnroll(config.branching); +let branchingUnrollArray = arrayForUnroll(config.branching); const choice = tgpu.comptime((): number => { if (state.$.stackDepth == config.maxDepth - 1 || rand() > config.recurseProb) { @@ -129,7 +129,7 @@ const waveFn = tgpu.comptime(() => { v = d.vec2f(std.sin(v.x * Math.PI), std.cos(v.y * Math.PI)); const _energy = v.x * v.x + v.y * v.y; - for (const _i of tgpu.unroll(branchichUnrollArray)) { + for (const _i of tgpu.unroll(branchingUnrollArray)) { // @ts-expect-error trust me instructions[choice()]()(); } @@ -149,7 +149,7 @@ const accFn = tgpu.comptime(() => { let acc = d.vec2f(); acc = d.vec2f(acc.x + offset.x * scale, acc.y + offset.y * scale); - for (const _i of tgpu.unroll(branchichUnrollArray)) { + for (const _i of tgpu.unroll(branchingUnrollArray)) { // @ts-expect-error trust me instructions[choice()]()(); } @@ -171,7 +171,7 @@ const rotateFn = tgpu.comptime(() => { const s = Math.sin(angle); v = d.vec2f(v.x * c - v.y * s, v.x * s + v.y * c); - for (const _i of tgpu.unroll(branchichUnrollArray)) { + for (const _i of tgpu.unroll(branchingUnrollArray)) { // @ts-expect-error trust me instructions[choice()]()(); } @@ -193,7 +193,7 @@ const spiralFn = tgpu.comptime(() => { const pos = d.vec2f(center.x + radius * Math.cos(angle), center.y + radius * Math.sin(angle)); const _dist = std.length(pos); - for (const _i of tgpu.unroll(branchichUnrollArray)) { + for (const _i of tgpu.unroll(branchingUnrollArray)) { // @ts-expect-error trust me instructions[choice()]()(); } @@ -232,8 +232,7 @@ const outDir = resolve(import.meta.dirname ?? '.', '.'); function runBenchmark(input: ProcGenConfig, output: BenchmarkResult[]) { Object.assign(config, { samples: input.samples ?? SAMPLES }, input); - branchichUnrollArray = arrayForUnroll(config.branching); - rand = splitmix32(config.seed); + branchingUnrollArray = arrayForUnroll(config.branching); for (let i = 0; i < config.samples; i++) { rand = splitmix32(config.maxDepth * 2 ** 32); From 0e34944db448b8f5b5630a7bb343872b1246943f Mon Sep 17 00:00:00 2001 From: Szymon Szulc Date: Tue, 3 Mar 2026 20:15:05 +0100 Subject: [PATCH 08/14] review changes --- apps/resolution-time/package.json | 4 ++-- apps/resolution-time/tsconfig.json | 2 +- vitest.config.mts | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/resolution-time/package.json b/apps/resolution-time/package.json index 537cc4904f..3f95ccca5e 100644 --- a/apps/resolution-time/package.json +++ b/apps/resolution-time/package.json @@ -2,10 +2,10 @@ "name": "resolution-time", "version": "0.0.0", "private": true, + "description": "Resolution time benchmark app for TypeGPU", "type": "module", "scripts": { - "resolution-time": "vitest run", - "dev": "vitest run -w" + "resolution-time": "vitest run procedural.ts" }, "dependencies": { "jiti": "catalog:build", diff --git a/apps/resolution-time/tsconfig.json b/apps/resolution-time/tsconfig.json index a0d178fcf6..ffb3ead36e 100644 --- a/apps/resolution-time/tsconfig.json +++ b/apps/resolution-time/tsconfig.json @@ -1,5 +1,5 @@ { "extends": "../../tsconfig.base.json", "include": ["*.ts"], - "exclude": ["node_modules", "dist"] + "exclude": ["node_modules"], } diff --git a/vitest.config.mts b/vitest.config.mts index 2372abc9ac..4ce119f680 100644 --- a/vitest.config.mts +++ b/vitest.config.mts @@ -2,6 +2,6 @@ import { defineConfig } from 'vitest/config'; export default defineConfig({ test: { - projects: ['packages/*', 'apps/*'], + projects: ['packages/*', 'apps/*', '!apps/resolution-time'], }, }); From 861f1828d7d009ded6c078685893bafa486b8957 Mon Sep 17 00:00:00 2001 From: Szymon Szulc Date: Tue, 3 Mar 2026 20:19:32 +0100 Subject: [PATCH 09/14] oxfmt --- apps/resolution-time/tsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/resolution-time/tsconfig.json b/apps/resolution-time/tsconfig.json index ffb3ead36e..003da9060c 100644 --- a/apps/resolution-time/tsconfig.json +++ b/apps/resolution-time/tsconfig.json @@ -1,5 +1,5 @@ { "extends": "../../tsconfig.base.json", "include": ["*.ts"], - "exclude": ["node_modules"], + "exclude": ["node_modules"] } From 81299353b5f8a9862f095582cfde21ed73cc67d0 Mon Sep 17 00:00:00 2001 From: Szymon Szulc Date: Tue, 3 Mar 2026 22:34:29 +0100 Subject: [PATCH 10/14] readme update --- apps/resolution-time/README.md | 15 +++------------ apps/resolution-time/procedural.ts | 8 ++++---- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/apps/resolution-time/README.md b/apps/resolution-time/README.md index 0058b1d2d0..3a1ba58c28 100644 --- a/apps/resolution-time/README.md +++ b/apps/resolution-time/README.md @@ -1,4 +1,4 @@ -# Procedural TypeGPU function generator for benchmarking WGSL resolution time +# Procedural TypeGPU function generator for benchmarking resolution time ## Adding a new instruction @@ -33,15 +33,6 @@ const myRecursiveFn = tgpu.comptime(() => { }); ``` -### Registering - -Add your function to the `instructions.push(...)` call. **Leaves must come first**, followed by recursive functions. Update `LEAF_COUNT` if you add a new leaf. - -### Rules - -- Every instruction **must** call `popDepth()` exactly once, as the last statement -- No direct function calls inside instructions — branching happens only via the `tgpu.unroll` + `choice()` pattern - ## Generating Mermaid charts `generateChart.ts` reads benchmark result JSON files and outputs a Mermaid xychart comparing up to 3 datasets. @@ -50,8 +41,8 @@ Add your function to the `instructions.push(...)` call. **Leaves must come first ```sh node generateChart.ts \ - --input "PR:results-max-depth.json" \ - --input "main:../other/results-max-depth.json" \ + --input "PR:pr-branch/results-max-depth.json" \ + --input "main:main-branch/results-max-depth.json" \ --title "Resolution Time vs Max Depth" \ --xAxisTitle "max depth" \ --yAxisTitle "time (ms)" \ diff --git a/apps/resolution-time/procedural.ts b/apps/resolution-time/procedural.ts index 85aa373bb2..7a77c091f6 100644 --- a/apps/resolution-time/procedural.ts +++ b/apps/resolution-time/procedural.ts @@ -47,8 +47,8 @@ const instructions: TgpuComptime<() => TgpuGenericFn<() => void>>[] = []; const LEAF_COUNT = 3; // TODO: replace it with number, when unroll supports that -const arrayForUnroll = tgpu.comptime((n: number) => Array.from({ length: n })); -let branchingUnrollArray = arrayForUnroll(config.branching); +const getArrayForUnroll = tgpu.comptime((n: number) => Array.from({ length: n })); +let branchingUnrollArray = getArrayForUnroll(config.branching); const choice = tgpu.comptime((): number => { if (state.$.stackDepth == config.maxDepth - 1 || rand() > config.recurseProb) { @@ -209,7 +209,7 @@ instructions.push(baseFn, blendFn, thresholdFn, waveFn, accFn, rotateFn, spiralF const main = () => { 'use gpu'; - for (const _i of tgpu.unroll(arrayForUnroll(config.mainBranching))) { + for (const _i of tgpu.unroll(getArrayForUnroll(config.mainBranching))) { // @ts-expect-error trust me instructions[choice()]()(); } @@ -232,7 +232,7 @@ const outDir = resolve(import.meta.dirname ?? '.', '.'); function runBenchmark(input: ProcGenConfig, output: BenchmarkResult[]) { Object.assign(config, { samples: input.samples ?? SAMPLES }, input); - branchingUnrollArray = arrayForUnroll(config.branching); + branchingUnrollArray = getArrayForUnroll(config.branching); for (let i = 0; i < config.samples; i++) { rand = splitmix32(config.maxDepth * 2 ** 32); From 18c367347bf41ada1dd4d68223ade8d8a75066b6 Mon Sep 17 00:00:00 2001 From: Szymon Szulc Date: Wed, 4 Mar 2026 11:26:20 +0100 Subject: [PATCH 11/14] heavy leaf --- apps/resolution-time/generateChart.ts | 2 +- apps/resolution-time/procedural.ts | 32 +++++++++++++++++++++++++-- 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/apps/resolution-time/generateChart.ts b/apps/resolution-time/generateChart.ts index 7a90e0f50d..eb69fa7f62 100644 --- a/apps/resolution-time/generateChart.ts +++ b/apps/resolution-time/generateChart.ts @@ -64,7 +64,7 @@ if (title === '') { function median(values: number[]): number { // oxlint-disable-next-line eslint-plugin-unicorn(no-array-sort) - const sorted = [...values].sort((a, b) => a - b); + const sorted = values.sort((a, b) => a - b); const mid = Math.floor(sorted.length / 2); // oxlint-disable-next-line typescript/no-non-null-assertion return sorted.length % 2 ? sorted[mid]! : (sorted[mid - 1]! + sorted[mid]!) / 2; diff --git a/apps/resolution-time/procedural.ts b/apps/resolution-time/procedural.ts index 7a77c091f6..ad7f8e6956 100644 --- a/apps/resolution-time/procedural.ts +++ b/apps/resolution-time/procedural.ts @@ -44,7 +44,6 @@ const state = tgpu.lazy(() => ({ })); const instructions: TgpuComptime<() => TgpuGenericFn<() => void>>[] = []; -const LEAF_COUNT = 3; // TODO: replace it with number, when unroll supports that const getArrayForUnroll = tgpu.comptime((n: number) => Array.from({ length: n })); @@ -75,6 +74,14 @@ const dataLayout = tgpu.bindGroupLayout({ scale: { uniform: d.f32 }, }); +const Cell = d.struct({ + col: d.vec3f, +}); + +const cellsLayout = tgpu.bindGroupLayout({ + grid: { storage: d.arrayOf(d.arrayOf(Cell, 7), 7) }, +}); + const baseFn = tgpu.comptime(() => { return tgpu .fn(() => { @@ -120,6 +127,26 @@ const thresholdFn = tgpu.comptime(() => { .$name('thresholdFn'); }); +const filterFn = tgpu.comptime(() => { + return tgpu + .fn(() => { + 'use gpu'; + + const xy = d.vec2u(7, 8); + + let _result = d.vec3f(); + for (const dy of tgpu.unroll([-1, 0, 1])) { + for (const dx of tgpu.unroll([-1, 0, 1])) { + // oxlint-disable-next-line typescript-eslint(no-non-null-assertion + _result += cellsLayout.$.grid[xy.x + dx]![xy.y + dy]!.col; + } + } + + popDepth(); + }) + .$name('filterFn'); +}); + const waveFn = tgpu.comptime(() => { return tgpu .fn(() => { @@ -204,7 +231,8 @@ const spiralFn = tgpu.comptime(() => { }); // leaves first, then recursive -instructions.push(baseFn, blendFn, thresholdFn, waveFn, accFn, rotateFn, spiralFn); +instructions.push(baseFn, blendFn, thresholdFn, filterFn, waveFn, accFn, rotateFn, spiralFn); +const LEAF_COUNT = 4; const main = () => { 'use gpu'; From ad3bb5884ed9220e9616cdf311d0d1148ef2f2fb Mon Sep 17 00:00:00 2001 From: Szymon Szulc Date: Wed, 4 Mar 2026 11:35:10 +0100 Subject: [PATCH 12/14] random test --- apps/resolution-time/procedural.ts | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/apps/resolution-time/procedural.ts b/apps/resolution-time/procedural.ts index ad7f8e6956..2f7aa2ebfc 100644 --- a/apps/resolution-time/procedural.ts +++ b/apps/resolution-time/procedural.ts @@ -44,6 +44,7 @@ const state = tgpu.lazy(() => ({ })); const instructions: TgpuComptime<() => TgpuGenericFn<() => void>>[] = []; +const LEAF_COUNT = 4; // TODO: replace it with number, when unroll supports that const getArrayForUnroll = tgpu.comptime((n: number) => Array.from({ length: n })); @@ -232,7 +233,6 @@ const spiralFn = tgpu.comptime(() => { // leaves first, then recursive instructions.push(baseFn, blendFn, thresholdFn, filterFn, waveFn, accFn, rotateFn, spiralFn); -const LEAF_COUNT = 4; const main = () => { 'use gpu'; @@ -328,3 +328,24 @@ test('resolution time vs linear recursion (path)', () => { } writeFileSync(resolve(outDir, 'results-linear-recursion.json'), JSON.stringify(results, null, 2)); }); + +test('resolution time vs random', () => { + const results: BenchmarkResult[] = []; + const DEPTHS = Array.from({ length: 8 }, (_, i) => i + 1); + + warmupJIT(); + + for (const depth of DEPTHS) { + runBenchmark( + { + mainBranching: 3, + branching: 3, + maxDepth: depth, + recurseProb: 0.5, + seed: 0.1882 * 2 ** 32, + }, + results, + ); + } + writeFileSync(resolve(outDir, 'results-random.json'), JSON.stringify(results, null, 2)); +}); From 6cd0c5d682510309cb3eea38be939fb42cfcedc6 Mon Sep 17 00:00:00 2001 From: Szymon Szulc Date: Thu, 5 Mar 2026 13:24:46 +0100 Subject: [PATCH 13/14] refactor --- apps/resolution-time/procedural.ts | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/apps/resolution-time/procedural.ts b/apps/resolution-time/procedural.ts index 2f7aa2ebfc..65d24bbe42 100644 --- a/apps/resolution-time/procedural.ts +++ b/apps/resolution-time/procedural.ts @@ -89,7 +89,7 @@ const baseFn = tgpu.comptime(() => { 'use gpu'; let v = d.vec2f(0.5, 0.5); - v.x += 0.1; + v += 0.1; popDepth(); }) @@ -118,7 +118,7 @@ const thresholdFn = tgpu.comptime(() => { 'use gpu'; const tint = tintSlot.$; - const v = d.vec2f(tint.x, tint.y); + const v = tint.xy; const len = std.length(v); const edge = std.smoothstep(0.2, 0.8, len); const _result = d.vec3f(tint.x * edge, tint.y * edge, tint.z); @@ -155,7 +155,7 @@ const waveFn = tgpu.comptime(() => { let v = d.vec2f(0.3, 0.7); v = d.vec2f(std.sin(v.x * Math.PI), std.cos(v.y * Math.PI)); - const _energy = v.x * v.x + v.y * v.y; + const _energy = std.dot(v, v); for (const _i of tgpu.unroll(branchingUnrollArray)) { // @ts-expect-error trust me @@ -195,8 +195,8 @@ const rotateFn = tgpu.comptime(() => { const phase = phaseSlot.$; const angle = phase.x + timeAccessor.$ * phase.y; let v = d.vec2f(1, 0); - const c = Math.cos(angle); - const s = Math.sin(angle); + const c = std.cos(angle); + const s = std.sin(angle); v = d.vec2f(v.x * c - v.y * s, v.x * s + v.y * c); for (const _i of tgpu.unroll(branchingUnrollArray)) { @@ -218,7 +218,7 @@ const spiralFn = tgpu.comptime(() => { const center = dataLayout.$.offset; const radius = 0.5 * std.sin(t * 2.0); const angle = t * Math.PI; - const pos = d.vec2f(center.x + radius * Math.cos(angle), center.y + radius * Math.sin(angle)); + const pos = d.vec2f(center.x + radius * std.cos(angle), center.y + radius * std.sin(angle)); const _dist = std.length(pos); for (const _i of tgpu.unroll(branchingUnrollArray)) { @@ -263,7 +263,7 @@ function runBenchmark(input: ProcGenConfig, output: BenchmarkResult[]) { branchingUnrollArray = getArrayForUnroll(config.branching); for (let i = 0; i < config.samples; i++) { - rand = splitmix32(config.maxDepth * 2 ** 32); + rand = splitmix32(config.seed); const result = benchmarkResolve(); output.push(result); console.log( @@ -300,7 +300,7 @@ test('resolution time vs max depth (full tree)', () => { branching: 2, maxDepth: depth, recurseProb: 1, - seed: 0.1882 * 2 ** 32, + seed: depth * 2 ** 24, }, results, ); @@ -321,7 +321,7 @@ test('resolution time vs linear recursion (path)', () => { branching: 1, maxDepth: depth, recurseProb: 1, - seed: 0.1882 * 2 ** 32, + seed: depth * 2 ** 24, }, results, ); @@ -342,7 +342,7 @@ test('resolution time vs random', () => { branching: 3, maxDepth: depth, recurseProb: 0.5, - seed: 0.1882 * 2 ** 32, + seed: depth * 2 ** 24, }, results, ); From 4a47cb32de600d7cbcb5da867b14eac57fb144d9 Mon Sep 17 00:00:00 2001 From: Szymon Szulc Date: Fri, 6 Mar 2026 14:33:53 +0100 Subject: [PATCH 14/14] review changes --- apps/resolution-time/bunfig.toml | 1 + apps/resolution-time/package.json | 11 ++- apps/resolution-time/preload.ts | 4 + apps/resolution-time/procedural.ts | 117 +++++++++++------------ apps/resolution-time/vitest.config.mts | 13 --- pnpm-lock.yaml | 127 +++++++++++++++++++++++-- vitest.config.mts | 2 +- 7 files changed, 186 insertions(+), 89 deletions(-) create mode 100644 apps/resolution-time/bunfig.toml create mode 100644 apps/resolution-time/preload.ts delete mode 100644 apps/resolution-time/vitest.config.mts diff --git a/apps/resolution-time/bunfig.toml b/apps/resolution-time/bunfig.toml new file mode 100644 index 0000000000..7d029e77cd --- /dev/null +++ b/apps/resolution-time/bunfig.toml @@ -0,0 +1 @@ +preload = ["./preload.ts"] diff --git a/apps/resolution-time/package.json b/apps/resolution-time/package.json index 3f95ccca5e..5ac6862ac5 100644 --- a/apps/resolution-time/package.json +++ b/apps/resolution-time/package.json @@ -5,12 +5,13 @@ "description": "Resolution time benchmark app for TypeGPU", "type": "module", "scripts": { - "resolution-time": "vitest run procedural.ts" + "resolution-time": "bun procedural.ts" }, "dependencies": { - "jiti": "catalog:build", - "typegpu": "workspace:*", - "unplugin-typegpu": "workspace:*", - "vitest": "catalog:test" + "typegpu": "workspace:*" + }, + "devDependencies": { + "bun": "latest", + "unplugin-typegpu": "workspace:*" } } diff --git a/apps/resolution-time/preload.ts b/apps/resolution-time/preload.ts new file mode 100644 index 0000000000..74e3d92d85 --- /dev/null +++ b/apps/resolution-time/preload.ts @@ -0,0 +1,4 @@ +import { plugin } from 'bun'; +import typegpu from 'unplugin-typegpu/bun'; + +void plugin(typegpu({})); diff --git a/apps/resolution-time/procedural.ts b/apps/resolution-time/procedural.ts index 65d24bbe42..e933b0f622 100644 --- a/apps/resolution-time/procedural.ts +++ b/apps/resolution-time/procedural.ts @@ -1,7 +1,6 @@ import { writeFileSync } from 'node:fs'; import { resolve } from 'node:path'; -import { test } from 'vitest'; -import tgpu, { d, std, type TgpuComptime, type TgpuGenericFn } from 'typegpu'; +import tgpu, { d, std, type TgpuComptime } from 'typegpu'; interface ProcGenConfig { mainBranching: number; @@ -43,7 +42,7 @@ const state = tgpu.lazy(() => ({ stackDepth: 0, })); -const instructions: TgpuComptime<() => TgpuGenericFn<() => void>>[] = []; +const instructions: TgpuComptime<() => () => void>[] = []; const LEAF_COUNT = 4; // TODO: replace it with number, when unroll supports that @@ -138,7 +137,7 @@ const filterFn = tgpu.comptime(() => { let _result = d.vec3f(); for (const dy of tgpu.unroll([-1, 0, 1])) { for (const dx of tgpu.unroll([-1, 0, 1])) { - // oxlint-disable-next-line typescript-eslint(no-non-null-assertion + // oxlint-disable-next-line typescript-eslint(no-non-null-assertion) _result += cellsLayout.$.grid[xy.x + dx]![xy.y + dy]!.col; } } @@ -287,65 +286,55 @@ function warmupJIT() { ); } -test('resolution time vs max depth (full tree)', () => { - const results: BenchmarkResult[] = []; - const DEPTHS = Array.from({ length: 8 }, (_, i) => i + 1); - - warmupJIT(); - - for (const depth of DEPTHS) { - runBenchmark( - { - mainBranching: 2, - branching: 2, - maxDepth: depth, - recurseProb: 1, - seed: depth * 2 ** 24, - }, - results, - ); - } - writeFileSync(resolve(outDir, 'results-max-depth.json'), JSON.stringify(results, null, 2)); -}); +warmupJIT(); -test('resolution time vs linear recursion (path)', () => { - const results: BenchmarkResult[] = []; - const DEPTHS = Array.from({ length: 8 }, (_, i) => i + 1); - - warmupJIT(); - - for (const depth of DEPTHS) { - runBenchmark( - { - mainBranching: 1, - branching: 1, - maxDepth: depth, - recurseProb: 1, - seed: depth * 2 ** 24, - }, - results, - ); - } - writeFileSync(resolve(outDir, 'results-linear-recursion.json'), JSON.stringify(results, null, 2)); -}); +const results: BenchmarkResult[] = []; +const DEPTHS = Array.from({ length: 8 }, (_, i) => i + 1); -test('resolution time vs random', () => { - const results: BenchmarkResult[] = []; - const DEPTHS = Array.from({ length: 8 }, (_, i) => i + 1); - - warmupJIT(); - - for (const depth of DEPTHS) { - runBenchmark( - { - mainBranching: 3, - branching: 3, - maxDepth: depth, - recurseProb: 0.5, - seed: depth * 2 ** 24, - }, - results, - ); - } - writeFileSync(resolve(outDir, 'results-random.json'), JSON.stringify(results, null, 2)); -}); +// resolution time vs max depth (full tree) +for (const depth of DEPTHS) { + runBenchmark( + { + mainBranching: 2, + branching: 2, + maxDepth: depth, + recurseProb: 1, + seed: depth * 2 ** 24, + }, + results, + ); +} +writeFileSync(resolve(outDir, 'results-max-depth.json'), JSON.stringify(results, null, 2)); +results.length = 0; + +// resolution time vs linear recursion (path) +for (const depth of DEPTHS) { + runBenchmark( + { + mainBranching: 1, + branching: 1, + maxDepth: depth, + recurseProb: 1, + seed: depth * 2 ** 24, + }, + results, + ); +} +writeFileSync(resolve(outDir, 'results-linear-recursion.json'), JSON.stringify(results, null, 2)); +results.length = 0; + +// resolution time vs random +for (const depth of DEPTHS) { + runBenchmark( + { + mainBranching: 3, + branching: 3, + maxDepth: depth, + recurseProb: 0.5, + seed: depth * 2 ** 24, + }, + results, + ); +} +writeFileSync(resolve(outDir, 'results-random.json'), JSON.stringify(results, null, 2)); +results.length = 0; diff --git a/apps/resolution-time/vitest.config.mts b/apps/resolution-time/vitest.config.mts deleted file mode 100644 index 3f48002f19..0000000000 --- a/apps/resolution-time/vitest.config.mts +++ /dev/null @@ -1,13 +0,0 @@ -import { createJiti } from 'jiti'; -import type TypeGPUPlugin from 'unplugin-typegpu/vite'; -import { defineConfig } from 'vitest/config'; - -const jiti = createJiti(import.meta.url); -const typegpu = await jiti.import('unplugin-typegpu/vite', { default: true }); - -export default defineConfig({ - plugins: [typegpu({})], - test: { - include: ['procedural.ts'], - }, -}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5194fe3d5f..d5386eda76 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -124,18 +124,16 @@ importers: apps/resolution-time: dependencies: - jiti: - specifier: catalog:build - version: 2.6.1 typegpu: specifier: workspace:* version: link:../../packages/typegpu + devDependencies: + bun: + specifier: latest + version: 1.3.10 unplugin-typegpu: specifier: workspace:* version: link:../../packages/unplugin-typegpu - vitest: - specifier: catalog:test - version: 3.2.4(@types/debug@4.1.12)(@types/node@25.1.0)(@vitest/browser@3.2.4)(jiti@2.6.1)(jsdom@27.0.0(canvas@3.2.0)(postcss@8.5.6))(lightningcss@1.30.2)(msw@2.10.2(@types/node@25.1.0)(typescript@5.9.3))(terser@5.44.1)(tsx@4.20.6)(yaml@2.8.1) apps/treeshake-test: dependencies: @@ -2070,6 +2068,66 @@ packages: '@oslojs/encoding@1.1.0': resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==} + '@oven/bun-darwin-aarch64@1.3.10': + resolution: {integrity: sha512-PXgg5gqcS/rHwa1hF0JdM1y5TiyejVrMHoBmWY/DjtfYZoFTXie1RCFOkoG0b5diOOmUcuYarMpH7CSNTqwj+w==} + cpu: [arm64] + os: [darwin] + + '@oven/bun-darwin-x64-baseline@1.3.10': + resolution: {integrity: sha512-w1gaTlqU0IJCmJ1X+PGHkdNU1n8Gemx5YKkjhkJIguvFINXEBB5U1KG82QsT65Tk4KyNMfbLTlmy4giAvUoKfA==} + cpu: [x64] + os: [darwin] + + '@oven/bun-darwin-x64@1.3.10': + resolution: {integrity: sha512-Nhssuh7GBpP5PiDSOl3+qnoIG7PJo+ec2oomDevnl9pRY6x6aD2gRt0JE+uf+A8Om2D6gjeHCxjEdrw5ZHE8mA==} + cpu: [x64] + os: [darwin] + + '@oven/bun-linux-aarch64-musl@1.3.10': + resolution: {integrity: sha512-Ui5pAgM7JE9MzHokF0VglRMkbak3lTisY4Mf1AZutPACXWgKJC5aGrgnHBfkl7QS6fEeYb0juy1q4eRznRHOsw==} + cpu: [arm64] + os: [linux] + + '@oven/bun-linux-aarch64@1.3.10': + resolution: {integrity: sha512-OUgPHfL6+PM2Q+tFZjcaycN3D7gdQdYlWnwMI31DXZKY1r4HINWk9aEz9t/rNaHg65edwNrt7dsv9TF7xK8xIA==} + cpu: [arm64] + os: [linux] + + '@oven/bun-linux-x64-baseline@1.3.10': + resolution: {integrity: sha512-oqvMDYpX6dGJO03HgO5bXuccEsH3qbdO3MaAiAlO4CfkBPLUXz3N0DDElg5hz0L6ktdDVKbQVE5lfe+LAUISQg==} + cpu: [x64] + os: [linux] + + '@oven/bun-linux-x64-musl-baseline@1.3.10': + resolution: {integrity: sha512-/hOZ6S1VsTX6vtbhWVL9aAnOrdpuO54mAGUWpTdMz7dFG5UBZ/VUEiK0pBkq9A1rlBk0GeD/6Y4NBFl8Ha7cRA==} + cpu: [x64] + os: [linux] + + '@oven/bun-linux-x64-musl@1.3.10': + resolution: {integrity: sha512-poVXvOShekbexHq45b4MH/mRjQKwACAC8lHp3Tz/hEDuz0/20oncqScnmKwzhBPEpqJvydXficXfBYuSim8opw==} + cpu: [x64] + os: [linux] + + '@oven/bun-linux-x64@1.3.10': + resolution: {integrity: sha512-bzUgYj/PIZziB/ZesIP9HUyfvh6Vlf3od+TrbTTyVEuCSMKzDPQVW/yEbRp0tcHO3alwiEXwJDrWrHAguXlgiQ==} + cpu: [x64] + os: [linux] + + '@oven/bun-windows-aarch64@1.3.10': + resolution: {integrity: sha512-GXbz2swvN2DLw2dXZFeedMxSJtI64xQ9xp9Eg7Hjejg6mS2E4dP1xoQ2yAo2aZPi/2OBPAVaGzppI2q20XumHA==} + cpu: [arm64] + os: [win32] + + '@oven/bun-windows-x64-baseline@1.3.10': + resolution: {integrity: sha512-gh3UAHbUdDUG6fhLc1Csa4IGdtghue6U8oAIXWnUqawp6lwb3gOCRvp25IUnLF5vUHtgfMxuEUYV7YA2WxVutw==} + cpu: [x64] + os: [win32] + + '@oven/bun-windows-x64@1.3.10': + resolution: {integrity: sha512-qaS1In3yfC/Z/IGQriVmF8GWwKuNqiw7feTSJWaQhH5IbL6ENR+4wGNPniZSJFaM/SKUO0e/YCRdoVBvgU4C1g==} + cpu: [x64] + os: [win32] + '@oxc-project/runtime@0.82.2': resolution: {integrity: sha512-cYxcj5CPn/vo5QSpCZcYzBiLidU5+GlFSqIeNaMgBDtcVRBsBJHZg3pHw999W6nHamFQ1EHuPPByB26tjaJiJw==} engines: {node: '>=6.9.0'} @@ -3943,6 +4001,12 @@ packages: bun-types@1.3.9: resolution: {integrity: sha512-+UBWWOakIP4Tswh0Bt0QD0alpTY8cb5hvgiYeWCMet9YukHbzuruIEeXC2D7nMJPB12kbh8C7XJykSexEqGKJg==} + bun@1.3.10: + resolution: {integrity: sha512-S/CXaXXIyA4CMjdMkYQ4T2YMqnAn4s0ysD3mlsY4bUiOCqGlv28zck4Wd4H4kpvbekx15S9mUeLQ7Uxd0tYTLA==} + cpu: [arm64, x64] + os: [darwin, linux, win32] + hasBin: true + cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} @@ -9357,6 +9421,42 @@ snapshots: '@oslojs/encoding@1.1.0': {} + '@oven/bun-darwin-aarch64@1.3.10': + optional: true + + '@oven/bun-darwin-x64-baseline@1.3.10': + optional: true + + '@oven/bun-darwin-x64@1.3.10': + optional: true + + '@oven/bun-linux-aarch64-musl@1.3.10': + optional: true + + '@oven/bun-linux-aarch64@1.3.10': + optional: true + + '@oven/bun-linux-x64-baseline@1.3.10': + optional: true + + '@oven/bun-linux-x64-musl-baseline@1.3.10': + optional: true + + '@oven/bun-linux-x64-musl@1.3.10': + optional: true + + '@oven/bun-linux-x64@1.3.10': + optional: true + + '@oven/bun-windows-aarch64@1.3.10': + optional: true + + '@oven/bun-windows-x64-baseline@1.3.10': + optional: true + + '@oven/bun-windows-x64@1.3.10': + optional: true + '@oxc-project/runtime@0.82.2': {} '@oxc-project/types@0.112.0': {} @@ -11187,6 +11287,21 @@ snapshots: dependencies: '@types/node': 24.10.0 + bun@1.3.10: + optionalDependencies: + '@oven/bun-darwin-aarch64': 1.3.10 + '@oven/bun-darwin-x64': 1.3.10 + '@oven/bun-darwin-x64-baseline': 1.3.10 + '@oven/bun-linux-aarch64': 1.3.10 + '@oven/bun-linux-aarch64-musl': 1.3.10 + '@oven/bun-linux-x64': 1.3.10 + '@oven/bun-linux-x64-baseline': 1.3.10 + '@oven/bun-linux-x64-musl': 1.3.10 + '@oven/bun-linux-x64-musl-baseline': 1.3.10 + '@oven/bun-windows-aarch64': 1.3.10 + '@oven/bun-windows-x64': 1.3.10 + '@oven/bun-windows-x64-baseline': 1.3.10 + cac@6.7.14: {} call-me-maybe@1.0.2: {} diff --git a/vitest.config.mts b/vitest.config.mts index 4ce119f680..2372abc9ac 100644 --- a/vitest.config.mts +++ b/vitest.config.mts @@ -2,6 +2,6 @@ import { defineConfig } from 'vitest/config'; export default defineConfig({ test: { - projects: ['packages/*', 'apps/*', '!apps/resolution-time'], + projects: ['packages/*', 'apps/*'], }, });

tP`wds;G(>;V8tB7Sc9b(CA^3CF)QC!EcM^M0iH{@j|23 zYjk{{V&D;a*S;HZzlV6}pYQ-x$)3wFW?xK;0n!XeAd^EsJkA4R0S(RCSO@$!2#S_e ziJKk0-3>8+AkGE#w}89Z?0AF>dxg-~1k+)4(|8zbnxA(`F-AATtp@EDj`x8Pd8_`L zD{DsUfk-R+zwbGA^)GX5k|W|~`_ikJurhY9D7dReNLJ?E)KE_-eI+{A4$V;>Tu>MX zLDI(Ar8^9^!HYJ6zQbw<|9^tvl45O=9x2+`vpJo|qBuzzmabu1LQYXIa9^^$+Z~WJ z&-k9BQ9|i->TVhx+Q@5Dg!AxxF-vyF`l}w}SvH;QjD7>-zXxo8-o4-b+47sVK0f!^ z${}spDgE@Bgq@1|<(3XUsRa|;^bCE4c$Q}a+pw|6+RkygXRkOMGvoprh_@3wrOD@F zwcs!C=j}@Rc3nL4(DuQMhe|1E#TM5w=;%4-FqIDo;{)*qgc-U1sF81`lUAi|Vqo*PX>P3Icm8Wg7gE-ch)kTV&_v{x~Fz(v=GgZ;U;6h6mSK-z5EKK8QBh30Y=Pp%cgA9nm^ma zu5b~sX=atUEPg&&zurc|!1joz>b`G-&JT;K9#?io%5GexiB5LHBi5jhoJ&zb>8>1I zh086W=4g(JuY9aecn|qkmghg_EDi=lCBLmdv;tExn>T97h*#?+_web}|ES6=Bp?NAL784Jkgl~Qm( zsHyLtX^HOZ=Mu`C$V@kC`-ViewM0;J%z-Df%J>9}1 zRjFwm#qP@xxfc9Q2hRfnf2m_-wb5t~=zn54_ul*(QJRYNuRvxHjPhnbEL==deI2_n z`@Ly#UeA@u4`Q;*_UssR=maB+zRrGqtW6e9>ND&2!0oOtqhjd?7pgO=PfX$tTwrmX8H_;zFI5if6k&MLobK#ZRV#t?lq_+a~Lkc6C2%7;<-jM539ybF{?6* zrS=Etz`bQd2#QdQ1t-tB@aBM<6FwI@){H(dmk?I2dkm%9-NG;tp)Z*WMg3{`AkROHvh~ zv)%eSgB_OCtKDq{fq4wLg$DKwLmT=DV|1tWUruHSqSV6Zt1VGZ8C_3qJUo3TxVtBMCyuVci_YH*U7cdQqD70J+OYRrk%b`|61>!;ptOg< z?AcUmY^w7=14BS%0|y}eC{9=E>+pKF_u<-7#D3Zh@gbN@zCya5|Pm~MZFbze# z-=p1%(mJX`&jg95abgX4G{URz&`u{UQnVR3n{S{K9oqPP3CxenN{an*Dx^b|bto8DdcOSnDICfX6AfP^aCgl4VjSSE#P^p(X<77Ruu(Lg# z#QMbGg4uj!K3FIXD&KPJK1w?K>*n^*>aoO5JV$4k31c4k$}bP@3EW44n19rg!uDF* zld?S=QHcqo1Iu4n<4?)Qcjvq+6tA+qS2=|n!chRSQt%A_z@XIi_L0VORNAFN)kJ}9 z8{nG;6BUM?Fvs8Z^kw=-&{sCvh8vPvK4NNP40+~n^M5VEe%x-6Vm<&n!owy=Q%tho z58{b;;1ti(?=y6RnEwoFzd@yfQ*V}{Eu_Dkh@9}z@4dwT-+|*BCvhbbVc|-l-p0a z?sJ~S%kW1d^QC{&b(!xORQxEv;b212c7nS@;=9f&F_+@|QoaPLpUa*u5#we*<5*GK z^07b>n}c^5#@^+hJlIf}6&@a*gTR2E=GI&7h)g!e+idv(wg#)*-Y7y{DPCESq-kaN4=@0h|GUetX35(Cm||i5huMLaw&6uAaTeo(Y-A}5+v@L< z_D5_U3vr%tt>H1=94NQ<+_vcI-h<2zIeo0ugV!T=-4{6FWx4!t``C`BfbJA51%va_ zmPYs8=JL3uhdBwquF`Xq>%slI+LW0Gv%Hh8%@lldLoF?=y5S~%s*>;uS5uc%wd%hF zxVms9B*EY$m>28(=c^@-cqs3$*v*VOPU40#grWrZwXc0nUeEi@Q0u<;o1s?v9y2#_ z4T1^JCcH6z{i!zQls;`N50WT9?`0Zgh93lUobR*_?7}4Ez_X%+rADv^ zB_Z9&D?fn+np&;RmJa15@6Uj*<`cHw!>Am#Q&UV=b6xas||)2G_1G#>?@6f<{T7o3Z(pn5&2TUCj`q+`_AuFUh8rqs0&$rhdM8|uS}7# zm_yi0BHNXS6-KP~`e|^_uxzc?@{J%Fo?>i`ty%Wf@Cea|abBujI?i#tHasRtgXA*o z9yIc{?cG-{y0<2`RIexjLT1@+#WH-3O#(EFH+gfq6d- zC}du(cj5sbS#rr73_m47aZL?yrUQjciy$T}Uf!t#WKuzqHcRb#@{?I#?|bK@jau;5 zbH@h$-oQM!z${!VV_K;#a#|}**QmJ}*AECMRW~bkFkJ|w5M@$<7DT3st*`0r`Xi|L z2=Z;j`#G9Xx=P#uluIMyPZU8$Bo<|el4H# zcH7uCDc#4rB%J^w6}Mx*FHe6!Lf4a-t9LT|1L`afaKjCGK)^bFbm*|HT{U+nZz@kH zst441@_<-%?U1yUQoi^`OvSdIpG@TCuG0Ox6|?qQvuyP3>K%t?f*DnG8Du#$uO)!p2b${M9$SwwG zyM3j7j4ISed3IzlT*?#B8(Dor0HU%|n@;~$z!bk+A}^MDo6^XZ$9AKL<7J+-cHTEs zTb`kweM|yp`D{yfpRUmb%iehJyR&(0^9kgxo8_a8mFx4^Ruvi=r{>>Pky;WYrT^86 zu&NQI{wFBrSV6Ao$-RE_%P#hc9um8XlY~gHQ(pW_^Eo?UE&$kZ$zN zp&k(Q?-cX2yN|Po#jcbiucE^hKlKqK7WMHBh2o!IS66qoFC@U6#bLlAo#+;2%93ha zgH!~u_A#bU4|#M*hcilk^ZE=F7EAI_@{CB@bLUoUdsXl)C+;zmlzMWa$M z8KqX}B&^hWddhGrJwCJe1iG};vyr^f1X@>P{-ZLY;Q`h-1=I!jiw6?zajNQ8`E#yR zy-Y>02u*QQN7^swyj}g^bgYlO0ywj@;K%QNvt8P2H^uNcWa!l2nU8o(uFX4YflKt_500jbiQURy)x{W*QygH1kjRMfs)7qzz!IYag7MdE!49!*1Ulz$H7SFOR&{dJy^bydhBvDZ*eHA zFQ7>OFGt(w%^g#Y)Ad=fpisy&G8;<}suw zP#M4Ul=r(2vn!rr-AA%h09uPDDq!SPgo?%=^2j;R{1c5Zq_NGrXuSgH-2BqvgmeIc#RBNzbMT-)y0e2Kq3Htp|$4UwlbG8=2U_bfj`;%kO=2~CcAFqz2)UZzV@N{U zpci=!>;}=7GA7lV53<9b{-AO`_ooMOb3<3<$OpULZ^9y3A61>C;zigS=sShaYCX-O zXdw$5FBgJ^P^VG%^gmd@S{&4LQ0#wiHctfmC^#n@ezjmWoiO^K>Ehq_n9F6YZNo7o z4v4*o0F2T#``6C+jjrfjC-U^S`4jHRNa4>AQ({8k$t353y%W-pmW0wZc0=8kC0t31 z=#hw|Ro@)X`qb(Zy8ad^?+{Cd1(0@1o`spf8!Qqn*iw$(9eaGk1*T!xNBS!kVn&QJ z>E^39fN8~fvE^sQEni}N0q{NtPQsp(67oxk`9(b$&0?xl1uO-|KdW<$n3th-Lw)d- zqoISfQ#fJ2(AgubXRu7%_u{fX@@Q5g{ylQ%)(i@H`3_miZd#>=Y%p^Rd3CEU6;H<$ zVt4$m^Ebt-hG{L*oQvl$m6?Ga6l(#UGd#f&{6C7G+G1`aI6^RE7J*eRF&|V*zW$+2Eqs$#914_96U?%)$aeHrb#EQc*jD)d^Ulog;gQZ5W zx6r>-U4?rmCUfL@5o63IpX?eyAzhm78AkspE zX(E$&+U#a&$it%Y#2@lK- zOl|!Tm#DQ{y0k2fd0j088kwSYsP1mBWu4wE`<8)#3IvK)ly~~86eD066>Sqy;a(dd z=}u|K@+x5HPJ?Pz{!djC2nj0-!)Q-;N1rk{y|6;eS|&9eOwb`0tPjMf)@(HoCZW67 zW?n5twly#*t?L=0gqU`^vTf=;uDrCx6Df) zB;$0+7Vu}~?hU8n2XYP=@}X@g%f_*pAiZy1VOx|JcQ|8#VI1lM>v_`u7X`cEasMlq z%|drNMB!T2#uF3x&c+Ij=QLqSCE3?s6z9Dtz?i)1Ytx3~UOTiIJ+Jd{miX4-3BUxS~x3&io5>}9oTKDapTp5_bYT-ir5)}?*~c=G4>-bweG0QHx@;|?6u7Oa+R=+ ze^%KB#u`Wd{krbLMDpcwQC+s)mhck-S7hoOdAH{KCic3z=y(cVyjgk&bYnA_D3BU0 z64$>YquUX&(X;1Ecm+@&Z379D!lb)&)Tr~84X)+0q6zxr<_cyN!X1u5PZzJaJxM5G$Y#Q zvHyVN0$qU%oIPEhm_PQ!cg=mKSSURA$kfJ80@<+Z-3Sla-k_)ht|8)tIcDG3oBAoh zm_R5v*}w}F$!i8@D#ZgAYdmtGe1}{YPGn&P83v~|kop>*JU&~H4E-!G#!l(O8@^%{ z)(yvrf(w#Fcm!BGt-r0ROutO?S@iPY@-#)3P$#c|Z3GIJK40p_j}ymA_=JL;NZz{(*5SSBK1Pr2Ry-y#8Rt0)r| z4*Z(TRqnD$)CL|%jCjBrH2EFY#*Jp zDg?4xpNsIoOGCJy{)q(}Q5-HP3AJM@^u@|K8t&Rp_l3Ww`59_n;X%g_gM||dk5cq2 zft{+73##w<-OJE=|A$6 z8@S`q#x&x3U*H|q#-NK<#^!*+TBVdM3k&%8Wyw>NR1;$E9}_~7KVHi%qOb*>;X_`% zgDsc4IAtOzHb&C%!LLQNDC6$lH|R;Vyj8w7)tc`V6GG8fK|I24gz^I| z*eZ?{t22VUFA}R6g!*VW&t5Bxel6(Men3Jdw9u8m`=?&+Z6BNMA>K-SL@C}S z?%AI|*U=BE3B3k~t)bG9t;fDr>2 zG6a_v)==ehtcrN{R?GE49b?&%}_0=RR(?NhyDK3f>u`xLK)%Xtx99|a6~S{2bbY7qe@ z8}5}b?>*v%gM#jZ$&Gjnw(Nk^ff01HUe!; z5s9+|y(!#RKk604SO13vrL@Cd_8cqftB||^Vho~X?&d(UuTb`CK9WwJvf=*hjSobz z$m*X{ghQ<_LUOA(%lsr&i#A?}Bheu#hJ7urd@styg9z=y&W08~9WhH*@IY*uFiBor zo7R`*<;2d-lygEJW1wIK6VcPrX6IBs#Q)E|Rdg8GBUrbv8CQCL3efQ+j?Urg#d_lk zQAhbgdO<+Vu2Zc`ysvQ55cXL;lQY5kK31og+R~&ze9M2~c)IT!%hsd%)D$S2<&NGn zE$Knk`pwMPM^E%CJ4GKD#aiU(UYtV3b`Y7jO+E;#492msJkgI=q6}hH?4Ujw_a;-@ z)G8-GiqMzNi+4N|?--I;BKdMFELDP{Gugq2d%)R^`~|G579drkE_hQF!x3l?fS6|E zhIHS*>wbF93+q^wcX0fHXVGA8IjDwpTDO|La{}QjJ%4Yym1PQJP$vh7O83-1=l?=y zu#by#Sx`Hdb_@a>Dh;+<_jwpbu9q%&5!5txcxKcYyH(A5q2nP}DT8;kToxGl0;*;o zepk#(UE*6W!q&`x(vnGcac#G-+|U=NAF6^+n6X5ZGdMi(x>BzV{BV@g zgv&raUbpTM>6q^7;`hpduQ0H1Iyao6UMbBW_q4VNG8ya2m3V!rO|veh5iYXBS5;91 zdgF+R-~xkzsDMVG7lx>bkKcAqC|l;8qRop+G48TC_gD-z5arQ0kvHILMEW%EVLtbg z`5Bt774jPE;903=_%pUJ{?7Ol#aH?XVnhkuz7PtJj(szj3%*W_EXBPve+MeYVP z`-|6n?zL{4C}^|_078vMa~{w6Z6(FKMr%#*AAOhgse`x1i1N|q{iAlmmW%xf4B}fj zN#Izqlno3D-|vo(r8a84jU_kFfyHqAcUjvK{NH+AnQ)V<6y75_A6HBp5%d97ltErK zetys?6Ev6T42u6QHurDW*n@1(a)O4~p@aA}F+B?p1G-w~eLHB{*8r`BV|<2&9ok%> z6BH>{&YWpaUvj5M0EyS=idT;pkaV&`RVm z*s&bfQR1xy0ea^T%FS+A*`ml_*{||r#VdQoEB#;^Q=IJS`ck$c{pf<}q; z;=f|=u199#=?eh{A9?vkg{ncXUVAA^kbZpq2Cmyxg_Qrm001}){*-5!f|+LxzXb6N=gg0qH`5`cV!dA*>8U9KRi`fH9;-b!6iWMNPvitYp#+(}>-$3#qDIi)8eHn%SU(TXHME zNj~Jln)0Ehj5#Y_EbwiG$ZkNZADb>X zdVN7W$jq(}Lw@w(>MM&D-+>>v`Ui-N2JdCC%E3{3D+IdV%QyT`r+qV{G5 z3~okgbEyszjd6$d@L0iE?7fm;(4{>heJR-p$DyHwIbqa~W^8W5JPRo-=esNKB;tYS zrA;qlSw_NAsChRHvuUl-zlb+KUwun=|3cT4uSUhnIk2R5npDFmGC5Y(7enm^479IV znHCztOo zRdhHuz}A71kfkNBSuLhs{?>DxWzApa_*L;dR4>By*`R8 zzw{r&g9gqdWx2>ZQHsOJSK(RKl&ez+%(W?_Ws4@W&40l{GzC8QIU?}uyfYOYZ3vP; z4AqfA)U93d{6MgC-K6iX&s6r6**okBc8|v(5m!T*#N=|aPLz$d5HB9inOgmvKD78X z{;YrbWDv$h*zg{|6>Ky8QM)G`L9J1+%_8*m0NkfKQ_Nl~8wZd0Kcv0_+4>sv8u z?)KIOl%6xA)WOS6mnHnWLu+^vgpNNI6hJuy>;E5^CDvDpBqHoQ&$ z(M}-0U#p0T8IE-*waruH`%!eibz|w8JB8sCJY(9%*imJUqUzuy1NNQY*0(Hq8uo5$ zQMa`=2@Rl-K^G6EhS9Jv{%7`F&zviN1&C+UlYJjAl8z^F%WWY*aVzjC9HX2xH4|~8 z&lWT{0Il!5&D8}OoF3jPmn1qo7{z}-P_WU!TgHEgeq4|2SqjLi@!4A9*TebZn zX?Sj5Ic7gcXIlRymtiNE#<^{F_mwTfDUI^Gk2bTf#D_;*hVbWP#kwZ<)$8HzgQP+y z2=nL3@Q3?MN4od}`T}oL+{1a|HKKtT4#D+iNFJ?-&U)Lub&k>tZLf5;_W@YOAN9v? zjXS@b*@NxIWYrPm=3wc9%mYAmR-Te~1AC#j%(}&IBZOe=-bb57o`ZTff|(e2;^AXEbx;DcQLtqMdbRA{g5{Uc<QSX z>kah@N)ERX;l@LMM@}DB5B)p+;qEm%Idld69`7y(W7t}8n?>YC^hdi7j}{ochn|Ro zR-^Wx?^Du?$@7X|uSRO(Mtjaj_JJ*LIP;8$zo!$U`dp57XkUHKsMfu^PG!iwg>A^= ziI(?Wc&<2RHziB4J;tin*k<-wp6*Hv7!qKbTjWb^g$?&x@}PA7AZ7sq1P3J8-;gp_ zgJ|r-*yGyOG3$z>37tSve@Bb|D(VO08l6Flt#*Yiye);?;Zers<`ZXY$!1? z-LRgQry%E2A_}mFVtD{1jklo+@EpK^Zo7pR7?dq;w82%S9nF(LNJ?9{2>c)G8%qXy`#~9GKD@cPwkSqz^hXH!>u#U-Y&x8_na3Yu=0rYf>Py8 z-|+7gdiNJ)2U!g4!5D2L2p}dz1rsRtB#NbxEfI}6uW=u95NBf?cGyc5qgrtD+_ox_ zTF5zuPl1krADq1YGwc`0=Hk^W^}MtxFWaT4wdECse zUuX79be&|wa85%2DGskSj9~)vpMo>LA9Zb4-uCKR*K-r0p`|FTx3FxkPqO;i*#A`@ zO_l>9#%sVl{`uYf=tPCL@|3PE2*Ms;x&CQW`J9m6OD@o<*U|y6&JV8pAHKT~|Hm*B zcs+1u>bK?M@%s+Bc-_AzFVvntq$@K_A9MWwYkUYikOVJE?1rrejKl;wzNg@H5CVp+ zxBR4zqCKiu1=)X9?KB@;ZMl9HRI6jw8&*N?LRMBIgsQIe$0R7_x%aW01{3zI68f8wp_s+`1-t+P~ChQ{{4t7 zHGS!6{<+oAI}9@cv}%1f_e^+A`$zP)cp`&L*K$6BA($dx2x>a|H9 zD1cmgpgrW$B2ckGgk#}-f+26-Wb5(UIyq^2R&;{{N4$sBGPH6?L4SkarH?KV!PuA?Vxu^@7r2)}b~lmxrN=pBpM0cD zu055T6bb9(gKeqGE&DSXMUKm?wcc)*VSukI>Ml-8`>4Lb*2+?--Lx94v*oR;>5eM71NP70(0H85&{W1jN_V3nYkx z%X~)<*bi6f10xK#lo*I$ z3>m9|-0oi7pn5IP`=T?nR2aSc>sfrxQ}0EO4D3|MtQkTz>cGu!QR80TWw~j_49Z^8 z>F?0pZt(K`GG5Wx1$cpL&utN^F#_c#E73 zZb-#Bj>wNoQ=JXsemNT~Up_v)*P4biKB|3bRxgjS) zG-~N-Gi}m#@KbV(E9iikf1re`%2#-2TJpn>4++;SECDXv>c1A`vx_wK$AAv2NtP=u zE$!D%j*k3~=5c`&1ur^_vWyY-@Q+0dt;w=J0qL(f;HF#vNE~X^#6e7YM%fM)$KBf| za;nwrbZprxxbe(5Bl!}a?yGZBcXYuhRX@5oR2la4ZeU>GlW6Lt^Pilx>7b zxH+Zf6nbR~tAhqyEcG&dZDg}HiyxpF0J_vxEp$I6*FjqIYal+geW*VR@Ix_@&X;$W z5mfxuHnaml`EX%qzqjk4iNJ(jAMmoGX<_>7jO7nPDPC-R`>a($iegHEbw^j-^CLgQ zL`Xp)Uvg=FCuKbYssh}NMmDSlHN56WfVg-LID18nPCfirzKI<>$oZr8&0Lu8dK&A* zSz-;cMzC!30M$rDdJ+!r%X5dnqwdKb?WEPyv~_e_4Q{l-smj2nCb2?ZSokK*VL)ny z1Z*mrjvdnwCy$c?-CO)sLUiKUast@$0&~T=Am<9%oG+gGNBe&NUP+wZd>VwGT9f)>gAZk5dy}!HE zN4?uSQlRprp&9Zttx8!MdZH=89;+kv#?2HxM%ZV=+@X7?=RZ}x5xA8gGy>}8UGxrL zlxjmlM31Y$DdPsc8#=>`qG0(CXlve35$!BEA<$(pmDgP{Y(ZERQb|wVtpwBHbmG|7 zLcL->fXv9~x%EzJWHnZz3Cwvrb4SRl^NrQ`D-EC2Mc{5Alw&mw1fV@Y*{-=uhV5fb zR)V4Y%G^Z%gGVMy+887Tg~z?BO+5XFzx=@GKU(RB<(&%&JVoL5h;}I-6oKgCsu!#T z=k?}eLk0V=HF~iarjYUk&Tds7s)q)}y$Ja{Gt9M0B!)zF?da|V|2X9??RA_;p4j{C zZ18r(TX%wtnPZ%dt`~bCeyI<)T>C`3S6KJj5-L9yT7Dw?#FJp{9I)BTm29H?GIE-q zQi-%}S2YFR3|VwoXLs6aGlgi92piLZyG(#R$|&pj9CgU>_}UkecgQMqukaZODVimc z8R|H+MaQ{voZE2e-H=nylE}`v&i8#b*j+9PlGb}^2 z^#xuZ)lR@m1anNW{nJTfmYa)Ph4)L zl|v7x&X<)K1I#QqO0kdXj)Pc!&e>B6PIk<(2L>J}6Ed&;VA;ctCyh6xy=1BKVKUgg zap#)56p9Py0(B$x^;m{<4)Ln*bhX+mG`aoZ!Yu~D!CRSC>~KQ6K6{YyiB?c z*^*jcacsKyQf*MaiD2gYzU+mZXJ=1bIdU9$>$GfBZ*Im~HZy8XnqBUQBRK!ve3%ow zlQ;$rru=S2#L_^Vi9)||HzqB`)-0FQqy)6YHD6;~lMc5aR-fO*TB27jCra0SwGO!}@Hv zeV5qn#S}8%?V6OG=j{G6*lAw0HZcTT-l{jS`Mpq}r#{>9i7IEO3Vi9e=XZKxyHOnE z?0Y$-rJJ$&`bRBU<3H6w?nA!%kopG; z=jnUjXf3eOyBDzWEz6NvWNDK`JKsz^y?5Y4g5zH?LU**;PfSe7a=(HEW#oNC5t|$7 z{0H&5DOsdIRB)s%=)jF@92J4p^lay;$VRq`tu^8fYLkyOv;)q{l_jTHDYPvYFu}mC zK;;XVUb{$RIDu}S1BcW)S`KbdwZGJK&+0SJmsj?Pu!-n;mz3TXFEMwK@#$wB?^~!- z-Xzj+X3ajO23DI!^;i1J5CkvuIB&-rJi%LYT)mO*fJXIG`jYg1-W08CtWR=JABb}G zmmTT;{`jg;GcW$WU^19QkAcZNBn%+ran39eWEQ!ARX5659G&lng>&BIZo_+SQ^U$~ zO-qvmX1Soe&S>~>M)Pzl%Y3o;lS~hjbvkwfZ|5vVs^VKOqN+#Lrhpf*p2q2pVa!6( z%L0?Ez9aI>e?7&pTvTf_9A1q+D?rzmXFNxkmwuSM(qM3~m7oTvbcXq+(+ifF-XYs0 z3Y>HGQUTTp?ovMuY*u1*H|8E&EaFVQtv`L@M*j(TpMW*tCJH=no+gGSJ)cT&4TV1_ z1kvTEv5oX@wN*`;54mD@yA7{G_3~u(Zj8F31(SlakAHDZA>5S8(lVR$O}*OF-yc4k zJv_`oTi05%iw-Kh!d6J%Ft{hH0R+nnYpDXeL{ZI7sX0}zPl3VHZ{$+i~F`Sd-*zCD_auJkeinK)e;?>JQRHLu=p2W4*L;#!zy+9ed!g~PgI+g z|I;?8&)73ju>5;O4hgyP8a7S!HhXk|#xMg9+#D)$b7$Voe$ntP0!}g-t+uTr&PrzAGOGeSOKO~jdd#( z@*B?+ z*W*rqB>ak^B+-rZ{FU{_G>6xa@1jyByTH5pei)V0!|%zfs7|?)$#3?iTQ?YmH`iHGWGq z_^R#l7)o+xy}ux<1HqpC5?tVdU-~En*pkgnjK8R(B}!tYNR8aU@Sn*4bTII4uAaI+ z(=5>@v@=WM2bM)M1N$me9}qvtYZ|+#Lfagw!Ast;;)S9X!EP)0wX=YrEO6wv=ZXM5 zH5c+5J4eh)0N`lgr5nY12-9bgNVn!clDpIFj<%>=Xxgx%V0TH91d+zyG!T}yWr41y zWNyUwFI_2fQ~2uScY@yK>qVT(tnyztMitL1^PVpI8%xr)+AueGg-v`aXX|Eo@uOX7_2L{LhX~ z{}PQMH~PT`tW=3u331V9N@flYqr?F}ijsu+p-Rt2cSELQYR?7SBoVio(pcpW)yf{y zl^&+|*Dke6&jWNCa?LkMcV@i?Bd3pIHKCSU{p*Cq;x8>fsi3U<>O}w{lnJd)BL@JS zdvHE(|1Ew+*T$z~XF~+A6F%3xZAbDm!}Lx8BN0$d+BSKQ0dX;oZV()3@6}(=k-1CR z)EM$0=v&P+^W__Pi~$FduT*a*Ad-E#_{XpNZ|YLE1#2pyqI%ptr1w&9{q2VlfO0-@ zUJVF;o@MqI|pzky=7&#Tx%`&$UbN8O>q20x;&#aN8imys*WHJfGtA*BWg| zPTd9a%bK@`JEp0wJs{E0{nbzB@nhMnZ(|vhTnQCzym<6#3vX@oIXL164|0{~hJ*Ky zdd@u6j4td?$HlMu986?jg?AC($w0c+C@Wn*R*Y@*Nv!a4$!2LsW ze0<#NI~QjTu=a@2E~RR@sP2SAL|CF5s6x&&WmApsq(S4ap%=BGvA?eI(-*R?u1-H} zcuRvs46eIIuWzjknvI$hS&VNaUQZ+CG9Z~Z~flB9}8=wdnr(_(YbU=)$L|x^@S(k zQ~e;%sQoPP^g*^7=;!;AQSQs5w|4uGz;J)Vy~BIhm2j)qu5V=<*xzXHwvFtB$h2q4 zPF$;?`tkrf5O&v*a}H&swniLv zti+v2!_V={A$YV0OJXUoV3Oz~K1e@tfTsT!DAyzYw?3TGwF>7GBJNR1TeKO4=ucp9&U5wyvh3S zgmeqoR+a)ko9a2^C6_1*U_-iD;y8kT=imx#7N?~;o`#yNM#P*ig-}JQeorIBQx`QQv$5V$+sUSSmm|%K2nbag{|^+vV^k4{?ZPtS2oKNCYqzN?~e5n78wX5AlN@dx@TPn=< zU)Z*x+swG`M_z4v#%B>_#NuLsg(ZCx{X*EXHU4I!)_EAW5ffA4*ZL!AN%1=L7Qr^g zdhWSC{LaWTY_02fG<6n>Iu>u{7PCHr6x`hz$HWysoz_prthsMmso>eE58F>2sBysG z0LcM1BA}R>aMkaP;f6eXbTW$DBxe<$^{Lm@!VD_YYCEK)TI6JB$#}aohrZ*Kkh8$a zp$(Ro*C4U!!S=8XwIU&jJfJ)^YZ~uqN_X5>n4v61r*7|X7-_y01k!vk0?pXd_Q|Av z*Wk&YnDppry~+|m`vB~`=jKcmE1JcScbB-mo3MEb?#u!nr-q1Sf0dbwYXo}H*#_!2 z!~_`UL=cE31K*pmA9+!9a4155M@+0f^MM%aYyGQ)iUHobQytHQI$T5oBH(GU*t;d+ zK0mMNWP14eb4HaBpGqA$$^Dq6ohHjUABI9yRI2M>=UOr86#QL3U2B9cslJRk^+9rob3~c*P=%=k^4|8xWYr_c z8~ae3wV{ll{c<Yl#7g`xS*yIeRd%gAj83uWD{8-xpU7Bc) zzcKT;+D$-gt*&(;o-(zafYCjMBe8u))dqcux8g9@#CrugJqQUpyM#HnZZeF(z4bH@ zc92x$j$d5u;X3m3k#+uhWW`^9for?wx+_t(>4YAEBPgPrf%X}Ttj=*s!jlDMTD>(V zhDn*0-%z6(VLj@p{X%l1yNQ0o;AOR>j8C5*8zRg5aJ^Dn$AQ$O{)qfQie&zXIn1E*sQ zd6eb4BWR5aaui6OVm-#C$E*voYUgN_i8l9^F+%mqyB5bPJ4^F?(YiUsgyXFl5z?R?pnCdbxwR@!N` zudzcVrs^iO9!PSpqQa;*V*rC@dQjo&e;q3z-C@9DQt5p=M7Z<8kt=TX{wmOvM?Bxs zE*pA(R!=wN4(5SPbcN#r^Tgs4A8TX?s}D9+E!phrX>;|~OM4>1+D%4K$&2R+#-(}A z@E3ofhVtsgO85Ez5wtf7ueIg-;R04FvP}xE9lIMtYe2XpqLyrUa((@B1+!x50B*61 zt|8*8%R_??*$~=jULD|Ym7T3z%A+J*ub@KXv1gtUR1GokT>L0|t@irIjx-wA6M73z zgp8ymWf(q~uWs$Up*dFj4VXG7=I?+biqLE`G2VB7o^vH+7!OKc=1i<0{~p&;a5DrN_wB0-G9MYp`T=w+lZw;;1-+>Uvspa%|D@xNj z)vnvOMk{$+YS(o54+R_eL+yG^S&X0NREg3Tt2YAH&If%#mLR&WKo`|WZM3rgsjbDe z+esVnkiagHq1=#)d|$*4dy+@t`pZ%kDVTY_hUj+HE%&YO2(yD zI#dBI?IXEh$d@Clh>-w;-Ha;WJ+(!MSvWNRcn`2B^o9rr=?A~;e6dW|68x-)6>U>2 z7)q-ELRvJqbo&yv@^Z^LbjEWXlr9U@Td~7(#Y~ zM1>^#79#76vCmk>zGl~8Fk_cw8M2G$cTV@`^F6-L?|7cS`lI6*bDeWt*ZDqQtL_5l zCH8Z6_o9=uM+RRdYS%s*#Hw=JAu*(YjR1uY%lo{73N(-^17>QLzck|W7__Auji+G# z`-8I}n&QP2=yNgF?ZE;QJ-#ZRY1(&K^|yI&(!U-(2MknKxNC+#a+l}@Hp3wv z=K5)K9>$y=@^Y2)pCCv*J(z)u0Px59SS(H zES<+{g`?fi!1b5;T8hsNUTeYi2_YjquQ8S)WI_2%9`@5mUJoB1cI6JC(HGM5UjEll zI?VT+WfZ;%1ls=#$p3$k%eUQtg}(}&nN6oTdN^^xK=-A|<2Ta2cKd7kgJU@br%vLM zjfg+!w$n5);E=jo+vmVe%H>}&PZ4IshIgOuB#bJTx5npOBb10%y1&t9`i{poR$m55 zG((4Pgq4w0nE6X1l#8nhsuel>4X-}z*Bb}wZl(m7-^jSgk@Z)Bq?en_Ju)djAqj{5 zc$ogvpz^mg0W5#^h*t#$IL9?^S%eRjZUx0EP68yMidP8I5L!?(4GfAi8n>9~Dkw(r z{71@^Fq=!!1ETCfb{M9NIdGCm#qLVjaSCW8soBq{MLCRX&JnA`sFv)hmCi8&F-*3# zirZM{82sb1r(K=uS*C(to{6y2_cdXeztq{iFj)Mki>*$$0NwOqf72c5eln#o$&B9; zU?^G!*p^4%T4`dlW6s89Zry?55Mh{HOZ8}pDeZYDrYxT^A8!HXY#Y?+9GAS?F+=C0 zIR=ftNFvDp6n|2QL z+)rQiCd+p>3P2jzqi7SY?eDL+0L^-tP+!1cX3RFMXU=#QejO$knggxNZWP0AV0fag zZ{x|kNitN8p1=adLOo7xxo%D|PP!EIMWEE*(JM~MFX|ZhD@L#RAAl-4$3PXMX9}X`8NG zpABOx2R7*8iYG}G|N1f+ivA<+71?V=I;Nzz+kDdunsYq}g!|)1{+mU%#4QsXy;m;* z>-q)wP2)YSiC#Zz{IAn(AtVfwnGaA(VswzpzInGVZ#u>?%N3juMg^Nmy(hj|A>O0> zYX<|-*G-&H!KK{mw3S5q4BK8`{*0Gj=de2|%GIV>Hk4G%X)bkOAR@!_RB~QuZp`lv9F-OBy`>rsU?O`oK#v<_kRk zqdl~zc&js-84bh^dBgsXcVJa>=k6IEAv`8>7%z|?Y&bc)e5nni49o&rw=4!T zYzR(T(7D5anug8=>KEb@DKkvtT{DODgF#@{pFQ}R-&&u23l01V@-v5XW*(cspV+P6dK{IvptkqN zx5p#h_30IZg-R+}pE-2;Va~~z9HY;Fe^1k$a8B@rZ7<{+bl%L1>GgX|*s@hks$%{C z{OPtCdF?jrI$3rZMz*L^S0yt*I*h(~>y0YWW9}agHj-+iaG#~U66+1_*Ppab zFJY*FCM$$wj!??dABhUJL8?M%WwSKGr9*EDM&g z*%{uFdD=`Gxl7Pm9R=-=SP;+ITIEFp@pggS__$Oi%FB2rGqO!t`DuZ)Q+mi|U|L@2 z7E+bN(b}HSrT-EB3JiS4vbeex*`1dHc^8n!{R4kGy(yJGmz zRT>vgFby(lbl-jNWytI63+c$0=MioRGDFKk8af<7_^`)I)x?yi+bE{1APA#$>+NQr zE6fr^wt?`Ltok7UUSWB{qV&*NACV2VZN=HJ$fNoHl>5Qy33$?eGb}6LzrW*8SzZ|$ zw-Sd`-O7Ho0M}L81V3Z?r>Wm}CHwDH>dRZ-fycRVixsVnQv7r~7YqmCr)`U(Twe}* zUInfzTa?p%HZ19}PKx}%)m~H^CtU`n9fjq(9-4 zv~PCXWfYm>JM5tBLU(bK*fZIVwd4!~KMR@~s`KnIefCH3t}l;vc*QcmgnUMtFJNSS z)bD^WA&>`!xBK)>-lNSD5=7ss4czH?iNSY=ny7yfgw;ns$WXgNLo0sTzq*;_hgEp} z!_O_GlzTWAzJjw4Je{pA+R>x{{n?E}UoxW^#7oqH+%cGgq4m%cZu0xih^)SCljm^| zUyckVyk2+F0+|VUJtTiBJsipQ)csWpt$;Psi`%Lhc7d&e_g6mPwP^y2&E`{IMPJOa$6dwTC zYc`lZPYR~ZiP^l=r2f}tWh0XD_@<^F@=;Q5Fz1C!9{gjpYrm6f-Fe51vStsP4ccUSpA(!j+?gdtFYEte^Gsd4(~B;PUWt2v zxXj+B{M}~qSV3s#mUTlS4A<IIZ3@B zvSH3CYYL%h2Pd?~mv6GNEwAaZaUrwBokbuxr5_-Ju(kvuc}$u z-iLPNU;n=+NbL!EFo@*c(r#bmAU=T4&wABDlA^_32Kj?Ot~B1TOpn9!pitSjd%jz` zk3|nv+4E0|2t!;_v5Lj)4*C~t_Daw0NxjG2aX05nqy1yRvhbM{AuoXbBS&hEOglVB z>xt0)SwDm{sp#HsXx#;QVeW+OdWiI?3QQOJ^GObs_;sLY5IHr*7jAt1yCAGI5r#@q zY;bHRPn0e^8)5+k+&{57A9S-4`av#PkI6)iNfWF*yvB?Z`!SnM5R}#aFOrt-i>{Xt z|4(Q;W%q#{=HGlO8-Loky^}32*@a09!$ec?_ArOX>|&IQA?-`orhz1kyv;UhR*6WE zGCt`xByyNDlXB#FeoZcpP0y(n^Cm>*t0PFb=(CRQ)XYM(#zLR4zqDRzu0r~IUi;%R z6{qoN$g!Jpxe8aJc7v+50D?C@WOmH@N^7C$4lK)DH&z}4msZDKx{o<&CWj!_8!zfx zLWjz^#9m0FQocarXy~r-atF~z&KVFbuD&Ff?wYh&tOoq6G2|?q4b@NrGmtU~Yg$70 zWoJTa0`J}b0CS^Av8Ng`4JWBJ;E#?=7?7>xTxJX=t!Juc&I@}?kI+YuJ|_BEM%dY% z@h4^M>T-~m$h#NRsU&;c)|;&Am4mzJA`4`k=d##%%|fKTsEjjQ;GD6xlrgGmvvKL$ z`1se?AdgVf49UOcvOC{nP8YeCi#^4co?W~;m<_~!*+yKgYO|fLiym2dc%!h`O!97@ zE_mB4L2%;8-4Kr%jPj_ID#6hJNxRYx@98C$_Y-=U8#+bdbf1Arn`lg9iJRTDyhfw%E(HwrM)wr1YzU85q6{>>e39`2cYV*#EDL7W5-_!0REV!~4 z!DfylzpWj6N*i&}zY~X7x+Mh=a{f7*r)}Nqf>Ng?YONT0&V=Mt>$0%d8Jp!JuT`}) zOR6W&jJJFb!olol-Z+bqKvACwP)p78*8-#d_6_x;I%ZTOGq<$eE5b+hZ61q$wj_$l&@*RjvWg0Yg12-g2b^45z@2IvbyI$qXU*IAueIjXib5tdFW% z*EE=4vZTo+tle4ZjN|4l;>2qeP*pcpjdBGvOaKaY0pb6J!VR6vJCkKdRV=TCvpd;Q zHl>gb!>KshY=e#%tf#Tim@NO*-41!ikjVg~5>?>Ghq>E4<#-vIro+Jgp^%EdEBj(U zZ>6wWziK0kRAVL(JGXTJG6YdLH6QLNk$0tp&*XIRkWyx`iS1ebVh2h2 z^6a59pqOyC(kRkN~YcyrTWK+(B}TC6dY)^D5Ox>_K~MJhF0DK!GDuvOqrTB)_|ZuDcZ(yhp*njA5JY8V;QFZ z7H}eW5!!KPqypTe3~|zQekkrdqy|tQQ}PqirXC_GOW!K?vwU)fc%82dKW#~QSmx|d zt+8({eek-L7n$~SusC`;x?9B(Z(wf0X5#KL>bl;Xu>(bKMvA zxMX#!mbSBeWDy-~T4)bBCX+JjaKzbuMd-hm<7LTao>g3hm~ko6sc4d1chHc7#GV2| znDP*t7Q5j3|7odiGNO-m^~`^_D^^!9*V*6H|9I`LcxuXTLf!MUmH(hjRMm%EP9P}7 zy=M$;BHII6#*CfqFN*syd&si?QIg zW2}oRbKuhj_xP|%`x}rNl7qsNe8ryf+P9&fn^QiOqep;OkLG_k;C(5nIk_OJcH43O zwUA6{Z~yWY;P4@(T;l(gg8O9jZ>B&M9!eWB`1eBZSeVDbTtTBjUc!3pw$90+>AcE# zmZ5XmZqhjv5j7D3kVDW1!ff{}Pk}B05K=+-JFH*$`_{2ox|UijskLO~DYzoG!+8(% zgG0Q*tvN$6BT=1C2bklFSNyTiV*E>o14C`LoIK&r_Cf4^d<7ZU^G8Hw3DH0F`N%94 z!WEhbCNnUhHRjh-_y~*=V2cL8oH8!LU9mP{dyM8@Oaoj(8^~Y3E1Iu9XVI z57zBcj7w1f3X_)Z25%F@dKlpi{YUJe*Yno1TJYE5B%_O?y;>V{Tl!dP9E|ry0YWwR zo}zk4sN3p%CG-rWR1y2Tg#GoJO%PDRcVg;{_;+cRGD~Z6W~NDa{hO8bjfIJ>U%tl> z%{~geo87{SV_RQbF>;v6S-yQeY2>a|yHPBo@Pp)Py5v%y zZWH64*{cQm9FQpa-KLtS%Ko%W$TR*?T6HDPP6FXxQmZY{RUwa%dXJCztCdoRIC6$~h*m9mFQO_bblkb%@Xgo|TYlKo`s zt7$~d-2(-+Az#H%nLeGH6IaL9y+~PNk>ro#cn%v&|MtII9xXz8DMAVylsammUhT-3 zh*1v>!(YbZXvg)gMhWD;dhE?2@tyxuweh#OC?iK`lHxJWXvp(q7^zS@_O=_fY1g-=#15rDfKeVPw_#T7#-@Ogh%I zD9;-XEMOYo`0qOoxFPzF`j~ujaFyWjTo9Z6ZHjbvjLH8+d$?9bbM`sl%b=H=iujw5syT#M!gwEtM)JE}X90EjHQ-40bi1e-DI zVj0!X?S$<)F~n7ZCbXPC*Y|&#Wkyo(mi9K3W_Fs2j_oJv9H_tsb--i~6V}DkA+=B8 z09gy*%QUfLRT@#oelhxQ$d`eL@C%mD1Gsr>(%IOK6R z9iQql&@Sv5FleD6IAOGcq=fS)z9~SN3kf6rmk$crtPJZ1S@6r^50kg}h;`g=U>1yR zY;Q<~wU_rNYe=Yx#jfaYbD2b0CHn4Z=P?&T$Fqw-^%K|vgNBXxmMs?_?^w)f(N?R; zJ2ZexhPgEKf|z$FdwGNNY}Z3%#S)lXg@4$WD?g^7ArVq;>yd?2zgO;;$w_8}O4^?< zwWWI_wAtU&`Y$amoS)#||7Mm24E&rE{fX$fV_E8c@Twt5)%) z(Zk}H-d`QRQn7D0j9?~l=1QuVYDl&Ny5JVEro~O|aVe(#T08mY&042)L!=qIJ6|65 zXW7rryYDGO4rYYI)U+_7Y$Ztc`o5#Zpby>qPTBmNPg#sli;QBy_1*?19#XuD#~vzA z`>R?*Zzi3l?fzfU;6L6KWoJHt)%aPBg7!>v-&jny#cJ)mXXD6~LB#FSzzEJr7iH?82H}3!V-f8}ivxFw{MRMfy-t_q9FC3m*>tbB* zGwT^o>I`18lnZ6!A344nYy&b7>pOyl0~Uo=KQrpb-|i-lbwJDBm)(Dt1E50=D?@#^ z4Nfmn!dgjOh;I1^x5-QRRvN91R|NaJgSpeDVEbA5v%zPnGAxK=C$N3se!qm)uKIpf z$F=(A-U()sl2#|QR%$Hk<{tfx8o>9i)QI8kOxvZXq4WK_$qF-~(XTx8wf)myMC7Qq zn5J4kjoVdopEiLWsRaNip!PxFyIT!pLUW+C`0N_}d;kgQH(a^D< zxS7cQc5+r&Ds*i97ySVnIjY&H8HX5l1NNTH8hV!a{NzK+Cye5B-lw(I_+7`%r-H@W z7@aS9IWhezB3*$(@RnHI-e73yDB5H*ZtmGEfYb z!ogGb5#MbPuzfFoxb5btkM$s13Q`aDXiz$U<+;w8Ck5Qe21Rq=1o-!0Oo%vafC8`& zo>yd!5yt!yG#{)LFbg@0DAGzV|BP`RG&Mvt4~x>=-?&rDlS{BA&9(KoHX2o$$z16awhwS0ERLCUdJy(q9QWV_7Eth zd$H)Pf#B>4)AdS)fvAkcZn3>l@)qd-K|CE-kSKJ0i7@X1ch`-3T%_39$&(~41>yaT zt2&$7b6YZ=*)PP9a{I!0vfvhBWC-|ESF;xojTPNiI7q2NOD8*cYX#i9e44lBD)$+O z0Etb8CFoo>(-`Zg$xpVrIFqfX1B|jQBfGcao2;+Z!oqrCX>M ziQ}WA(?-R(k@14O&z;PynjkF9hlnUlkxq#-U8z`L)vU5?PBO5>Dc~eJbF}*k2`Y+N z=>fp}V&1+2t%w@wgZ3|rPqiLiZ)NTjWLR(AQ}gb;c{q4v?6+TpCbR&Ix4*eeIn?g zubB^d^SnBb#3kas=3+ibfhvk_J*6PFZG!B_93pR*aph)WeKeK^;;1`F= zv06AL^@~i<8Dviobg;Z-v~6?a>#R{FPJ>F#2+fH~GD6fU(@x{)*=Qg*Wo`tuZ+(T! z>B|ZM@=i~RoC*)-g9i_i&ge?a4^?1_lI~jAM|cAjh{EIR(T+=nL4Z~`mLpWRW_0*G|;%!}3Pc=oDl zZg`UCDgV9>W?j-g)G6!{)@!KA4~2ftHXNYM}51b zx3fl#eMe)`jYmfKF$ga1VUlDPp)2KL`Hc{Y#qpu*#d){~TuC#_zC@u%c}{S*N{_%A z*>lff{3lWFzX?PsNBv*cQ}MWoS^{mv{bghaBPK~=MeCajB>3DG8A)2#GQ79kZD zt3i;AaPDVY2@c<53r?&rl#_60`qR7|Ux>+wiriA?W83(3?u6$eeiQM*hFVJFq@F@Z zzrGEEFqfVoi< z`TlC$>Tp%BOfT0cdis7f^85{Zp~fU>uNYI)p-DwdP1`TLw-1rR>s&)fH{@Oo;(Cyq zaqWj@S=)>={!z`@^;YPYq|Z|0+G@DS3P_FGD^o0fE$Y+XqonBXB#92xsq^i^K_!+V zR@O%B4~c{zm%;eisZSWSSN0BCf{D*HPMHiZ8C@{ao?WlJN2!fB7hxIOb{H+pJXij_ zYiuy*Ui}LBSz7^a0$SU6zp$jA;IwDH_uwC?hl7PNrqzbt^AS4z6!4_~mYx3)mgP04 zmNgh`B28bRcc;N!<9&@)%eKAMMw%xwgg@HeHq1_4{b6K+M~PhGMjrb26?-24x4%&c z80F_{-(<6B)-$o07MzPnJzUb@ccH<~c061>@A(lk@930sE+VYG z(a;6YV^20(^<#fb0z|c};4At?1oi~dS^W(`O4%g&R%vD4RYdxQFgL$yX(wdodk!0s zp;4Szb`=yWu;@TPYzLVI42+)9wYJlCi#3M}8uG9Rq^dw8V<;lWqxCp{5+_F*#bl1) z*etRcg(qW!tcB`FtDOf;b%rlJpD1n7Kg1s5WuA!ZWO;%mmyzER(9~1ZOO(qjSGdDT z)5OeR|0sPq*s$9%b?`LNU_Kgmf>yP+zh#{`Drw#rRPDuZ_>JZ1^Tron)lbgczIb;h zo*`fi;}l+XcBR;plwv$FFq$sX{lo)SMdDx0&&U+MsIQ6&9vT;f<*4{x!k4FIzCRhp zHd3UGOeP~=wc6${NSdCc+0If9i4cY65TH$LKz9|gc`QOW9^M$AxNUl zVsS@|?snQIjL!Q@^%c&m-}=8ju{NqsSIuLoWbVw~O5hENf#C9Wuy?I+isvWV6IVFyC*mlrz@mVO}fE)C0G>i%YH|GfbzyzLpxoKT%{?OR~c^FC@VP1#lX zBZET`-!y4WIV-qarEr43r3S*nobC7?G`{xv)P#C06>AH`a0DDWZ$MwS>GMa9UTT}_ z1L)Axc)~4Z<3&j%b$};~NJdKad?;qOcZ=o2h@4u%M_yw4X&#- zwdw7_X6_}vdWHt=B&+fEt#^-u6H*+u_kM>qM;lT5mKBT8{QAVrnxd+g%;J}Eccz0| z8$L~#jGj5MbMEIa6NWgoc)O9gwBWXaee-&;&c>+wPD^6R60zoqYJl*l&Re%8bUa3A z2`B1w$Xm_o8h*hZxKK696&)4?COvh2q=XlGrVn-c#~MkoZ4E-=R9$-`*?m=#{LcB8 z(;vEf3LqkWz#F7a`D)^fZa?3v_#^p)wWloM*C6&_#F zQ5chAucd}74&q7^v$s5*CH!-(a;A3~VgBsLzI*7{9JB%O#JC(`EB=vJ^cOwX;jZ_v zr`N*xs|PA-`4--@5x+EX3r&4uEDl@7&vZgc^%d&r+^i)Xhl*~1_%TQ zCmBsQkj+X!w#4amxINfd(DL=GWJjVRgB0(lwZdYn+D0lK=y(76{+(UplF2f(fgOi> zZW(@q{rn?|!a$*{Zjm!^NkbT`p1QK4U<(Y!sfWBaC4ZF)_CMy~Mrd-Nd>wW?6v6vl z0{h}*0;DECv@6FGI{$uf%T_1yA&JR+cIpFEt@>wYpdB?8HPkv>wqLY=Um*;yuD%>^ zTBT&PbxLp+R>koSFIfh072ZjDe$Ra9Z(Z}SAXuF-qmts0@L$%0*WDY(dg?}0*TI-& zOwC@-TxvGWzgf*39Jn?zvMnksn|vo*5lJXV5*NxaYmaH@K4KOwtjwx=;>9Ed!R)bS z*IidL?_?IYB@es%!`E)5KT}(9MfNr7^cZJ&Ua`osW`fVsH6Icz{b9!OmTCR0>0qn$ zr}t`$xINrQcTK1dlhp$K24jwm8CVd;FIavHe!9r%)|~$pdYrQJsQ!y3%vdC{0$Z)d zr@Qc$9|mXBzr~}cEIb9Rpk&D7+gL-dv5LN6Y4vq9mV;C|coz2PzY+8hel%k$&R)J+ zOJYmfGPD&r)!B64!`CP)kvpDHQ}Rix_+baFt-@Zua94@BH!4tXh$S-<&GU$N#wn4ABNjUUrx8pT^8TD&GH5?a||-W0|V*Z z8so8ZQs3iKd;yC<{HN|+uo-d)*WII)D62H}d>h4zk|W3yIcxLe3I@ZU&~E-ZjY@UN zl^XPe&A>;m)OePb&EgxYA4r)FN9|STWj><(xo9`;McVj0<|$hL{GSY*H6^>1h2w>x zm?RP95C-PB@0jX$DFzYWKW;z(4v-R8+XxlY4Q-uqG!}={ zOc(b!69dyfKpsT3$M}MY*)Of}WdQsR`-xoPi`p7qU+^-c6xOd~a_*+N9&Q5rbM#qb zkAlZn^(~_7W?d%SG1jz3*M7ouC%(ug>BY~zEHM6l&R%6d$qK296E=)WNxS*%eMd)! zrvk(K`%fQEx}HAod-2T!pt=c=W%m}LE}1aZ7T#|UclMeI#Bu`uj*DNN&8;^ zqj)6ZHU@=zf`8ErW8GjZvXz~O5`+UZGn;;#sPkn$@_X$VTJ#p=*gi8TeyA_(Abo1p z3zE#1$PegUA(R#uKVVNA*+MBm8-G{UDlf%N;Cd zMAw-yy#D7v>Ez|!Epo2RRJ_V{eAbW`jByPBTJc_Pi15&3JezCVEZ# zp1O2-1#@gt$tRA7PL5wIFj0ZWChE1HDK*3;8Zaes~)Qv+M}kIW&8hSQW$>R1dpf}nOsh!?h+DYBH^5CNIkD@)Coun z*^DwUrMX0PUxWfL4@jJAYF$d&=5ew&780p$;mY^hD`}*u%-GM*r+N1OFeDwUtTh&` zxdxMuA_cy8TQ5iuPQO$%2KlWHe)r2Q^uhSXkk>LJll%mVFeV{ zCmgqYX3n;U-?4(3p}tngw8DqV?G-ihpz48+GU=cE+b(mSzaKT<*Z%$#Bz@HRoOwQ?WwrM? z^*zibn?x<&FFJifZlK7>$TyzD8|9hjZ%UvflJ2iWv&d?3%0-v|d*6tIg)ww5>84;3 zMdlHZ&qo!nZz$2}3 zCzGj`j)wASkYa}tj0W=6dDUx!l`%@ni zW#^xe#}G!m5mL?MK0T&b>h3?9@^%~3kV#e<#rZ3`Dubq3Y>($3^){IQF6@JKa)Z-6-Ic|brITeqRPTkmQ z+B#<9U^c~Ms!ziov>bSO`5v-c(XD2Gv-fcdmhsod_?nG=8<1Pu%W?{(#55udB~Dj& zoU22=8s^auFt#~lP(4TEIDEw}O}8fRb32z<7qlr(!L(wvv8y${W+f1-!Bh`#poH{&dp32U3rTPQ<%mWI}i!`HLWn3{M)0Uk0oMtvcjpe zQ2u?4C|Az~!^Z-{!$@bsFe2=54MPHHwnww}DpZg`E(=KF1{&=2Ttd1-j+^$daC;#B^ z_h2V>&ylTXgRl)zaH#Tp+y?n56RHndOXHj(zgf!PH+@2kwC>wJFk$T zB}a8^d=hCKnKa$aYx6&Pz5BD_{WHO1qLKwq?vEsxgWd#zvk_;m%~|`|%LqrE5=fnE;23ioVAw+ojjK zp^x(^d{K{cYelj;qCSE1UE8;>=o1+)&7tRizK{LNW)6!vV%4-9j$=lmAH1PtsKO)f z5G0HfP79k%*)8G+N8CB7`GXeqCGaxqhL#$nC%;RmX#r8@$WR4A+C7Dq47e>NqBySJvp^2DI-GZom*>fNKrD^AG zQr9(mJ(jf^43Zml3*t0u)r|HoiT&dPQf93!&CC1CG`+ubjO*Rdr);B4&r8i12&(X% zbngzFm_;B=gqmo$GfLB@_hNsUE;~<^FNk_|mb`=;eP4XM3HN?0?(uPCMxw1U*iQds zT%-z6nPNK>9TiwU-VH53aa9ebs=_reC12jE_ZsZi8P6|&a)$9yMlU{5zg7U?xvGvR zIr}$2>W*6zI_o#Gi;`Kj(wo7k>+!4|JT50>Dv9vK>dOh%_|=tt^IN%DRu>ZRoE?n$9e%RqU{ zz(v}L{-tZCCf38S_?;@%A&JFyz0wT?l^?M(&{RENwxWjpGaGD9w#h>w%*zL>l)MkF zJ3;f}w(hDXxn`FQwd?%)(dY;T?zDdREbQgT6Z0$aF#pOXUb$?zV#+#E z#^~;08!=<|(!|Y*mrd1{qIsFr!bH-9KcvXGJ^y?Ba~ZGvlkc z-#HwwYuw8Ro=l!~iM(Do-F4mUUXowTt+^9+Y5iF@N+Cp%6NpXJ6S(0>A1mxuDqt+! z14l7+#@1P5f@j&cS5G@HuI^sW=I~rRb+kG_CRVM27J(CR-aGv68Z7II$Gf1zez8H- z%vZSLNt9?K6-m1oEkqJ+=W&&|@F$UXnw#{g6mYq@6YB0b; zs`MR^{kepM>qBvZ=YDF66O?9_-TNr=Oo61Oa_@d>L2R4?6bupIzbVGUD8t^$SS`=~ z!*CTh*J|-DOjGv7#tQSR2{1FI>En{_&10ucmVc_jZD$F0mX>9ST#KE1yjt#Eg#cjr zc(E&-7+)ZOTzE^|FN$8RS7H6RXYBI;iM~xJd5B!3junez3v`6a@f5jRmDvMm9*Pq8 z)`bc%`_phwq~lC)|IjU}zOMT;&zq>bn5F+l{ZhN5x03hFA*T{@lZoFcHoaV9%AQ_fOZwPrpFU%;9^CkIpi0hHP^EZh(j2=)iDy6|2DLe z8MVmj%s>2i>#l9JBxs2m>F6V|+I}j81&+BL4NNa6b z(w9Dr`{w$$txKdc+x5(oMqM*&G}B2CL%%vRYwM<^okOAjv|X;h@z1*#zU(aY_+fX- zmLRLT{pOawB!W*(O|+}zY#_U>wdOa&PJUvY$%x}b`RUFS?QO4_<3QYDa>gm5xTsU} zv{A4+@>+T^j8CVp5WJv`@$qtwDg-ohtSZ>5lc&$Dd`rcvlu2pQsF1oE0`4y*bI%~j zuWYEJU2}PmHnv^sah}K5{oO;8$&aGHI|_eyRARX;YkoO@Ibxj`Bb{wvgHG(hqvO}A*HRihuw}|wiUGeVUPUbyyfOlN zjpPk;t@#g@$l;e_odRq0PY3#paB ziKj*gS`Do9Id49HF%zbxS~xbNA;JZzljFMDVswLIg=1CLSPvA3G~4hfyBVA*namSO zdOm1Y`Bk^-X8N8&U5fsSY{WQ{J&-A1ryttoE7&>uarAQ6U&i3@yIWhoBz=stOiih| zV2rVMh#=bkklaKi-N|kY*4J+zC7l@}$K`^<^m3`_dBUVUd~uVqM~1yFH#E0m&s$ffEGG+Hgp+EmAH`JlQln_6xQK1jUk#tc3Lwy0=d_|x|IS!^5TUmTk^T z4H?OffyFelg;UQ%&v47)uM;mlNDaRrwdm<|cZSo+_bm2AX`Z>;ABTSO-e~yvH%!y} zg%iySTj_W6|G8D(LTb~MZqPl{SXe#yi_f1lr&v@FYzi2Hi0|%B4)RYkFPNENGzPgT zqvyVseYIZB_>jF-L3VH&8u)50`myA6=k>jdWxdT?28|}-7Qv(xwx=!}-Z8<9%QySv zPu(=$!PkJqve2gNtRb0#s%Dh`m!jTO>pvgj^ZktudBE=6r))pAnOM z9{sGt@QDL(RxhYqcC%#tq4B=PqF4kkV1BD~y+W*Xa9@LvLsrpDPu-(NH4pfr1zV<5 z_&XmoeERJt_PgYC7e#KwQ?VhyjBP3axoS0Ng-GIcJP|`#V;!=wU(Sr0`nn|;FXQS} zA)T_zZP(P;(;?19#VS-R6tz{)Hx#N$_Gi{;Z7~)nwyE*K_DfARur!)!mUXsLdV5fZ z+{rqfJ1|7;n4XT!gCfyx7Vs!QsMOuclndfPhMf*?zn-5Y9$X3D$FM?=F1SwtZVhKKclNQUQRUncoq< zco(eOw_>4QY^S2VZA4y`a4rDW&xP=p6$>si-hfo!oj&f?EWD#uRb01ZMPxE@Pm)i3 zY&8_C@+($l$5`Bkf9mQDWXO+jF`Eedy{=ZK(z9<+H|nUVhHKmg) z2df=xW-{VUYm;!2Ey^7AduVw_hVh*^Uqb-PN8`^NLj%}s;e3Fq%5#X68L`^A4|afb z1=+{fqcDYqy*=<4xXR1ln^I*;V+m&Dtv(4JNS(v}79Q10kolB9H{TjO4=wapL8eAV zvH#wbPP;X$UD(liookL&Aiz_$Ae>7Ep*u7HX!Apd-~Mkp>oynjn>j)!D;hv{7u&PkEGUrBg!8ADWlh8(5Gj6UhW$)>Cufd7 zn%!!G%D#-uC-CNbMJvzGx}6lwr1*R^!(FZ_LD=r@}NiIujGN}vHjDp}I zlZO`hd>Q{yDr;PrB}iXRBCB`uY(lH^qbhKvM%iYDd!~EBU`UoOfDZ<}91*2Ig-@G7 z4bO*XK1e;(*P!bIF+YC6HUaHdd4mW#o?Vq6yNixC3a5#EQi0|fjA9afmoqEFFIWwl zj<}=RgBa!0eC3H+Y5+aIl4i!e3J`EVCSUh8u^*Hx8N!v zNCr)D247BhHHsltSbR;NsFYhq9=h5!j9~?@LH#hYWR*hN_62yJMmINwbkU8jZ^j{Q zJz~4Bn5k{jLYA(4#5lo)2P13WHY3uQtSzyPoMx~E(XArF8~tB{g;VfFDZAOT<7Lw! z2gqJ(N@%gE&p28$cI$2;dkuYo0uIqJnTV9;nN ztY}r;^jXdHQ0xsij6uj*%=JdA{&K~@Syl6z;K&RaN6)=$9a!47^L5Ju+>nQ&Mj~LR(@gNu zQ0P|1|z(;QUUkXfSwx-+3#G^!aAkOb48#-2YuI( zD@fFtWFsmYvRJ$m`-aDiP2Wu^5p-kr+#z%}9qQ(R&&&T|<|Xms4$8~c(o84u=IQY+ zr_LeqGJ8kFeuATk5!c@}ILZz90AaxL%{5C)d)RhwN%5h43u6X&G%$iuKaKA2Ej9lt zcvYCvF5BwV#Ko7H5M{46-0s13scWx*4$~K4257yxYlk=?*15%TLF-~avmY88ZC96V zT$%4aRui4H59LF7k0hu5sw}r1J^1y~K*>a5rRfVB%kH_7;`Pzn-aMT-`E2IEWzI~U zvgm#!(!7>ceLA22zCpH8KT^*==R4}1{EE+N4BRWOo#^03xI`wMyeALA0Rph%uTY)? zWl+H;x{ek8pp$>+gU7`4+uyk1@?zr2ItaoXtS8dOuKOkl5TQsPMih_!Of`AQBdJ#}5LERQaib&{95fDNzp$4!Z7K(~Ak*3li zp$AApl_DS@2mt~?M0x_!5+DT5T=;#z``vTyx%ZEI&U0^`XK!}4n5;F|obNl{F~*#4 zctP>8?GH>9;~-ZI?dN9Mx}TBJS5p5P~#t zn>I1$2g58iaA@SA-l0Pxm24&$P5t+%3KinY>`rSTd*zxLozBhfBoVxI@Cl=fm@US= zr`b|_+q$u7BUqE}y!Yp=1n*!ay07FJwodMlW29C>m>H_> znU0U0#+sn2ETwRP2sEt##;L)}M0928y0ukU{IILF@*cORdhgHIcoAC9h2I(9CM1q3 z16=W-k>^|ig)-M9@A&c`uwzQPWXZa6)L86Kai}D|UHaXQVbKSP&A$ypG8V7MsqURe zB*n(BBdiX4Gvxy^w@P%=#-*XDYts+$a=hAS%BqWolMjycccmwUSx@hK(?0F3IyragQ)SFt za@G$ptv1$qWY5m3-I*6o#fX*ohB*ibp2LaDC~n>#tzl81hpb%WFN4sru(r+f}Dx zTZM5UH$G?4?wz4wk2M-;{aQHHQofIgnt8LMj+e{PaGdnV#(O9=4pyJh_bWvYl+P;i zy@Vo>m?6WHddlXEwis`=b*6`)2x6ez*syAaHyzFl%I2Ko2399gz{1I1?iIf zT~TGnN5*-QW;4vSD(^eN}KGOI(IkFu&EnLd?zeVzzkBN>A?0 z+dJaoa`;N*t0PpZO}Y_r1CLzm5?nIXjspbDI*QO`KiVaompfek1Mg?kpiQAQUE6oV z{QT4bEAjRidy_DdNB8n+qQ|jEhdzJ){10;uKW{U?TkgKc{v8lO)$FkCnK~i)=9Uxs zDqe+8zhn0BAKuJGWY)<9y_Z=kQ%z#GGKPY`6cE^VW_`Xj$b8_Y@P^MZlKsA(|D*mY z{?ET*#^a{1nr@Q|Biu92Z^C4cCb_5is-kK><{ZhBSdqX276}RTuTw>zKkh|p%|vp< zZo>e66}wkj*S+kCU4^cn=asnZYk!OJRr0nq?<~9v2-Qe+W%z2$ZoM2 z3wtm|Q*-}l?0#L=GB|t2P2szd_J1}xA-tq#U?|5F;Jv^r56w1^}1omMVWm(04 zq!LpsU^E}N;e{jmTD4dYM1~Bk1UwJewKff^^YMCMKD!*BWVIqe%TFkROhESGfRV+2P+4K zhf8=0jUL(Doro;uX-<@Dcg0o9KgU`Hgg6I`mv=OdN;nQxcUM$SJHlm8SHTD7n7mzIlTREzcflL>+q+Nc0Zy$trbq^R}!g_S4-HaXo_Dv;OKwOF-s z%dTElkh?w0y#<>Vl$$5zK^8POodMaK?Fc(^y2?(=p(S=N;gW#TZ$q8sdKskS!x&cZ zBFFAP?Dms63LTsBz{Q2$zw$KyeE`*OD!uqP;RvckO zY00iGN=`9y&I3oZjneo%;{~Oh^4l@Uwjnwbzs_^Ef*#=5CfFTEBEl%H(yLAuis!AV znlC_U;n;d|dRjjxVDUB9fc;t3%`+c)C5;|T0`hu#_bCpDh}{*$wc|8#qk02}no|quR`7ufL{yz4gX*&(z z-gzfOpK%s_A0rvqdk<)=b)lW?){mT5$L}H>Z}M2QH7I;Les{VYN#=NVhB;b3ro`hq zP^yF`7i(QLqurMM?b&mZViI;)Li*7aZLye{si~I#i=bXBW2c)Y9{UzPE%|WIgao2H zYZhPAhi)#4kZT`!K>?XoOJpU^lv6=ayPf^M>`i29jG3}iOCisUazTJXh<~A>fO=rF zjdQz|ffnMjvbw{S*ctNuL5H9+&Pu7$T(<*2?)>Opi#0iwbMsWrXLcLlrK-%8LnbC1 z+P7|5W_)5;_ib0#9NMlN>!F8oIi_gawSw8`;WS}hc#P$Sj1lNlwIK*xpoT^%9 zwOy~a=ELJ@H}uFd_Y))w-qb{pj;V}C7u9^|dEtuF$Ic#dJZGrl&o5Ef(}A1b-z!=#Tc ziM{&)0NXpUZ^qv3n`VPn84nxJ7++F%=r|tM+PXWCdmD2c^?+D6#7l4Wd0N%sDvzg^ zuF9$6T*Z5sZ}kS&hZ3wE%dJS|1=>aN5IVe`J)=b_9U&9_k(P!vR|fyQExq@q)Z>jW zxg2rTfUN9h#u$nk;f(XYXX1L+-r8Kd@%=diEj!9^!6hW+_niQL%O`xd^LiJhrOm1` zddp->>CeBtsQ_LcU*~ffCTi(i{1kLEZb3-VjySq-1AsTyYI*i|{OIwx* zb%nv(jWtJ;E^`QdX6NLqSU`4#9PMc5-ydeBJZG$R_GfUk*_?$jZ{N_~-dvz=-YY=_9|}%4rXDR#BS|Q` zNW_JL4R9A6H#WPU?yNe1-yW9Qu4^#m`XT?xgK)A_ps7Wa`K)Aj>}qkxwWN0xMT%oN5(PRkKd)h^^P>w z1wU7az3W=T?s=M2GDGN{il8 zd;K{G;L$<9PeXfYef?|V;`mt0S@7P}tqq4^&~oF_T*cTrdZaJk^pjV|#T&BKtG{IC z9eSPOEm4WCmE(NFVCdef`FqyPlW%&pM0~GeHTpUVIKN;$Y6GFnF_<)4xQ zg%YwQwmOi$C4FMnOnO4Sd}($+xq95uEm1xbo+|Sau{I^td_?;TK|V}bR#y+}k0Tp< z#|d-o6s@k{`jIsFqxxE#nfTW%10kvDw0C-uISRdb1_yEt3{Q%p?}3efSc)*Qm@4}_0w(t+>t-P_RX`=nN_v7?odcmhprYWT!h5 zu$RX+4h&)>3UnfSje4{DNSS7318#jCs)PDA($kJ5zMuQn1e6+a*KC8nB{MjUwRmkm zdnU~g$e1PN*vPlHax=OG&KdTVY-XKR!{0yAC*yP8+h~9JWKgoHD{ZfIzb6}s&u#6d zfs&ShYL-`S2^mdHb@@AX%h1?~Z2k#XeQGVTwc5NA=@xV~MohRm<=_MvBU{ZA?r-4iLcJpzs2qTO|qKm2@t&B92n}?BDtyW+C`DC3u zvKg0*^B@ZQ{d^=eC}U)3IK^qb`j}73B<-&5#l}c}`?<Jt86u7Zl;FZ*;c2FobZ6VGRO>*8VT{Efp-U;dIYV`%HNdwA&_AdxmdmM9_GaRI^#8tFiW*S`1Cyb*ckAPu_MPS)oOu z%hU8ME>FHW3cl%wn;%*0@GWku-dw@X=47QvOa(`J-{`>fEX&U>Ph{E~N5)2oTH5gH ziSaHnhb!;Pez|4W%%NS?@!ZO!SE;y|`K5>PErLI8ZwIxy=rb<3t;#v@a?N@4?MgDY zO-oT%hO4YwcjDSeiIJDlN&B&vz1WtTvZB~RFFvVj?+JTP$0H6*?6w%dIt17S_kHXcemChdcW<;7aqL|f6gv&pEXlFsjL6g(P`uH z)_oRkqy~Y0idjCB8LY8>4e^o1MJ@1FvlW33)2f3ac__?07ai zxA-+s-Z|v*4S)Fe{AfUJq?8qw&>y?b9F9`L98+-NeH3hm2PX3q2W8)R!x#@*cyS6y$M!so@cl}=R<*6c(wU!&jYzdW19jcrHp*}(} z?M(uCxw(V1F{;L7N+8A+G%O^bPs1dSbK-PURIRWWWY?IR^PN-2fa0UCHXUYjE8OOC zjV!sZE0V{4r1)i_p>FN_IXQ4liqCGF>3i^QkocFrCBdoIFANR7|I>Y-Am&!MH2|Nt9z#OPI8+f`kI>Z5P5h;!+VlMfTGPJH zbV)47|I?9^XRgA5RWDau3&FGGR${Fe*V-KMJal^(Gi*QiE}LuAjCiZoB=}7Br+|%q ztr#)Krif!^m7W<%(bqqj5&Vj{)R()|DOf{^jBBs>R{TezG}fmGYhj%HRXzsth9(?( z*j_T%hbf7&I5$TRN5q*F{Zl-T8)NpZ-rcu~-dFXmZIaz43jIcyr+wwx?Mjc@k1sl! z$&0T?CLd!LUt5Jm6xlqY1}u#@9q z&AWX{yK?VaRE15NJfU`d z#?N8Sy}1Y{B(kl;95Dczrw44TPWJ$Pg`kG#%DZh|Vy}bkdo)~PGxMX82W)egNpBP^ zbG}=Gw0?NfB=d0lV`-%AQAWlPBWQYosCG_8IUy{jPvW~6zGm3$ktR4(QNTK*ho1Vg z+@TG&d^!8JfO=07N>n&@5U1@z{@hnUaj|dhaEmqbiW9dbh&E)f-y3+CPy2*oiKHkKwx1!qnirp+pJ!Dp^ znwYOTU5U+PwAbjV&jjHGfD{46=YJ2Lbai_r@t&(L|9#sIjETWMlezIWT1Z0NTV(na z`vcF};y;qd_df(%*Sy3GrxS>?-ZPs#Lv$E55#XeoXWk~uo;&vjkgJw*QV5+tnJIlEPiZBn8%y^r-?6QvJckM;(wn+T?SO#Bq z@ZADW_@?}x(6NJOJ%jlEgKaeWT<$tN^Z3QkBSurCASuu1c8c0Xx8S9TZ|nm&%xt29 z9sd}GdVj=oXWBoCV*{){J)xV2*$>bEfwwJ5oUDCLy)rHu^&ZlOhxgCXVk7aX< zUS6q-z6=AwPp;uVf*)9MxfvOvZWOcKbX0^CQl}!%htFxG%GE)R@$GS`w0ZgRjJ$Td z%(tZZsVR3}KfJB+6Eb3SnDw|cZ&!fC(fw7SUdG19mjCfJ&ThUh-#F$GyPk16%NTh( z(RxhcNdWq4NuLtx;ax97X(4&i?(c&_VwMP#$!d-r!E0z`Ew&m%Q-SW)+(JOlf&%Uq z(Qfc8*wAEfFXYs`lHl{nA9ow3(KF{#?t0Yd(N)j-st&t&xu@JU*?emd+h1W|8L>Kc zPL!QTE39glO#{sVdo(($S}hCHoc4{IG5Lc>O`MXIzFgwa+&vf7U~ydU$&$uGAl5I0 zUZpscdRM+$Pc7>gI`!FH&EB;ENqQ;~bA8ckaJYsue9UVw*-|}gn59lh1?$+5q?uh> zT1uLo3MlgoVYj*JIO19{y4w;olngB85>$~s*w0Fkpc6pQ9TAGdniPFBt~nxhJK<-h zrKMdL&#+~BwF_Ap^wyPEb*tIOIH!}Hubk;|*%953b#Vz+x{*Y z$m}Dqux`A_mUw(F@*D$c5PLpD40A3+dY=*wd2Q*ZM%MkHR8;t+;n4iuQ*ZQbZEaD( zOgb$$H&>vqGw0|?7RFDvaY@5ReRsU9b#=oCdjsv_%C62A49Bx9>VU(@e>WJ;Lv!~7 zbsJYT7CyXWpnr`#Z5TsKH2n{wA+BnzVX{3KB8%=73|mPbo!5Z|z2}D*2kQIWwbMjZ2W+%?j}SC4ml{WeiUz%G;u(NB z)AJVufQ}o9JOw%<*$@x@1uZbxltZ;)YvkeRQ%exum>a4bSbP6oKRthk5t(4);J^^*XO#Xn|Ysz;EBa`AeHusd9OFs2%8Fewio!VhxnI zObS1tGalNnxugG|pGj8ZEB@KnSGm5*gp9`;mu_t`ktg)oj6O?9N-j;12L~URW+CR5 z4Ux!M8Iox>dbTRLZU}UqYpQhA>z6ITuyg}I;jJx*b~VoQ2OVKdpZ`}u0)APWsNSVe#C`DbA?a-Fi)I3pD;{bJbm#%3Cirb1zQ#8{&2dD$siLhj5Q-? z`w9l^K=}Z-NGMZn7V`a&;`i$Xbpt#RMf74!s#Jfqv{~s*4k2%S6s2A%?-JRvrEh2` z{{@eDRr!l!*y?qsy4;@i`tp!kHjW3A*8bzXw3@9=fgHHko114;tqlxL)uet9f?y<< z2Ir%?W{*AY`*)l^min)wASOF6Dq4P#@~fEo_-Zi@ihB5h9f7~!+*qu~=H^Ny`%?Vb zhgFc~epBh;_LJsjX5OF_qS8H3sY8EepP!C8`r{9$>Sp`Es%zqlKb%MXKoa`bQ3=~9 z{K5Z0@Jo6^mD5sgu5ieP2kR#XynmWSDlpH|mZ?1BHZZBdxY*mA!-fcX$+;1CA zLycgn*JlW8^C4Tz^-1_vWe?N$Z!v|!3qdmgddU?Z4CTGZiNRF-dP%UeX3ZFb-9js~ zq{&!23gGiD0kB!>Io?WL1bB10TU(YEk5*+Z_xJ#yY(HsRl%T6hJ8v1nT7giT4DKa% z7K85?9+`{rm`HS(`5dD=6aOExl;1Wq5(Zj10Dh~AK?z)nNlW2pZWDlwl8&aIg7gZ&#BS+ zjJb$oiq~L>lPU)pxOz1WG>im~6kL`pwpceY5 z(PPhk8Bo3a@i@MX(3<|eVL_tydID&7JM3y!<(*2WS>z!~7UxxlfeNU!wa$LyRIN`iljQ}zhD2W-_+Gn*kFwf^9*n%$$2+nSo2A_w|`6_ zt^X=y^ZmMd{J)M8NwWdlIZEfNnTs!XJb6C$UuU%J0{(zE5uMw^#wGObFAED@Z(8=> z{(0Ni{(tvo7e^om>`3(gNpwT+s`c0taRgxH|KW*)Pd%FeLJ~9?!ErIK{%4m`s`v?rEKP|i1Ww8 zVa+Gxx))6UGp7BJ>5TVPPldo;sCp@&RtamqgfSsP=D#o1+e-so_n2K^&;R^h7C=n@ zVKcu=?gM}qQwz-^ogI3~mk^?&q5?TA3omm`D7F9;Lfq|>8v5qh-_>*JZ<&5(?CyYSQt-Ufq4N=B!F(` z?ZUG7O#&q2AAbUz+K_1N84V|LgCC@GN)@EbB0>e=ZwBXQ%#s{l6cj?K=h^ zw%_>sLqlxMW)+}Ia{!jfsjM_DGPw;>mVlyt1ee+$O&V?_c;BuaPl$Qo*Ns=FE`JSH{q8`1wzLuGWK_A^83yNkyIFu_Lv3X{K78oD z^*pDbpqCOjUvQOM-7q5~;|VcI^Lyn=pZUt425yK&^c*!-6CN37A)TC-s~JSSROZkm z6i2xFgMnwo=0VY`qD|1$*SH3-j%D{7UnWyzk8{lyHgNR>QkH}nDiW|GlGd#qDQub| z1HE&d8qE9@|A}M1%ptGNN_d4rre5ltZr9GU5$o##!;mh<9NEHzfQHzERX(%2^Md=r zmdkNO9iaV8`fMyTFY&?H73^A%FxE)ssM}EU=&Hq5$?>H%KX_=cecck2un2Y=F8hu& z;i^}pA((*<-T)$Fc9Lt=3*64LX@T=Z<9G|t7s@V!KgOC(uJwb$-CrcsstVweWk5!k zpTG)+q|#+2z)@)LEf+T7TT5`6WwV-Kb?gZ_O^uZty-LZo{Bbiq6G3IpHfPXzTjMuo zS82I3Y+q-tbe2xiL@x2|*Uy|;##k$wgpyaZma1um{WpPOzp+Td0Zn)nApTH$YQPjS zf^RNF`%GuVPq1i-Yl1%ApS5!H^6mx(;+38I3)^0uW!tZo*YeL62!35iP+^341Jw4X zm2GGHmB~3^05N~~>&uI|8FkgVYNuWaC1vG_;YpC^l99dimebMM#l@a5hQL`})TufN zsc6-?3qt`MBOI>YCu)*n5_PV@Z+A(Q$jZV87tX$K6%%%^H=cvX%-I5 z2Q_CgL;K9(fL|}fm%q6M_Y6-2Fz_QZ-IkqGc)-v(QV9O)uC@;^_kR^n&F8oBJBe?< zg5+$hdS(x!4>fDh!&1oU;uFJ%#*AGAyM-ZwN zh9CeFUkdauvL_knZh}8kHj|xfZ|i2BX{|t4}~!-f}h>tBdgrzar! zouzEb{_Z-{Lu0IjK{L!B`s3{UyPIVFgH{z;bK(`3aC z^MqR?;ZI&FSmaY>xEdDi5~wE1z$%?{AFpBu2OWl6+6A_r%UZ60m$Khe8FGJ;cgY{< zD#dNIFDKZJ$`#VdZg5{uIfh9PkY_+X+fiJkBUAbNt#j7~Aj+C7)7W8}@>Kw{4mCy| z;|p35+t?vj=$t<_vbD+ZZNj2IJaAclZo^K(MqH9}cnawoX9;^sO_8T`7a`fxV!pdf5xzD|Ip@y-{7R6aew*DAl2=t7B*4EUG z-{Mb*z$~$xhv7GZX6XRdI%we<8r*?T8})w6;-crb1o?(Yan>ghRyH|AWXF_s$Xc8A zkYCv`07-ii9a6rwX}})uECR_+&JQZ)2y1`@W&}vd!vgzee#NA2JU~&Jx;CcuLL^c< zo7?tL)1gWqKf-cFZF0a@9|3Zyc6Q(X#{jyGx5eX8WM#|?OLry5?lZoNLYiB(Qc2gj~sd-UML$<8exRu{zc-77Son^haT*}u;7?FDmO4p{nk}@nY4Jb&7VeiRWBEI%Aae-0 zv3KcFO=tlT9(NXNfyW(|b`!gAqn1M>tqe)BkMI5QqatsdZGT5vGoG~3~uRb1SSc$6G4ljGl3!ywMn4ra5Rjeu~0 zKW(u9d6{%VfCY|%fQ6n~1~Q>m2$MXr7{>xS;*TFWcR5^AL+|?l8%Sl$?!>RUn+2vN z*FhDH6->>}&zA}u0r~4nxNtx=xR}bz!wxnV@C!|XmgLO#y?#jaLvbG1{^P2THh~ET zFRvpNTAqvf8Y7PHB!IKhbl#u;ib&b`#b46}<%v(x8kgo5P;V(_dv;C{G3lO7qVX0V z8@S;?@zG^P^}%40;mP~KrrKP27;9v+OGB{0fM+N0orCMPMOXnY(S=gnCR;O9Rt@Xg zqW(^e#QlNL&Nh~M`27?_9WhzYp6w<@{cvSl?s#@UaOmijN^vF%m7yBCX&Y=5`>P2(ZX=tpaJ|W>?3JY|N0^kgb6rswoRrVQTBMW*)KIU7!MQ zKd&+}emM)-a?nS$66AC5KXn`oKOr#jf+%XkdqeA) zv({VhT?SkrY^vCC;YoZzD1=D$&*Tpe0(h1{s$p5q2gK)T7V+JI?bfrjOvY5rnO0WZ6&_*HzRb0czByk0!bM1+W z;%<~3jhs;k|O`FqrWmEaQKV0ojPOWJfVjvpEJY?D^C5ZYtoP5^_~ z&iRRiwZ2D6A1Ku!@*wQ^qFTH@p1$o*Gg0d9ahXiLIkFmt_QcuGxm zbqbE{Y#J0s7gD{xZ@Rlf)w5i?`ck{%oYNpw?0OudO02nGP|IfSPK!b0MhL54nin0Y z@Hj1dsOxIw*aV>c(K7m!VQ+wfCJGv^Okx=R037;phqApTbM-q96o-+7r=C=LO-_8f zaq5kgx&~t;Dw9C?z+gLj0?AAwCp&;*^Sz3jFm~YtbgMQ;%}XD?nLX+9B+uStp23{2 zvF7FFeNyEHL&+Z5x1hiVyH1_7lHwCAMYBCqR834l_GIc11A<6#;Q-T|YYAq1%~>r4 zYx9AkXZQZYQ1pCu4tdPhh0BYKFp-Sl5cbmqiE#T9e*mfwGzFcME_w8t4R-Wgm61lY zkSeMRWY&&+UiY~KYY@2lN9Wru{WsSpeJ_d~4Xq9YfPPp$@m{jOOvTR~R^6BDvyq?x zy4qJi4MJH5-qUTOJrSU-@C$EX`|tD>OXChaOI}X8;PESMjz{jp5b${sF?^;K?&*ND zDJFES0aSIBf`(iIk7=hvEdv+7iu(>6KBUiEjWqxs9arYV6+bP2SKBEjidPBnk6PCP~e|SlIvfAzx0LDMvRq z60qzg;;8v09j$mz{#uMs$i@OO_{HP8jgZB-xVS3Lo3Q;I7lLuaD07MeGl@@gWP=pK zGPZ)z8$>qsMK*qNAPfwO+nOQl+M3stkHPdgW+gX~VMjDU&Tu8J^bzd%Exiw6X(xVJ z4}ozx-Pcz?C@f=ME`@#hMWQBu$9~PNDu5IQYF-TbW0I^xEJrr!xZ#9--0%%|3PXCMRs9~QDcl!W^C2PO3r|oaR~q0- zdm~jS2{;hkw=NWfK2ofZ2nMsQi5HOqXdIQ_p7T+rL90m)Rg6dYlU#8*MZ0D%o8rn1RW z?k$o|9l#v6Yfq3T@Yf2j*Kr4@VS~mcRi$vPF~H+l5$D`@`HVp11bQT@229p>uZlx= zMD@BR`+JVX0b`z$tN0N1tlq*p#s;X@LE3JEAswAZig^`U3 z73T8W0l4?ksiSB2t0oqLqI{Ur*<@UpH$i*J7?Sh>>oY1Pc->Lun4nh+Xp#-mx^fM` z)n50!d<*)ipEtlmQ>m9t)2!YYmj$MRA%xikO03YM+Ov7R)lO(1WXPfc*9U=H^U=nf zZ%rF#4Yl639$R;V^B+J-q=iE+OyAgovgjgBq_5P}r9ZVhhtqxo1-MsSV_|Q-EKKwJ zi+@gG>VJdC?`~@+V_i)k|Cw!9?DUTP@xhy8->hQlS_Gf8*=OK%v`*K5n8hfWc?SYN zWjG#4@KVUj?`MH$_Lr#ej%*O;zyoh-BA0yK&5h#;bgN#==hPGL(Y}_c_E(SK4vL)_=P2hWG2r6f1WHefyxIcD((62;!Vu|3tWMK}*DfH2G*ncTKp&#py+JHOx z`}$wa6aR0dp#OjK(P<>$rV?8Vs-`|z0;5<9wlV(4=t5n(zzZ)2G8;i6zJ0mPdb8Lj zRx$Bwc~~;D4_Dnwn~hTqyK)j?WaI>hnD_9IY9QqvM~_Qde+PscrobGxxCm|1I=ySV zgEDNnZa$cS*QjxYGKT**rk0wpF^JoMx=90U+zbc+ecZu+b`qJx^L?ueV=Lf05K#G! zAGzuK{TlyxSh%Dy<~Y?7`pkXL{t~Y1KY>ix2jt%XRs{ec(|`}2R1(?s^?^aO#(K8K zpGVveJ3d^j0t&4^)XgyT6z_5Bwm=m+`emMhKOuUT9o364UYS{-Cm2eUHB@y4W~Bt= zRs)PYE?q(@FDklo;J|^wV!KxW`d(xKs;zH*Wp-%}7qsR{q`A2D*u`6BLeUDL38@)p zh5tU?E>3`$KSHUGu>yf9YK0-%G5H~FRTzkpR$ChHFL-=}?1{p|3=nv`qeC`qhXGde zPalIA7?Q%mGeOs%+vm5v+#|iMvZwKDET?nZ)mQ;B3#wd&;eA&UGPL7Sc$sA^K-FeI zXvzbbqXv}gGV_6uzV0&?sj|3zpx3phe@81|G(xeXtG~z=UobV83?-TYY;&aGWM9}L zx1@*Chrl9Sin9jU2vCWVZXDo-^v?i#3jBl-5AF+t2&gFl@_m<#5X(KOn-Ken53;y% zBOLN0KA3b7s{5I;71N&EWrbcr6j%`lBhhxV$JGN$0cVLh9d+SKY;0^GA@aT=U_1ay z)wwkJ!K=89T80MzWQ917#*${iC3y9s0Tt0R@hu6IiWapOK`xRuDNIWndo^&>p%cDE z0Qpi>rODLazfw#uCEqq$-3ZzSp?|+XEEPy!(iRo^5an_0S{TyYA3$J7kd~hi1EI&` z`LD;L-B%^Y6Kd-2IhpJ`1HO1(M#Pp;#GJrIbUx3w}e@YJnvl6+Ul%;vv&%3@hYb%cgE74o0EN{I9waYE_(@GQ`8EEI8mR#?S!L zT@O&ohq6d4h}wj>Xcnk-hU`}Dz!qoDHwObZi=xr_U;EYQVvU z5R1@aRqNGyes92S*-c7+f#h}6S_0TJVayhvb6jy`wMiww&__9;Lv87H?7MfrrAuDo zEQ>T}SI44B)zFe99o@ zfsx|t;^BC22voVh>YE?&y=oll>^L2*_STrq;ZYF{Tc$}Jywv@em>d=WZl^W{szN}R z(pUu)!q34DyIeOE?}ZIOe!4T{=?UPWvI3Xi>m@1c#9IaAa0=uXe2i3IS!|O9wc>g_ zl>dP!Knm!39Mi5Lkhi~TEJ_uH4@Sl~jNP&u0zCdYc%XzHCd3MmKslb6jFV51f(g#l zkN)9`_1oSTV$L+}ao^TMT+lEMVMOXMMAisNJjqQ)i1HPpi@EemV_gMM<0>3+xt z26s`_EkMX&ZqT@;y$hS^v5^I(AQ-CzzYUYDymw{psJ4-ZSHl67igLe7gl?rYm#;m* zkC?{$u731bY*1sEs-@K3j6Ib5P!F%HD;~tD$^|X5ZgQ0c1Nh z69W$~uSuNuNu~zkZL!HL>NeGW?>*x5L~-g>!I1VHh(NT0)Vnfz47e@LlTc9)eu|8j zE0j9LgXiiP&NNwR%fnU=(rnj%L3Rs7#eO7Q`oOMIbku@@^MX$vFBmBh~|3 zH9G=eU)I|lG)mfLiqbK&N9~Nh_6l*n!&FYZrxL<$Fh)XZkPA3TzGVyFVIPdT-7~~x z$e!gV($>~ydGm*5f1>#d6yV&)!)(h#+z1QLc6U3#nWm)29=`AfAi%g<&3+jwf3bbV z|6X(3?krBxs=OU-1)If1l~nmB-!bweh!OnM3=pGr8*&r}s&MLs`^tO+ko&8zuaC-r za?@m_i1P6W0VN4wfn4-yrjS7;>@Zma=9c5~)OYp4XY6s1VPvTs^7??QghMJ)c|6|M z_OZ_a6Ga*i#}!jk(`a++!A@P7JXdJZ?0fMy$BE_X;0RB?-S9WHXp z-Je%n>{LOyF#S1Zad6YFsdeTB#qfZY-)NX>#7SlSe8k7HTIvf>2Tgt>uR8w66Rj0) zIUo)+vvJ-vq3Lv-!d1wF?4HzI_<|-uuZl?=pEfYMxR2gYO z9HMup+l3hcf_K55wp~e;U`NjWGR#R^y-Z+aeL#AHueO}l0kIpFtmvSN(m4F$A!~g_ zU=Lo9y8wA2A&*ETiqIjDar)R_ph#uoRMuFnW=e{2-NmdV&|+<2LAy&`Y69_6x8T6-Cw@m-czz6Yp?L%N>fT+=O3hTivUdu z{fj5Hg_F}+O(IXK#NBCqc^b2?`SEj1!3N;M-l-3kN4nT|=H&6{Ubx&a0P3$)l@Uu( z^N?LPzdk6w!H|@donNWK8yT0CmM#ZC*t6ChY>kJ$Ik3g-gxMaug1wQEiLvBv8d&PR zV16=IeX5tcwU_F#H~=wSr7)n>Jwo`EmnR#%@XD;heUz&WzLeNmF=_RDQl%?D)|NC0 zk%#ljPv5KhVlXwE>*|9jXm!kyzwH_E~cIVhP`K`iBAmmkR*-06CTe?2-E- zG-qsV9IxVb@;4+iKC&q|ADD-1YXU|gUiWD5eW9bkSpj~+(qO>hNpQ^za2^1E9p5~= z1yWhEO2}8y_~o-33XoMU6^9R4aYFw-E%MbI1(2%~L>G3z0UNkJNUF{poe0@tge*;n z-%dyaNb-I-b6|0ZfdZ!f0eT#Z2AHMkUY5(>juJSdgyBdeG{i?#AqoxvztEW(C&(M7 zDizYKN*S%jWkD-b1r9d63&ZIE=-o&yKNj8W0}yU@b+rb*y}l4oV-4#-C8IV8w5@^+ zoDB%@n+=VYzQY-Sq*ZepxB*|k!@lE@&>WE5y@8W#vP`tJ%k6~8ij~`y!VuQ1HKxqA z2_S^wP2cAEPPpi6vK8dHI6C*QhoC6~Fq5$K>?_RZKdvoBl6}ACRch9BQp^2;sT7#t zQd$L>GZ3g`1^~gM3M}s>`ur0>gK=FR)-QD)P_PVIX!LKp9xYrT8#KzPif#wBP&J7E zn-6STSAMtwil4AH77Y*1ViaU&_m3?!fo~5@fB82|?)wdr@?9vTc!TfadobMhOxBp> z(S({199g}ddL`$Eu>U_0PgJsGL|Xw>z1H~n_<$XRZ-DOpB;I1z-eDTrf7nkU}t^f4|_0BLlK z;Lo`N4dnep|0*S6R0@y)G61UUj$C*kwf`be*SuLPB)t2XqtuPb;rcL6sJPMF)*?58 znY1j3^t&Njf^b7mT@~pDc8Zd={MK1O=K0|mxZG^W<$&q65(`=bA~^<%E8!x+el^u) zg38WaAS@FaHdU0Aa?;c5!mf0xGd^qrZV)+K<)f-bssAd8skj2|Y6~bO0-eMHEYqiR zHCvn1KpR`az%o!a2P1im3=G~f5`b+B_*YwKlPxK(sIPAXg>>al>dzSo(%BlID=`q=Ph}$tH~d#8p>?y z9t*pSg~K<}q0Nm1SW_+mWt^lE#`+r?s|4FOZ2RQ8;2b_)$SDhkV7b#Hue((2Prxwnu04`RI`5M;7st;<1+`AEO z{TbK_byc5R5(Hc{JgL9-O|q01Q)9zD;7-3?&$m>3d=%FjFDYghIoo~pj#F!Q8Bg?Z z0X4^}W!G|@*V?{|dp~$HQ0~2g!@QNrYk_N6c72Ubjl2%r)Wf&?+Vrra*M-f#MaIX0 zoSCo!G-U-$s)c1Lvwsq`;^Yy`Rmo{ z*xN_vg}MI)bvQy@C9gGo1Z~?jxu6&h>TCmx-ex|l6QMql7U^%GZp7(d@lzmuw1n4ea->t_Cgix%Rg9&CfYyw=(rO zfEn5T*5lIf(9oS-`$3b&@6ywND-Wb>tG@6lYJ?p1n-`qkmYQ7bJJ04O>mspVAj3aE8nX-rE^qX}fpx(c_u4~>7gfR* zFM@mp1_2r&;O0M=gKy0!)R`c4qsqt&1Bate{xeUonB~9b%k&yhKzh3RxvX>> 16; + t = Math.imul(t, 0x21f0aaad); + t = t ^ t >>> 15; + t = Math.imul(t, 0x735a2d97); + return ((t = t ^ t >>> 15) >>> 0) / 4294967296; + }; +} + +const config = { + mainBranching: 2, // top-level calls from main (tgpu.unroll blocks) + branching: 2, // fan-out in functions from instruction list (tgpu.unroll blocks) + maxDepth: 1, + recurseProb: 1, // seeded probability of recursing at each node + seed: 0.1882 * 2 ** 32, + iterations: 10, +}; + +let rand = splitmix32(config.seed); + +const state = tgpu.lazy(() => ( + { + stackDepth: 0, + } +)); + +const instructions: TgpuComptime<() => TgpuGenericFn<() => void>>[] = []; +const LEAF_COUNT = 3; + +// TODO: replace it with number, when unroll supports that +const arrayForUnroll = tgpu.comptime((n: number) => Array.from({ length: n })); +const branchichUnrollArray = arrayForUnroll(config.branching); + +const choice = tgpu.comptime((): number => { + if ( + state.$.stackDepth == config.maxDepth - 1 /*|| rand() > config.recurseProb*/ + ) { + state.$.stackDepth++; + return Math.floor(rand() * LEAF_COUNT); + } + + state.$.stackDepth++; + return LEAF_COUNT + Math.floor(rand() * (instructions.length - LEAF_COUNT)); +}); + +const popDepth = tgpu.comptime(() => { + state.$.stackDepth--; +}); + +const timeAccessor = tgpu.accessor(d.f32, 0); +const colorAccessor = tgpu.accessor(d.vec3f, d.vec3f(1, 0.5, 0.2)); + +const phaseSlot = tgpu.slot(d.vec2f(0.0, 1.57)); +const tintSlot = tgpu.slot(d.vec3f(0.2, 0.8, 0.4)); + +const dataLayout = tgpu.bindGroupLayout({ + offset: { uniform: d.vec2f }, + scale: { uniform: d.f32 }, +}); + +const baseFn = tgpu.comptime(() => { + return tgpu.fn(() => { + 'use gpu'; + + let v = d.vec2f(0.5, 0.5); + v.x += 0.1; + + popDepth(); + }).$name('baseFn'); +}); + +const blendFn = tgpu.comptime(() => { + return tgpu.fn(() => { + 'use gpu'; + + const base = d.vec3f(0.2, 0.4, 0.8); + const target = colorAccessor.$; + const t = std.fract(timeAccessor.$); + const blended = std.mix(base, target, t); + const luma = std.dot(blended, d.vec3f(0.299, 0.587, 0.114)); + + popDepth(); + }).$name('blendFn'); +}); + +const thresholdFn = tgpu.comptime(() => { + return tgpu.fn(() => { + 'use gpu'; + + const tint = tintSlot.$; + const v = d.vec2f(tint.x, tint.y); + const len = std.length(v); + const edge = std.smoothstep(0.2, 0.8, len); + const result = d.vec3f(tint.x * edge, tint.y * edge, tint.z); + + popDepth(); + }).$name('thresholdFn'); +}); + +const waveFn = tgpu.comptime(() => { + return tgpu.fn(() => { + 'use gpu'; + + let v = d.vec2f(0.3, 0.7); + v = d.vec2f(std.sin(v.x * 3.14159), std.cos(v.y * 3.14159)); + const energy = v.x * v.x + v.y * v.y; + + for (const _i of tgpu.unroll(branchichUnrollArray)) { + // @ts-expect-error trust me + instructions[choice()]()(); + } + + popDepth(); + }).$name('waveFn'); +}); + +const accFn = tgpu.comptime(() => { + return tgpu.fn(() => { + 'use gpu'; + + const offset = dataLayout.$.offset; + const scale = dataLayout.$.scale; + let acc = d.vec2f(); + acc = d.vec2f(acc.x + offset.x * scale, acc.y + offset.y * scale); + + for (const _i of tgpu.unroll(branchichUnrollArray)) { + // @ts-expect-error trust me + instructions[choice()]()(); + } + + popDepth(); + }).$name('accFn'); +}); + +const rotateFn = tgpu.comptime(() => { + return tgpu.fn(() => { + 'use gpu'; + + const phase = phaseSlot.$; + const angle = phase.x + timeAccessor.$ * phase.y; + let v = d.vec2f(1, 0); + const c = Math.cos(angle); + const s = Math.sin(angle); + v = d.vec2f(v.x * c - v.y * s, v.x * s + v.y * c); + + for (const _i of tgpu.unroll(branchichUnrollArray)) { + // @ts-expect-error trust me + instructions[choice()]()(); + } + + popDepth(); + }).$name('rotateFn'); +}); + +const spiralFn = tgpu.comptime(() => { + return tgpu.fn(() => { + 'use gpu'; + + const t = timeAccessor.$; + const center = dataLayout.$.offset; + const radius = 0.5 * std.sin(t * 2.0); + const angle = t * 3.14159; + const pos = d.vec2f( + center.x + radius * Math.cos(angle), + center.y + radius * Math.sin(angle), + ); + const dist = std.length(pos); + + for (const _i of tgpu.unroll(branchichUnrollArray)) { + // @ts-expect-error trust me + instructions[choice()]()(); + } + + popDepth(); + }).$name('spiralFn'); +}); + +// leaves first, then recursive +instructions.push( + baseFn, + blendFn, + thresholdFn, + waveFn, + accFn, + rotateFn, + spiralFn, +); + +const main = () => { + 'use gpu'; + + for (const _i of tgpu.unroll(arrayForUnroll(config.mainBranching))) { + // @ts-expect-error trust me + instructions[choice()]()(); + } +}; + +type BenchmarkResult = { + maxDepth: number; + timeMs: number; + wgslLength: number; +}; + +function benchmarkResolve(): BenchmarkResult { + const start = performance.now(); + const wgsl = tgpu.resolve([main]); + const timeMs = performance.now() - start; + return { maxDepth: config.maxDepth, timeMs, wgslLength: wgsl.length }; +} + +const DEPTH_RANGE = [1, 2, 3, 4, 5, 6, 7]; +const outDir = resolve(import.meta.dirname ?? '.', '.'); + +test('resolution time vs maxDepth', () => { + // one resolve on default depth to minimize JIT warmup bias + const _ = benchmarkResolve(); + + const results: BenchmarkResult[] = []; + + for (const depth of DEPTH_RANGE) { + config.maxDepth = depth; + for (let i = 0; i < config.iterations; i++) { + rand = splitmix32(depth * 2 ** 32); + const result = benchmarkResolve(); + results.push(result); + console.log( + `iteration=${i} maxDepth=${depth} time=${ + result.timeMs.toFixed(2) + }ms wgsl=${result.wgslLength} chars`, + ); + } + } + + writeFileSync( + resolve(outDir, 'results.json'), + JSON.stringify(results, null, 2), + ); + console.log(`\nResults written to results.json`); +}); diff --git a/apps/resolution-time/results.json b/apps/resolution-time/results.json new file mode 100644 index 0000000000..f1d17719b5 --- /dev/null +++ b/apps/resolution-time/results.json @@ -0,0 +1,352 @@ +[ + { + "maxDepth": 1, + "timeMs": 0.839917000000014, + "wgslLength": 684 + }, + { + "maxDepth": 1, + "timeMs": 0.506832999999915, + "wgslLength": 684 + }, + { + "maxDepth": 1, + "timeMs": 0.42995799999994233, + "wgslLength": 684 + }, + { + "maxDepth": 1, + "timeMs": 0.39883399999996527, + "wgslLength": 684 + }, + { + "maxDepth": 1, + "timeMs": 0.33170800000004874, + "wgslLength": 684 + }, + { + "maxDepth": 1, + "timeMs": 0.3347079999999778, + "wgslLength": 684 + }, + { + "maxDepth": 1, + "timeMs": 0.32095800000001873, + "wgslLength": 684 + }, + { + "maxDepth": 1, + "timeMs": 0.3144170000000486, + "wgslLength": 684 + }, + { + "maxDepth": 1, + "timeMs": 0.3354580000000169, + "wgslLength": 684 + }, + { + "maxDepth": 1, + "timeMs": 0.2958340000000135, + "wgslLength": 684 + }, + { + "maxDepth": 2, + "timeMs": 1.359124999999949, + "wgslLength": 1838 + }, + { + "maxDepth": 2, + "timeMs": 0.8083750000000691, + "wgslLength": 1838 + }, + { + "maxDepth": 2, + "timeMs": 0.7196250000000646, + "wgslLength": 1838 + }, + { + "maxDepth": 2, + "timeMs": 0.7251669999999422, + "wgslLength": 1838 + }, + { + "maxDepth": 2, + "timeMs": 0.6620410000000447, + "wgslLength": 1838 + }, + { + "maxDepth": 2, + "timeMs": 0.5340830000000096, + "wgslLength": 1838 + }, + { + "maxDepth": 2, + "timeMs": 0.5739170000000513, + "wgslLength": 1838 + }, + { + "maxDepth": 2, + "timeMs": 0.6353340000000571, + "wgslLength": 1838 + }, + { + "maxDepth": 2, + "timeMs": 0.6276249999999663, + "wgslLength": 1838 + }, + { + "maxDepth": 2, + "timeMs": 0.5951670000000604, + "wgslLength": 1838 + }, + { + "maxDepth": 3, + "timeMs": 1.8169169999999895, + "wgslLength": 4290 + }, + { + "maxDepth": 3, + "timeMs": 1.3996669999999085, + "wgslLength": 4290 + }, + { + "maxDepth": 3, + "timeMs": 1.4750000000000227, + "wgslLength": 4290 + }, + { + "maxDepth": 3, + "timeMs": 1.4225410000000238, + "wgslLength": 4290 + }, + { + "maxDepth": 3, + "timeMs": 1.3452919999999722, + "wgslLength": 4290 + }, + { + "maxDepth": 3, + "timeMs": 1.2571249999999736, + "wgslLength": 4290 + }, + { + "maxDepth": 3, + "timeMs": 1.2472500000000082, + "wgslLength": 4290 + }, + { + "maxDepth": 3, + "timeMs": 1.7789999999999964, + "wgslLength": 4290 + }, + { + "maxDepth": 3, + "timeMs": 1.0292499999999336, + "wgslLength": 4290 + }, + { + "maxDepth": 3, + "timeMs": 0.8892499999999472, + "wgslLength": 4290 + }, + { + "maxDepth": 4, + "timeMs": 2.3198750000000246, + "wgslLength": 8607 + }, + { + "maxDepth": 4, + "timeMs": 2.2398749999999836, + "wgslLength": 8607 + }, + { + "maxDepth": 4, + "timeMs": 2.298708999999917, + "wgslLength": 8607 + }, + { + "maxDepth": 4, + "timeMs": 1.9982919999999922, + "wgslLength": 8607 + }, + { + "maxDepth": 4, + "timeMs": 1.868208999999979, + "wgslLength": 8607 + }, + { + "maxDepth": 4, + "timeMs": 3.7175829999999905, + "wgslLength": 8607 + }, + { + "maxDepth": 4, + "timeMs": 1.955959000000007, + "wgslLength": 8607 + }, + { + "maxDepth": 4, + "timeMs": 1.7312079999999241, + "wgslLength": 8607 + }, + { + "maxDepth": 4, + "timeMs": 1.8808749999999463, + "wgslLength": 8607 + }, + { + "maxDepth": 4, + "timeMs": 1.9858750000000782, + "wgslLength": 8607 + }, + { + "maxDepth": 5, + "timeMs": 3.7923749999999927, + "wgslLength": 16995 + }, + { + "maxDepth": 5, + "timeMs": 4.491250000000036, + "wgslLength": 16995 + }, + { + "maxDepth": 5, + "timeMs": 3.729708999999957, + "wgslLength": 16995 + }, + { + "maxDepth": 5, + "timeMs": 3.3888330000000906, + "wgslLength": 16995 + }, + { + "maxDepth": 5, + "timeMs": 3.5618749999999864, + "wgslLength": 16995 + }, + { + "maxDepth": 5, + "timeMs": 4.374125000000049, + "wgslLength": 16995 + }, + { + "maxDepth": 5, + "timeMs": 3.497500000000059, + "wgslLength": 16995 + }, + { + "maxDepth": 5, + "timeMs": 3.3729170000000295, + "wgslLength": 16995 + }, + { + "maxDepth": 5, + "timeMs": 4.283792000000062, + "wgslLength": 16995 + }, + { + "maxDepth": 5, + "timeMs": 3.4111669999999776, + "wgslLength": 16995 + }, + { + "maxDepth": 6, + "timeMs": 7.030166000000008, + "wgslLength": 33183 + }, + { + "maxDepth": 6, + "timeMs": 7.124333999999976, + "wgslLength": 33183 + }, + { + "maxDepth": 6, + "timeMs": 6.223416000000043, + "wgslLength": 33183 + }, + { + "maxDepth": 6, + "timeMs": 7.318957999999952, + "wgslLength": 33183 + }, + { + "maxDepth": 6, + "timeMs": 6.677583000000027, + "wgslLength": 33183 + }, + { + "maxDepth": 6, + "timeMs": 7.930333000000019, + "wgslLength": 33183 + }, + { + "maxDepth": 6, + "timeMs": 6.613749999999982, + "wgslLength": 33183 + }, + { + "maxDepth": 6, + "timeMs": 7.2466249999999945, + "wgslLength": 33183 + }, + { + "maxDepth": 6, + "timeMs": 6.580124999999953, + "wgslLength": 33183 + }, + { + "maxDepth": 6, + "timeMs": 6.854207999999971, + "wgslLength": 33183 + }, + { + "maxDepth": 7, + "timeMs": 13.88487500000008, + "wgslLength": 67524 + }, + { + "maxDepth": 7, + "timeMs": 14.481834000000049, + "wgslLength": 67524 + }, + { + "maxDepth": 7, + "timeMs": 17.535875000000033, + "wgslLength": 67524 + }, + { + "maxDepth": 7, + "timeMs": 13.93629199999998, + "wgslLength": 67524 + }, + { + "maxDepth": 7, + "timeMs": 18.075208999999973, + "wgslLength": 67524 + }, + { + "maxDepth": 7, + "timeMs": 14.299000000000092, + "wgslLength": 67524 + }, + { + "maxDepth": 7, + "timeMs": 14.290040999999974, + "wgslLength": 67524 + }, + { + "maxDepth": 7, + "timeMs": 13.945542000000046, + "wgslLength": 67524 + }, + { + "maxDepth": 7, + "timeMs": 14.76604199999997, + "wgslLength": 67524 + }, + { + "maxDepth": 7, + "timeMs": 13.165750000000003, + "wgslLength": 67524 + } +] \ No newline at end of file diff --git a/apps/resolution-time/tsconfig.json b/apps/resolution-time/tsconfig.json new file mode 100644 index 0000000000..14c6d63e39 --- /dev/null +++ b/apps/resolution-time/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["*.ts"], + "exclude": ["node_modules", "dist"], +} diff --git a/apps/resolution-time/vitest.config.mts b/apps/resolution-time/vitest.config.mts new file mode 100644 index 0000000000..d4cdb24bd0 --- /dev/null +++ b/apps/resolution-time/vitest.config.mts @@ -0,0 +1,16 @@ +import { createJiti } from 'jiti'; +import type TypeGPUPlugin from 'unplugin-typegpu/vite'; +import { defineConfig } from 'vitest/config'; + +const jiti = createJiti(import.meta.url); +const typegpu = await jiti.import( + 'unplugin-typegpu/vite', + { default: true }, +); + +export default defineConfig({ + plugins: [typegpu({})], + test: { + include: ['procedural.ts'], + }, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4187fe1043..857630faa9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -119,6 +119,21 @@ importers: specifier: ^3.1.0 version: 3.1.1 + apps/resolution-time: + dependencies: + jiti: + specifier: catalog:build + version: 2.6.1 + typegpu: + specifier: workspace:* + version: link:../../packages/typegpu + unplugin-typegpu: + specifier: workspace:* + version: link:../../packages/unplugin-typegpu + vitest: + specifier: catalog:test + version: 3.2.4(@types/debug@4.1.12)(@types/node@25.1.0)(@vitest/browser@3.2.4)(jiti@2.6.1)(jsdom@27.0.0(canvas@3.2.0)(postcss@8.5.6))(lightningcss@1.30.2)(msw@2.10.2(@types/node@25.1.0)(typescript@5.9.3))(terser@5.44.1)(tsx@4.20.6)(yaml@2.8.1) + apps/treeshake-test: dependencies: typegpu: From 79f878722b162002fc73ca0db3b26af2b90368b3 Mon Sep 17 00:00:00 2001 From: Szymon Szulc Date: Sun, 1 Mar 2026 23:41:39 +0100 Subject: [PATCH 02/14] readme by claude --- apps/resolution-time/README.md | 64 ++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 apps/resolution-time/README.md diff --git a/apps/resolution-time/README.md b/apps/resolution-time/README.md new file mode 100644 index 0000000000..7016ccdef9 --- /dev/null +++ b/apps/resolution-time/README.md @@ -0,0 +1,64 @@ +# Resolution Time App + +Procedural TypeGPU function generator for benchmarking WGSL resolution time. + +## Instruction feature coverage + +| Function | Leaf/Recursive | Buffers | Accessors | Slots | std functions | +|---|---|---|---|---|---| +| baseFn | leaf | | | | | +| waveFn | recursive | | | | | +| blendFn | leaf | | `timeAccessor`, `colorAccessor` | | `fract`, `mix`, `dot` | +| accFn | recursive | `dataLayout` (offset, scale) | | | | +| rotateFn | recursive | | `timeAccessor` | `phaseSlot` (vec2f) | | +| thresholdFn | leaf | | | `tintSlot` (vec3f) | `length`, `smoothstep` | +| spiralFn | recursive | `dataLayout` (offset) | `timeAccessor` | | `length` | + +## Adding a new instruction + +Each instruction is a `tgpu.comptime` that returns a `tgpu.fn(() => void)`. There are two kinds: **leaf** (no recursion) and **recursive** (branches into other instructions). + +### Leaf instruction + +```ts +const myLeafFn = tgpu.comptime(() => { + return tgpu.fn(() => { + 'use gpu'; + // ... your GPU logic ... + popDepth(); // REQUIRED — always call at the end + }).$name('myLeafFn'); +}); +``` + +### Recursive instruction + +Use `tgpu.unroll` over `arrayForUnroll(BRANCHING)` and call `instructions[choice()]()()` to branch into other instructions. The `choice()` comptime function handles depth tracking and picks a leaf when at max depth. + +```ts +const myRecursiveFn = tgpu.comptime(() => { + return tgpu.fn(() => { + 'use gpu'; + // ... your GPU logic ... + for (const _i of tgpu.unroll(arrayForUnroll(BRANCHING))) { + // @ts-expect-error trust me + instructions[choice()]()(); + } + popDepth(); // REQUIRED — always call at the end, after the unroll + }).$name('myRecursiveFn'); +}); +``` + +### Registering + +Add your function to the `instructions.push(...)` call. **Leaves must come first**, followed by recursive functions. Update `LEAF_COUNT` if you add a new leaf. + +```ts +const LEAF_COUNT = 4; // bump this when adding a leaf +instructions.push(baseFn, blendFn, thresholdFn, myLeafFn, waveFn, accFn, rotateFn, spiralFn); +``` + +### Rules + +- Every instruction **must** call `popDepth()` exactly once, as the last statement +- No direct function calls inside instructions — branching happens only via the `tgpu.unroll` + `choice()` pattern +- Recursive instructions call `popDepth()` **after** the unroll loop, not inside it From b54202793d188c66feb64aa8566895486a3a48af Mon Sep 17 00:00:00 2001 From: Szymon Szulc Date: Tue, 3 Mar 2026 13:49:19 +0100 Subject: [PATCH 03/14] refactor --- apps/resolution-time/README.md | 31 +- apps/resolution-time/linear-recursion.png | Bin 0 -> 121305 bytes apps/resolution-time/max-depth.png | Bin 0 -> 109635 bytes apps/resolution-time/plot.png | Bin 141617 -> 0 bytes apps/resolution-time/plot.py | 21 +- apps/resolution-time/procedural.ts | 345 ++++++++------- .../results-linear-recursion.json | 402 ++++++++++++++++++ apps/resolution-time/results-max-depth.json | 402 ++++++++++++++++++ apps/resolution-time/results.json | 352 --------------- 9 files changed, 1020 insertions(+), 533 deletions(-) create mode 100644 apps/resolution-time/linear-recursion.png create mode 100644 apps/resolution-time/max-depth.png delete mode 100644 apps/resolution-time/plot.png create mode 100644 apps/resolution-time/results-linear-recursion.json create mode 100644 apps/resolution-time/results-max-depth.json delete mode 100644 apps/resolution-time/results.json diff --git a/apps/resolution-time/README.md b/apps/resolution-time/README.md index 7016ccdef9..8a86034a40 100644 --- a/apps/resolution-time/README.md +++ b/apps/resolution-time/README.md @@ -1,22 +1,8 @@ -# Resolution Time App - -Procedural TypeGPU function generator for benchmarking WGSL resolution time. - -## Instruction feature coverage - -| Function | Leaf/Recursive | Buffers | Accessors | Slots | std functions | -|---|---|---|---|---|---| -| baseFn | leaf | | | | | -| waveFn | recursive | | | | | -| blendFn | leaf | | `timeAccessor`, `colorAccessor` | | `fract`, `mix`, `dot` | -| accFn | recursive | `dataLayout` (offset, scale) | | | | -| rotateFn | recursive | | `timeAccessor` | `phaseSlot` (vec2f) | | -| thresholdFn | leaf | | | `tintSlot` (vec3f) | `length`, `smoothstep` | -| spiralFn | recursive | `dataLayout` (offset) | `timeAccessor` | | `length` | +# Procedural TypeGPU function generator for benchmarking WGSL resolution time ## Adding a new instruction -Each instruction is a `tgpu.comptime` that returns a `tgpu.fn(() => void)`. There are two kinds: **leaf** (no recursion) and **recursive** (branches into other instructions). +Each instruction is a `tgpu.comptime` that returns a `tgpu.fn(() => void)`. There are two kinds: **leaf** (no function calls) and **recursive** (branches into other instructions). ### Leaf instruction @@ -24,7 +10,7 @@ Each instruction is a `tgpu.comptime` that returns a `tgpu.fn(() => void)`. Ther const myLeafFn = tgpu.comptime(() => { return tgpu.fn(() => { 'use gpu'; - // ... your GPU logic ... + // ... popDepth(); // REQUIRED — always call at the end }).$name('myLeafFn'); }); @@ -32,15 +18,14 @@ const myLeafFn = tgpu.comptime(() => { ### Recursive instruction -Use `tgpu.unroll` over `arrayForUnroll(BRANCHING)` and call `instructions[choice()]()()` to branch into other instructions. The `choice()` comptime function handles depth tracking and picks a leaf when at max depth. +Use `tgpu.unroll` over `arrayForUnroll(BRANCHING)` and call `instructions[choice()]()()` to branch into other instructions. The `choice()` function handles depth tracking and picks a leaf when at max depth. ```ts const myRecursiveFn = tgpu.comptime(() => { return tgpu.fn(() => { 'use gpu'; - // ... your GPU logic ... + // ... for (const _i of tgpu.unroll(arrayForUnroll(BRANCHING))) { - // @ts-expect-error trust me instructions[choice()]()(); } popDepth(); // REQUIRED — always call at the end, after the unroll @@ -52,13 +37,7 @@ const myRecursiveFn = tgpu.comptime(() => { Add your function to the `instructions.push(...)` call. **Leaves must come first**, followed by recursive functions. Update `LEAF_COUNT` if you add a new leaf. -```ts -const LEAF_COUNT = 4; // bump this when adding a leaf -instructions.push(baseFn, blendFn, thresholdFn, myLeafFn, waveFn, accFn, rotateFn, spiralFn); -``` - ### Rules - Every instruction **must** call `popDepth()` exactly once, as the last statement - No direct function calls inside instructions — branching happens only via the `tgpu.unroll` + `choice()` pattern -- Recursive instructions call `popDepth()` **after** the unroll loop, not inside it diff --git a/apps/resolution-time/linear-recursion.png b/apps/resolution-time/linear-recursion.png new file mode 100644 index 0000000000000000000000000000000000000000..6ce3e14181ee8c84bb82b91c4bd968dbaa445595 GIT binary patch literal 121305 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 literal 0 HcmV?d00001 diff --git a/apps/resolution-time/max-depth.png b/apps/resolution-time/max-depth.png new file mode 100644 index 0000000000000000000000000000000000000000..2e9c03f1b46e5a8889065fdeb269e9102d8c0e8b GIT binary patch literal 109635 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 z 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 literal 0 HcmV?d00001 diff --git a/apps/resolution-time/plot.png b/apps/resolution-time/plot.png deleted file mode 100644 index 5c7c2b906a8ab7f92ce265858d129a2073101d3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141617 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± 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