]> zoso.dev Git - libnemo.git/log
libnemo.git
2 days agoUpdate dependencies and remove unused packages. threads
Chris Duncan [Tue, 1 Apr 2025 02:14:19 +0000 (19:14 -0700)]
Update dependencies and remove unused packages.

2 months agoUpdate nano-pow.
Chris Duncan [Mon, 13 Jan 2025 21:41:02 +0000 (13:41 -0800)]
Update nano-pow.

2 months agoReplace pow now that it is published separately on npm.
Chris Duncan [Mon, 13 Jan 2025 15:49:25 +0000 (07:49 -0800)]
Replace pow now that it is published separately on npm.

2 months agoThrow if NanoPow couldn't load.
Chris Duncan [Mon, 13 Jan 2025 00:40:31 +0000 (16:40 -0800)]
Throw if NanoPow couldn't load.

2 months agoInstall nano-pow from npm.
Chris Duncan [Mon, 13 Jan 2025 00:37:44 +0000 (16:37 -0800)]
Install nano-pow from npm.

2 months agoInstall NanoPow.
Chris Duncan [Sun, 12 Jan 2025 23:47:59 +0000 (15:47 -0800)]
Install NanoPow.

2 months agoTest how max workgroup size with single dimension dispatch affects mobile because...
Chris Duncan [Fri, 10 Jan 2025 14:53:10 +0000 (06:53 -0800)]
Test how max workgroup size with single dimension dispatch affects mobile because it does pretty well for desktop as seen by the newest benchmark.

2 months agoUpload new bundle for testing. ios
Chris Duncan [Thu, 9 Jan 2025 23:34:40 +0000 (15:34 -0800)]
Upload new bundle for testing.

2 months agoConfirm success of reinitialization after a device loss. I wish iOS would just play...
Chris Duncan [Thu, 9 Jan 2025 23:33:48 +0000 (15:33 -0800)]
Confirm success of reinitialization after a device loss. I wish iOS would just play nice but oh well for now. Get rid of useless logging and redundant reset call.

2 months agoSeems like loss of this context was indeed the issue, and reinitializing seems to...
Chris Duncan [Thu, 9 Jan 2025 23:26:10 +0000 (15:26 -0800)]
Seems like loss of this context was indeed the issue, and reinitializing seems to have allowed the process to continue. Trying new bundle.

2 months agoContext of this is lost when device is lost, so try targeting class members instead...
Chris Duncan [Thu, 9 Jan 2025 23:17:10 +0000 (15:17 -0800)]
Context of this is lost when device is lost, so try targeting class members instead (unsure this will work since they are private).

2 months agoLog buffer to troubleshoot iOS device loss.
Chris Duncan [Thu, 9 Jan 2025 23:11:54 +0000 (15:11 -0800)]
Log buffer to troubleshoot iOS device loss.

2 months agoFix branch reference.
Chris Duncan [Thu, 9 Jan 2025 23:08:32 +0000 (15:08 -0800)]
Fix branch reference.

2 months agoStart versioning bundle upload to try avoiding Safari cache for testing.
Chris Duncan [Thu, 9 Jan 2025 23:04:49 +0000 (15:04 -0800)]
Start versioning bundle upload to try avoiding Safari cache for testing.

2 months agoUpload new bundle for testing iOS.
Chris Duncan [Thu, 9 Jan 2025 23:02:40 +0000 (15:02 -0800)]
Upload new bundle for testing iOS.

2 months agoTry destroying buffers without optional chaining and see if Safari does not complain...
Chris Duncan [Thu, 9 Jan 2025 23:01:48 +0000 (15:01 -0800)]
Try destroying buffers without optional chaining and see if Safari does not complain about that.

2 months agoSave some vertical space.
Chris Duncan [Thu, 9 Jan 2025 23:00:00 +0000 (15:00 -0800)]
Save some vertical space.

2 months agoUpload bundle for platform testing.
Chris Duncan [Thu, 9 Jan 2025 22:41:07 +0000 (14:41 -0800)]
Upload bundle for platform testing.

2 months agoLog a benchmark.
Chris Duncan [Thu, 9 Jan 2025 22:40:44 +0000 (14:40 -0800)]
Log a benchmark.

2 months agoTo reduce file size, delete original shader saved as a comment.
Chris Duncan [Thu, 9 Jan 2025 21:59:29 +0000 (13:59 -0800)]
To reduce file size, delete original shader saved as a comment.

2 months agoReplace last if statements with select.
Chris Duncan [Thu, 9 Jan 2025 21:58:44 +0000 (13:58 -0800)]
Replace last if statements with select.

2 months agoReplace if statements.
Chris Duncan [Thu, 9 Jan 2025 21:53:11 +0000 (13:53 -0800)]
Replace if statements.

