]> zoso.dev Git - libnemo.git/log
libnemo.git
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.

3 months agoShortcut conditional by validating nonce prior to loading atomic. Remove redundant...
Chris Duncan [Sun, 5 Jan 2025 09:24:15 +0000 (01:24 -0800)]
Shortcut conditional by validating nonce prior to loading atomic. Remove redundant return statement.

3 months agoRevert nonce and found swap.
Chris Duncan [Sun, 5 Jan 2025 08:43:12 +0000 (00:43 -0800)]
Revert nonce and found swap.

3 months agoScrap in-shader loop since it is probably triggering browser watchdog timers as a...
Chris Duncan [Sun, 5 Jan 2025 08:00:31 +0000 (00:00 -0800)]
Scrap in-shader loop since it is probably triggering browser watchdog timers as a long-running process on lower-end hardware, just redispatch instead.

3 months agoRemove extraneous commenting. Move XOR to start of for loop. Whitespace.
Chris Duncan [Sun, 5 Jan 2025 07:10:13 +0000 (23:10 -0800)]
Remove extraneous commenting. Move XOR to start of for loop.  Whitespace.

3 months agoDecrease workgroup size and implement loop in shader main. Add some notes for potenti...
Chris Duncan [Sun, 5 Jan 2025 05:57:29 +0000 (21:57 -0800)]
Decrease workgroup size and implement loop in shader main. Add some notes for potential changes later.

3 months agoStress test block performance with PowGpu.
Chris Duncan [Sun, 5 Jan 2025 05:56:19 +0000 (21:56 -0800)]
Stress test block performance with PowGpu.

3 months agoSave some benchmarking notes.
Chris Duncan [Sun, 5 Jan 2025 05:55:19 +0000 (21:55 -0800)]
Save some benchmarking notes.

3 months agoDocument construction and purpose of thread ID.
Chris Duncan [Sun, 5 Jan 2025 05:48:17 +0000 (21:48 -0800)]
Document construction and purpose of thread ID.

3 months agoChange loop index variable name in G mixing function so it does not collide with...
Chris Duncan [Sat, 4 Jan 2025 23:20:03 +0000 (15:20 -0800)]
Change loop index variable name in G mixing function so it does not collide with other declarations elsewhere.

3 months agoPush new bundles for platform testing.
Chris Duncan [Sat, 4 Jan 2025 12:07:23 +0000 (04:07 -0800)]
Push new bundles for platform testing.

3 months agoRestore additional block performance tests now that PowGpu is working.
Chris Duncan [Sat, 4 Jan 2025 12:05:02 +0000 (04:05 -0800)]
Restore additional block performance tests now that PowGpu is working.

3 months agoAdd PowGpu performance tests outside of Block scope and Web Workers.
Chris Duncan [Sat, 4 Jan 2025 12:04:29 +0000 (04:04 -0800)]
Add PowGpu performance tests outside of Block scope and Web Workers.

3 months agoReset `found` flag between executions.
Chris Duncan [Sat, 4 Jan 2025 12:00:48 +0000 (04:00 -0800)]
Reset `found` flag between executions.

3 months agoExport PowGpu from main for users beyond Blocks. Small comment.
Chris Duncan [Sat, 4 Jan 2025 11:18:56 +0000 (03:18 -0800)]
Export PowGpu from main for users beyond Blocks. Small comment.

3 months agoConfigure UBO buffer during static initialization.
Chris Duncan [Sat, 4 Jan 2025 10:42:48 +0000 (02:42 -0800)]
Configure UBO buffer during static initialization.

3 months agoFix threshold offset in Javascript. Tweak commenting and remove logging.
Chris Duncan [Sat, 4 Jan 2025 09:47:41 +0000 (01:47 -0800)]
Fix threshold offset in Javascript. Tweak commenting and remove logging.

3 months agoPass in random data to initialize nonce.
Chris Duncan [Sat, 4 Jan 2025 09:22:26 +0000 (01:22 -0800)]
Pass in random data to initialize nonce.

3 months agoReduce block performance test for getting powgpu right.
Chris Duncan [Sat, 4 Jan 2025 09:17:00 +0000 (01:17 -0800)]
Reduce block performance test for getting powgpu right.

3 months agoRemove logging.
Chris Duncan [Sat, 4 Jan 2025 08:42:56 +0000 (00:42 -0800)]
Remove logging.

3 months agoMove atomic check to start of main. Add atomic check prior to setting nonce.
Chris Duncan [Sat, 4 Jan 2025 08:34:02 +0000 (00:34 -0800)]
Move atomic check to start of main. Add atomic check prior to setting nonce.

