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.
📚 Related Content
- How much disk space do LM-Kit.NET binaries add to my application?: Exact binary sizes per platform and backend.
- Can I run LM-Kit.NET on embedded devices and edge hardware?: ARM64 edge deployment guidance for Jetson, Raspberry Pi, and constrained environments.
- Configure GPU Backends: Step-by-step backend install and verification.
- What frameworks and integrations does LM-Kit.NET support?: Compatibility with ASP.NET, MAUI, Semantic Kernel, and Microsoft.Extensions.AI.