]> zoso.dev Git - libnemo.git/log
libnemo.git
3 months agoImprove geometric mean by using log approach.
Chris Duncan [Wed, 8 Jan 2025 22:22:48 +0000 (14:22 -0800)]
Improve geometric mean by using log approach.

3 months agoUpload new bundle with inlined G round 0 for platform testing.
Chris Duncan [Wed, 8 Jan 2025 22:20:03 +0000 (14:20 -0800)]
Upload new bundle with inlined G round 0 for platform testing.

3 months agoBenchmark a couple more times now that G round 0 is completely inlined.
Chris Duncan [Wed, 8 Jan 2025 22:19:25 +0000 (14:19 -0800)]
Benchmark a couple more times now that G round 0 is completely inlined.

3 months agoInline G mix 7 of round 0.
Chris Duncan [Wed, 8 Jan 2025 22:10:13 +0000 (14:10 -0800)]
Inline G mix 7 of round 0.

3 months agoInline G mix 6 of round 0.
Chris Duncan [Wed, 8 Jan 2025 22:05:00 +0000 (14:05 -0800)]
Inline G mix 6 of round 0.

3 months agoInline G mix 5 of round 0.
Chris Duncan [Wed, 8 Jan 2025 22:00:02 +0000 (14:00 -0800)]
Inline G mix 5 of round 0.

3 months agoAdd a little more whitespace for legibility.
Chris Duncan [Wed, 8 Jan 2025 21:54:02 +0000 (13:54 -0800)]
Add a little more whitespace for legibility.

3 months agoInline G mix 4 of round 0.
Chris Duncan [Wed, 8 Jan 2025 21:50:25 +0000 (13:50 -0800)]
Inline G mix 4 of round 0.

3 months agoRestore 6-hash pow test to check different hashes still generate correct pow beyond...
Chris Duncan [Wed, 8 Jan 2025 21:36:31 +0000 (13:36 -0800)]
Restore 6-hash pow test to check different hashes still generate correct pow beyond single Nano test vector block.

3 months agoRun a benchmark.
Chris Duncan [Wed, 8 Jan 2025 21:35:55 +0000 (13:35 -0800)]
Run a benchmark.

3 months agoInline G mix 3 of round 0.
Chris Duncan [Wed, 8 Jan 2025 21:35:44 +0000 (13:35 -0800)]
Inline G mix 3 of round 0.

3 months agoTweak comment.
Chris Duncan [Wed, 8 Jan 2025 21:33:45 +0000 (13:33 -0800)]
Tweak comment.

3 months agoInline G mix 2 of round 0. Interestingly, we can skip some instructions this way...
Chris Duncan [Wed, 8 Jan 2025 20:35:11 +0000 (12:35 -0800)]
Inline G mix 2 of round 0. Interestingly, we can skip some instructions this way due to addition of zero doing nothing to mix values, but the operation itself will be left visible for documentation and possible troubleshooting. Also note that pow values are verified working at this commit.

3 months agoAdjust mix round subheading comments.
Chris Duncan [Wed, 8 Jan 2025 20:21:33 +0000 (12:21 -0800)]
Adjust mix round subheading comments.

3 months agoExpand documentation of implementation details.
Chris Duncan [Wed, 8 Jan 2025 20:20:58 +0000 (12:20 -0800)]
Expand documentation of implementation details.

3 months agoSkip some pow perf tests while inlining G mix function.
Chris Duncan [Wed, 8 Jan 2025 20:09:09 +0000 (12:09 -0800)]
Skip some pow perf tests while inlining G mix function.

3 months agoInline G mix 1 of round 0.
Chris Duncan [Wed, 8 Jan 2025 20:08:33 +0000 (12:08 -0800)]
Inline G mix 1 of round 0.

3 months agoAdjust section headings.
Chris Duncan [Wed, 8 Jan 2025 20:06:06 +0000 (12:06 -0800)]
Adjust section headings.

3 months agoInline G mix 0 of round 0.
Chris Duncan [Wed, 8 Jan 2025 16:35:46 +0000 (08:35 -0800)]
Inline G mix 0 of round 0.

3 months agoStart setting up inline of function call 0 of round 0.
Chris Duncan [Wed, 8 Jan 2025 16:31:44 +0000 (08:31 -0800)]
Start setting up inline of function call 0 of round 0.

