]> zoso.dev Git - nano-pow.git/log
nano-pow.git
2 months agoReorder third and fourth G round computation. Compiles and validates.
Chris Duncan [Tue, 4 Feb 2025 19:30:44 +0000 (11:30 -0800)]
Reorder third and fourth G round computation. Compiles and validates.

2 months agoReorder second G round computation. Compiles and validates.
Chris Duncan [Tue, 4 Feb 2025 17:53:49 +0000 (09:53 -0800)]
Reorder second G round computation. Compiles and validates.

2 months agoReorder G round computation to try allowing compiler to improve instruction schedulin...
Chris Duncan [Tue, 4 Feb 2025 13:57:56 +0000 (05:57 -0800)]
Reorder G round computation to try allowing compiler to improve instruction scheduling and reduce assignment statements. Compiles and validates.

2 months agoDeprecate unused zero vec4. Rename zero vec2 for brevity.
Chris Duncan [Tue, 4 Feb 2025 13:44:31 +0000 (05:44 -0800)]
Deprecate unused zero vec4. Rename zero vec2 for brevity.

2 months agoDeprecate x and y temp vars for final two rounds.
Chris Duncan [Tue, 4 Feb 2025 13:38:14 +0000 (05:38 -0800)]
Deprecate x and y temp vars for final two rounds.

2 months agoDeprecate x and y temp vars for ninth and tenth round.
Chris Duncan [Tue, 4 Feb 2025 13:34:27 +0000 (05:34 -0800)]
Deprecate x and y temp vars for ninth and tenth round.

2 months agoDeprecate x and y temp vars for sixth through eighth round.
Chris Duncan [Tue, 4 Feb 2025 03:54:31 +0000 (19:54 -0800)]
Deprecate x and y temp vars for sixth through eighth round.

2 months agoDeprecate x and y temp vars for fifth round.
Chris Duncan [Tue, 4 Feb 2025 03:02:11 +0000 (19:02 -0800)]
Deprecate x and y temp vars for fifth round.

2 months agoDeprecate x and y temp vars for fourth round.
Chris Duncan [Tue, 4 Feb 2025 02:55:20 +0000 (18:55 -0800)]
Deprecate x and y temp vars for fourth round.

2 months agoUpdate comments.
Chris Duncan [Tue, 4 Feb 2025 00:35:59 +0000 (16:35 -0800)]
Update comments.

2 months agoDeprecate x and y temp vars for third round.
Chris Duncan [Tue, 4 Feb 2025 00:33:03 +0000 (16:33 -0800)]
Deprecate x and y temp vars for third round.

2 months agoFill in comment headings with m[sigma] notes.
Chris Duncan [Tue, 4 Feb 2025 00:26:31 +0000 (16:26 -0800)]
Fill in comment headings with m[sigma] notes.

2 months agoDeprecate x and y temp vars for first two rounds.
Chris Duncan [Mon, 3 Feb 2025 23:36:40 +0000 (15:36 -0800)]
Deprecate x and y temp vars for first two rounds.

2 months agoCompress v naming convention using hex convention.
Chris Duncan [Mon, 3 Feb 2025 23:19:56 +0000 (15:19 -0800)]
Compress v naming convention using hex convention.

2 months agoConvert eight sequential rounds of vec2 G mixing into parallelized four rounds of...
Chris Duncan [Mon, 3 Feb 2025 23:15:59 +0000 (15:15 -0800)]
Convert eight sequential rounds of vec2 G mixing into parallelized four rounds of vec4 G. Read threshold direct from uniform to save a redundant assignment. Fix test page validation executing on every single input event. Delete benchmark file since it is completely outdated. Delete bundle to be reuploaded after tweaking new build. Update comment documentation.

2 months agoCopy benchmark.
Chris Duncan [Mon, 3 Feb 2025 05:24:44 +0000 (21:24 -0800)]
Copy benchmark.

2 months agoCopy benchmark.
Chris Duncan [Mon, 3 Feb 2025 05:20:00 +0000 (21:20 -0800)]
Copy benchmark.

2 months agoCopy benchmark.
Chris Duncan [Mon, 3 Feb 2025 05:16:04 +0000 (21:16 -0800)]
Copy benchmark.

2 months agoCopy benchmark.
Chris Duncan [Mon, 3 Feb 2025 05:11:18 +0000 (21:11 -0800)]
Copy benchmark.

2 months agoCopy benchmark.
Chris Duncan [Mon, 3 Feb 2025 05:06:28 +0000 (21:06 -0800)]
Copy benchmark.

