]> zoso.dev Git - nano-pow.git/log
nano-pow.git
41 hours 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.

41 hours 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.

42 hours 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.

42 hours 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.

42 hours 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.

42 hours 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.

2 days agoTry switching swizzles.
Chris Duncan [Thu, 16 Jan 2025 05:56:52 +0000 (21:56 -0800)]
Try switching swizzles.

2 days agoSwizzle on other bit shift not working but leaving here commented to work on later.
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.

2 days agoThis is just one example of reversing bits with a swizzle instead of using a constructor.
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.

2 days agoFix rate reporting. Add benchmarks.
Chris Duncan [Thu, 16 Jan 2025 05:02:19 +0000 (21:02 -0800)]
Fix rate reporting. Add benchmarks.

2 days agoReplace selects with simple carry arithmetic since select is still technically a...
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.

2 days agoConvert blockhash u32 scalars to vec2 vectors.
Chris Duncan [Thu, 16 Jan 2025 03:30:15 +0000 (19:30 -0800)]
Convert blockhash u32 scalars to vec2 vectors.

2 days agoRemove false positive from benchmarks since it is now in test page.
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.

2 days agoAdd edge cases to validate check on testing web page. Add manual validation form.
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.

2 days agoSplit main into separate entry points to fix false positives from validate.
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.

2 days agoFix validation in gl implementation which could return false positives.
Chris Duncan [Thu, 16 Jan 2025 03:13:09 +0000 (19:13 -0800)]
Fix validation in gl implementation which could return false positives.

2 days agoAdd data to error message.
Chris Duncan [Wed, 15 Jan 2025 22:41:12 +0000 (14:41 -0800)]
Add data to error message.

2 days agoSave another couple benchmarks but also note an issue with validate.
Chris Duncan [Wed, 15 Jan 2025 22:12:36 +0000 (14:12 -0800)]
Save another couple benchmarks but also note an issue with validate.

2 days agoFix bug with GL validate.
Chris Duncan [Wed, 15 Jan 2025 21:17:30 +0000 (13:17 -0800)]
Fix bug with GL validate.

2 days agoYeah, lucky pass. Log a couple more benchmarks. Set min/max on Effort of test page.
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.

2 days agoMight be just a lucky pass, but this is the best benchmark so far with the current...
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.

2 days agoRevert to workgroup size 64. Create NanoPowOptions type to expand available parameter...
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.

2 days agoBenchmarking.
Chris Duncan [Wed, 15 Jan 2025 18:00:47 +0000 (10:00 -0800)]
Benchmarking.

2 days agoUpdate documentation comments.
Chris Duncan [Wed, 15 Jan 2025 17:56:56 +0000 (09:56 -0800)]
Update documentation comments.

3 days agoReplace m[0-1] with nonce vector.
Chris Duncan [Tue, 14 Jan 2025 22:44:32 +0000 (14:44 -0800)]
Replace m[0-1] with nonce vector.

3 days agoRename `v` vectors to align with reference implementation.
Chris Duncan [Tue, 14 Jan 2025 22:36:23 +0000 (14:36 -0800)]
Rename `v` vectors to align with reference implementation.

3 days agoBenchmarks.
Chris Duncan [Tue, 14 Jan 2025 22:11:34 +0000 (14:11 -0800)]
Benchmarks.

3 days agoWhitespace.
Chris Duncan [Tue, 14 Jan 2025 21:59:51 +0000 (13:59 -0800)]
Whitespace.

3 days agoClean up whitespace.
Chris Duncan [Tue, 14 Jan 2025 21:58:57 +0000 (13:58 -0800)]
Clean up whitespace.

3 days agoRemove last instances of original v scalar variables.
Chris Duncan [Tue, 14 Jan 2025 21:49:58 +0000 (13:49 -0800)]
Remove last instances of original v scalar variables.

3 days agoReplace remaining 32-bit rotations.
Chris Duncan [Tue, 14 Jan 2025 21:47:23 +0000 (13:47 -0800)]
Replace remaining 32-bit rotations.

3 days agoReplace another 32-bit rotation.
Chris Duncan [Tue, 14 Jan 2025 21:43:35 +0000 (13:43 -0800)]
Replace another 32-bit rotation.

