Table of Contents

Which Operating Systems and CPU Architectures Does LM-Kit.NET Support?


TL;DR

LM-Kit.NET runs on Windows x64, Linux x64, Linux ARM64, and macOS Universal (Apple Silicon + Intel). The base LM-Kit.NET NuGet package includes CPU and Vulkan backends for all platforms. CUDA GPU acceleration requires a separate platform-specific backend package.


Platform Compatibility Matrix

Platform Architecture CPU Vulkan CUDA 12 CUDA 13 Metal
Windows x64 Yes Yes Yes Yes N/A
Windows ARM64 Coming soon Coming soon N/A N/A N/A
Linux x64 Yes Yes Yes N/A N/A
Linux ARM64 Yes Yes Yes N/A N/A
macOS Universal (ARM64 + x64) Yes N/A N/A N/A Yes

.NET Target Frameworks

LM-Kit.NET is built as a multi-target library:

Framework Support
.NET Standard 2.0 Full support. Enables compatibility with .NET Framework 4.6.1+, Xamarin, Unity, and other .NET Standard consumers.
.NET 8.0 Full support. Long-term support (LTS) release.
.NET 9.0 Full support.
.NET 10.0 Full support. Required for AOT (Ahead-of-Time) compilation.

This means LM-Kit.NET works in any .NET project that targets .NET Standard 2.0 or later, including ASP.NET Core, MAUI, WPF, WinForms, Blazor Server, console applications, and background services.


NuGet Packages by Platform

The base package covers most scenarios. Add a CUDA package only if you need NVIDIA GPU acceleration.

Package Platforms Contents
LM-Kit.NET All Managed SDK + CPU (SSE4, AVX, AVX2) + Vulkan backends
LM-Kit.NET.Backend.Cuda12.Windows Windows x64 CUDA 12 backend + cuBLAS SDK
LM-Kit.NET.Backend.Cuda12.Linux Linux x64 CUDA 12 backend (system CUDA libraries required)
LM-Kit.NET.Backend.Cuda12.linux-arm64 Linux ARM64 CUDA 12 backend for Jetson and NVIDIA ARM devices
LM-Kit.NET.Backend.Cuda13.Windows Windows x64 CUDA 13 backend + cuBLAS SDK
# Base install (all platforms, CPU + Vulkan)
dotnet add package LM-Kit.NET

# Add CUDA for Windows
dotnet add package LM-Kit.NET.Backend.Cuda12.Windows

macOS Specifics

The macOS binaries are Universal (fat binaries containing both ARM64 and x86_64 code). Metal GPU acceleration is included automatically and requires no separate package. Apple Silicon Macs use Metal for GPU acceleration, while Intel Macs fall back to CPU with AVX/SSE4.


Linux ARM64 Specifics

Linux ARM64 support covers devices such as NVIDIA Jetson (Orin, Xavier), AWS Graviton instances, and other ARM64 servers. The CPU backend is compact (~39 MB) and suitable for edge deployments. CUDA 12 is available for Jetson devices with NVIDIA GPUs.


Publishing for a Single Platform

To minimize deployment size, publish for a specific runtime identifier:

# Windows x64
dotnet publish -r win-x64 -c Release

# Linux x64
dotnet publish -r linux-x64 -c Release

# Linux ARM64
dotnet publish -r linux-arm64 -c Release

# macOS (Universal)
dotnet publish -r osx-x64 -c Release

This strips binaries for other platforms from the output, reducing the total deployment footprint.


Share