3 months agoAdd sectional comments to clearly delineate G mix rounds as this moves into inlining...
Chris Duncan [Wed, 8 Jan 2025 16:21:09 +0000 (08:21 -0800)]
Add sectional comments to clearly delineate G mix rounds as this moves into inlining the G mix function which will be otherwise difficult to read and navigate.

3 months agoRemove comment relic.
Chris Duncan [Wed, 8 Jan 2025 16:20:21 +0000 (08:20 -0800)]
Remove comment relic.

3 months agoSimplify imports with additional path mappings. Remove deprecated worker code from...
Chris Duncan [Wed, 8 Jan 2025 15:30:56 +0000 (07:30 -0800)]
Simplify imports with additional path mappings. Remove deprecated worker code from pow classes now that it is handled externally.

3 months agoOverhaul project structure by separating NanoPow code from its worker interface,...
Chris Duncan [Wed, 8 Jan 2025 15:10:08 +0000 (07:10 -0800)]
Overhaul project structure by separating NanoPow code from its worker interface, consolidating test and performance code into one directory, creating additional import path mappings, and renaming files in general.

3 months agoFix name references for pow objects.
Chris Duncan [Wed, 8 Jan 2025 13:43:34 +0000 (05:43 -0800)]
Fix name references for pow objects.

3 months agoReorganize NanoPow into its own package.
Chris Duncan [Wed, 8 Jan 2025 13:29:48 +0000 (05:29 -0800)]
Reorganize NanoPow into its own package.

3 months agoOffload shader code to separate file.
Chris Duncan [Wed, 8 Jan 2025 05:01:07 +0000 (21:01 -0800)]
Offload shader code to separate file.

3 months agoIndicate units when bit shift constructing ID/
Chris Duncan [Wed, 8 Jan 2025 01:24:18 +0000 (17:24 -0800)]
Indicate units when bit shift constructing ID/

3 months agoUpload new bundle for platform testing.
Chris Duncan [Tue, 7 Jan 2025 22:34:10 +0000 (14:34 -0800)]
Upload new bundle for platform testing.

3 months agoImplement device lost promise property to handle loss gracefully by reinitializing...
Chris Duncan [Tue, 7 Jan 2025 22:33:28 +0000 (14:33 -0800)]
Implement device lost promise property to handle loss gracefully by reinitializing. Adjust try-catch error logging message and just retry search instead of reinitializing class.

3 months agoUpload new bundle for platform testing.
Chris Duncan [Tue, 7 Jan 2025 22:12:21 +0000 (14:12 -0800)]
Upload new bundle for platform testing.

3 months agoFix class reference used for static members within static context when this should...
Chris Duncan [Tue, 7 Jan 2025 22:11:52 +0000 (14:11 -0800)]
Fix class reference used for static members within static context when this should be used. Small change to initialization so class can be reloaded if necessary. Implement try-catch if getting data from GPU throws so we can reinitialize.

3 months agoFix test page header.
Chris Duncan [Tue, 7 Jan 2025 22:06:07 +0000 (14:06 -0800)]
Fix test page header.

3 months agoUpload new bundle for platform testing.
Chris Duncan [Tue, 7 Jan 2025 21:52:55 +0000 (13:52 -0800)]
Upload new bundle for platform testing.

3 months agoFix block perf test suite messages.
Chris Duncan [Tue, 7 Jan 2025 21:45:41 +0000 (13:45 -0800)]
Fix block perf test suite messages.

3 months agoExtend time interval between check for GPU device to save mobile device cycles.
Chris Duncan [Tue, 7 Jan 2025 21:45:24 +0000 (13:45 -0800)]
Extend time interval between check for GPU device to save mobile device cycles.

3 months agoCouple more benchmarks.
Chris Duncan [Tue, 7 Jan 2025 21:38:28 +0000 (13:38 -0800)]
Couple more benchmarks.

3 months agoThrottle back workgroup size since apparently this value works with GPUs better and...
Chris Duncan [Tue, 7 Jan 2025 21:38:18 +0000 (13:38 -0800)]
Throttle back workgroup size since apparently this value works with GPUs better and we're still checking over a billion nonces per dispatch; the probability of finding a nonce at this level is over 99.9%

3 months agoRefactor GPU device loading to avoid high promise stack.
Chris Duncan [Tue, 7 Jan 2025 21:31:06 +0000 (13:31 -0800)]
Refactor GPU device loading to avoid high promise stack.

