@plasius/gpu-lock-free-queue 0.1.1-beta.1 → 0.1.2-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/README.md +11 -0
- package/package.json +10 -2
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,20 @@ The format is based on **[Keep a Changelog](https://keepachangelog.com/en/1.1.0/
|
|
|
8
8
|
|
|
9
9
|
## [Unreleased]
|
|
10
10
|
|
|
11
|
+
- **Added**
|
|
12
|
+
- (placeholder)
|
|
13
|
+
|
|
14
|
+
- **Changed**
|
|
15
|
+
- (placeholder)
|
|
16
|
+
|
|
17
|
+
- **Fixed**
|
|
18
|
+
- (placeholder)
|
|
19
|
+
|
|
20
|
+
- **Security**
|
|
21
|
+
- (placeholder)
|
|
22
|
+
|
|
23
|
+
## [0.1.2-beta.0] - 2026-01-08
|
|
24
|
+
|
|
11
25
|
- **Added**
|
|
12
26
|
- (placeholder)
|
|
13
27
|
|
|
@@ -55,3 +69,4 @@ The format is based on **[Keep a Changelog](https://keepachangelog.com/en/1.1.0/
|
|
|
55
69
|
- Demo for enqueue/dequeue, FFT spectrogram, and randomness heuristics.
|
|
56
70
|
[0.1.1-beta.0]: https://github.com/Plasius-LTD/gpu-lock-free-queue/releases/tag/v0.1.1-beta.0
|
|
57
71
|
[0.1.1-beta.1]: https://github.com/Plasius-LTD/gpu-lock-free-queue/releases/tag/v0.1.1-beta.1
|
|
72
|
+
[0.1.2-beta.0]: https://github.com/Plasius-LTD/gpu-lock-free-queue/releases/tag/v0.1.2-beta.0
|
package/README.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# @plasius/gpu-lock-free-queue
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/@plasius/gpu-lock-free-queue)
|
|
4
|
+
[](https://github.com/Plasius-LTD/gpu-lock-free-queue/actions/workflows/ci.yml)
|
|
5
|
+
[](./LICENSE)
|
|
6
|
+
|
|
3
7
|
A minimal WebGPU lock-free MPMC ring queue using a per-slot sequence counter (Vyukov-style). This is a starter implementation focused on correctness, robustness, and low overhead.
|
|
4
8
|
|
|
5
9
|
## Install
|
|
@@ -35,6 +39,13 @@ python3 -m http.server
|
|
|
35
39
|
|
|
36
40
|
Then open `http://localhost:8000` and check the console/output.
|
|
37
41
|
|
|
42
|
+
## Tests
|
|
43
|
+
```
|
|
44
|
+
npm run test:unit
|
|
45
|
+
npm run test:coverage
|
|
46
|
+
npm run test:e2e
|
|
47
|
+
```
|
|
48
|
+
|
|
38
49
|
## Files
|
|
39
50
|
- `demo/index.html`: Loads the demo.
|
|
40
51
|
- `demo/main.js`: WebGPU setup, enqueue/dequeue test, FFT spectrogram, and randomness heuristics.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plasius/gpu-lock-free-queue",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2-beta.0",
|
|
4
4
|
"description": "WebGPU lock-free MPMC ring queue with sequence counters.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -18,7 +18,11 @@
|
|
|
18
18
|
"./package.json": "./package.json"
|
|
19
19
|
},
|
|
20
20
|
"scripts": {
|
|
21
|
-
"demo": "python3 -m http.server"
|
|
21
|
+
"demo": "python3 -m http.server",
|
|
22
|
+
"test": "npm run test:unit",
|
|
23
|
+
"test:unit": "node --test",
|
|
24
|
+
"test:e2e": "npx playwright install chromium && playwright test",
|
|
25
|
+
"test:coverage": "c8 --reporter=lcov --reporter=text node --test"
|
|
22
26
|
},
|
|
23
27
|
"keywords": [
|
|
24
28
|
"webgpu",
|
|
@@ -34,6 +38,10 @@
|
|
|
34
38
|
],
|
|
35
39
|
"author": "Plasius LTD <development@plasius.co.uk>",
|
|
36
40
|
"license": "Apache-2.0",
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"@playwright/test": "^1.57.0",
|
|
43
|
+
"c8": "^10.1.3"
|
|
44
|
+
},
|
|
37
45
|
"repository": {
|
|
38
46
|
"type": "git",
|
|
39
47
|
"url": "git+https://github.com/Plasius-LTD/gpu-lock-free-queue.git"
|