You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ILGPU.P2P (closes P2PSwarm.TwoTab_PeerDiscovery regression):
P2PWebRtcBridge.wire.OnClose now filters phantom-alive wires (where
`Destroyed=false` but underlying transport is dead) using the new
`Wire.SimplePeer.IsTransportDead` accessor in SpawnDev.WebTorrent
3.2.3-rc.2. Both filter sites updated: the wireSet `RemoveWhere` and the
`torrent.Wires` cross-check walk. Catches the Chromium-under-Playwright
bug where `connectionstatechange` doesn't propagate to "failed" on
remote tab close, leaving the wire's Destroyed flag false and inflating
the canonical wireSet count. Verified: TwoTab passes 1m 37s standalone
(was failing at 90s timeout in 4.9.2-rc.34); LargeBuffer_100MB passes
3m 37s standalone (no regression). SpawnDev.WebTorrent dep bumped 3.2.2
-> 3.2.3-rc.2.
ILGPU (Wasm backend - configurable linear memory ceiling):
Adds `WasmBackendOptions.MaxLinearMemoryPages` (default 16384 / 1 GiB,
configurable up to 65536 / 4 GiB) so consumers whose working set
exceeds 1 GiB can opt into a larger SharedArrayBuffer-backed
WebAssembly.Memory `maximum`. Threaded through `WasmAccelerator.Create`
and the cached-memory `eval` strings; replaces the previous hardcoded
`maximum: 16384` at two call sites. Default behavior unchanged -
additive option. Required by SpawnDev.ILGPU.ML's DA3-Small graph
executor where total live allocations exceed 1 GiB at op 93. Note:
cached memory's maximum is fixed at instantiation; raising the option
after the accelerator already reused the cached memory has no effect.
Co-authored-by: TJ <lostit1278@gmail.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: SpawnDev.ILGPU.P2P/SpawnDev.ILGPU.P2P.csproj
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -4,8 +4,8 @@
4
4
<TargetFramework>net10.0</TargetFramework>
5
5
<ImplicitUsings>enable</ImplicitUsings>
6
6
<Nullable>enable</Nullable>
7
-
<Version>4.9.3</Version>
8
-
<PackageReleaseNotes>v4.9.3 stable: bundle bump in lockstep with SpawnDev.ILGPU 4.9.3. P2P source unchanged from 4.9.2-rc.35 (same phantom-DESTROYED-wire fix in `P2PWebRtcBridge.wire.OnClose`, same 240s/480s `LargeBuffer_100MB` test budgets, same `SpawnDev.WebTorrent 3.2.2` stable transitive dependency). Bumped to track the SpawnDev.ILGPU 4.9.3 stable release (new `ArrayView<T>.CopyToHostAsync()` partial-readback extension + WebGPU `Half` NaN/Inf codegen fix). Same known issue: `P2PSwarm.TwoTab_PeerDiscovery` still fails (Chromium-under-Playwright phantom-ALIVE wire issue; needs separate active-liveness probe).</PackageReleaseNotes>
7
+
<Version>4.9.4-rc.1</Version>
8
+
<PackageReleaseNotes>v4.9.4-rc.1: closes `P2PSwarm.TwoTab_PeerDiscovery` regression. `P2PWebRtcBridge.wire.OnClose` now filters phantom-alive wires (where `Destroyed=false` but underlying transport is dead) using the new `Wire.SimplePeer.IsTransportDead` accessor in SpawnDev.WebTorrent 3.2.3-rc.2. Catches the Chromium-under-Playwright bug where `connectionstatechange` does not propagate to `"failed"` on remote tab close, leaving wire's `Destroyed` flag false and inflating the canonical wireSet count. Both bridge filter sites updated: the wireSet `RemoveWhere` and the `torrent.Wires` cross-check walk. SpawnDev.WebTorrent dep bumped 3.2.2 -> 3.2.3-rc.2 (rc.2 ships synthesis-aware IsTransportDead — reads RtcPeer's `_lastObservedPcState` captured from the OnConnectionStateChange event instead of the JS-native `connectionState` which Chromium-under-Playwright leaves stuck at `"connected"` indefinitely).</PackageReleaseNotes>
Copy file name to clipboardExpand all lines: SpawnDev.ILGPU/SpawnDev.ILGPU.csproj
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -4,8 +4,8 @@
4
4
<TargetFramework>net10.0</TargetFramework>
5
5
<ImplicitUsings>enable</ImplicitUsings>
6
6
<Nullable>enable</Nullable>
7
-
<Version>4.9.3</Version>
8
-
<PackageReleaseNotes>v4.9.3 stable: bug-fix follow-up to v4.9.2. (1) New `ArrayView<T>.CopyToHostAsync()` extension: real per-backend partial readback for sub-views. WebGPU uses `queue.CopyBufferToBuffer` + `mapAsync` of just the slice; WebGL uses the GL-worker's partial-range readback; Wasm slices the SharedArrayBuffer slot directly; CUDA / OpenCL / CPU use ILGPU's native `view.CopyToCPU(target)` which encodes the partial range through the view's offset and length. Closes the `Buffer.BlockCopy` cardinal-rule violation in SpawnDev.Codecs decoder integration - one device buffer can now be split into per-channel / per-plane host arrays without iterating over codec data on the host. (2) WebGPU `Half` NaN/Inf bit-pattern codegen fix: WGSL multi-compare paths emit IEEE 754 bit-pattern checks; the 4.9.2 codegen used the f32 mask constants and `bitcast<u32>(operand)` directly, but WGSL rejects `bitcast<u32>(f16)`. Codegen now routes f16 through `bitcast<u32>(vec2<f16>(x, 0.0h))` with f16 mask constants (`0x7C00` exponent, `0x03FF` mantissa). Closes `HalfNaNComparisonTest` failure on WebGPU. (3) `P2P_Dispatcher_Create` test expectation aligned with the intentional 60s `DispatchTimeoutMs` default (was historically asserting the now-too-tight 30s). See [CHANGELOG.md](CHANGELOG.md) for the full per-version history.</PackageReleaseNotes>
7
+
<Version>4.9.4-rc.1</Version>
8
+
<PackageReleaseNotes>v4.9.4-rc.1: configurable Wasm linear-memory ceiling. Adds `WasmBackendOptions.MaxLinearMemoryPages` (default 16384 / 1 GiB) so consumers whose working set exceeds the default can opt into a larger SharedArrayBuffer-backed `WebAssembly.Memory` `maximum`. Browsers support up to 65536 pages (4 GiB) for shared memory. Default unchanged - existing consumers see identical behavior. Required by `SpawnDev.ILGPU.ML`'s DA3-Small graph executor where total live allocations exceed 1 GiB at op 93. Note: the cached memory's `maximum` is fixed at instantiation; raising the option after the accelerator already reused the cached memory has no effect. See [CHANGELOG.md](CHANGELOG.md) for the full per-version history.</PackageReleaseNotes>
0 commit comments