kkokosa/dotLLM
LLM inference engine written in .NET
What it solves
dotLLM は C#/.NET でネイティブに構築された高性能 LLM 推論エンジンです。Python ラッパーや llama.cpp などの外部ライブラリへの依存を排除し、.NET 開発者が Transformer 系モデル(Llama、Mistral、Phi、Qwen、DeepSeek など)を .NET エコシステム内で高効率に実行できます。
How it works
エンジンはレイヤードアーキテクチャを採用し、コアテンソル抽象と具体的な計算バックエンドを分離しています。オーケストレーション、モデルロード、トークナイゼーションはすべて純粋な C# で実装されています。
- Compute Backends: SIMD 最適化された CPU 推論と、CUDA Driver API 経由で PTX カーネルをロードする CUDA GPU 加速をサポート。
- Memory Management: 高性能を実現するため、テンソルデータはアンマネージドメモリを使用し、ホットパスでの GC オーバーヘッドを回避。GGUF ファイルはメモリマップドファイルでほぼ瞬時にロードします。
- Inference Optimizations: ページング KV‑cache(PagedAttention)、高速生成のための投機的デコード、FSM/PDA を用いた制約付きデコードにより JSON や正規表現といった構造化出力を保証。
- Serving: ASP.NET で構築された OpenAI 互換 API サーバーを提供し、組み込みチャット UI も備えています。
Who it’s for
Python やネイティブ共有ライブラリに依存せずにアプリケーションへ LLM 推論を組み込みたい .NET 開発者、また Windows、Linux、macOS 上で軽量かつ高性能なローカル LLM ランナーを求めるユーザー向けです。
Highlights
- Pure .NET Implementation: ラッパーではなく、推論パイプラインを C# でネイティブ実装。
- Zero-GC Inference: アンマネージドメモリを使用し、マネージドヒープ割り当てによる性能スパイクを防止。
- Advanced Decoding: 投機的デコードと制約付きデコードをサポートし、JSON/Schema/Regex 出力を保証。
- Hardware Acceleration: SIMD 最適化 CPU カーネルと CUDA GPU のハイブリッドオフロードを提供。
- GGUF Support: GGUF 量子化フォーマット(FP16、Q8_0、Q4_K_M)をネイティブにロード。
- OpenAI Compatible: API サーバーと CLI を同梱し、統合とテストが容易。