]> zoso.dev Git - nano-pow.git/log
nano-pow.git
23 hours agoStart migrated GPU to workflow to align with GL updates. next/cpu
Chris Duncan [Thu, 12 Jun 2025 21:39:10 +0000 (14:39 -0700)]
Start migrated GPU to workflow to align with GL updates.

23 hours agoAdd lots more benchmark metrics for truncated range.
Chris Duncan [Thu, 12 Jun 2025 21:38:51 +0000 (14:38 -0700)]
Add lots more benchmark metrics for truncated range.

23 hours agoRename vars for truncated values for clarity.
Chris Duncan [Thu, 12 Jun 2025 21:38:25 +0000 (14:38 -0700)]
Rename vars for truncated values for clarity.

24 hours agoOrder averages descending.
Chris Duncan [Thu, 12 Jun 2025 20:55:01 +0000 (13:55 -0700)]
Order averages descending.

29 hours agoUpdate bin message passing.
Chris Duncan [Thu, 12 Jun 2025 15:48:31 +0000 (08:48 -0700)]
Update bin message passing.
Change property name in passed message from 'message' to 'data' for clarity.
Implement Serializable type as defined by @types/node and add in-function type guard to get the transpiled JS file to accept it.

30 hours agoUpdate type definitions.
Chris Duncan [Thu, 12 Jun 2025 15:11:51 +0000 (08:11 -0700)]
Update type definitions.
Remove types that do not need to be exported to the end user.
Move single-use types into their respective implementor files.
Alphabetize exported types.

42 hours agoFix timeout error thrown when found if timing is just right.
Chris Duncan [Thu, 12 Jun 2025 03:15:32 +0000 (20:15 -0700)]
Fix timeout error thrown when found if timing is just right.

47 hours agoFix test script output.
Chris Duncan [Wed, 11 Jun 2025 21:22:39 +0000 (14:22 -0700)]
Fix test script output.

47 hours agoAdd grouped logger to GL.
Chris Duncan [Wed, 11 Jun 2025 21:21:26 +0000 (14:21 -0700)]
Add grouped logger to GL.

2 days agoImplement new grouped logging in validation.
Chris Duncan [Wed, 11 Jun 2025 21:13:18 +0000 (14:13 -0700)]
Implement new grouped logging in validation.

2 days agoAdd grouping to Logger class to keep related messages together.
Chris Duncan [Wed, 11 Jun 2025 21:13:04 +0000 (14:13 -0700)]
Add grouping to Logger class to keep related messages together.

2 days agoDouble number of FBOs to 4 in order to fill RAF more efficiently at 60fps.
Chris Duncan [Wed, 11 Jun 2025 20:55:22 +0000 (13:55 -0700)]
Double number of FBOs to 4 in order to fill RAF more efficiently at 60fps.

2 days agoSet draw program once to save GPU call overhead on every frame. Clarify doc comments.
Chris Duncan [Wed, 11 Jun 2025 20:54:45 +0000 (13:54 -0700)]
Set draw program once to save GPU call overhead on every frame. Clarify doc comments.

2 days agoRemove debugger statement.
Chris Duncan [Wed, 11 Jun 2025 20:32:25 +0000 (13:32 -0700)]
Remove debugger statement.

2 days agoFix default length of utility function.
Chris Duncan [Wed, 11 Jun 2025 19:10:12 +0000 (12:10 -0700)]
Fix default length of utility function.

2 days agoAdjust wording in test script and temporarily maximize effort.
Chris Duncan [Wed, 11 Jun 2025 18:12:24 +0000 (11:12 -0700)]
Adjust wording in test script and temporarily maximize effort.

2 days agoWhitespace and reorder CLI arg parsing.
Chris Duncan [Wed, 11 Jun 2025 17:23:58 +0000 (10:23 -0700)]
Whitespace and reorder CLI arg parsing.

2 days agoRemove redundant datetime value from chained logger output.
Chris Duncan [Wed, 11 Jun 2025 17:23:22 +0000 (10:23 -0700)]
Remove redundant datetime value from chained logger output.

2 days agoChange IPC message type for clarity. Retain CLI server listener for IPC until IPC...
Chris Duncan [Wed, 11 Jun 2025 17:14:25 +0000 (10:14 -0700)]
Change IPC message type for clarity. Retain CLI server listener for IPC until IPC message received.