3 months agoTweak logging.
Chris Duncan [Sat, 4 Jan 2025 07:45:08 +0000 (23:45 -0800)]
Tweak logging.

3 months agoWhitespace.
Chris Duncan [Sat, 4 Jan 2025 07:37:22 +0000 (23:37 -0800)]
Whitespace.

3 months agoDo a bit reversal to create a psuedo random looking nonce even though it mathematical...
Chris Duncan [Sat, 4 Jan 2025 04:55:25 +0000 (20:55 -0800)]
Do a bit reversal to create a psuedo random looking nonce even though it mathematically doesn't matter if it's truly random or not.

3 months agoBundle changes to test on other platforms.
Chris Duncan [Fri, 3 Jan 2025 23:03:36 +0000 (15:03 -0800)]
Bundle changes to test on other platforms.

3 months agoFix nonce output to CPU which is expecting the 32-bit values in reverse for reasons...
Chris Duncan [Fri, 3 Jan 2025 22:58:23 +0000 (14:58 -0800)]
Fix nonce output to CPU which is expecting the 32-bit values in reverse for reasons I don't fully understand, something to do with endianness I'm sure.

3 months agoRemove redundant comment.
Chris Duncan [Fri, 3 Jan 2025 22:43:43 +0000 (14:43 -0800)]
Remove redundant comment.

3 months agoRename variables for a little more clarity.
Chris Duncan [Fri, 3 Jan 2025 18:51:09 +0000 (10:51 -0800)]
Rename variables for a little more clarity.

3 months agoChange blake2b function name to align with reference implementation.
Chris Duncan [Fri, 3 Jan 2025 17:15:46 +0000 (09:15 -0800)]
Change blake2b function name to align with reference implementation.

3 months agoTweak commenting and test loop size.
Chris Duncan [Fri, 3 Jan 2025 17:14:36 +0000 (09:14 -0800)]
Tweak commenting and test loop size.

3 months agoOnly try to load GPU every tenth of a second.
Chris Duncan [Thu, 2 Jan 2025 21:49:59 +0000 (13:49 -0800)]
Only try to load GPU every tenth of a second.

3 months agoExtend dispatch dimensions. Tweak commenting.
Chris Duncan [Thu, 2 Jan 2025 21:49:25 +0000 (13:49 -0800)]
Extend dispatch dimensions. Tweak commenting.

3 months agoRemove unused RAF call. Warn user if pow completed without a nonce.
Chris Duncan [Thu, 2 Jan 2025 21:48:15 +0000 (13:48 -0800)]
Remove unused RAF call. Warn user if pow completed without a nonce.

3 months agoEnsure nonce hex string is 16 characters.
Chris Duncan [Thu, 2 Jan 2025 21:47:03 +0000 (13:47 -0800)]
Ensure nonce hex string is 16 characters.

3 months agoInitialize v before computation loop. Change from potentially-endless while loop...
Chris Duncan [Thu, 2 Jan 2025 21:46:41 +0000 (13:46 -0800)]
Initialize v before computation loop. Change from potentially-endless while loop to restricted for loop.

3 months agoTest against actual threshold.
Chris Duncan [Thu, 2 Jan 2025 21:43:40 +0000 (13:43 -0800)]
Test against actual threshold.

3 months agoExplicitly specify units are unsigned.
Chris Duncan [Thu, 2 Jan 2025 21:42:56 +0000 (13:42 -0800)]
Explicitly specify units are unsigned.

3 months agoDereference array args instead of creating copies.
Chris Duncan [Thu, 2 Jan 2025 21:39:18 +0000 (13:39 -0800)]
Dereference array args instead of creating copies.

3 months agoExplicitly specify integers are unsigned.
Chris Duncan [Thu, 2 Jan 2025 20:57:09 +0000 (12:57 -0800)]
Explicitly specify integers are unsigned.

3 months agoTweak author credit comment for BLAKE2b derivation since this class is quite unlike...
Chris Duncan [Thu, 2 Jan 2025 17:23:52 +0000 (09:23 -0800)]
Tweak author credit comment for BLAKE2b derivation since this class is quite unlike the original now except for the hash function.

3 months agoFix default export const to separate this class from original Pow class.
Chris Duncan [Thu, 2 Jan 2025 17:23:04 +0000 (09:23 -0800)]
Fix default export const to separate this class from original Pow class.

3 months agoFix invocation ID construction. Add "found" flag as an atomic. Remove randomized...
Chris Duncan [Thu, 2 Jan 2025 16:33:37 +0000 (08:33 -0800)]
Fix invocation ID construction. Add "found" flag as an atomic. Remove randomized value from Javascript since shader will just iterate nonces itself. Delete unused hexify function since we can just use built-in BigInt functions now.