3 days agoThe 32-bit rotate was not correctly or completely implemented like the other 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].

3 days agoClean up whitespace in round 0 to get a better idea of why other scalars are in use.
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.

3 days agoRemove unused v20-23 scalars.
Chris Duncan [Tue, 14 Jan 2025 21:28:27 +0000 (13:28 -0800)]
Remove unused v20-23 scalars.

3 days agoRemove last usage of v5-7 scalars.
Chris Duncan [Tue, 14 Jan 2025 21:27:27 +0000 (13:27 -0800)]
Remove last usage of v5-7 scalars.

3 days agoRemove last usage of v4 scalar.
Chris Duncan [Tue, 14 Jan 2025 21:26:34 +0000 (13:26 -0800)]
Remove last usage of v4 scalar.

3 days agoRemove last usage of v3 scalar.
Chris Duncan [Tue, 14 Jan 2025 21:26:09 +0000 (13:26 -0800)]
Remove last usage of v3 scalar.

3 days agoRemove last usage of v2 scalar.
Chris Duncan [Tue, 14 Jan 2025 21:25:33 +0000 (13:25 -0800)]
Remove last usage of v2 scalar.

3 days agoDelete unused o0 and o1 scalar variables.
Chris Duncan [Tue, 14 Jan 2025 21:21:13 +0000 (13:21 -0800)]
Delete unused o0 and o1 scalar variables.

3 days agoReplace remaining m scalar operations.
Chris Duncan [Tue, 14 Jan 2025 21:20:37 +0000 (13:20 -0800)]
Replace remaining m scalar operations.

3 days agoReplace more m scalar operations.
Chris Duncan [Tue, 14 Jan 2025 21:17:09 +0000 (13:17 -0800)]
Replace more m scalar operations.

3 days agoReplace more m scalar operations.
Chris Duncan [Tue, 14 Jan 2025 21:14:27 +0000 (13:14 -0800)]
Replace more m scalar operations.

3 days agoStart replacing m scalar operations.
Chris Duncan [Tue, 14 Jan 2025 21:03:10 +0000 (13:03 -0800)]
Start replacing m scalar operations.

3 days agoRemove last usage of v1 scalar.
Chris Duncan [Tue, 14 Jan 2025 20:51:35 +0000 (12:51 -0800)]
Remove last usage of v1 scalar.

3 days agoRemove unnecessary v[20-23] scalar assignments.
Chris Duncan [Tue, 14 Jan 2025 20:45:15 +0000 (12:45 -0800)]
Remove unnecessary v[20-23] scalar assignments.

3 days agoRemove unnecessary v[12-19] scalar assignments.
Chris Duncan [Tue, 14 Jan 2025 20:44:34 +0000 (12:44 -0800)]
Remove unnecessary v[12-19] scalar assignments.

3 days agoRemove unnecessary v[8-11] scalar assignments.
Chris Duncan [Tue, 14 Jan 2025 20:43:58 +0000 (12:43 -0800)]
Remove unnecessary v[8-11] scalar assignments.

3 days agoRemove unnecessary v[8-9] scalars.
Chris Duncan [Tue, 14 Jan 2025 20:18:07 +0000 (12:18 -0800)]
Remove unnecessary v[8-9] scalars.

3 days agoRemove unnecessary v[20-23] scalars.
Chris Duncan [Tue, 14 Jan 2025 20:14:09 +0000 (12:14 -0800)]
Remove unnecessary v[20-23] scalars.

3 days agoRemove unnecessary v[12-19] scalars.
Chris Duncan [Tue, 14 Jan 2025 20:11:58 +0000 (12:11 -0800)]
Remove unnecessary v[12-19] scalars.

3 days agoRemove unnecessary v[10-11] scalars.
Chris Duncan [Tue, 14 Jan 2025 20:10:48 +0000 (12:10 -0800)]
Remove unnecessary v[10-11] scalars.

3 days agoRemove unnecessary v0 scalar.
Chris Duncan [Tue, 14 Jan 2025 20:07:31 +0000 (12:07 -0800)]
Remove unnecessary v0 scalar.

