]>
zoso.dev Git - nano-pow.git/log
Chris Duncan [Sat, 18 Jan 2025 06:58:58 +0000 (22:58 -0800)]
Super benchmarks.
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.
Chris Duncan [Sat, 18 Jan 2025 02:54:04 +0000 (18:54 -0800)]
Inline remaining m[sigma] additions.
Chris Duncan [Sat, 18 Jan 2025 00:44:16 +0000 (16:44 -0800)]
Start inlining m[sigma] addition.
Chris Duncan [Fri, 17 Jan 2025 22:15:22 +0000 (14:15 -0800)]
Increase effort range in test page. Benchmarks.
Chris Duncan [Fri, 17 Jan 2025 22:05:22 +0000 (14:05 -0800)]
Increase allowed effort.
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.
Chris Duncan [Fri, 17 Jan 2025 21:01:31 +0000 (13:01 -0800)]
Log effort in test summary.
Chris Duncan [Fri, 17 Jan 2025 20:00:02 +0000 (12:00 -0800)]
Tweak test summary output.
Chris Duncan [Fri, 17 Jan 2025 19:12:26 +0000 (11:12 -0800)]
Adjust how effort is set. Log search parameters when debugging.
Chris Duncan [Fri, 17 Jan 2025 18:57:33 +0000 (10:57 -0800)]
Fix numbers being passed as strings and doing nothing.
Chris Duncan [Fri, 17 Jan 2025 18:47:09 +0000 (10:47 -0800)]
Avoid main function call entirely if work was already found.
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.
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.
Chris Duncan [Fri, 17 Jan 2025 18:37:44 +0000 (10:37 -0800)]
Try to load gpu first.
Chris Duncan [Fri, 17 Jan 2025 18:37:28 +0000 (10:37 -0800)]
Tweak status outputs when testing.
Chris Duncan [Fri, 17 Jan 2025 16:17:13 +0000 (08:17 -0800)]
Fix bug with rate calculation on test page.
Chris Duncan [Thu, 16 Jan 2025 22:39:01 +0000 (14:39 -0800)]
Add long benchmark at optimal dispatch size.
Chris Duncan [Thu, 16 Jan 2025 22:17:21 +0000 (14:17 -0800)]
Pick out test page changes from other branch.
Chris Duncan [Thu, 16 Jan 2025 19:14:16 +0000 (11:14 -0800)]
Validate test run after computing work instead of during timer.
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.
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.
Chris Duncan [Thu, 16 Jan 2025 17:15:02 +0000 (09:15 -0800)]
Some benchmarks with updated shader.
Chris Duncan [Thu, 16 Jan 2025 17:14:50 +0000 (09:14 -0800)]
Grammar and math.
Chris Duncan [Thu, 16 Jan 2025 16:26:35 +0000 (08:26 -0800)]
Start taking new benchmarks with updated shader.
Chris Duncan [Thu, 16 Jan 2025 16:26:10 +0000 (08:26 -0800)]
Adjust debug table output. Increase base dispatch size.
Chris Duncan [Thu, 16 Jan 2025 15:30:04 +0000 (07:30 -0800)]
Prune steps from final round that do not affect final outcome.
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.
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.
Chris Duncan [Thu, 16 Jan 2025 14:32:24 +0000 (06:32 -0800)]
Adjust documentation now that components have been vectorized.
Chris Duncan [Thu, 16 Jan 2025 14:28:30 +0000 (06:28 -0800)]
Revert special nonce naming to maintain consistency with reference implementation.
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.
Chris Duncan [Thu, 16 Jan 2025 13:54:44 +0000 (05:54 -0800)]
Replace constructors of vector constants with actual constants.
Chris Duncan [Thu, 16 Jan 2025 13:42:28 +0000 (05:42 -0800)]
Replace 32-bit rotations using two assignments with one assignment.
Chris Duncan [Thu, 16 Jan 2025 13:31:17 +0000 (05:31 -0800)]
Replace 16 and 63 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.
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.
Chris Duncan [Thu, 16 Jan 2025 05:56:52 +0000 (21:56 -0800)]
Try switching swizzles.
Chris Duncan [Thu, 16 Jan 2025 05:20:24 +0000 (21:20 -0800)]
Swizzle on other bit shift not working but leaving here commented to work on later.
Chris Duncan [Thu, 16 Jan 2025 05:11:06 +0000 (21:11 -0800)]
This is just one example of reversing bits with a swizzle instead of using a constructor.
Chris Duncan [Thu, 16 Jan 2025 05:02:19 +0000 (21:02 -0800)]
Fix rate reporting. Add benchmarks.
Chris Duncan [Thu, 16 Jan 2025 04:57:36 +0000 (20:57 -0800)]
Replace selects with simple carry arithmetic since select is still technically a branch.
Chris Duncan [Thu, 16 Jan 2025 03:30:15 +0000 (19:30 -0800)]
Convert blockhash u32 scalars to vec2 vectors.
Chris Duncan [Thu, 16 Jan 2025 03:18:55 +0000 (19:18 -0800)]
Remove false positive from benchmarks since it is now in test page.
Chris Duncan [Thu, 16 Jan 2025 03:18:13 +0000 (19:18 -0800)]
Add edge cases to validate check on testing web page. Add manual validation form.
Chris Duncan [Thu, 16 Jan 2025 03:14:48 +0000 (19:14 -0800)]
Split main into separate entry points to fix false positives from validate.
Chris Duncan [Thu, 16 Jan 2025 03:13:09 +0000 (19:13 -0800)]
Fix validation in gl implementation which could return false positives.
Chris Duncan [Wed, 15 Jan 2025 22:41:12 +0000 (14:41 -0800)]
Add data to error message.
Chris Duncan [Wed, 15 Jan 2025 22:12:36 +0000 (14:12 -0800)]
Save another couple benchmarks but also note an issue with validate.
Chris Duncan [Wed, 15 Jan 2025 21:17:30 +0000 (13:17 -0800)]
Fix bug with GL validate.
Chris Duncan [Wed, 15 Jan 2025 20:10:46 +0000 (12:10 -0800)]
Yeah, lucky pass. Log a couple more benchmarks. Set min/max on Effort of test page.
Chris Duncan [Wed, 15 Jan 2025 18:08:26 +0000 (10:08 -0800)]
Might be just a lucky pass, but this is the best benchmark so far with the current implementation.
Chris Duncan [Wed, 15 Jan 2025 18:08:03 +0000 (10:08 -0800)]
Revert to workgroup size 64. Create NanoPowOptions type to expand available parameters for executing searches and validation. Add a logging feature to gpu class. Expand options available on test page.
Chris Duncan [Wed, 15 Jan 2025 18:00:47 +0000 (10:00 -0800)]
Benchmarking.
Chris Duncan [Wed, 15 Jan 2025 17:56:56 +0000 (09:56 -0800)]
Update documentation comments.
Chris Duncan [Tue, 14 Jan 2025 22:44:32 +0000 (14:44 -0800)]
Replace m[0-1] with nonce vector.
Chris Duncan [Tue, 14 Jan 2025 22:36:23 +0000 (14:36 -0800)]
Rename `v` vectors to align with reference implementation.
Chris Duncan [Tue, 14 Jan 2025 22:11:34 +0000 (14:11 -0800)]
Benchmarks.
Chris Duncan [Tue, 14 Jan 2025 21:59:51 +0000 (13:59 -0800)]
Whitespace.
Chris Duncan [Tue, 14 Jan 2025 21:58:57 +0000 (13:58 -0800)]
Clean up whitespace.
Chris Duncan [Tue, 14 Jan 2025 21:49:58 +0000 (13:49 -0800)]
Remove last instances of original v scalar variables.
Chris Duncan [Tue, 14 Jan 2025 21:47:23 +0000 (13:47 -0800)]
Replace remaining 32-bit rotations.
Chris Duncan [Tue, 14 Jan 2025 21:43:35 +0000 (13:43 -0800)]
Replace another 32-bit rotation.
Chris Duncan [Tue, 14 Jan 2025 21:41:45 +0000 (13:41 -0800)]
The 32-bit rotate was not correctly or completely implemented like the other rotations due to getting fooled by the simplicity. Start fixing starting with v[24-25].
Chris Duncan [Tue, 14 Jan 2025 21:33:56 +0000 (13:33 -0800)]
Clean up whitespace in round 0 to get a better idea of why other scalars are in use.
Chris Duncan [Tue, 14 Jan 2025 21:28:27 +0000 (13:28 -0800)]
Remove unused v20-23 scalars.
Chris Duncan [Tue, 14 Jan 2025 21:27:27 +0000 (13:27 -0800)]
Remove last usage of v5-7 scalars.
Chris Duncan [Tue, 14 Jan 2025 21:26:34 +0000 (13:26 -0800)]
Remove last usage of v4 scalar.
Chris Duncan [Tue, 14 Jan 2025 21:26:09 +0000 (13:26 -0800)]
Remove last usage of v3 scalar.
Chris Duncan [Tue, 14 Jan 2025 21:25:33 +0000 (13:25 -0800)]
Remove last usage of v2 scalar.
Chris Duncan [Tue, 14 Jan 2025 21:21:13 +0000 (13:21 -0800)]
Delete unused o0 and o1 scalar variables.
Chris Duncan [Tue, 14 Jan 2025 21:20:37 +0000 (13:20 -0800)]
Replace remaining m scalar operations.
Chris Duncan [Tue, 14 Jan 2025 21:17:09 +0000 (13:17 -0800)]
Replace more m scalar operations.
Chris Duncan [Tue, 14 Jan 2025 21:14:27 +0000 (13:14 -0800)]
Replace more m scalar operations.
Chris Duncan [Tue, 14 Jan 2025 21:03:10 +0000 (13:03 -0800)]
Start replacing m scalar operations.
Chris Duncan [Tue, 14 Jan 2025 20:51:35 +0000 (12:51 -0800)]
Remove last usage of v1 scalar.
Chris Duncan [Tue, 14 Jan 2025 20:45:15 +0000 (12:45 -0800)]
Remove unnecessary v[20-23] scalar assignments.
Chris Duncan [Tue, 14 Jan 2025 20:44:34 +0000 (12:44 -0800)]
Remove unnecessary v[12-19] scalar assignments.
Chris Duncan [Tue, 14 Jan 2025 20:43:58 +0000 (12:43 -0800)]
Remove unnecessary v[8-11] scalar assignments.
Chris Duncan [Tue, 14 Jan 2025 20:18:07 +0000 (12:18 -0800)]
Remove unnecessary v[8-9] scalars.
Chris Duncan [Tue, 14 Jan 2025 20:14:09 +0000 (12:14 -0800)]
Remove unnecessary v[20-23] scalars.
Chris Duncan [Tue, 14 Jan 2025 20:11:58 +0000 (12:11 -0800)]
Remove unnecessary v[12-19] scalars.
Chris Duncan [Tue, 14 Jan 2025 20:10:48 +0000 (12:10 -0800)]
Remove unnecessary v[10-11] scalars.
Chris Duncan [Tue, 14 Jan 2025 20:07:31 +0000 (12:07 -0800)]
Remove unnecessary v0 scalar.
Chris Duncan [Tue, 14 Jan 2025 20:05:02 +0000 (12:05 -0800)]
Replace remaining scalar of threshold comaparison with vector variable.
Chris Duncan [Tue, 14 Jan 2025 20:03:43 +0000 (12:03 -0800)]
Remove extraneous comments since operations are getting deprecated with implementation of vector math.
Chris Duncan [Tue, 14 Jan 2025 20:00:18 +0000 (12:00 -0800)]
Remove deprecated xor0 and xor1 variables.
Chris Duncan [Tue, 14 Jan 2025 19:59:34 +0000 (11:59 -0800)]
Replace rest of 63-bit scalar rotations with vector rotations.
Chris Duncan [Tue, 14 Jan 2025 19:52:50 +0000 (11:52 -0800)]
Replace some 63-bit scalar rotations with vector rotations.
Chris Duncan [Tue, 14 Jan 2025 19:40:47 +0000 (11:40 -0800)]
Replace rest of 16-bit scalar rotations with vector rotations.
Chris Duncan [Tue, 14 Jan 2025 19:34:21 +0000 (11:34 -0800)]
Replace some 16-bit scalar rotations with vector rotations.
Chris Duncan [Tue, 14 Jan 2025 19:31:22 +0000 (11:31 -0800)]
Replace more 24-bit scalar rotations with vector rotations.
Chris Duncan [Tue, 14 Jan 2025 19:30:29 +0000 (11:30 -0800)]
Replace more 24-bit scalar rotations with vector rotations.
Chris Duncan [Tue, 14 Jan 2025 19:29:22 +0000 (11:29 -0800)]
Replace more 24-bit scalar rotations with vector rotations.
Chris Duncan [Tue, 14 Jan 2025 19:28:01 +0000 (11:28 -0800)]
Replace more 24-bit scalar rotations with vector rotations.
Chris Duncan [Tue, 14 Jan 2025 19:26:53 +0000 (11:26 -0800)]
Replace more 24-bit scalar rotations with vector rotations.
Chris Duncan [Tue, 14 Jan 2025 19:25:37 +0000 (11:25 -0800)]
Replace more 24-bit scalar rotations with vector rotations.
Chris Duncan [Tue, 14 Jan 2025 19:24:20 +0000 (11:24 -0800)]
Replace more 24-bit scalar rotations with vector rotations.
Chris Duncan [Tue, 14 Jan 2025 19:22:50 +0000 (11:22 -0800)]
Replace more 24-bit scalar rotations with vector rotations.
Chris Duncan [Tue, 14 Jan 2025 19:20:39 +0000 (11:20 -0800)]
Replace some 24-bit scalar rotations with vector rotations.