23 dépôts
Technologies for partitioning physical GPU hardware into multiple virtual devices for shared use across virtual machines.
Distinct from Virtual Machines: None of the candidates cover hardware-level GPU virtualization; they focus on general VM management or OS internals.
Explore 23 awesome GitHub repositories matching operating systems & systems programming · GPU Resource Virtualization. Refine with filters or upvote what's useful.
OSX-KVM is a project that enables running macOS as a virtualized guest operating system on non-Apple hardware using QEMU/KVM and the OpenCore bootloader. It provides the core capability to install and boot macOS on a Linux host, supporting GPU passthrough for improved graphics performance and remote access via SSH and VNC for headless management. The project distinguishes itself by offering a complete virtualization stack for macOS, including hardware passthrough for physical GPUs and other devices, integration with libvirt and virt-manager for graphical VM management, and the ability to boot
Assigns physical GPUs to a macOS virtual machine for hardware-accelerated graphics performance.
AISystem is a comprehensive AI full-stack infrastructure project covering the entire pipeline from AI chip architecture to high-level training frameworks. It encompasses the development of AI compiler frameworks, inference engines, and distributed training orchestrators designed to coordinate workloads across a heterogeneous compute stack of CPUs, GPUs, and NPUs. The project focuses on the deep integration of software and hardware, employing software-hardware co-design to align tensor layouts with physical memory structures. It provides specialized capabilities for accelerating Transformer mo
Divides physical GPU hardware into isolated virtual GPUs to ensure predictable throughput across tasks.
This project is a collection of shell-based automation scripts designed to automate the deployment and configuration of Linux containers and virtual machines on Proxmox VE hosts. It provides toolsets for the scripted provisioning of virtual machine infrastructure and the creation of pre-defined containers for various applications. The toolset includes specialized utilities for Proxmox host management, such as automating post-installation setup, managing system backups, and cleaning up old kernels to reclaim disk space. It further provides automated configurations for hardware passthrough, ena
Configures hardware passthrough and manages resource allocation to optimize virtualization efficiency.
vcluster is a Kubernetes virtual cluster platform that creates fully isolated Kubernetes environments with dedicated control planes, API servers, and RBAC on shared physical infrastructure. It virtualizes Kubernetes control planes by running them as pods inside a host cluster, as standalone binaries on bare metal or virtual machines, or within Docker containers, providing each tenant their own isolated Kubernetes environment without the overhead of managing separate physical clusters. The platform enables multi-tenant Kubernetes isolation through multiple tenancy models, from shared node pool
Provides secure kernel-level isolation for workloads using seccomp, cgroups, and namespaces.
WasmEdge is an extensible WebAssembly runtime that executes WebAssembly bytecode in a secure sandbox for cloud, edge, and embedded applications. It functions as a multi-language compiler, compiling applications written in Rust, JavaScript, Go, and Python into WebAssembly bytecode for sandboxed execution, and as a server-side JavaScript runtime that runs JavaScript programs with ES6 modules, NPM packages, and Node.js-compatible APIs. The runtime also serves as an AI inference runtime, executing AI models from JavaScript using WASI-NN plug-ins for inference tasks on personal devices and edge har
Orchestrates large language model inference tasks on GPU hardware within a Kubernetes cluster.
jetson-inference is a set of libraries and tools for executing optimized deep learning models on embedded GPU hardware. Its primary purpose is to enable real-time computer vision and AI inference at the edge with low latency and high throughput. The project distinguishes itself through high-performance streaming analytics and the ability to execute concurrent AI pipelines on auto-grade silicon. It provides specialized support for multi-sensor stream processing, utilizing zero-copy data transport to load camera frames directly into GPU memory. The codebase covers a broad surface of capabiliti
NVIDIA creates virtual GPUs from a physical device to share performance across multiple virtual machines.
Nebullvm is an AI inference accelerator, GPU resource orchestrator, and performance optimization library for large language models. It functions as an optimization layer designed to lower operational costs by aligning model execution with underlying hardware architectures. The system maximizes cluster efficiency through real-time dynamic partitioning and elastic quotas for shared hardware resources. It employs alignment methods and techniques to reduce the hardware and data requirements necessary for tuning large language models. The project covers broad capability areas including AI infrast
Provides real-time dynamic partitioning of shared GPU hardware to maximize cluster efficiency and prevent underutilization.
This project is an Android container runtime that enables the deployment of GPU-accelerated Android instances on Linux hosts across multiple hardware architectures. It provides a cloud-based environment for virtualized Android devices, functioning as a containerized implementation of the Android operating system to support scalable device instances. The system distinguishes itself through a cross-architecture runtime capable of executing ARM-based Android applications on x86 hardware via binary translation layers. It further utilizes host GPU resources to provide high-performance graphics ren
Provides a virtualization layer that leverages host GPU resources for high-performance Android graphics rendering.
Assigns a physical GPU to a macOS virtual machine for hardware-accelerated graphics with BIOS and kernel tweaks.
Provides virtualization and containerization for managing GPU workloads.
Easy-GPU-PV est un ensemble d'outils administratifs pour vérifier la compatibilité matérielle et automatiser le déploiement de l'accélération graphique partitionnée dans des environnements Windows virtualisés. Il fonctionne comme un orchestrateur de ressources et un gestionnaire pour provisionner des machines virtuelles avec des unités de traitement graphique partitionnées. Le projet se concentre sur le partitionnement GPU sous Windows, permettant à une seule carte graphique physique de partager l'accélération matérielle entre plusieurs systèmes virtualisés. Il y parvient en automatisant la configuration du matériel hôte et du logiciel pour permettre aux environnements virtualisés d'accéder aux unités de traitement graphique. Le système gère le processus de provisionnement de bout en bout, couvrant la vérification de la compatibilité matérielle, la configuration graphique de la machine virtuelle et la synchronisation des pilotes entre les systèmes hôte et invité. Il utilise un partitionnement piloté par le registre et une automatisation système scriptée pour gérer l'allocation des ressources et la validation des prérequis.
Divides a single physical graphics card to share hardware acceleration across multiple virtual machines on Windows.
LXD is a unified platform for managing both system containers and virtual machines through a single REST API and command-line interface. It provides a programmatic HTTP interface for controlling the full lifecycle of instances, enabling automation and integration with external tools. The system runs unprivileged containers with per-instance UID/GID mappings, seccomp filters, and AppArmor profiles for kernel-level isolation, while supporting multiple storage backends including directory, Btrfs, LVM, ZFS, Ceph, LINSTOR, and TrueNAS through a unified driver interface. The platform distinguishes
Creates and passes a virtual GPU into a virtual machine using mediated device profiles.
Volcano is a Kubernetes-native batch scheduler specialized for AI, machine learning, and high-performance computing workloads. It provides gang scheduling to atomically allocate resources for all tasks of a distributed job, preventing deadlocks from partial allocation, and supports hierarchical queue management for multi-tenant resource isolation with configurable quotas, borrowing, and preemption. Topology-aware placement optimizes communication-intensive workloads by modeling network hierarchy to minimize cross-switch latency. Volcano differentiates itself with automated orchestration of di
Volcano schedules across x86, Arm, and GPU architectures, supporting GPU virtualization for fine-grained sharing and dynamic partitioning with MIG.
vgpu_unlock est un ensemble d'outils logiciels et de modifications de pilotes conçus pour débloquer des fonctionnalités de virtualisation de classe entreprise sur du matériel graphique grand public. Il fonctionne comme un outil de déverrouillage vGPU et un usurpateur d'identifiant de périphérique matériel qui permet à une seule carte graphique d'être partagée entre plusieurs machines virtuelles. Le projet y parvient en employant le hooking au niveau du pilote, le patching de mémoire dynamique et l'usurpation de périphérique au niveau du noyau. Ces techniques interceptent les requêtes d'identification matérielle et modifient l'état opérationnel du pilote GPU au moment de l'exécution pour contourner les restrictions logicielles imposées par le fabricant. Les capacités résultantes fournissent des graphiques accélérés par le matériel aux systèmes d'exploitation invités et permettent le partage de GPU virtuel sur du matériel qui ne prend pas nativement en charge ces fonctions.
Enables the partitioning of a single physical GPU into multiple virtual devices for shared use across virtual machines.
gpustack est une plateforme de gestion de cluster GPU et un orchestrateur d'inférence LLM. Il fonctionne comme un système centralisé pour mettre en commun et orchestrer les unités de traitement graphique à travers les serveurs locaux et les environnements cloud, servant de gestionnaire de calcul hétérogène pour diverses configurations matérielles et logicielles. Le système fournit une passerelle de déploiement de modèle IA sécurisée qui sert les modèles en tant que services évolutifs en utilisant une authentification basée sur des clés. Il inclut un planificateur de ressources GPU qui équilibre les charges de travail à travers les accélérateurs et coordonne plusieurs moteurs d'inférence pour mapper des modèles IA spécifiques à un matériel compatible. La plateforme couvre une orchestration de cluster complète, y compris la récupération automatique en cas de défaillance, la surveillance des ressources en temps réel et la mise à l'échelle de l'inférence distribuée. Elle intègre l'optimisation des performances par la quantification et le décodage spéculatif pour maximiser le débit et réduire la latence. Les configurations système et l'état du cluster sont maintenus via la persistance de l'état de la base de données relationnelle externe.
Coordinates and deploys inference engines like vLLM and SGLang to serve AI models.
JimsGarage is a collection of shell scripts and automation tools designed to help individuals deploy and manage a wide range of self-hosted services on their own hardware. It provides a structured approach to setting up containerized applications, from media servers and document management systems to VPNs and monitoring stacks, all through automated Docker-based configurations. The project distinguishes itself by offering a comprehensive library of deployment recipes that cover the full lifecycle of a home server environment. This includes not just the services themselves, but also the suppor
Provides scripts to create toolbox containers with GPU access for running compute workloads.
ExHyperV est une suite d'outils administratifs conçus pour gérer des configurations Hyper-V avancées, se concentrant spécifiquement sur le partitionnement GPU, le passthrough de périphériques et les commutateurs réseau virtuels. Il fournit une interface graphique pour configurer les ressources des machines virtuelles et optimiser les paramètres de l'hyperviseur. Le projet se distingue par sa capacité à partager les ressources de la carte graphique physique entre plusieurs machines virtuelles en utilisant la paravirtualisation et le partitionnement. Il fournit également des utilitaires spécialisés pour assigner des périphériques PCIe et des périphériques USB directement aux machines invitées pour un accès exclusif. Le logiciel couvre un large éventail de capacités de virtualisation, notamment l'optimisation de la topologie CPU, l'épinglage de processeur et l'allocation de mémoire. Il inclut également la gestion du réseau virtuel via la configuration VLAN et l'administration des commutateurs virtuels, ainsi que des opérations de stockage comme la gestion des points de contrôle et la création d'ISO virtuels. La boîte à outils permet l'implémentation de la sécurité enracinée dans le matériel telle que le chiffrement de la mémoire et les enclaves Intel SGX, et prend en charge la virtualisation imbriquée en passant les extensions de virtualisation CPU.
Shares physical graphics card resources across multiple virtual machines using Hyper-V GPU partitioning.
This project is a comprehensive technical manual for installing macOS on non-Apple x86 hardware using the OpenCore bootloader. It serves as a configuration guide for emulating Apple hardware and patching system firmware to achieve operating system compatibility on PCs. The documentation provides detailed instructions for SMBIOS hardware emulation, including the generation of system identifiers and model profiles. It covers the application of ACPI table patches to enable native power management and the modification of UEFI runtime services to resolve memory map and write protection issues. Th
Generates graphics connector and memory patches to resolve boot panics and enable acceleration on unsupported GPUs.
CRIU is a Linux process checkpointing tool and state manager used to freeze running applications and save their memory and state to disk for later restoration. It functions as a container migration engine and an OCI checkpoint image converter, allowing the live state of running containers to be transferred between different hosts. The project distinguishes itself through its ability to persist network connectivity, acting as a TCP connection state persister that saves and reconstructs network socket states to maintain active communication after a restart. It further enables the distribution o
Captures and restores the state of applications using GPU acceleration to enable failure recovery and workload migration.
Hackintool is a hardware configuration tool designed to make non-native computer hardware compatible with macOS. It functions as a suite of utilities for spoofing device identifiers and patching system components to ensure the operating system recognizes unsupported hardware. The project provides specialized tools for graphics, audio, and USB configurations. This includes a framebuffer patcher for resolving display issues on unsupported GPUs, an audio layout configurator for enabling sound via device ID spoofing, and a USB port mapping tool that identifies connected devices to generate custom
Generates graphics connector and memory patches to fix display issues and enable hardware acceleration on unsupported GPUs.