2 months agoCopy benchmark.
Chris Duncan [Mon, 3 Feb 2025 05:00:14 +0000 (21:00 -0800)]
Copy benchmark.

2 months agoCopy benchmark from compress-inline.
Chris Duncan [Mon, 3 Feb 2025 04:55:09 +0000 (20:55 -0800)]
Copy benchmark from compress-inline.

2 months agoBenchmark.
Chris Duncan [Mon, 3 Feb 2025 04:50:54 +0000 (20:50 -0800)]
Benchmark.

2 months agoBenchmark.
Chris Duncan [Mon, 3 Feb 2025 03:48:40 +0000 (19:48 -0800)]
Benchmark.

2 months agoBenchmark.
Chris Duncan [Sat, 1 Feb 2025 22:37:33 +0000 (14:37 -0800)]
Benchmark.

2 months agoBenchmarks.
Chris Duncan [Fri, 31 Jan 2025 18:50:54 +0000 (10:50 -0800)]
Benchmarks.

2 months agoBenchmarks, now with a date.
Chris Duncan [Thu, 30 Jan 2025 18:03:32 +0000 (10:03 -0800)]
Benchmarks, now with a date.

2 months agoNotate benchmark.
Chris Duncan [Sat, 1 Feb 2025 21:40:59 +0000 (13:40 -0800)]
Notate benchmark.

2 months agoBenchmarks without early return.
Chris Duncan [Sat, 1 Feb 2025 21:29:09 +0000 (13:29 -0800)]
Benchmarks without early return.

2 months agoLog median values. Benchmark. Upload bundle for mobile testing.
Chris Duncan [Wed, 29 Jan 2025 22:44:25 +0000 (14:44 -0800)]
Log median values. Benchmark. Upload bundle for mobile testing.

2 months agoZero-threshold benchmarks
Chris Duncan [Tue, 28 Jan 2025 00:23:47 +0000 (16:23 -0800)]
Zero-threshold benchmarks

2 months agoOverhaul NanoPowGl to use vector operations which greatly simplifies the Blake2b...
Chris Duncan [Sun, 26 Jan 2025 08:20:52 +0000 (00:20 -0800)]
Overhaul NanoPowGl to use vector operations which greatly simplifies the Blake2b algorithm. Simplify nonce generation and work output by taking advantage of WebGL2 32-bit vector RGBA pixel type options. Fix validation in NanoPowGl by restricting result to passed nonce. Clean up unused variables. Minor test page fixes.

3 months agoEliminate temporary variables from G.
Chris Duncan [Sat, 25 Jan 2025 08:03:19 +0000 (00:03 -0800)]
Eliminate temporary variables from G.

3 months agoCheck found flag only once per workgroup to avoid numerous competing atomic loads.
Chris Duncan [Sat, 25 Jan 2025 07:30:23 +0000 (23:30 -0800)]
Check found flag only once per workgroup to avoid numerous competing atomic loads.

3 months agoRevert to single dimensional workgroup size since that apparently does in fact matter...
Chris Duncan [Sat, 25 Jan 2025 07:29:26 +0000 (23:29 -0800)]
Revert to single dimensional workgroup size since that apparently does in fact matter in regards to wavefronts and not just number of threads per workgroup.

3 months agoRemove useless found flag check from validate since it is only ever invoked once.
Chris Duncan [Sat, 25 Jan 2025 07:15:48 +0000 (23:15 -0800)]
Remove useless found flag check from validate since it is only ever invoked once.

3 months agoEliminate an atomic operation by performing an exchange if threshold passed.
Chris Duncan [Sat, 25 Jan 2025 07:15:11 +0000 (23:15 -0800)]
Eliminate an atomic operation by performing an exchange if threshold passed.

3 months agoRemove redundant swizzles. Refactor 32-bit rotation to remove a swizzle operation.
Chris Duncan [Sat, 25 Jan 2025 07:13:44 +0000 (23:13 -0800)]
Remove redundant swizzles. Refactor 32-bit rotation to remove a swizzle operation.

3 months agoValidate work on test page with pizzazz.
Chris Duncan [Sat, 25 Jan 2025 07:12:43 +0000 (23:12 -0800)]
Validate work on test page with pizzazz.

3 months agoValidate input prior to setting busy flag to avoid perpetual busy status.
Chris Duncan [Sat, 25 Jan 2025 07:11:43 +0000 (23:11 -0800)]
Validate input prior to setting busy flag to avoid perpetual busy status.