3 days agoReplace remaining scalar of threshold comaparison with vector variable.
Chris Duncan [Tue, 14 Jan 2025 20:05:02 +0000 (12:05 -0800)]
Replace remaining scalar of threshold comaparison with vector variable.

3 days agoRemove extraneous comments since operations are getting deprecated with implementatio...
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.

3 days agoRemove deprecated xor0 and xor1 variables.
Chris Duncan [Tue, 14 Jan 2025 20:00:18 +0000 (12:00 -0800)]
Remove deprecated xor0 and xor1 variables.

3 days agoReplace rest of 63-bit scalar rotations with vector rotations.
Chris Duncan [Tue, 14 Jan 2025 19:59:34 +0000 (11:59 -0800)]
Replace rest of 63-bit scalar rotations with vector rotations.

3 days agoReplace some 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.

3 days agoReplace rest of 16-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.

3 days agoReplace some 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.

3 days agoReplace more 24-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.

3 days agoReplace 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.

3 days agoReplace 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.

3 days agoReplace 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.

3 days agoReplace 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.

3 days agoReplace 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.

3 days agoReplace 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.

3 days agoReplace 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.

3 days agoReplace some 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.

3 days agoAdd vector variable for storing XOR results during rotations.
Chris Duncan [Tue, 14 Jan 2025 19:20:20 +0000 (11:20 -0800)]
Add vector variable for storing XOR results during rotations.

3 days agoReplace more 32-bit scalar rotations with vector rotations.
Chris Duncan [Tue, 14 Jan 2025 18:49:23 +0000 (10:49 -0800)]
Replace more 32-bit scalar rotations with vector rotations.

3 days agoReplace more 32-bit scalar rotations with vector rotations.
Chris Duncan [Tue, 14 Jan 2025 18:47:56 +0000 (10:47 -0800)]
Replace more 32-bit scalar rotations with vector rotations.

3 days agoReplace more 32-bit scalar rotations with vector rotations.
Chris Duncan [Tue, 14 Jan 2025 18:46:26 +0000 (10:46 -0800)]
Replace more 32-bit scalar rotations with vector rotations.

3 days agoReplace more 32-bit scalar rotations with vector rotations.
Chris Duncan [Tue, 14 Jan 2025 18:45:08 +0000 (10:45 -0800)]
Replace more 32-bit scalar rotations with vector rotations.

3 days agoReplace more 32-bit scalar rotations with vector rotations.
Chris Duncan [Tue, 14 Jan 2025 18:42:22 +0000 (10:42 -0800)]
Replace more 32-bit scalar rotations with vector rotations.

3 days agoReplace more 32-bit scalar rotations with vector rotations.
Chris Duncan [Tue, 14 Jan 2025 18:31:48 +0000 (10:31 -0800)]
Replace more 32-bit scalar rotations with vector rotations.

3 days agoFix rotation assignments for interim values while converting scalar to vector.
Chris Duncan [Tue, 14 Jan 2025 17:55:48 +0000 (09:55 -0800)]
Fix rotation assignments for interim values while converting scalar to vector.

3 days agoReplace some 32-bit scalar rotations with vector rotations.
Chris Duncan [Tue, 14 Jan 2025 17:50:15 +0000 (09:50 -0800)]
Replace some 32-bit scalar rotations with vector rotations.

3 days agoReplace scalar in threshold check with vector component.
Chris Duncan [Tue, 14 Jan 2025 17:42:54 +0000 (09:42 -0800)]
Replace scalar in threshold check with vector component.

3 days agoRemove unneeded v_01 vector assignments.
Chris Duncan [Tue, 14 Jan 2025 17:41:45 +0000 (09:41 -0800)]
Remove unneeded v_01 vector assignments.

3 days agoReplace scalar addition involving v[0-1] and m with vector addition.
Chris Duncan [Tue, 14 Jan 2025 17:39:16 +0000 (09:39 -0800)]
Replace scalar addition involving v[0-1] and m with vector addition.

3 days agoAdd calculation rate to benchmarks.
Chris Duncan [Tue, 14 Jan 2025 16:47:55 +0000 (08:47 -0800)]
Add calculation rate to benchmarks.

