]>
zoso.dev Git - libnemo.git/log
Chris Duncan [Tue, 7 Jan 2025 21:06:21 +0000 (13:06 -0800)]
Restore all block performance tests. Fix PowGl execution.
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.
Chris Duncan [Tue, 7 Jan 2025 14:49:32 +0000 (06:49 -0800)]
Inline G mix function addition steps to eliminate a function call.
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.
Chris Duncan [Tue, 7 Jan 2025 13:42:30 +0000 (05:42 -0800)]
Get rid of extraneous logging in PowGl.
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.
Chris Duncan [Tue, 7 Jan 2025 04:46:33 +0000 (20:46 -0800)]
Avoid loading nano-webgl-pow entirely. Upload bundle for platform testing.
Chris Duncan [Tue, 7 Jan 2025 02:33:15 +0000 (18:33 -0800)]
Remove final unused v array pointer.
Chris Duncan [Tue, 7 Jan 2025 02:31:04 +0000 (18:31 -0800)]
Replace v[d] indexes with pointers.
Chris Duncan [Tue, 7 Jan 2025 02:26:32 +0000 (18:26 -0800)]
Replace v[c] indexes with pointers.
Chris Duncan [Tue, 7 Jan 2025 01:57:00 +0000 (17:57 -0800)]
Replace v[b] indexes with pointers.
Chris Duncan [Tue, 7 Jan 2025 01:55:04 +0000 (17:55 -0800)]
Remove replaced v[a] arguments.
Chris Duncan [Tue, 7 Jan 2025 01:39:23 +0000 (17:39 -0800)]
Remove v array now that individual variables have been confirmed.
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.
Chris Duncan [Tue, 7 Jan 2025 01:27:44 +0000 (17:27 -0800)]
Revert array pointer dereferencing to troubleshoot invalid nonces.
Chris Duncan [Tue, 7 Jan 2025 01:21:39 +0000 (17:21 -0800)]
Revert some pointer implementations due to incorrect nonces now.
Chris Duncan [Tue, 7 Jan 2025 00:50:08 +0000 (16:50 -0800)]
Fix variable name.
Chris Duncan [Tue, 7 Jan 2025 00:30:41 +0000 (16:30 -0800)]
Refactor returned promises.
Chris Duncan [Mon, 6 Jan 2025 22:42:54 +0000 (14:42 -0800)]
notes
Chris Duncan [Mon, 6 Jan 2025 22:41:58 +0000 (14:41 -0800)]
Fix this later.
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.
Chris Duncan [Mon, 6 Jan 2025 21:14:31 +0000 (13:14 -0800)]
Upload bundle for platform testing.
Chris Duncan [Mon, 6 Jan 2025 21:13:26 +0000 (13:13 -0800)]
Set workload dynamically based on hardware.
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.
Chris Duncan [Mon, 6 Jan 2025 20:25:12 +0000 (12:25 -0800)]
Note long benchmark run.
Chris Duncan [Mon, 6 Jan 2025 19:28:37 +0000 (11:28 -0800)]
Skip nano-webgl-pow test comparison for now.
Chris Duncan [Mon, 6 Jan 2025 19:27:15 +0000 (11:27 -0800)]
Upload bundle for testing.
Chris Duncan [Mon, 6 Jan 2025 19:24:30 +0000 (11:24 -0800)]
Convert first of four v accessors to pointer references.
Chris Duncan [Mon, 6 Jan 2025 19:24:02 +0000 (11:24 -0800)]
Benchmark min and max times, and add another round of testing.
Chris Duncan [Mon, 6 Jan 2025 18:59:54 +0000 (10:59 -0800)]
Move benchmarks notes and add new timings.
Chris Duncan [Mon, 6 Jan 2025 17:37:04 +0000 (09:37 -0800)]
Wait a maximum of 8 seconds to load GPU.
Chris Duncan [Mon, 6 Jan 2025 17:02:13 +0000 (09:02 -0800)]
Remove outdated documentation comment.
Chris Duncan [Mon, 6 Jan 2025 16:31:20 +0000 (08:31 -0800)]
Eliminate m array. Fix nonce construction.
Chris Duncan [Mon, 6 Jan 2025 15:28:23 +0000 (07:28 -0800)]
Pass literal zeros since these array indexes are never initialized.
Chris Duncan [Mon, 6 Jan 2025 15:00:38 +0000 (07:00 -0800)]
Yep, it was an issue.
Chris Duncan [Mon, 6 Jan 2025 14:54:46 +0000 (06:54 -0800)]
Delete unused parameter.
Chris Duncan [Mon, 6 Jan 2025 14:53:24 +0000 (06:53 -0800)]
Update G mix rounds 6-11.
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).
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.
Chris Duncan [Mon, 6 Jan 2025 13:47:55 +0000 (05:47 -0800)]
Update G mix round 3.
Chris Duncan [Mon, 6 Jan 2025 13:45:35 +0000 (05:45 -0800)]
Update G mix round 2.
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.
Chris Duncan [Mon, 6 Jan 2025 13:27:21 +0000 (05:27 -0800)]
Substitute remaining SIGMA82 array lookups with literal values.
Chris Duncan [Mon, 6 Jan 2025 07:37:41 +0000 (23:37 -0800)]
Push new bundle for testing.
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.
Chris Duncan [Mon, 6 Jan 2025 00:10:39 +0000 (16:10 -0800)]
Start eliminating SIGMA index lookups.
Chris Duncan [Sun, 5 Jan 2025 23:32:23 +0000 (15:32 -0800)]
Remove unused addition function.
Chris Duncan [Sun, 5 Jan 2025 23:31:19 +0000 (15:31 -0800)]
Document addition steps using structure from blake reference material.
Chris Duncan [Sun, 5 Jan 2025 22:40:10 +0000 (14:40 -0800)]
Inline 64-bit addition to eliminate a function call.
Chris Duncan [Sun, 5 Jan 2025 19:54:25 +0000 (11:54 -0800)]
Back up rolled-up shader code.
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.
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.
Chris Duncan [Sun, 5 Jan 2025 11:09:32 +0000 (03:09 -0800)]
Remove logging.
Chris Duncan [Sun, 5 Jan 2025 11:09:24 +0000 (03:09 -0800)]
Set local variable for UBO member to avoid slowly dereferencing it.
Chris Duncan [Sun, 5 Jan 2025 10:47:09 +0000 (02:47 -0800)]
Unroll blake compression rounds.
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.
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.
Chris Duncan [Sun, 5 Jan 2025 09:39:05 +0000 (01:39 -0800)]
Skip original pow tests for now. Reduce test suite size.
Chris Duncan [Sun, 5 Jan 2025 09:36:54 +0000 (01:36 -0800)]
Fix copypasta typos in threshold check.
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.
Chris Duncan [Sun, 5 Jan 2025 08:43:12 +0000 (00:43 -0800)]
Revert nonce and found swap.
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.
Chris Duncan [Sun, 5 Jan 2025 07:10:13 +0000 (23:10 -0800)]
Remove extraneous commenting. Move XOR to start of for loop. Whitespace.
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.
Chris Duncan [Sun, 5 Jan 2025 05:56:19 +0000 (21:56 -0800)]
Stress test block performance with PowGpu.
Chris Duncan [Sun, 5 Jan 2025 05:55:19 +0000 (21:55 -0800)]
Save some benchmarking notes.
Chris Duncan [Sun, 5 Jan 2025 05:48:17 +0000 (21:48 -0800)]
Document construction and purpose of thread ID.
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.
Chris Duncan [Sat, 4 Jan 2025 12:07:23 +0000 (04:07 -0800)]
Push new bundles for platform testing.
Chris Duncan [Sat, 4 Jan 2025 12:05:02 +0000 (04:05 -0800)]
Restore additional block performance tests now that PowGpu is working.
Chris Duncan [Sat, 4 Jan 2025 12:04:29 +0000 (04:04 -0800)]
Add PowGpu performance tests outside of Block scope and Web Workers.
Chris Duncan [Sat, 4 Jan 2025 12:00:48 +0000 (04:00 -0800)]
Reset `found` flag between executions.
Chris Duncan [Sat, 4 Jan 2025 11:18:56 +0000 (03:18 -0800)]
Export PowGpu from main for users beyond Blocks. Small comment.
Chris Duncan [Sat, 4 Jan 2025 10:42:48 +0000 (02:42 -0800)]
Configure UBO buffer during static initialization.
Chris Duncan [Sat, 4 Jan 2025 09:47:41 +0000 (01:47 -0800)]
Fix threshold offset in Javascript. Tweak commenting and remove logging.
Chris Duncan [Sat, 4 Jan 2025 09:22:26 +0000 (01:22 -0800)]
Pass in random data to initialize nonce.
Chris Duncan [Sat, 4 Jan 2025 09:17:00 +0000 (01:17 -0800)]
Reduce block performance test for getting powgpu right.
Chris Duncan [Sat, 4 Jan 2025 08:42:56 +0000 (00:42 -0800)]
Remove logging.
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.
Chris Duncan [Sat, 4 Jan 2025 07:45:08 +0000 (23:45 -0800)]
Tweak logging.
Chris Duncan [Sat, 4 Jan 2025 07:37:22 +0000 (23:37 -0800)]
Whitespace.
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.
Chris Duncan [Fri, 3 Jan 2025 23:03:36 +0000 (15:03 -0800)]
Bundle changes to test on other platforms.
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.
Chris Duncan [Fri, 3 Jan 2025 22:43:43 +0000 (14:43 -0800)]
Remove redundant comment.
Chris Duncan [Fri, 3 Jan 2025 18:51:09 +0000 (10:51 -0800)]
Rename variables for a little more clarity.
Chris Duncan [Fri, 3 Jan 2025 17:15:46 +0000 (09:15 -0800)]
Change blake2b function name to align with reference implementation.
Chris Duncan [Fri, 3 Jan 2025 17:14:36 +0000 (09:14 -0800)]
Tweak commenting and test loop size.
Chris Duncan [Thu, 2 Jan 2025 21:49:59 +0000 (13:49 -0800)]
Only try to load GPU every tenth of a second.
Chris Duncan [Thu, 2 Jan 2025 21:49:25 +0000 (13:49 -0800)]
Extend dispatch dimensions. Tweak commenting.
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.
Chris Duncan [Thu, 2 Jan 2025 21:47:03 +0000 (13:47 -0800)]
Ensure nonce hex string is 16 characters.
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.
Chris Duncan [Thu, 2 Jan 2025 21:43:40 +0000 (13:43 -0800)]
Test against actual threshold.
Chris Duncan [Thu, 2 Jan 2025 21:42:56 +0000 (13:42 -0800)]
Explicitly specify units are unsigned.
Chris Duncan [Thu, 2 Jan 2025 21:39:18 +0000 (13:39 -0800)]
Dereference array args instead of creating copies.
Chris Duncan [Thu, 2 Jan 2025 20:57:09 +0000 (12:57 -0800)]
Explicitly specify integers are unsigned.
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.
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.
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.