2 days agoRefactor CLI and server to properly communicate over IPC instead of TCP.
Chris Duncan [Wed, 11 Jun 2025 15:32:02 +0000 (08:32 -0700)]
Refactor CLI and server to properly communicate over IPC instead of TCP.

3 days agoRemove overly verbose debug output from CLI test.
Chris Duncan [Tue, 10 Jun 2025 21:10:12 +0000 (14:10 -0700)]
Remove overly verbose debug output from CLI test.

3 days agoAdd CLI tests to test script.
Chris Duncan [Tue, 10 Jun 2025 21:09:10 +0000 (14:09 -0700)]
Add CLI tests to test script.

3 days agoBroadcast listening message from server to pipes.
Chris Duncan [Tue, 10 Jun 2025 21:08:50 +0000 (14:08 -0700)]
Broadcast listening message from server to pipes.

3 days agoConsume dummy response from CLI startup.
Chris Duncan [Tue, 10 Jun 2025 21:08:33 +0000 (14:08 -0700)]
Consume dummy response from CLI startup.

3 days agoFix CPU hash result comparison and remove unnecessary variable.
Chris Duncan [Tue, 10 Jun 2025 20:25:55 +0000 (13:25 -0700)]
Fix CPU hash result comparison and remove unnecessary variable.

3 days agoRun validate self-test based on checkbox in addition to generate self-test on test...
Chris Duncan [Tue, 10 Jun 2025 20:25:31 +0000 (13:25 -0700)]
Run validate self-test based on checkbox in addition to generate self-test on test page.

3 days agoFix logged GL work per frame on test page. Firefox v139.0.1 benchmark:
Chris Duncan [Tue, 10 Jun 2025 18:24:36 +0000 (11:24 -0700)]
Fix logged GL work per frame on test page. Firefox v139.0.1 benchmark:
{
"NanoPow (WebGL) | Effort: 32 | Work per frame: 67108864": {
"count": 1000,
"total": 299538,
"rate": 3.9046655622180846,
"min": 34,
"max": 1650,
"median": 220,
"arithmetic": 299.538,
"truncated": 256.10387984981224,
"harmonic": 130.5338044564533,
"geometric": 202.40200303772156
}
}

3 days agoSave effort explicitly to ease canvas resizing. Fix resize bug when drawingBuffer...
Chris Duncan [Tue, 10 Jun 2025 18:12:30 +0000 (11:12 -0700)]
Save effort explicitly to ease canvas resizing. Fix resize bug when drawingBuffer max is smaller than viewport max. Refactor retry iteration.

3 days agoImplement double-buffering to allow overlap between query check and draw calls.
Chris Duncan [Tue, 10 Jun 2025 14:58:44 +0000 (07:58 -0700)]
Implement double-buffering to allow overlap between query check and draw calls.

3 days agoAdd return type to utility function.
Chris Duncan [Tue, 10 Jun 2025 14:04:58 +0000 (07:04 -0700)]
Add return type to utility function.

3 days agoFix validation hash output padding.
Chris Duncan [Tue, 10 Jun 2025 13:45:59 +0000 (06:45 -0700)]
Fix validation hash output padding.

3 days agoDelete redundant loop condition variable.
Chris Duncan [Tue, 10 Jun 2025 12:58:51 +0000 (05:58 -0700)]
Delete redundant loop condition variable.

3 days agoMove texture binding for downsampling out of loop since it only needs to be bound...
Chris Duncan [Mon, 9 Jun 2025 21:45:32 +0000 (14:45 -0700)]
Move texture binding for downsampling out of loop since it only needs to be bound once.

3 days agoQuery around draw call only instead of including viewport change. Remove unnecessary...
Chris Duncan [Mon, 9 Jun 2025 21:41:15 +0000 (14:41 -0700)]
Query around draw call only instead of including viewport change. Remove unnecessary texture binding since it is the render target, not used to modify textures.

3 days agoEnd query immediately after drawing instead of waiting to unbind framebuffer.
Chris Duncan [Mon, 9 Jun 2025 21:22:47 +0000 (14:22 -0700)]
End query immediately after drawing instead of waiting to unbind framebuffer.

3 days agoLog when reset is done. Fix redundant null check.
Chris Duncan [Mon, 9 Jun 2025 21:22:06 +0000 (14:22 -0700)]
Log when reset is done. Fix redundant null check.

4 days agoInitialize downsample FBO array at setup instead of import.
Chris Duncan [Mon, 9 Jun 2025 21:16:27 +0000 (14:16 -0700)]
Initialize downsample FBO array at setup instead of import.