2 months agoStart replacing if statement conditional branching with select statements to avoid...
Chris Duncan [Thu, 9 Jan 2025 21:49:24 +0000 (13:49 -0800)]
Start replacing if statement conditional branching with select statements to avoid thread divergence.

2 months agoTake another benchmark.
Chris Duncan [Thu, 9 Jan 2025 21:48:55 +0000 (13:48 -0800)]
Take another benchmark.

2 months agoDeprecate G function.
Chris Duncan [Thu, 9 Jan 2025 21:39:38 +0000 (13:39 -0800)]
Deprecate G function.

2 months agoInline G mix round 11. Inlining complete.
Chris Duncan [Thu, 9 Jan 2025 21:33:31 +0000 (13:33 -0800)]
Inline G mix round 11. Inlining complete.

2 months agoInline G mix round 10.
Chris Duncan [Thu, 9 Jan 2025 21:23:17 +0000 (13:23 -0800)]
Inline G mix round 10.

2 months agoWhitespace.
Chris Duncan [Thu, 9 Jan 2025 21:13:24 +0000 (13:13 -0800)]
Whitespace.

2 months agoInline G mix round 9.
Chris Duncan [Thu, 9 Jan 2025 21:09:38 +0000 (13:09 -0800)]
Inline G mix round 9.

2 months agoTake a benchmark.
Chris Duncan [Thu, 9 Jan 2025 20:40:09 +0000 (12:40 -0800)]
Take a benchmark.

2 months agoInline G mix round 8.
Chris Duncan [Thu, 9 Jan 2025 20:34:46 +0000 (12:34 -0800)]
Inline G mix round 8.

2 months agoInline G mix round 7.
Chris Duncan [Thu, 9 Jan 2025 20:09:26 +0000 (12:09 -0800)]
Inline G mix round 7.

2 months agoInline G mix round 6.
Chris Duncan [Thu, 9 Jan 2025 19:58:23 +0000 (11:58 -0800)]
Inline G mix round 6.

2 months agoInline G mix round 5 (halfway there).
Chris Duncan [Thu, 9 Jan 2025 19:49:10 +0000 (11:49 -0800)]
Inline G mix round 5 (halfway there).

2 months agoLog another benchmark.
Chris Duncan [Thu, 9 Jan 2025 19:39:22 +0000 (11:39 -0800)]
Log another benchmark.

2 months agoSubstitute if statements in original G mix function just to see additional benchmark...
Chris Duncan [Thu, 9 Jan 2025 19:35:20 +0000 (11:35 -0800)]
Substitute if statements in original G mix function just to see additional benchmark changes.

2 months agoBenchmark medium workload after inlining 5 rounds of G mixing.
Chris Duncan [Thu, 9 Jan 2025 19:34:46 +0000 (11:34 -0800)]
Benchmark medium workload after inlining 5 rounds of G mixing.

2 months agoInline G mix round 4.
Chris Duncan [Thu, 9 Jan 2025 19:23:13 +0000 (11:23 -0800)]
Inline G mix round 4.

2 months agoInline G mix round 3.
Chris Duncan [Thu, 9 Jan 2025 19:01:17 +0000 (11:01 -0800)]
Inline G mix round 3.

2 months agoBenchmark medium workload after inlining 3 rounds of G mixing. New best 19.5 ms!
Chris Duncan [Thu, 9 Jan 2025 18:49:08 +0000 (10:49 -0800)]
Benchmark medium workload after inlining 3 rounds of G mixing. New best 19.5 ms!

2 months agoInline G mix round 2.
Chris Duncan [Thu, 9 Jan 2025 18:41:45 +0000 (10:41 -0800)]
Inline G mix round 2.

2 months agoRemove semicolons from documentational comments so that they throw a compiler error...
Chris Duncan [Thu, 9 Jan 2025 18:24:15 +0000 (10:24 -0800)]
Remove semicolons from documentational comments so that they throw a compiler error if accidentally processed.

2 months agoInline G mix 7 of round 1.
Chris Duncan [Thu, 9 Jan 2025 17:36:08 +0000 (09:36 -0800)]
Inline G mix 7 of round 1.

2 months agoInline G mix 6 of round 1.
Chris Duncan [Thu, 9 Jan 2025 17:34:43 +0000 (09:34 -0800)]
Inline G mix 6 of round 1.

2 months agoInline G mix 5 of round 1.
Chris Duncan [Thu, 9 Jan 2025 17:32:12 +0000 (09:32 -0800)]
Inline G mix 5 of round 1.

2 months agoInline G mix 4 of round 1.
Chris Duncan [Thu, 9 Jan 2025 17:29:09 +0000 (09:29 -0800)]
Inline G mix 4 of round 1.