3 months agoAdjust truncated average calculation. Initialize benchmark min to max integer.
Chris Duncan [Thu, 23 Jan 2025 13:45:56 +0000 (05:45 -0800)]
Adjust truncated average calculation. Initialize benchmark min to max integer.

3 months agoFix truncated benchmark calculation.
Chris Duncan [Tue, 21 Jan 2025 22:40:15 +0000 (14:40 -0800)]
Fix truncated benchmark calculation.

3 months agoUpdate README with new options object. Add example of async module loading in HTML...
Chris Duncan [Tue, 21 Jan 2025 18:14:49 +0000 (10:14 -0800)]
Update README with new options object. Add example of async module loading in HTML. Reword global namespace pollution option to discourage it as a practice. Add sections for acknowledgements and licenses. Whitespace.

3 months agoInitialize digest constant as vec2 and initialize v0 from it. Update doc comments.
Chris Duncan [Tue, 21 Jan 2025 17:26:35 +0000 (09:26 -0800)]
Initialize digest constant as vec2 and initialize v0 from it. Update doc comments.

3 months agoSet default test run to 1.
Chris Duncan [Tue, 21 Jan 2025 17:08:42 +0000 (09:08 -0800)]
Set default test run to 1.

3 months agoReduce loop iteration by reading 64 bits at a time into UBO.
Chris Duncan [Tue, 21 Jan 2025 17:08:11 +0000 (09:08 -0800)]
Reduce loop iteration by reading 64 bits at a time into UBO.

3 months agoRelease version. v2.0.0
Chris Duncan [Mon, 20 Jan 2025 22:26:51 +0000 (14:26 -0800)]
Release version.

3 months agoShow API type in test page summary output.
Chris Duncan [Mon, 20 Jan 2025 22:26:04 +0000 (14:26 -0800)]
Show API type in test page summary output.

3 months agoRemove nano-webgl-pow package since it is no longer used anywhere. Add copyright...
Chris Duncan [Mon, 20 Jan 2025 22:18:42 +0000 (14:18 -0800)]
Remove nano-webgl-pow package since it is no longer used anywhere. Add copyright notice to type definition file.

3 months agoAdd type description to NanoPowGl.
Chris Duncan [Mon, 20 Jan 2025 22:03:22 +0000 (14:03 -0800)]
Add type description to NanoPowGl.

3 months agoFix truncated time calculation. Remove repo minified main link.
Chris Duncan [Mon, 20 Jan 2025 21:35:44 +0000 (13:35 -0800)]
Fix truncated time calculation. Remove repo minified main link.

3 months agoAdd custom threshold to test page.
Chris Duncan [Mon, 20 Jan 2025 18:51:23 +0000 (10:51 -0800)]
Add custom threshold to test page.

3 months agoRemove testing logs.
Chris Duncan [Mon, 20 Jan 2025 18:50:41 +0000 (10:50 -0800)]
Remove testing logs.

3 months agoLog iPhone benchmark.
Chris Duncan [Mon, 20 Jan 2025 07:28:12 +0000 (23:28 -0800)]
Log iPhone benchmark.

3 months agoSimplify m initialization with swizzles, and switch them from var to let to enforce...
Chris Duncan [Mon, 20 Jan 2025 07:24:36 +0000 (23:24 -0800)]
Simplify m initialization with swizzles, and switch them from var to let to enforce immutability.

3 months agoLog a longer benchmark.
Chris Duncan [Mon, 20 Jan 2025 07:03:00 +0000 (23:03 -0800)]
Log a longer benchmark.

3 months agoLog mapAsync times and remove validation for more accurate comparison testing.
Chris Duncan [Mon, 20 Jan 2025 06:41:23 +0000 (22:41 -0800)]
Log mapAsync times and remove validation for more accurate comparison testing.

3 months agoZero-threshold benchmarks.
Chris Duncan [Mon, 20 Jan 2025 06:11:20 +0000 (22:11 -0800)]
Zero-threshold benchmarks.

3 months agoEliminate redundant console print function. Pass threshold of zero for test compariso...
Chris Duncan [Mon, 20 Jan 2025 06:07:36 +0000 (22:07 -0800)]
Eliminate redundant console print function. Pass threshold of zero for test comparison purposes.

3 months agoRevert m[sigma] inlining due to complexity.
Chris Duncan [Sun, 19 Jan 2025 23:54:53 +0000 (15:54 -0800)]
Revert m[sigma] inlining due to complexity.

