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 を同梱し、統合とテストが容易。