4 days agoReduce size of pixels array which is way larger than necessary.
Chris Duncan [Mon, 9 Jun 2025 21:15:19 +0000 (14:15 -0700)]
Reduce size of pixels array which is way larger than necessary.

4 days agoReset first when running setup and again on error. Remove redundant integer check...
Chris Duncan [Mon, 9 Jun 2025 20:55:45 +0000 (13:55 -0700)]
Reset first when running setup and again on error. Remove redundant integer check on canvas size.

4 days agoClear RAF on check error.
Chris Duncan [Mon, 9 Jun 2025 20:13:37 +0000 (13:13 -0700)]
Clear RAF on check error.

4 days agoClean up RAF when generate is done.
Chris Duncan [Mon, 9 Jun 2025 19:28:19 +0000 (12:28 -0700)]
Clean up RAF when generate is done.

4 days agoComment formatting.
Chris Duncan [Mon, 9 Jun 2025 19:25:50 +0000 (12:25 -0700)]
Comment formatting.

4 days agoCheck all result pixel values to ensure value is found if low bits happen to be zero...
Chris Duncan [Mon, 9 Jun 2025 18:52:50 +0000 (11:52 -0700)]
Check all result pixel values to ensure value is found if low bits happen to be zero, and use shortcut behavior for truthiness.

4 days agoComment formatting.
Chris Duncan [Mon, 9 Jun 2025 18:28:47 +0000 (11:28 -0700)]
Comment formatting.

4 days agoZero out animation frame handle during reset.
Chris Duncan [Mon, 9 Jun 2025 18:28:06 +0000 (11:28 -0700)]
Zero out animation frame handle during reset.

4 days agoAdd missing context initialization in setup call. Downsample much more aggressively...
Chris Duncan [Mon, 9 Jun 2025 18:06:19 +0000 (11:06 -0700)]
Add missing context initialization in setup call. Downsample much more aggressively with 8 rounds. Add check to ensure final canvas is divisible by 256 for downsampling.

4 days agoRemove another debug flag.
Chris Duncan [Mon, 9 Jun 2025 18:01:15 +0000 (11:01 -0700)]
Remove another debug flag.

4 days agoFix attempted delete of FBO instead of its texture.
Chris Duncan [Mon, 9 Jun 2025 18:01:00 +0000 (11:01 -0700)]
Fix attempted delete of FBO instead of its texture.

4 days agoSeparate context from canvas initialization.
Chris Duncan [Mon, 9 Jun 2025 18:00:33 +0000 (11:00 -0700)]
Separate context from canvas initialization.

4 days agoRemove unused debug flag now that Logger is used. Add function to calculate max size...
Chris Duncan [Mon, 9 Jun 2025 18:00:02 +0000 (11:00 -0700)]
Remove unused debug flag now that Logger is used. Add function to calculate max size for device.

4 days agoFix paths in config files.
Chris Duncan [Mon, 9 Jun 2025 14:49:04 +0000 (07:49 -0700)]
Fix paths in config files.

4 days agoUpdate imports and build scripts.
Chris Duncan [Mon, 9 Jun 2025 14:42:21 +0000 (07:42 -0700)]
Update imports and build scripts.

4 days agoAdjust imports for validate functions.
Chris Duncan [Mon, 9 Jun 2025 14:31:10 +0000 (07:31 -0700)]
Adjust imports for validate functions.

4 days agoMove config into its own directory. Update import paths.
Chris Duncan [Mon, 9 Jun 2025 14:24:22 +0000 (07:24 -0700)]
Move config into its own directory. Update import paths.

4 days agoMove generate implementations into generate directory.
Chris Duncan [Mon, 9 Jun 2025 14:22:32 +0000 (07:22 -0700)]
Move generate implementations into generate directory.

5 days agoSplit CPU generate and validate.
Chris Duncan [Sun, 8 Jun 2025 20:32:14 +0000 (13:32 -0700)]
Split CPU generate and validate.

5 days agoUse logger class in CPU implementation.
Chris Duncan [Sun, 8 Jun 2025 20:17:02 +0000 (13:17 -0700)]
Use logger class in CPU implementation.

5 days agoAdd option to disable generate self-check on test page.
Chris Duncan [Sun, 8 Jun 2025 07:43:43 +0000 (00:43 -0700)]
Add option to disable generate self-check on test page.

5 days agoFix timeout error handling.
Chris Duncan [Sun, 8 Jun 2025 07:27:40 +0000 (00:27 -0700)]
Fix timeout error handling.