3 months agoSwitch block back to PowGpu.
Chris Duncan [Tue, 7 Jan 2025 21:29:22 +0000 (13:29 -0800)]
Switch block back to PowGpu.

3 months agoSet up canvas size for proper pow comparison testing.
Chris Duncan [Tue, 7 Jan 2025 21:29:10 +0000 (13:29 -0800)]
Set up canvas size for proper pow comparison testing.

3 months agoRestore all block performance tests. Fix PowGl execution.
Chris Duncan [Tue, 7 Jan 2025 21:06:21 +0000 (13:06 -0800)]
Restore all block performance tests. Fix PowGl execution.

3 months agoMerge redundant find function with calculate to form search function like PowGpu...
Chris Duncan [Tue, 7 Jan 2025 20:32:19 +0000 (12:32 -0800)]
Merge redundant find function with calculate to form search function like PowGpu. Implement more of a promise-based pipeline through PowGl calculations.

3 months agoInline G mix function addition steps to eliminate a function call.
Chris Duncan [Tue, 7 Jan 2025 14:49:32 +0000 (06:49 -0800)]
Inline G mix function addition steps to eliminate a function call.

3 months agoLog some more benchmarks. Switch back to PowGl for blocks, with the plan to later...
Chris Duncan [Tue, 7 Jan 2025 13:54:18 +0000 (05:54 -0800)]
Log some more benchmarks. Switch back to PowGl for blocks, with the plan to later make PowGpu available behind a flag.

3 months agoGet rid of extraneous logging in PowGl.
Chris Duncan [Tue, 7 Jan 2025 13:42:30 +0000 (05:42 -0800)]
Get rid of extraneous logging in PowGl.

3 months agoRename and export PowGl for systems that don't support WebGPU. Update some other...
Chris Duncan [Tue, 7 Jan 2025 13:41:06 +0000 (05:41 -0800)]
Rename and export PowGl for systems that don't support WebGPU. Update some other names.

3 months agoAvoid loading nano-webgl-pow entirely. Upload bundle for platform testing.
Chris Duncan [Tue, 7 Jan 2025 04:46:33 +0000 (20:46 -0800)]
Avoid loading nano-webgl-pow entirely. Upload bundle for platform testing.

3 months agoRemove final unused v array pointer.
Chris Duncan [Tue, 7 Jan 2025 02:33:15 +0000 (18:33 -0800)]
Remove final unused v array pointer.

3 months agoReplace v[d] indexes with pointers.
Chris Duncan [Tue, 7 Jan 2025 02:31:04 +0000 (18:31 -0800)]
Replace v[d] indexes with pointers.

3 months agoReplace v[c] indexes with pointers.
Chris Duncan [Tue, 7 Jan 2025 02:26:32 +0000 (18:26 -0800)]
Replace v[c] indexes with pointers.

3 months agoReplace v[b] indexes with pointers.
Chris Duncan [Tue, 7 Jan 2025 01:57:00 +0000 (17:57 -0800)]
Replace v[b] indexes with pointers.

3 months agoRemove replaced v[a] arguments.
Chris Duncan [Tue, 7 Jan 2025 01:55:04 +0000 (17:55 -0800)]
Remove replaced v[a] arguments.

3 months agoRemove v array now that individual variables have been confirmed.
Chris Duncan [Tue, 7 Jan 2025 01:39:23 +0000 (17:39 -0800)]
Remove v array now that individual variables have been confirmed.

3 months agoTry updating G mix function again; rounds need to be updated next.
Chris Duncan [Tue, 7 Jan 2025 01:38:48 +0000 (17:38 -0800)]
Try updating G mix function again; rounds need to be updated next.

3 months agoRevert array pointer dereferencing to troubleshoot invalid nonces.
Chris Duncan [Tue, 7 Jan 2025 01:27:44 +0000 (17:27 -0800)]
Revert array pointer dereferencing to troubleshoot invalid nonces.

3 months agoRevert some pointer implementations due to incorrect nonces now.
Chris Duncan [Tue, 7 Jan 2025 01:21:39 +0000 (17:21 -0800)]
Revert some pointer implementations due to incorrect nonces now.

3 months agoFix variable name.
Chris Duncan [Tue, 7 Jan 2025 00:50:08 +0000 (16:50 -0800)]
Fix variable name.

3 months agoRefactor returned promises.
Chris Duncan [Tue, 7 Jan 2025 00:30:41 +0000 (16:30 -0800)]
Refactor returned promises.