3 months agoUpdate import to repo URL.
Chris Duncan [Sat, 18 Jan 2025 23:12:25 +0000 (15:12 -0800)]
Update import to repo URL.

3 months agoUpload bundle and add URL to test page for mobile testing purposes.
Chris Duncan [Sat, 18 Jan 2025 23:06:27 +0000 (15:06 -0800)]
Upload bundle and add URL to test page for mobile testing purposes.

3 months agoUpdate typings.
Chris Duncan [Sat, 18 Jan 2025 23:06:21 +0000 (15:06 -0800)]
Update typings.

3 months agoSuper benchmarks.
Chris Duncan [Sat, 18 Jan 2025 06:58:58 +0000 (22:58 -0800)]
Super benchmarks.

3 months agoRemove comments about skipping and summarize their previous existence in the larger...
Chris Duncan [Sat, 18 Jan 2025 05:43:00 +0000 (21:43 -0800)]
Remove comments about skipping and summarize their previous existence in the larger algorithm documentation.

3 months agoInline remaining m[sigma] additions.
Chris Duncan [Sat, 18 Jan 2025 02:54:04 +0000 (18:54 -0800)]
Inline remaining m[sigma] additions.

3 months agoStart inlining m[sigma] addition.
Chris Duncan [Sat, 18 Jan 2025 00:44:16 +0000 (16:44 -0800)]
Start inlining m[sigma] addition.

3 months agoIncrease effort range in test page. Benchmarks.
Chris Duncan [Fri, 17 Jan 2025 22:15:22 +0000 (14:15 -0800)]
Increase effort range in test page. Benchmarks.

3 months agoIncrease allowed effort.
Chris Duncan [Fri, 17 Jan 2025 22:05:22 +0000 (14:05 -0800)]
Increase allowed effort.

3 months agoAdjust test form element names and extract function so other event listeners can...
Chris Duncan [Fri, 17 Jan 2025 21:03:25 +0000 (13:03 -0800)]
Adjust test form element names and extract function so other event listeners can use them possibly.

3 months agoLog effort in test summary.
Chris Duncan [Fri, 17 Jan 2025 21:01:31 +0000 (13:01 -0800)]
Log effort in test summary.

3 months agoTweak test summary output.
Chris Duncan [Fri, 17 Jan 2025 20:00:02 +0000 (12:00 -0800)]
Tweak test summary output.

3 months agoAdjust how effort is set. Log search parameters when debugging.
Chris Duncan [Fri, 17 Jan 2025 19:12:26 +0000 (11:12 -0800)]
Adjust how effort is set. Log search parameters when debugging.

3 months agoFix numbers being passed as strings and doing nothing.
Chris Duncan [Fri, 17 Jan 2025 18:57:33 +0000 (10:57 -0800)]
Fix numbers being passed as strings and doing nothing.

3 months agoAvoid main function call entirely if work was already found.
Chris Duncan [Fri, 17 Jan 2025 18:47:09 +0000 (10:47 -0800)]
Avoid main function call entirely if work was already found.

3 months agoImplement busy status for gl. Wrap init in try block. Implement reset and average...
Chris Duncan [Fri, 17 Jan 2025 18:40:12 +0000 (10:40 -0800)]
Implement busy status for gl. Wrap init in try block. Implement reset and average logging methods. Refactor checkqueryresult promises. Reset canvas size if user has changed effort. Add debug logging.

3 months agoCatch if nav.gpu does not exist. Make private method private. Fix rate reporting.
Chris Duncan [Fri, 17 Jan 2025 18:38:33 +0000 (10:38 -0800)]
Catch if nav.gpu does not exist. Make private method private. Fix rate reporting.

3 months agoTry to load gpu first.
Chris Duncan [Fri, 17 Jan 2025 18:37:44 +0000 (10:37 -0800)]
Try to load gpu first.

3 months agoTweak status outputs when testing.
Chris Duncan [Fri, 17 Jan 2025 18:37:28 +0000 (10:37 -0800)]
Tweak status outputs when testing.

3 months agoFix bug with rate calculation on test page.
Chris Duncan [Fri, 17 Jan 2025 16:17:13 +0000 (08:17 -0800)]
Fix bug with rate calculation on test page.

3 months agoAdd long benchmark at optimal dispatch size.
Chris Duncan [Thu, 16 Jan 2025 22:39:01 +0000 (14:39 -0800)]
Add long benchmark at optimal dispatch size.