2 months agoInline G mix 3 of round 1.
Chris Duncan [Thu, 9 Jan 2025 16:12:16 +0000 (08:12 -0800)]
Inline G mix 3 of round 1.

2 months agoApply non-branching logic to original WebGL pow shader.
Chris Duncan [Thu, 9 Jan 2025 16:08:29 +0000 (08:08 -0800)]
Apply non-branching logic to original WebGL pow shader.

2 months agoCommit if statement replacement with select function, but do not replace all instance...
Chris Duncan [Thu, 9 Jan 2025 15:40:25 +0000 (07:40 -0800)]
Commit if statement replacement with select function, but do not replace all instances yet until mixing rounds are done being inlined.

2 months agoInline G mis 2 of round 1.
Chris Duncan [Thu, 9 Jan 2025 15:21:55 +0000 (07:21 -0800)]
Inline G mis 2 of round 1.

2 months agoInline G mix 1 of round 1.
Chris Duncan [Thu, 9 Jan 2025 15:14:47 +0000 (07:14 -0800)]
Inline G mix 1 of round 1.

2 months agoInline G mix 0 of round 1.
Chris Duncan [Thu, 9 Jan 2025 15:11:09 +0000 (07:11 -0800)]
Inline G mix 0 of round 1.

2 months agoIf reset is called, cpuBuffer is destroyed, so it does not make sense to then unmap...
Chris Duncan [Thu, 9 Jan 2025 14:59:46 +0000 (06:59 -0800)]
If reset is called, cpuBuffer is destroyed, so it does not make sense to then unmap it, so do that in the try block. Also try searching again after resetting.

2 months agoUpload new bundle for testing.
Chris Duncan [Thu, 9 Jan 2025 13:56:39 +0000 (05:56 -0800)]
Upload new bundle for testing.

2 months agoReset busy flag on device loss. Tighten try-catch block when getting results from...
Chris Duncan [Thu, 9 Jan 2025 13:55:48 +0000 (05:55 -0800)]
Reset busy flag on device loss. Tighten try-catch block when getting results from GPU. Add reset function so it can be called automatically on device loss or manually on other errors.

2 months agoAdd error handling to test page. Upload new bundle for testing.
Chris Duncan [Thu, 9 Jan 2025 08:15:07 +0000 (00:15 -0800)]
Add error handling to test page. Upload new bundle for testing.

2 months agoImplement busy flag to prevent concurrent initializations and searches. Rewrite init...
Chris Duncan [Thu, 9 Jan 2025 08:08:53 +0000 (00:08 -0800)]
Implement busy flag to prevent concurrent initializations and searches. Rewrite init as async function. Explicitly destroy buffers if device is lost. Setup buffers and pipeline in separate function call. Refactor search into a while loop instead of recursive promises. Unmap CPU buffer as soon as possible. Do not retry search on caught error.

2 months agoLay out inlining to all remaining rounds. New code is still commented out, so origina...
Chris Duncan [Wed, 8 Jan 2025 23:25:49 +0000 (15:25 -0800)]
Lay out inlining to all remaining rounds. New code is still commented out, so original G function calls still function as before.

2 months agoAdd some whitespace to better delineate the start and end of the G mixing section.
Chris Duncan [Wed, 8 Jan 2025 23:16:27 +0000 (15:16 -0800)]
Add some whitespace to better delineate the start and end of the G mixing section.

2 months agoUpload new bundle for testing.
Chris Duncan [Wed, 8 Jan 2025 22:55:49 +0000 (14:55 -0800)]
Upload new bundle for testing.

2 months agoRemove unused default exports that are now included in separate pow worker file.
Chris Duncan [Wed, 8 Jan 2025 22:53:35 +0000 (14:53 -0800)]
Remove unused default exports that are now included in separate pow worker file.

2 months agoAdjust error handling to try catching iOS error with more meaningful messaging.
Chris Duncan [Wed, 8 Jan 2025 22:53:07 +0000 (14:53 -0800)]
Adjust error handling to try catching iOS error with more meaningful messaging.

2 months agoTweak layout of web page used for platform testing.
Chris Duncan [Wed, 8 Jan 2025 22:37:04 +0000 (14:37 -0800)]
Tweak layout of web page used for platform testing.

2 months agoSave another benchmark with improved geometric mean and new best for minimum time...
Chris Duncan [Wed, 8 Jan 2025 22:30:05 +0000 (14:30 -0800)]
Save another benchmark with improved geometric mean and new best for minimum time at 21.6ms!

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

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

2 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.

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

2 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.

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

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

2 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.

2 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.

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

2 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.

2 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.

2 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.

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

2 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.

2 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.

2 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.

2 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.

2 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.

2 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/

2 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.

2 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.

2 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.

2 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.

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

2 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.

2 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.

2 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.