3 months agonotes
Chris Duncan [Mon, 6 Jan 2025 22:42:54 +0000 (14:42 -0800)]
notes

3 months agoFix this later.
Chris Duncan [Mon, 6 Jan 2025 22:41:58 +0000 (14:41 -0800)]
Fix this later.

3 months agoThrow more specific error during search call. Revert workload again since research...
Chris Duncan [Mon, 6 Jan 2025 22:31:16 +0000 (14:31 -0800)]
Throw more specific error during search call. Revert workload again since research is saying mobile devices should be able to handle workgroups of 256.

3 months agoUpload bundle for platform testing.
Chris Duncan [Mon, 6 Jan 2025 21:14:31 +0000 (13:14 -0800)]
Upload bundle for platform testing.

3 months agoSet workload dynamically based on hardware.
Chris Duncan [Mon, 6 Jan 2025 21:13:26 +0000 (13:13 -0800)]
Set workload dynamically based on hardware.

3 months agoEliminate redundant find function. Rename #calculate to search in order to both bette...
Chris Duncan [Mon, 6 Jan 2025 20:54:37 +0000 (12:54 -0800)]
Eliminate redundant find function. Rename #calculate to search in order to both better represent its purpose as well as work around Safari limitation on private class methods.

3 months agoNote long benchmark run.
Chris Duncan [Mon, 6 Jan 2025 20:25:12 +0000 (12:25 -0800)]
Note long benchmark run.

3 months agoSkip nano-webgl-pow test comparison for now.
Chris Duncan [Mon, 6 Jan 2025 19:28:37 +0000 (11:28 -0800)]
Skip nano-webgl-pow test comparison for now.

3 months agoUpload bundle for testing.
Chris Duncan [Mon, 6 Jan 2025 19:27:15 +0000 (11:27 -0800)]
Upload bundle for testing.

3 months agoConvert first of four v accessors to pointer references.
Chris Duncan [Mon, 6 Jan 2025 19:24:30 +0000 (11:24 -0800)]
Convert first of four v accessors to pointer references.

3 months agoBenchmark min and max times, and add another round of testing.
Chris Duncan [Mon, 6 Jan 2025 19:24:02 +0000 (11:24 -0800)]
Benchmark min and max times, and add another round of testing.

3 months agoMove benchmarks notes and add new timings.
Chris Duncan [Mon, 6 Jan 2025 18:59:54 +0000 (10:59 -0800)]
Move benchmarks notes and add new timings.

3 months agoWait a maximum of 8 seconds to load GPU.
Chris Duncan [Mon, 6 Jan 2025 17:37:04 +0000 (09:37 -0800)]
Wait a maximum of 8 seconds to load GPU.

3 months agoRemove outdated documentation comment.
Chris Duncan [Mon, 6 Jan 2025 17:02:13 +0000 (09:02 -0800)]
Remove outdated documentation comment.

3 months agoEliminate m array. Fix nonce construction.
Chris Duncan [Mon, 6 Jan 2025 16:31:20 +0000 (08:31 -0800)]
Eliminate m array. Fix nonce construction.

3 months agoPass literal zeros since these array indexes are never initialized.
Chris Duncan [Mon, 6 Jan 2025 15:28:23 +0000 (07:28 -0800)]
Pass literal zeros since these array indexes are never initialized.

3 months agoYep, it was an issue.
Chris Duncan [Mon, 6 Jan 2025 15:00:38 +0000 (07:00 -0800)]
Yep, it was an issue.

3 months agoDelete unused parameter.
Chris Duncan [Mon, 6 Jan 2025 14:54:46 +0000 (06:54 -0800)]
Delete unused parameter.

3 months agoUpdate G mix rounds 6-11.
Chris Duncan [Mon, 6 Jan 2025 14:53:24 +0000 (06:53 -0800)]
Update G mix rounds 6-11.

3 months agoUpdate G mix round 5 (round 4 was done in previous commit).
Chris Duncan [Mon, 6 Jan 2025 14:41:27 +0000 (06:41 -0800)]
Update G mix round 5 (round 4 was done in previous commit).

3 months agoDocument odd difference between blake C reference implementation and nano-webgl-pow...
Chris Duncan [Mon, 6 Jan 2025 14:38:58 +0000 (06:38 -0800)]
Document odd difference between blake C reference implementation and nano-webgl-pow port that might need fixing later.

