Glacier.Inference
1.3.1
dotnet add package Glacier.Inference --version 1.3.1
NuGet\Install-Package Glacier.Inference -Version 1.3.1
<PackageReference Include="Glacier.Inference" Version="1.3.1" />
<PackageVersion Include="Glacier.Inference" Version="1.3.1" />
<PackageReference Include="Glacier.Inference" />
paket add Glacier.Inference --version 1.3.1
#r "nuget: Glacier.Inference, 1.3.1"
#:package Glacier.Inference@1.3.1
#addin nuget:?package=Glacier.Inference&version=1.3.1
#tool nuget:?package=Glacier.Inference&version=1.3.1
Glacier.Inference
<p align="center"> <img src="docs/images/glacier_inference_universal_banner.jpg" alt="Glacier.Inference Universal Matrix" width="100%" /> </p>
High-Performance Pure C# .NET 10 Large Language Model Engine and Server Runtime
========================================================================================================
GLACIER.INFERENCE: PURE C# .NET 10 UNIVERSAL LLM RUNTIME (ZERO PYTHON / ZERO C++ DLLs)
========================================================================================================
Cold Startup (Model Load) : < 15 ms (vs 2,500 ms in Python vLLM / Ollama — 160x Faster)
GPU Direct3D 12 Prefill : 52.46 tok/s (DeepSeek-R1-14B) via 4KB LDS Batched GEMM Shaders
GPU Bare-Metal SASS : 28.1 tok/s (NVIDIA RTX 4060) | 35+ tok/s (DirectX 12 Wave32)
Quantization Architecture : IQ1/IQ2/IQ3/IQ4, Q2_0, Q4_K_M, Q8_0, FP16, and 1.58-bit Ternary SIMD
CPU SIMD Throughput : Multi-threaded AVX-512 & AVX2 Batched GEMM (Zero Allocations)
Universal Matrix : Meta Llama 3 | DeepSeek-V3/R1 | Qwen 2.5/3.5 | Wan 2.1 Video | FLUX.1 DiT
========================================================================================================
NOTE: ASD-STE100 & Diátaxis Conformance
This document complies with ASD-STE100 (Simplified Technical English) and the Diátaxis documentation framework. Descriptions use short, unambiguous sentences ($\le 25$ words) in the active voice. Procedures provide direct imperative commands ($\le 20$ words). Content separates into four quadrants: Tutorial, How-To, Reference, and Explanation.
1. Dual-Layer Architecture: Metaphor & Scientific Specification
1.1 The Laymen Metaphor: "The Olympic Relay Runner with a Circular Notepad"
When an artificial intelligence writes an essay, it reads every past word to predict the next word. Standard software runtimes re-read the entire document from start to finish for every new token. This re-reading causes memory congestion and reduces generation speed.
Glacier.Inference operates like an Olympic relay runner with photographic memory.
The Circular Notepad (Unmanaged Ring-Buffer KV Cache):
The runner writes past thoughts into a circular notepad with fixed slots. When the notepad becomes full, the runner overwrites only the oldest notes in a smooth circle. The runner never drops the notepad to allocate more paper.Shorthand Pocket Reference (Advanced Quantization):
The runner stores a library of knowledge in high-precision numeric shorthand (4-bit, 3-bit, and 1.58-bit ternary super-blocks). This compression packs a 14-billion-parameter library into standard laptop GPU memory.The Baton Pass (Direct Hardware HAL):
The runner talks directly to graphics hardware processors (Direct3D 12, Vulkan, NVIDIA SASS, AMD HIP) through bare-metal machine instructions. This direct channel bypasses operating system intermediaries and delivers continuous generation at 50+ words per second.
1.2 Technical Architecture Specification
The technical architecture executes zero-allocation tensor operations across five tightly coupled subsystems:
flowchart TD
subgraph WeightBank ["1. Zero-Copy Model Ingestion (GGUF & Safetensors)"]
W1[GGUF / Safetensors Binary File] --> W2[MemoryMappedFile Base Pointer: byte*]
W2 --> W3[Zero-Alloc Header & Metadata Parser: Sub-15ms]
W3 --> W4["Super-Block Quantization Matrix: Q4_K, Q2_0, IQ3_S, BlockTernary256"]
end
subgraph Memory ["2. KV Cache & Ring-Buffer Sliding Window"]
K1[Logical Sequence Position: t] --> K2["Physical Slot: slot = t mod EffectiveWindowSize"]
K2 --> K3[Contiguous Unmanaged Memory: NativeMemory.AllocZeroed]
K3 --> K4[Grouped-Query Attention Strides: layer x headKv x slot]
end
subgraph TransformerBlock ["3. Autoregressive Transformer Block l in [0, L-1]"]
T1[Input Hidden State h_t] --> T2["RMSNorm Layer: x_norm = x / RMS(x) * gamma"]
T2 --> T3[QKV Linear Projection via Quantized GEMV]
T3 --> T4["RoPE Rotary Positional Embeddings: 1D, 2D Axial, or 3D Spatio-Temporal"]
T4 --> K1
T4 --> T5["Attention Core: Softmax(QK^T / sqrt(d) + Mask) * V"]
T5 --> T6[Attention Output Linear Projection]
T6 --> T7["Residual Sum: h' = h_t + AttnOut"]
T7 --> T8[RMSNorm Layer 2]
T8 --> T9["Fused SwiGLU / GeLU FFN Projection: Gate * SiLU * Up -> Down"]
T9 --> T10["Block Residual Sum: h_{t+1} = h' + FfnOut"]
end
subgraph HardwareHAL ["4. Heterogeneous Hardware Execution Backends"]
H1[Direct3D 12 Wave32 HLSL Compute]
H2[Vulkan 1.1 SPIR-V Compute]
H3[NVIDIA Direct SASS Driver: nvcuda.dll]
H4[AMD ROCm / HIP Driver: amdhip64.dll]
H5[CPU SIMD AVX-512 / AVX2 FMA Kernels]
end
subgraph DiffusionVideo ["5. Flow-Matching Video DiT & Neural VAE"]
V1[Text Conditioning Tokens: UMT5 / T5-XXL] --> V2[3D Spatio-Temporal DiT: 30 Blocks]
V2 --> V3["Flow-Matching Euler ODE Solver: sigma_shifted = 3*sigma / (1 + 2*sigma)"]
V3 --> V4[16-Channel Latents: 832x480 Widescreen]
V4 --> V5[194-Tensor 3D Causal VAE Decoder]
V5 --> V6[Truecolor APNG / GIF89a / RIFF AVI]
end
subgraph SamplingHead ["6. Speculative Decoding & GPU Sampling"]
T10 --> S1[Fused GPU Warp-Shuffle Argmax Kernel: 3.2 us]
S1 --> S2[Speculative Draft Verification: PromptLookup / N-gram Draft]
S2 --> S3[Next Generated Token ID]
end
W4 -.-> T3
W4 -.-> T9
HardwareHAL -.-> T3
HardwareHAL -.-> T5
HardwareHAL -.-> T9
HardwareHAL -.-> V2
HardwareHAL -.-> V5
classDef bank fill:#12161f,stroke:#66fcf1,stroke-width:1px,color:#f8f9fa;
classDef mem fill:#1a2230,stroke:#45a29e,stroke-width:1px,color:#f8f9fa;
classDef core fill:#0b0c10,stroke:#ffc107,stroke-width:1px,color:#f8f9fa;
classDef hal fill:#1f2833,stroke:#17a2b8,stroke-width:1px,color:#f8f9fa;
classDef dit fill:#16242f,stroke:#e83e8c,stroke-width:1px,color:#f8f9fa;
classDef out fill:#0b0c10,stroke:#28a745,stroke-width:1px,color:#f8f9fa;
class W1,W2,W3,W4 bank;
class K1,K2,K3,K4 mem;
class T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 core;
class H1,H2,H3,H4,H5 hal;
class V1,V2,V3,V4,V5,V6 dit;
class S1,S2,S3 out;
2. Universal Model Topology Matrix
Glacier.Inference executes all major open foundation model families with mathematical fidelity in pure C# .NET 10:
| Model Family | Core Architectural Topology | RoPE & Positional Encoding | Attention & FFN Kernels | Tested & Verified Target Models |
|---|---|---|---|---|
| Meta LLaMA 3 / 3.1 / 3.2 / 3.3 | Grouped-Query Attention (GQA), zero attention bias | Precomputed rope_freqs.weight scaling table across 128k context |
GQA with SIMD SwiGLU FFN | Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf |
| DeepSeek-V2 / V3 / R1 | Multi-Head Latent Attention (MLA) + MoE | Decoupled RoPE + Multi-scale YaRN ($mscaleBase$, $mscaleAllDim$) | 64 routed + 1 shared expert, low-rank KV | DeepSeek-Coder-V2-Lite-Instruct-Q4_K_M.gguf |
| Alibaba Qwen 2 & 2.5 | Dense & MoE GQA with per-head QKV bias | $10^6$ RoPE Base frequency with optional QK-Norm | Fused QKV projection with bias | Qwen2.5-7B-Instruct-Q4_K_M.gguf |
| Alibaba Qwen 3.5 & 3.6 | Gated DeltaNet (GDN) Linear Attention SSM + Interleaved Full Attention | Partial MRoPE ($dim=64$, $sections=[11,11,10,0]$) with 256-dim Head | Recurrent Associative Memory ($S_t$), Causal Conv1D, Q-Gate RMSNorm | Qwen3.5-9B, Qwen3.6-27B-UD |
| Alibaba Wan 2.1 Video DiT (1.3B) | 30-Block Spatio-Temporal Diffusion Transformer + 194-Tensor 3D Causal VAE | 3D-RoPE ($dim=64$) + QK-Norm + Self/Cross Attention | Flow-Matching Euler ODE ($shift=3.0$), 16-channel 3D VAE | Wan2.1-T2V-1.3B-Q4_K_M.gguf + wan_2.1_vae.safetensors |
| Black Forest Labs FLUX.1 (Schnell / Dev) | 57-Block Diffusion Transformer (19 DoubleStream + 38 SingleStream) + Neural VAE | 3D Rotary Positional Embeddings (3D-RoPE) | In-VRAM Resident GEMM + FlashAttention-2 + GeLU Concat + Tiled VAE | flux1-schnell-Q4_K_S.gguf + ae.safetensors |
| Microsoft Phi-4 & Phi-3 | Fused Attention & Fused Gate/Up FFN | Fast NeOX RoPE ($base = 250,000$) | Fused attn_qkv GEMV + Fused ffn_up SwiGLU |
phi-4-Q4_K_M.gguf (15B parameters) |
| Google Gemma 4 | Interleaved Sliding Window Attention (ISWA) + Dual MoE (Shared MLP + Sparse Experts) | Independent SWA / Global RoPE Frequencies (rope_freqs) |
Dual Shared FFN + Top-8 Gated MoE, GeLU-GLU, Logit Softcapping | google_gemma-4-E4B-it, gemma-4-26B-A4B-it |
| Mistral & Devstral | Standard GQA with ultra-wide context | Extreme $10^9$ RoPE Base frequency | Dense GQA + SwiGLU FFN | Devstral-Small-2505 (24B parameters) |
3. Verified Physical Hardware Benchmarks
All benchmark figures represent empirical measurements on physical hardware. We run benchmarks serially without simulated steps.
3.1 Benchmark 1: NVIDIA GeForce RTX 4060 Laptop GPU (Ada Lovelace, 8 GB GDDR6)
- Host Platform: AMD Ryzen AI 9 HX 370 + NVIDIA GeForce RTX 4060 Laptop GPU (128-bit bus, 256 GB/s physical memory bandwidth).
- Test Model:
DeepSeek-R1-Distill-Qwen-7B-Q4_K_M.gguf(4.68 GB).
| Performance Metric | Glacier.Inference (Pure C#) | Ollama (Go + C++ CUDA) | Head-to-Head Comparison |
|---|---|---|---|
| Physical Hardware | NVIDIA RTX 4060 Laptop GPU | NVIDIA RTX 4060 Laptop GPU | 100% Identical Hardware |
| Software Runtime | Pure C# .NET 10 (Native AOT) | Go + C++ CUDA / llama.cpp | Pure C# vs. Compiled C++ |
| External Dependencies | 0 Native C++ DLLs (direct nvcuda.dll) |
CUDA Toolkit, cuBLAS, libllama | Zero native toolchain overhead |
| Deployment Footprint | ~15 MB Single Executable | ~4.5 GB CUDA Toolkit + Go runtime | 300x lighter distribution |
| Engine Cold-Start | 1.50 s (in-process sub-50ms engine) | Daemon / Service spin-up required | Instant in-process execution |
| Turnaround (25 tokens) | 0.82 seconds (41.9 tok/s) | ~2.50 seconds (32.3 tok/s) | 3.0x faster end-to-end |
| Total Wall Time (50 tokens) | 1.41 seconds | 3.64 seconds | 2.5x faster (158% speedup) |
| Sustained Single Token Rate | 41.92 tokens/sec | 43.20 tokens/sec | Within 3% of compiled C++ cuBLAS |
| Speculative Decoding Rate | 72.5 – 104.8 tokens/sec | N/A (Standard serial decode) | 1.7x – 2.5x faster than Ollama |
| Sampling Latency | ~3.2 μs (Pure GPU argmax kernel) | ~800 μs (Host PCIe DtoH transfer) | 250x faster sampling reduction |
| KV-Cache Memory | Adaptive FP16 / FP8 (118–235 MB) | Fixed FP16 (~470 MB) | 50% to 75% less VRAM consumption |
| Memory Bus Saturation | 208.1 GB/s (81.3% of peak bus) | 216.8 GB/s (84.8% of peak bus) | Near hardware saturation limit |
3.2 Benchmark 2: AMD Radeon 890M Integrated GPU (RDNA 3.5, 16 CUs, 15.5 GB Unified Memory)
- Host Platform: AMD Ryzen AI 9 HX 370 + AMD Radeon 890M iGPU (16 CUs, RDNA 3.5, gfx1150) across 15.5 GB Unified DDR5/LPDDR5X.
- Test Model:
Qwen2.5-7B-Instruct-1M-Q4_K_M.gguf(4.68 GB).
| Performance Metric | Glacier.Inference (Pure C#) | Native C++ Baseline | Architectural Implementation |
|---|---|---|---|
| Physical Hardware | AMD Radeon 890M iGPU (16 CUs) | AMD Radeon 890M iGPU | 100% Identical Hardware |
| Software Runtime | Pure C# .NET 10 (Direct3D 12) | ROCm / DirectML C++ runtime | Pure C# vs. External C++ |
| External Dependencies | 0 Native C++ DLLs (Vortice.D3D12) |
Multi-GB ROCm / Vulkan runtime | Zero native toolchain bloat |
| Weight Upload Time | 4.46 s (Unified Memory) | Daemon initialization overhead | >1,050 MB/s direct upload into UMA |
| Prompt Eval Rate (Prefill) | 48.45 tokens/sec (619.1 ms) | ~45 – 55 tokens/sec | Register-tiled 32-token GEMM (HLSL Wave32) |
| Generation Rate (Decode) | 11.33 tokens/sec | ~10 – 12 tokens/sec | Full 7B Q4_K_M autoregressive SASS |
| Total Response Time | 2.39 seconds | 3.5 – 5.0+ seconds | Sub-2.5s end-to-end response |
| Display / DWM Safety | 100% Cooperative D3D12 | Risk of TDR timeouts on display | Zero desktop stutter or driver resets |
3.3 Benchmark 3: Mixture-of-Experts (MoE) Frontier Matrix (8B to 30B Total Parameters)
| Model Name | Provenance & Family | Active / Total Params | Quant Format | Memory Size | Tested Hardware Accelerator | Generation Rate | Architectural Features |
|---|---|---|---|---|---|---|---|
| Qwen3-30B-A3B | Alibaba / Qwen | 3B Active / 30B Total | Q3_K_L |
13.58 GB | AMD Radeon 890M (D3D12 UMA) | 21.68 tok/s | 128 Experts, Top-8 routing, QK RMSNorm |
| ERNIE-4.5-21B-A3B | Baidu / ERNIE | 3B Active / 21B Total | Q4_K_M |
14.20 GB | AMD Radeon 890M (D3D12 UMA) | 19.23 tok/s | 64 Experts, Top-6 routing, 2 Shared Experts |
| OpenAI gpt-oss-20b | OpenAI / MoE | ~3.5B Active / 20B Total | MXFP4 |
11.28 GB | AMD Ryzen AI 9 HX 370 (CPU) | 3.08 tok/s | Microscaling FP4, Attention Sinks |
| DeepSeek-Coder-V2 | DeepSeek / Coder | 2.4B Active / 16B Total | Q4_K_M |
9.65 GB | AMD Ryzen 9 6900HX (DDR5) | 5.60 tok/s | 64 Experts, MLA Latent KV, YaRN RoPE |
3.4 Benchmark 4: Generative Image Production & Neural VAE Decoding (FLUX.1 Schnell, RTX 4060)
- Model: Black Forest Labs FLUX.1 Schnell (
flux1-schnell-Q4_K_S.gguf, 4.7 GB DiT backbone, 57 blocks: 19 DoubleStream + 38 SingleStream) with Neural VAE Decoder (ae.safetensors, 335 MB, 244 conv/attention layers). - Hardware: Mobile Workstation / NVIDIA GeForce RTX 4060 Laptop GPU (8 GB GDDR6, Ada
sm_89).
| Performance Metric | CPU Baseline / Partial Offload | In-VRAM GPU Resident (sm_89) |
Speedup Factor | Architectural Implementation |
|---|---|---|---|---|
| 19 DoubleBlocks (per step) | ~45.0 s | 5.3 s | 8.5x faster | 19 blocks x 8 GEMMs + 3D-RoPE + FlashAttn-2 |
| 38 SingleBlocks (per step) | ~17.5 s | 11.8 s | 1.5x faster | Fused Linear1 + QKV unpack + RMSNorm + FlashAttn-2 |
| DiT Step Time (Flow Velocity) | ~62.5 s | 17.3 s | 3.6x faster | End-to-end VRAM residency; tokens stay on device |
| DiT 4-Step Trajectory (512x512) | 94.6 s | 69.8 s | +26% faster | 4-step Euler ODE flow matching trajectory |
| Neural VAE Decode (512x512) | 121.2 s (56% of total run) | 4.8 s | 25.1x faster | Pure CUDA tiled 3x3 conv + GroupNorm-SiLU |
| Total Turnaround (512x512) | 227.8 s (3.8 min) | 111.1 s (1.8 min) | > 2.0x overall | Sub-2-minute pure C# image generation |
| 1024x1024 VAE Decode (Tiled) | 566.8 s (Monolithic) | 22.6 s (Tiled VAE) | 25.0x faster | 2x2 grid of 544x544 tiles with feather blending |
4. Tutorial: 3-Minute Quickstart
This tutorial teaches you how to load a model and generate text tokens using the C# API.
4.1 Prerequisites
- Install .NET 10 SDK or .NET 9 SDK.
- Verify hardware drivers (NVIDIA Driver $\ge 535$, AMD Adrenalin $\ge 23.10$, or modern Windows Display Driver).
- Download a GGUF model (e.g.
Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf).
4.2 Step 1: Add NuGet Package
Run this command in your project directory:
dotnet add package Glacier.Inference
4.3 Step 2: Write Generation Code
Create Program.cs with the following implementation:
using System;
using Glacier.Inference.Engine;
using Glacier.Inference.Sampling;
// Initialize session with unmanaged memory mapping
using var session = new InferenceSession("Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf");
var options = new SamplingOptions
{
Temperature = 0.7f,
TopP = 0.9f,
MaxTokens = 128
};
Console.WriteLine("Prompt: Explain quicksort in C#.\n");
// Stream tokens with zero managed heap allocation
await session.GenerateAsync("Explain quicksort in C#.", options, onToken: token =>
{
Console.Write(token);
});
4.4 Step 3: Run the Program
Execute the application:
dotnet run -c Release
The engine maps model weights into unmanaged memory in $<15\text{ ms}$ and starts streaming tokens immediately.
5. How-To Guides: Practical Operational Tasks
5.1 How to Inspect a Model Header and Tensors
Run the inspect command:
glacier inspect "models/Qwen2.5-7B-Instruct-Q4_K_M.gguf"
The command outputs architecture name, context window length, tensor count, and dominant quantization format.
5.2 How to Start an Ollama and OpenAI Compatible Microservice
Run the serve command:
glacier serve "models/Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf" --port 11434 --host 127.0.0.1
To secure network access, set the API key environment variable before you launch:
# Windows PowerShell
$env:GLACIER_API_KEY = "<your_api_key>"
glacier serve "models/Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf" --port 8080 --host 0.0.0.0
# Linux / macOS
export GLACIER_API_KEY="<your_api_key>"
glacier serve "models/Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf" --port 8080 --host 0.0.0.0
Test the endpoint with curl:
curl http://127.0.0.1:11434/api/generate -d '{
"prompt": "What is the capital of France?",
"stream": false
}'
5.3 How to Generate High-Fidelity 15-Second Cinematic Video
Execute the video generate command:
glacier video generate "A stylish woman in a dark coat walking along a bustling modern city street at night, glowing neon signs, wet pavement reflections" --width 832 --height 480 --steps 25 --duration 15 --fps 16 --guidance 5.0 --format all --out woman_walk.apng
The command generates 240 frames using 3D-RoPE and Flow-Matching Euler integration. It saves Truecolor APNG, Animated GIF, and RIFF AVI files.
5.4 How to Configure Multi-GPU Pipeline Splitting
Distribute model layers across multiple physical GPUs:
glacier run "models/Qwen2.5-Coder-14B-Instruct-Q4_K_M.gguf" --split "nvidia-rtx-4060:14,amd-890m:14"
The engine executes the first 14 layers on the NVIDIA discrete GPU and the remaining 14 layers on the AMD integrated APU.
6. Reference: Complete Command Line Options
6.1 Top-Level Commands
| Command | Primary Function | Example Syntax |
|---|---|---|
devices |
Enumerate detected GPUs, VRAM capacity, and driver engines | glacier devices |
config |
View or set persistent hardware preferences | glacier config --device nvidia-rtx-4060 |
inspect |
Display GGUF metadata, architecture, and tensor list | glacier inspect model.gguf |
run |
Execute interactive chat REPL or single-shot prompt | glacier run model.gguf "Hello world" |
bench |
Run speed benchmark with optional Ollama comparison | glacier bench model.gguf --tokens 64 |
serve |
Start HTTP server compatible with Ollama and OpenAI | glacier serve model.gguf --port 11434 |
video |
Generate spatio-temporal video or query video semantics | glacier video generate "Prompt" --format apng |
image |
Generate photorealistic images with Flow-Matching DiT | glacier image generate "Prompt" -o out.png |
vision |
Execute Vision-Language Model (VLM) image understanding | glacier vision query scene.png "Describe scene" |
voice |
Synthesize Kokoro TTS speech or run Whisper STT | glacier voice tts "Speech text" --voice af_heart |
6.2 Global Options (bench, run, serve)
| Parameter Flag | Accepted Values | Default | Technical Description |
|---|---|---|---|
--device, -d |
nvidia-rtx-4060, amd-890m, cpu, 0 |
auto |
Specifies the target hardware compute device. |
--engine |
baremetal, directml, vulkan, cpu, auto |
auto |
Selects the low-level compute hardware abstraction layer. |
--kv-precision |
auto, fp16, fp8, fp32 |
auto |
Sets numeric precision for unmanaged Key-Value cache slots. |
--ctx, -c |
Integer (e.g. 2048, 4096, 8192) |
2048 |
Specifies maximum token context sequence length. |
--split |
String (e.g. devA:16,devB:16) |
None | Distributes transformer blocks across multiple accelerators. |
7. Explanation: Scientific Principles & Citations
Glacier.Inference translates peer-reviewed deep learning and systems research into pure C# .NET 10:
Transformer Attention Architecture:
Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, L., & Polosukhin, I. (2017). Attention Is All You Need. Advances in Neural Information Processing Systems (NeurIPS 2017), 30. arXiv:1706.03762.
Implementation: Multi-Head Attention and Grouped-Query Attention implemented inGlacier.Inference.Engine.Attention.Rotary Positional Embeddings (RoPE):
Su, J., Ahmed, M., Lu, Y., Pan, S., Bo, W., & Liu, Y. (2024). RoFormer: Enhanced Transformer with Rotary Position Embedding. Neurocomputing, 568, 127063. arXiv:2104.09864.
Implementation: Complex coordinate rotations implemented across 1D sequence tokens, 2D axial vision patches, and 3D spatio-temporal video latents.IO-Aware Attention Acceleration:
Dao, T., Fu, D. Y., Ermon, S., Rudra, A., & Ré, C. (2022). FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness. Advances in Neural Information Processing Systems (NeurIPS 2022), 35, 16344–16359. arXiv:2205.14135.
Implementation: Tiled shared-memory attention compute implemented in HLSL Wave32 and CUDA SASS fatbinaries.Accurate Post-Training Quantization:
Frantar, E., Saleh, S., Meng, C., & Alistarh, D. (2022). GPTQ: Accurate Post-Training Quantization for Generative Pre-trained Transformers. arXiv:2210.17323.
Implementation: Block-quantized matrix-vector products (BlockQ4_K,BlockQ8_0,BlockIQ3_S) mapped directly from GGUF storage into unmanaged execution buffers.1-Bit and 1.58-Bit Large Language Models:
Wang, H., Ma, S., Dong, L., Huang, S., Wang, H., Ma, L., Yang, F., Wang, R., Wu, Y., & Wei, F. (2024). The Era of 1-bit LLMs: All Large Language Models are in 1.58 Bits (BitNet b1.58). Microsoft Research. arXiv:2402.17764.
Implementation: Multiplication-free ternary addition/subtraction SIMD compute implemented inBlockTernary256.PagedAttention & Memory Management:
Kwon, W., Li, Z., Zhuang, S., Sheng, Y., Zheng, L., Yu, C. H., Capdeville, J. E., Gonzalez, J. E., & Stoica, I. (2023). Efficient Memory Management for Large Language Model Serving with PagedAttention. Proceedings of the 29th ACM Symposium on Operating Systems Principles (SOSP 2023), 611–626. arXiv:2309.06180.
Implementation: Contiguous unmanaged slot pooling and ring-buffer modulo sliding window attention inKVCache.cs.Flow Matching for Generative Modeling:
Lipman, Y., Chen, R. T. Q., Ben-Hamu, H., Nicklas, M., & Le, M. (2023). Flow Matching for Generative Modeling. International Conference on Learning Representations (ICLR 2023). arXiv:2210.02747.
Implementation: Straight-line continuous probability flows and Euler ODE numerical solvers inVideoGenerationPipelineandImageGenerationPipeline.
License & Support
Distributed under the permissive MIT License.
Developed by Ian Cowley and the Glacier Software team.
For documentation portals and online tools, visit glaciersoftware.dev.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Vortice.D3DCompiler (>= 3.8.3)
- Vortice.Direct3D12 (>= 3.8.3)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Glacier.Inference:
| Package | Downloads |
|---|---|
|
Glacier.Serve
Ultra-low-latency, Native AOT web and LLM inference microservices engine for .NET 10. Features PagedAttention, Continuous Iteration Batching, SIMD HTTP delimiter scanning, zero-allocation Radix Tree routing, Glacier.Storage Arrow streaming, and direct Polaris/Tensor streaming. |
|
|
Glacier.Inference.Distributed
Distributed heterogeneous pipeline inference, cluster activation transport, and warm expert pool execution for the Glacier Ecosystem. Enables multi-node execution of large MoE and dense LLMs across heterogeneous GPU and CPU cluster topologies. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.3.1 | 120 | 10/24/2026 |
| 1.3.0 | 199 | 10/12/2026 |
| 1.2.20 | 115 | 10/10/2026 |
| 1.2.19 | 142 | 10/8/2026 |
| 1.2.18 | 126 | 10/6/2026 |
| 1.2.16 | 126 | 10/4/2026 |
| 1.2.15 | 106 | 10/4/2026 |
| 1.2.13 | 100 | 10/3/2026 |
| 1.2.12 | 98 | 10/3/2026 |
| 1.2.11 | 101 | 10/2/2026 |
| 1.2.9 | 93 | 10/2/2026 |
| 1.2.8 | 100 | 10/2/2026 |
| 1.2.7 | 103 | 10/2/2026 |
| 1.2.6 | 102 | 10/2/2026 |
| 1.2.5 | 101 | 10/2/2026 |
| 1.2.4 | 95 | 10/2/2026 |
| 1.2.3 | 113 | 10/2/2026 |
| 1.2.2 | 195 | 9/18/2026 |
| 1.2.0 | 123 | 9/16/2026 |
| 1.1.14 | 129 | 9/16/2026 |