]>
zoso.dev Git - nano-pow.git/log
Chris Duncan [Thu, 12 Jun 2025 21:39:10 +0000 (14:39 -0700)]
Start migrated GPU to workflow to align with GL updates.
Chris Duncan [Thu, 12 Jun 2025 21:38:51 +0000 (14:38 -0700)]
Add lots more benchmark metrics for truncated range.
Chris Duncan [Thu, 12 Jun 2025 21:38:25 +0000 (14:38 -0700)]
Rename vars for truncated values for clarity.
Chris Duncan [Thu, 12 Jun 2025 20:55:01 +0000 (13:55 -0700)]
Order averages descending.
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.
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.
Chris Duncan [Thu, 12 Jun 2025 03:15:32 +0000 (20:15 -0700)]
Fix timeout error thrown when found if timing is just right.
Chris Duncan [Wed, 11 Jun 2025 21:22:39 +0000 (14:22 -0700)]
Fix test script output.
Chris Duncan [Wed, 11 Jun 2025 21:21:26 +0000 (14:21 -0700)]
Add grouped logger to GL.
Chris Duncan [Wed, 11 Jun 2025 21:13:18 +0000 (14:13 -0700)]
Implement new grouped logging in validation.
Chris Duncan [Wed, 11 Jun 2025 21:13:04 +0000 (14:13 -0700)]
Add grouping to Logger class to keep related messages together.
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.
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.
Chris Duncan [Wed, 11 Jun 2025 20:32:25 +0000 (13:32 -0700)]
Remove debugger statement.
Chris Duncan [Wed, 11 Jun 2025 19:10:12 +0000 (12:10 -0700)]
Fix default length of utility function.
Chris Duncan [Wed, 11 Jun 2025 18:12:24 +0000 (11:12 -0700)]
Adjust wording in test script and temporarily maximize effort.
Chris Duncan [Wed, 11 Jun 2025 17:23:58 +0000 (10:23 -0700)]
Whitespace and reorder CLI arg parsing.
Chris Duncan [Wed, 11 Jun 2025 17:23:22 +0000 (10:23 -0700)]
Remove redundant datetime value from chained logger output.
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.
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.
Chris Duncan [Tue, 10 Jun 2025 21:10:12 +0000 (14:10 -0700)]
Remove overly verbose debug output from CLI test.
Chris Duncan [Tue, 10 Jun 2025 21:09:10 +0000 (14:09 -0700)]
Add CLI tests to test script.
Chris Duncan [Tue, 10 Jun 2025 21:08:50 +0000 (14:08 -0700)]
Broadcast listening message from server to pipes.
Chris Duncan [Tue, 10 Jun 2025 21:08:33 +0000 (14:08 -0700)]
Consume dummy response from CLI startup.
Chris Duncan [Tue, 10 Jun 2025 20:25:55 +0000 (13:25 -0700)]
Fix CPU hash result comparison and remove unnecessary variable.
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.
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
}
}
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.
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.
Chris Duncan [Tue, 10 Jun 2025 14:04:58 +0000 (07:04 -0700)]
Add return type to utility function.
Chris Duncan [Tue, 10 Jun 2025 13:45:59 +0000 (06:45 -0700)]
Fix validation hash output padding.
Chris Duncan [Tue, 10 Jun 2025 12:58:51 +0000 (05:58 -0700)]
Delete redundant loop condition variable.
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.
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.
Chris Duncan [Mon, 9 Jun 2025 21:22:47 +0000 (14:22 -0700)]
End query immediately after drawing instead of waiting to unbind framebuffer.
Chris Duncan [Mon, 9 Jun 2025 21:22:06 +0000 (14:22 -0700)]
Log when reset is done. Fix redundant null check.
Chris Duncan [Mon, 9 Jun 2025 21:16:27 +0000 (14:16 -0700)]
Initialize downsample FBO array at setup instead of import.
Chris Duncan [Mon, 9 Jun 2025 21:15:19 +0000 (14:15 -0700)]
Reduce size of pixels array which is way larger than necessary.
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.
Chris Duncan [Mon, 9 Jun 2025 20:13:37 +0000 (13:13 -0700)]
Clear RAF on check error.
Chris Duncan [Mon, 9 Jun 2025 19:28:19 +0000 (12:28 -0700)]
Clean up RAF when generate is done.
Chris Duncan [Mon, 9 Jun 2025 19:25:50 +0000 (12:25 -0700)]
Comment formatting.
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.
Chris Duncan [Mon, 9 Jun 2025 18:28:47 +0000 (11:28 -0700)]
Comment formatting.
Chris Duncan [Mon, 9 Jun 2025 18:28:06 +0000 (11:28 -0700)]
Zero out animation frame handle during reset.
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.
Chris Duncan [Mon, 9 Jun 2025 18:01:15 +0000 (11:01 -0700)]
Remove another debug flag.
Chris Duncan [Mon, 9 Jun 2025 18:01:00 +0000 (11:01 -0700)]
Fix attempted delete of FBO instead of its texture.
Chris Duncan [Mon, 9 Jun 2025 18:00:33 +0000 (11:00 -0700)]
Separate context from canvas initialization.
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.
Chris Duncan [Mon, 9 Jun 2025 14:49:04 +0000 (07:49 -0700)]
Fix paths in config files.
Chris Duncan [Mon, 9 Jun 2025 14:42:21 +0000 (07:42 -0700)]
Update imports and build scripts.
Chris Duncan [Mon, 9 Jun 2025 14:31:10 +0000 (07:31 -0700)]
Adjust imports for validate functions.
Chris Duncan [Mon, 9 Jun 2025 14:24:22 +0000 (07:24 -0700)]
Move config into its own directory. Update import paths.
Chris Duncan [Mon, 9 Jun 2025 14:22:32 +0000 (07:22 -0700)]
Move generate implementations into generate directory.
Chris Duncan [Sun, 8 Jun 2025 20:32:14 +0000 (13:32 -0700)]
Split CPU generate and validate.
Chris Duncan [Sun, 8 Jun 2025 20:17:02 +0000 (13:17 -0700)]
Use logger class in CPU implementation.
Chris Duncan [Sun, 8 Jun 2025 07:43:43 +0000 (00:43 -0700)]
Add option to disable generate self-check on test page.
Chris Duncan [Sun, 8 Jun 2025 07:27:40 +0000 (00:27 -0700)]
Fix timeout error handling.
Chris Duncan [Sun, 8 Jun 2025 06:16:48 +0000 (23:16 -0700)]
Use logger class in GL implementation.
Chris Duncan [Sun, 8 Jun 2025 06:07:21 +0000 (23:07 -0700)]
Refactor bigint prototype extensions to helper function module.
Chris Duncan [Thu, 5 Jun 2025 22:11:29 +0000 (15:11 -0700)]
Extend bigint with random function.
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.
Chris Duncan [Thu, 5 Jun 2025 18:31:00 +0000 (11:31 -0700)]
Indicate in output when logs are from browser instance.
Chris Duncan [Wed, 4 Jun 2025 21:56:32 +0000 (14:56 -0700)]
Extend GPU timeout periods.
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.
Chris Duncan [Wed, 4 Jun 2025 21:38:22 +0000 (14:38 -0700)]
Split initial steps and compute steps for separate recovery attempts.
Chris Duncan [Wed, 4 Jun 2025 21:36:34 +0000 (14:36 -0700)]
Type guard queue tasks.
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.
Chris Duncan [Wed, 4 Jun 2025 18:50:47 +0000 (11:50 -0700)]
Extract queuing feature to utility class.
Chris Duncan [Wed, 4 Jun 2025 18:50:28 +0000 (11:50 -0700)]
Fix bigint extension when prefix included.
Chris Duncan [Wed, 4 Jun 2025 18:50:10 +0000 (11:50 -0700)]
Add self-check of generate results to test page.
Chris Duncan [Wed, 4 Jun 2025 17:53:35 +0000 (10:53 -0700)]
Disable "Go" button on test page during test.
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.
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.
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.
Chris Duncan [Tue, 3 Jun 2025 21:39:04 +0000 (14:39 -0700)]
Simplify error handling again.
Chris Duncan [Tue, 3 Jun 2025 21:16:44 +0000 (14:16 -0700)]
Improve error handling throughout GPU.
Chris Duncan [Tue, 3 Jun 2025 18:31:14 +0000 (11:31 -0700)]
Short processing queue idle check.
Chris Duncan [Tue, 3 Jun 2025 18:21:15 +0000 (11:21 -0700)]
Fix processing queue executing multiple tasks.
Chris Duncan [Tue, 3 Jun 2025 04:25:16 +0000 (21:25 -0700)]
Catch reset errors.
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.
Chris Duncan [Tue, 3 Jun 2025 04:21:03 +0000 (21:21 -0700)]
Context recovery should take way less than 30s.
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.
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.
Chris Duncan [Mon, 2 Jun 2025 21:52:05 +0000 (14:52 -0700)]
Lazy load GL canvas and context.
Chris Duncan [Mon, 2 Jun 2025 21:51:40 +0000 (14:51 -0700)]
Remove unused WASM variable.
Chris Duncan [Mon, 2 Jun 2025 21:51:27 +0000 (14:51 -0700)]
Remove unused import and add logging to server.
Chris Duncan [Mon, 2 Jun 2025 19:57:13 +0000 (12:57 -0700)]
Delete redundant buffer binding.
Chris Duncan [Mon, 2 Jun 2025 19:23:19 +0000 (12:23 -0700)]
Pass input UBO components by separate views and offsets.
Chris Duncan [Mon, 2 Jun 2025 16:54:44 +0000 (09:54 -0700)]
Simplify GL uniform nomenclature.
Chris Duncan [Mon, 2 Jun 2025 16:54:17 +0000 (09:54 -0700)]
Copy GPU and GL tsconfig files into build/ for IDE validation.
Chris Duncan [Mon, 2 Jun 2025 12:50:04 +0000 (05:50 -0700)]
Include SPDX headers in generated compute shader.
Chris Duncan [Mon, 2 Jun 2025 12:42:07 +0000 (05:42 -0700)]
Merge branch 'test/refactor' into next/cpu
Chris Duncan [Sun, 1 Jun 2025 23:16:04 +0000 (16:16 -0700)]
Refactor recovery process for GPU.
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.
Chris Duncan [Sun, 1 Jun 2025 19:58:56 +0000 (12:58 -0700)]
Fix GPU debug logging.
Chris Duncan [Sun, 1 Jun 2025 19:58:36 +0000 (12:58 -0700)]
Fix 64-bit CPRNG.
Chris Duncan [Sun, 1 Jun 2025 19:47:41 +0000 (12:47 -0700)]
Extract generate queue to outer class that calls API-specific method.
Chris Duncan [Sun, 1 Jun 2025 08:07:34 +0000 (01:07 -0700)]
Use crypto random values for better quality randomness.