3 months agoUpdate G mix round 3.
Chris Duncan [Mon, 6 Jan 2025 13:47:55 +0000 (05:47 -0800)]
Update G mix round 3.

3 months agoUpdate G mix round 2.
Chris Duncan [Mon, 6 Jan 2025 13:45:35 +0000 (05:45 -0800)]
Update G mix round 2.

3 months agoIntermediate update to convert m array lookups to variables. Remaining 10 rounds...
Chris Duncan [Mon, 6 Jan 2025 13:39:40 +0000 (05:39 -0800)]
Intermediate update to convert m array lookups to variables. Remaining 10 rounds of G mixing must be converted still.

3 months agoSubstitute remaining SIGMA82 array lookups with literal values.
Chris Duncan [Mon, 6 Jan 2025 13:27:21 +0000 (05:27 -0800)]
Substitute remaining SIGMA82 array lookups with literal values.

3 months agoPush new bundle for testing.
Chris Duncan [Mon, 6 Jan 2025 07:37:41 +0000 (23:37 -0800)]
Push new bundle for testing.

3 months agoRestore SIGMA82 definition until substitution is complete. Substitute array indexes...
Chris Duncan [Mon, 6 Jan 2025 00:25:19 +0000 (16:25 -0800)]
Restore SIGMA82 definition until substitution is complete. Substitute array indexes for first 6 rounds, last 6 will come soon.

3 months agoStart eliminating SIGMA index lookups.
Chris Duncan [Mon, 6 Jan 2025 00:10:39 +0000 (16:10 -0800)]
Start eliminating SIGMA index lookups.

3 months agoRemove unused addition function.
Chris Duncan [Sun, 5 Jan 2025 23:32:23 +0000 (15:32 -0800)]
Remove unused addition function.

3 months agoDocument addition steps using structure from blake reference material.
Chris Duncan [Sun, 5 Jan 2025 23:31:19 +0000 (15:31 -0800)]
Document addition steps using structure from blake reference material.

3 months agoInline 64-bit addition to eliminate a function call.
Chris Duncan [Sun, 5 Jan 2025 22:40:10 +0000 (14:40 -0800)]
Inline 64-bit addition to eliminate a function call.

3 months agoBack up rolled-up shader code.
Chris Duncan [Sun, 5 Jan 2025 19:54:25 +0000 (11:54 -0800)]
Back up rolled-up shader code.

3 months agoReintroduce workload variable to allow hardware to control workgroup size, considered...
Chris Duncan [Sun, 5 Jan 2025 11:27:39 +0000 (03:27 -0800)]
Reintroduce workload variable to allow hardware to control workgroup size, considered most important control in that regard.

3 months agoAll arrays will eventually be deconstructed for performance, so start creating the...
Chris Duncan [Sun, 5 Jan 2025 11:24:33 +0000 (03:24 -0800)]
All arrays will eventually be deconstructed for performance, so start creating the variables now.

3 months agoRemove logging.
Chris Duncan [Sun, 5 Jan 2025 11:09:32 +0000 (03:09 -0800)]
Remove logging.

3 months agoSet local variable for UBO member to avoid slowly dereferencing it.
Chris Duncan [Sun, 5 Jan 2025 11:09:24 +0000 (03:09 -0800)]
Set local variable for UBO member to avoid slowly dereferencing it.

3 months agoUnroll blake compression rounds.
Chris Duncan [Sun, 5 Jan 2025 10:47:09 +0000 (02:47 -0800)]
Unroll blake compression rounds.

3 months agoPoW does not need to be secure, so just use basic fast PRNG.
Chris Duncan [Sun, 5 Jan 2025 10:46:51 +0000 (02:46 -0800)]
PoW does not need to be secure, so just use basic fast PRNG.

3 months agoRestart calculatino if nonce is not found, in order to accomodate smaller workgroup...
Chris Duncan [Sun, 5 Jan 2025 10:08:17 +0000 (02:08 -0800)]
Restart calculatino if nonce is not found, in order to accomodate smaller workgroup sizes. Suboptimal but can be improved later.

3 months agoSkip original pow tests for now. Reduce test suite size.
Chris Duncan [Sun, 5 Jan 2025 09:39:05 +0000 (01:39 -0800)]
Skip original pow tests for now. Reduce test suite size.

3 months agoFix copypasta typos in threshold check.
Chris Duncan [Sun, 5 Jan 2025 09:36:54 +0000 (01:36 -0800)]
Fix copypasta typos in threshold check.