Skip to content
This repository was archived by the owner on Feb 19, 2026. It is now read-only.

Releases: LostBeard/SpawnDev.ILGPU.WebGPU

SpawnDev.ILGPU.WebGPU v1.3.0

07 Feb 05:07

Choose a tag to compare

SpawnDev.ILGPU.WebGPU v1.2.0

06 Feb 21:49

Choose a tag to compare

Release v1.2.0

This release introduces major architectural improvements and robust 64-bit emulation support, making SpawnDev.ILGPU.WebGPU more flexible and powerful for high-precision GPGPU tasks in Blazor WebAssembly.

🚀 Key Highlights

💎 High-Performance 64-bit Emulation (F64/I64)

Version 1.2.0 brings full, verified support for 64-bit floating-point (double) and 64-bit integer (long) emulation.

  • F64 Emulation: Enables high-precision calculations (like deep Mandelbrot zooms up to 10¹²) on WebGPU hardware that only natively supports 32-bit floats.
  • I64 Emulation: Provides full 64-bit integer arithmetic support within kernels.
  • Verified Robustness: 100% pass rate across 22 comprehensive emulation unit tests.

🏗️ Instance-Scoped Configuration

  • New WebGPUBackendOptions: Configure emulation and backend behaviors per-accelerator instance.

🎨 Mandelbrot Explorer 64-bit Demo

  • Real-time F64 Emulation: The Mandelbrot explorer now serves as a powerful demonstration of interactive 64-bit float emulation.
  • Extreme Zoom Capabilities: Seamlessly explorer deep into the Mandelbrot set up to 10¹² zoom, powered entirely by the emulated 64-bit backend.
  • Performance: Demonstrates high-performance kernels with constant 25ms render times even at extreme magnification.

🛠️ Performance & Cleanup

  • Console Cleanup: Removed verbose debug logging for production-ready performance.
  • Library Stability: Refactored internal code generation logic for cleaner WGSL output.

Full Changelog: v1.0.0...v1.2.0

SpawnDev.ILGPU.WebGPU v1.0.0

06 Feb 05:04

Choose a tag to compare

🚀 SpawnDev.ILGPU.WebGPU v1.0.0

Run ILGPU kernels directly in the browser using WebGPU!

This is the first stable release of SpawnDev.ILGPU.WebGPU, bringing GPU compute shaders to Blazor WebAssembly using the familiar ILGPU API.

✨ Highlights

  • Full ILGPU Compatibility - Use familiar APIs: ArrayView, Index1D/2D/3D, Group.Barrier(), math intrinsics, and more
  • Automatic WGSL Transpilation - Write kernels in C#, automatically compiled to WebGPU Shading Language
  • Blazor WebAssembly Integration - Seamless async GPU operations via SpawnDev.BlazorJS
  • No Native Dependencies - 100% managed C# implementation
  • Bundled Dependencies - Includes modified ILGPU and ILGPU.Algorithms DLLs optimized for WebGPU

📊 Test Coverage

75 comprehensive tests covering all supported ILGPU features:

Area Status
Memory (allocation, transfer, views)
1D/2D/3D Indexing
Arithmetic & Bitwise Operations
Math Functions (sin, cos, exp, sqrt, etc.)
Atomics (Add, Min, Max, CompareExchange)
Shared Memory & Barriers
Structs (simple & nested)
Control Flow (if/else, loops)
GPU Patterns (stencil, reduction, matrix multiply)

📦 Installation

dotnet add package SpawnDev.ILGPU.WebGPU

🎮 Quick Start

// Initialize ILGPU with WebGPU backend
var builder = Context.Create();
await builder.WebGPUAsync();
using var context = builder.ToContext();

// Create accelerator
var device = context.GetWebGPUDevices()[0];
using var accelerator = await device.CreateAcceleratorAsync(context);

// Allocate, execute, and read back
using var buffer = accelerator.Allocate1D(new float[64]);
var kernel = accelerator.LoadAutoGroupedStreamKernel<Index1D, ArrayView<float>>(MyKernel);
kernel((Index1D)64, buffer.View);
await accelerator.SynchronizeAsync();
var results = await buffer.CopyToHostAsync();

🌐 Live Demo

Try it now: lostbeard.github.io/SpawnDev.ILGPU.WebGPU

Includes an interactive Mandelbrot renderer and full test suite.

📋 Requirements

  • .NET 10.0 or later
  • WebGPU-capable browser: Chrome 113+, Edge 113+, or Firefox Nightly

⚠️ Blazor WASM Configuration

For published builds, add to your .csproj:

<PublishTrimmed>false</PublishTrimmed>
<RunAOTCompilation>false</RunAOTCompilation>

📚 Resources


Full Changelog: https://github.com/LostBeard/SpawnDev.ILGPU.WebGPU/commits/v1.0.0

SpawnDev.ILGPU.WebGPU v1.0.0-preview.2

05 Feb 15:33

Choose a tag to compare

SpawnDev.ILGPU.WebGPU v1.0.0-preview.2

Run ILGPU kernels directly in the browser using WebGPU!

SpawnDev.ILGPU.WebGPU is a WebGPU backend for ILGPU that enables GPU-accelerated compute in Blazor WebAssembly applications. Write your GPU kernels once in C# and run them on any WebGPU-capable browser.

✨ Features

  • ILGPU-compatible - Use familiar ILGPU APIs (ArrayView, Index1D/2D/3D, math intrinsics, etc.)
  • WGSL transpilation - C# kernels are automatically compiled to WebGPU Shading Language
  • Blazor WebAssembly - Seamless integration via SpawnDev.BlazorJS
  • Shared memory & atomics - Supports workgroup barriers and atomic operations

⚠️ Preview Notice

This is an early preview release. Some advanced ILGPU features may not yet be supported. Contributions and feedback are welcome!

📦 Installation

dotnet add package SpawnDev.ILGPU.WebGPU --prerelease

🔗 Resources