3 days agoReplace more scalar addition with vector addition.
Chris Duncan [Tue, 14 Jan 2025 16:36:29 +0000 (08:36 -0800)]
Replace more scalar addition with vector addition.

3 days agoReplace more scalar addition with vector addition.
Chris Duncan [Tue, 14 Jan 2025 16:33:13 +0000 (08:33 -0800)]
Replace more scalar addition with vector addition.

3 days agoReplace more scalar addition with vector addition.
Chris Duncan [Tue, 14 Jan 2025 16:31:19 +0000 (08:31 -0800)]
Replace more scalar addition with vector addition.

3 days agoReplace more scalar addition with vector addition.
Chris Duncan [Tue, 14 Jan 2025 16:28:14 +0000 (08:28 -0800)]
Replace more scalar addition with vector addition.

3 days agoRepalce more scalar addition with vector addition.
Chris Duncan [Tue, 14 Jan 2025 16:26:17 +0000 (08:26 -0800)]
Repalce more scalar addition with vector addition.

3 days agoReplace more scalar addition with vector addition.
Chris Duncan [Tue, 14 Jan 2025 16:24:37 +0000 (08:24 -0800)]
Replace more scalar addition with vector addition.

3 days agoReplace more scalar addition with vector addition.
Chris Duncan [Tue, 14 Jan 2025 16:21:51 +0000 (08:21 -0800)]
Replace more scalar addition with vector addition.

3 days agoReplace more scalar addition with vector addition.
Chris Duncan [Tue, 14 Jan 2025 16:19:59 +0000 (08:19 -0800)]
Replace more scalar addition with vector addition.

3 days agoReplace more scalar addition with vector addition.
Chris Duncan [Tue, 14 Jan 2025 16:16:14 +0000 (08:16 -0800)]
Replace more scalar addition with vector addition.

3 days agoReplace more scalar addition with vector addition.
Chris Duncan [Tue, 14 Jan 2025 16:13:34 +0000 (08:13 -0800)]
Replace more scalar addition with vector addition.

3 days agoCancel test if validate is not working.
Chris Duncan [Tue, 14 Jan 2025 15:21:17 +0000 (07:21 -0800)]
Cancel test if validate is not working.

3 days agoReplace more scalar addition with vector addition.
Chris Duncan [Tue, 14 Jan 2025 15:08:19 +0000 (07:08 -0800)]
Replace more scalar addition with vector addition.

3 days agoReplace more scalar addition with vector addition. Interestingly, found that commenti...
Chris Duncan [Tue, 14 Jan 2025 14:54:11 +0000 (06:54 -0800)]
Replace more scalar addition with vector addition. Interestingly, found that commenting out ` v24 = v_2425.x;` or `v25 = v_2425.y;` still results in a correct nonce. This presents an opportunity to prune even more instructions, so this will be pursued in a separate branch.

4 days agoAdd remaining compression buffer values as vectors.
Chris Duncan [Tue, 14 Jan 2025 06:11:49 +0000 (22:11 -0800)]
Add remaining compression buffer values as vectors.

4 days agoStage final fully reduced u64 addition operation using vectors. This will be the...
Chris Duncan [Tue, 14 Jan 2025 06:04:36 +0000 (22:04 -0800)]
Stage final fully reduced u64 addition operation using vectors. This will be the technique going forward; the assignments to individual scalars after the vector sum are purely placeholders until the entire algorithm can be converted.

4 days agoOptimize 64-bit addition. More to come since this is producing valid results.
Chris Duncan [Mon, 13 Jan 2025 22:32:47 +0000 (14:32 -0800)]
Optimize 64-bit addition. More to come since this is producing valid results.

4 days agoPatch version. v1.2.4
Chris Duncan [Mon, 13 Jan 2025 21:38:51 +0000 (13:38 -0800)]
Patch version.

4 days agoImport NanoPow dynamically, preferring local source. Allow user to set test count...
Chris Duncan [Mon, 13 Jan 2025 20:58:52 +0000 (12:58 -0800)]
Import NanoPow dynamically, preferring local source. Allow user to set test count. Remove testing alternate libs and only test best one loaded. Add benchmarks.