3 months agoPick out test page changes from other branch.
Chris Duncan [Thu, 16 Jan 2025 22:17:21 +0000 (14:17 -0800)]
Pick out test page changes from other branch.

3 months agoValidate test run after computing work instead of during timer.
Chris Duncan [Thu, 16 Jan 2025 19:14:16 +0000 (11:14 -0800)]
Validate test run after computing work instead of during timer.

3 months agoUpdate dispatch size defaults to reflect the fact that 0x800 was fastest and so Effor...
Chris Duncan [Thu, 16 Jan 2025 19:03:05 +0000 (11:03 -0800)]
Update dispatch size defaults to reflect the fact that 0x800 was fastest and so Effort of 8 is middle of the road and a good starting point for benchmarking.

3 months agoLog more benchmarks, and note that dispatch 0x800 and workgroup 8,8 was the best...
Chris Duncan [Thu, 16 Jan 2025 18:59:32 +0000 (10:59 -0800)]
Log more benchmarks, and note that dispatch 0x800 and workgroup 8,8 was the best combination.

3 months agoSome benchmarks with updated shader.
Chris Duncan [Thu, 16 Jan 2025 17:15:02 +0000 (09:15 -0800)]
Some benchmarks with updated shader.

3 months agoGrammar and math.
Chris Duncan [Thu, 16 Jan 2025 17:14:50 +0000 (09:14 -0800)]
Grammar and math.

3 months agoStart taking new benchmarks with updated shader.
Chris Duncan [Thu, 16 Jan 2025 16:26:35 +0000 (08:26 -0800)]
Start taking new benchmarks with updated shader.

3 months agoAdjust debug table output. Increase base dispatch size.
Chris Duncan [Thu, 16 Jan 2025 16:26:10 +0000 (08:26 -0800)]
Adjust debug table output. Increase base dispatch size.

3 months agoPrune steps from final round that do not affect final outcome.
Chris Duncan [Thu, 16 Jan 2025 15:30:04 +0000 (07:30 -0800)]
Prune steps from final round that do not affect final outcome.

3 months agoSome final steps are unnecessary since we only use v0 and v8 in the threshold compari...
Chris Duncan [Thu, 16 Jan 2025 15:21:38 +0000 (07:21 -0800)]
Some final steps are unnecessary since we only use v0 and v8 in the threshold comparison, and any steps uninvolved with their final values can be discarded.

3 months agoWrite better documentation of G mixing algorithm and remove step-by-step comments...
Chris Duncan [Thu, 16 Jan 2025 15:03:32 +0000 (07:03 -0800)]
Write better documentation of G mixing algorithm and remove step-by-step comments to improve legibility and reduce scrolling.

3 months agoAdjust documentation now that components have been vectorized.
Chris Duncan [Thu, 16 Jan 2025 14:32:24 +0000 (06:32 -0800)]
Adjust documentation now that components have been vectorized.

3 months agoRevert special nonce naming to maintain consistency with reference implementation.
Chris Duncan [Thu, 16 Jan 2025 14:28:30 +0000 (06:28 -0800)]
Revert special nonce naming to maintain consistency with reference implementation.

3 months agoInline XOR part of bit rotation step so that an assignment is eliminated.
Chris Duncan [Thu, 16 Jan 2025 14:22:42 +0000 (06:22 -0800)]
Inline XOR part of bit rotation step so that an assignment is eliminated.

3 months agoReplace constructors of vector constants with actual constants.
Chris Duncan [Thu, 16 Jan 2025 13:54:44 +0000 (05:54 -0800)]
Replace constructors of vector constants with actual constants.

3 months agoReplace 32-bit rotations using two assignments with one assignment.
Chris Duncan [Thu, 16 Jan 2025 13:42:28 +0000 (05:42 -0800)]
Replace 32-bit rotations using two assignments with one assignment.

3 months agoReplace 16 and 63 bit rotations with swizzle version.
Chris Duncan [Thu, 16 Jan 2025 13:31:17 +0000 (05:31 -0800)]
Replace 16 and 63 bit rotations with swizzle version.

3 months agoReplace all 24-bit rotations with swizzle version.
Chris Duncan [Thu, 16 Jan 2025 13:30:01 +0000 (05:30 -0800)]
Replace all 24-bit rotations with swizzle version.

3 months agoReplace all 32-bit rotations with swizzle. Start working on other rotations.
Chris Duncan [Thu, 16 Jan 2025 13:28:54 +0000 (05:28 -0800)]
Replace all 32-bit rotations with swizzle. Start working on other rotations.