5 days agoUse logger class in GL implementation.
Chris Duncan [Sun, 8 Jun 2025 06:16:48 +0000 (23:16 -0700)]
Use logger class in GL implementation.

5 days agoRefactor bigint prototype extensions to helper function module.
Chris Duncan [Sun, 8 Jun 2025 06:07:21 +0000 (23:07 -0700)]
Refactor bigint prototype extensions to helper function module.

7 days agoExtend bigint with random function.
Chris Duncan [Thu, 5 Jun 2025 22:11:29 +0000 (15:11 -0700)]
Extend bigint with random function.

8 days agoFix missing debug flag assignment. Delay config file log until after logger is enabled.
Chris Duncan [Thu, 5 Jun 2025 18:42:57 +0000 (11:42 -0700)]
Fix missing debug flag assignment. Delay config file log until after logger is enabled.

8 days agoIndicate in output when logs are from browser instance.
Chris Duncan [Thu, 5 Jun 2025 18:31:00 +0000 (11:31 -0700)]
Indicate in output when logs are from browser instance.

8 days agoExtend GPU timeout periods.
Chris Duncan [Wed, 4 Jun 2025 21:56:32 +0000 (14:56 -0700)]
Extend GPU timeout periods.

8 days agoUse logger for debugging. Always reload device when restoring, it's cheap. Do not...
Chris Duncan [Wed, 4 Jun 2025 21:53:58 +0000 (14:53 -0700)]
Use logger for debugging. Always reload device when restoring, it's cheap. Do not add dispatch loop to queue, just await as usual.

8 days agoSplit initial steps and compute steps for separate recovery attempts.
Chris Duncan [Wed, 4 Jun 2025 21:38:22 +0000 (14:38 -0700)]
Split initial steps and compute steps for separate recovery attempts.

8 days agoType guard queue tasks.
Chris Duncan [Wed, 4 Jun 2025 21:36:34 +0000 (14:36 -0700)]
Type guard queue tasks.

9 days agoAllow queue calls to cut to the front of the line. Simplify lots of GPU logging....
Chris Duncan [Wed, 4 Jun 2025 19:28:09 +0000 (12:28 -0700)]
Allow queue calls to cut to the front of the line. Simplify lots of GPU logging. Eliminate redundant reset function.

9 days agoExtract queuing feature to utility class.
Chris Duncan [Wed, 4 Jun 2025 18:50:47 +0000 (11:50 -0700)]
Extract queuing feature to utility class.

9 days agoFix bigint extension when prefix included.
Chris Duncan [Wed, 4 Jun 2025 18:50:28 +0000 (11:50 -0700)]
Fix bigint extension when prefix included.

9 days agoAdd self-check of generate results to test page.
Chris Duncan [Wed, 4 Jun 2025 18:50:10 +0000 (11:50 -0700)]
Add self-check of generate results to test page.

9 days agoDisable "Go" button on test page during test.
Chris Duncan [Wed, 4 Jun 2025 17:53:35 +0000 (10:53 -0700)]
Disable "Go" button on test page during test.

9 days agoRefactor log utility function into class to allow separation of debug flags between...
Chris Duncan [Wed, 4 Jun 2025 15:03:15 +0000 (08:03 -0700)]
Refactor log utility function into class to allow separation of debug flags between implementations.

9 days agoDo not start when restoring, it has its own process. Remove deprecated function calls...
Chris Duncan [Wed, 4 Jun 2025 13:06:02 +0000 (06:06 -0700)]
Do not start when restoring, it has its own process. Remove deprecated function calls. Do not redestroy device already destroyed by browser.

9 days agoCombine GPU resource creation since they will always be initialized together and...
Chris Duncan [Wed, 4 Jun 2025 13:05:22 +0000 (06:05 -0700)]
Combine GPU resource creation since they will always be initialized together and extra functions are redundant.

9 days agoSimplify error handling again.
Chris Duncan [Tue, 3 Jun 2025 21:39:04 +0000 (14:39 -0700)]
Simplify error handling again.

10 days agoImprove error handling throughout GPU.
Chris Duncan [Tue, 3 Jun 2025 21:16:44 +0000 (14:16 -0700)]
Improve error handling throughout GPU.

10 days agoShort processing queue idle check.
Chris Duncan [Tue, 3 Jun 2025 18:31:14 +0000 (11:31 -0700)]
Short processing queue idle check.

10 days agoFix processing queue executing multiple tasks.
Chris Duncan [Tue, 3 Jun 2025 18:21:15 +0000 (11:21 -0700)]
Fix processing queue executing multiple tasks.

10 days agoCatch reset errors.
Chris Duncan [Tue, 3 Jun 2025 04:25:16 +0000 (21:25 -0700)]
Catch reset errors.

10 days agoUse isContextLost as a timeout for recovery. Throw if device cannot be recovered...
Chris Duncan [Tue, 3 Jun 2025 04:22:04 +0000 (21:22 -0700)]
Use isContextLost as a timeout for recovery. Throw if device cannot be recovered or setup fails.

10 days agoContext recovery should take way less than 30s.
Chris Duncan [Tue, 3 Jun 2025 04:21:03 +0000 (21:21 -0700)]
Context recovery should take way less than 30s.

10 days agoConvert context loss flag to timeout tracker to allow eventual exception if context...
Chris Duncan [Tue, 3 Jun 2025 03:56:43 +0000 (20:56 -0700)]
Convert context loss flag to timeout tracker to allow eventual exception if context restored event is never fired.

10 days agoFail entire GL generate call if context cannot be restored after loss.
Chris Duncan [Tue, 3 Jun 2025 03:46:56 +0000 (20:46 -0700)]
Fail entire GL generate call if context cannot be restored after loss.

10 days agoLazy load GL canvas and context.
Chris Duncan [Mon, 2 Jun 2025 21:52:05 +0000 (14:52 -0700)]
Lazy load GL canvas and context.

10 days agoRemove unused WASM variable.
Chris Duncan [Mon, 2 Jun 2025 21:51:40 +0000 (14:51 -0700)]
Remove unused WASM variable.

10 days agoRemove unused import and add logging to server.
Chris Duncan [Mon, 2 Jun 2025 21:51:27 +0000 (14:51 -0700)]
Remove unused import and add logging to server.

11 days agoDelete redundant buffer binding.
Chris Duncan [Mon, 2 Jun 2025 19:57:13 +0000 (12:57 -0700)]
Delete redundant buffer binding.

11 days agoPass input UBO components by separate views and offsets.
Chris Duncan [Mon, 2 Jun 2025 19:23:19 +0000 (12:23 -0700)]
Pass input UBO components by separate views and offsets.

11 days agoSimplify GL uniform nomenclature.
Chris Duncan [Mon, 2 Jun 2025 16:54:44 +0000 (09:54 -0700)]
Simplify GL uniform nomenclature.

11 days agoCopy GPU and GL tsconfig files into build/ for IDE validation.
Chris Duncan [Mon, 2 Jun 2025 16:54:17 +0000 (09:54 -0700)]
Copy GPU and GL tsconfig files into build/ for IDE validation.

11 days agoInclude SPDX headers in generated compute shader.
Chris Duncan [Mon, 2 Jun 2025 12:50:04 +0000 (05:50 -0700)]
Include SPDX headers in generated compute shader.

11 days agoMerge branch 'test/refactor' into next/cpu
Chris Duncan [Mon, 2 Jun 2025 12:42:07 +0000 (05:42 -0700)]
Merge branch 'test/refactor' into next/cpu

11 days agoRefactor recovery process for GPU.
Chris Duncan [Sun, 1 Jun 2025 23:16:04 +0000 (16:16 -0700)]
Refactor recovery process for GPU.

12 days agoImport extensions at entry point only so it doesn't need to be imported to each modul...
Chris Duncan [Sun, 1 Jun 2025 20:07:23 +0000 (13:07 -0700)]
Import extensions at entry point only so it doesn't need to be imported to each module individually after bundling.

12 days agoFix GPU debug logging.
Chris Duncan [Sun, 1 Jun 2025 19:58:56 +0000 (12:58 -0700)]
Fix GPU debug logging.

12 days agoFix 64-bit CPRNG.
Chris Duncan [Sun, 1 Jun 2025 19:58:36 +0000 (12:58 -0700)]
Fix 64-bit CPRNG.

12 days agoExtract generate queue to outer class that calls API-specific method.
Chris Duncan [Sun, 1 Jun 2025 19:47:41 +0000 (12:47 -0700)]
Extract generate queue to outer class that calls API-specific method.

12 days agoUse crypto random values for better quality randomness.
Chris Duncan [Sun, 1 Jun 2025 08:07:34 +0000 (01:07 -0700)]
Use crypto random values for better quality randomness.