awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
Project-HAMi avatar

Project-HAMi/HAMi

0
View on GitHub↗

HAMi

HAMi is a hardware orchestration and virtualization system designed to manage accelerators within Kubernetes. It functions as a device plugin that partitions physical hardware into isolated virtual slices, enabling multiple containers to share a single device through enforced memory limits and compute quotas.

The project provides a virtualization manager and a heterogeneous compute scheduler that distributes tasks across diverse accelerator types. It uses packing and topology policies to optimize workload placement and allows for specific hardware targeting using unique device identifiers.

The system includes a monitoring tool that collects real-time memory and core utilization metrics across different hardware vendors, exporting this data via Prometheus-compatible endpoints for cluster health dashboards. Administrative tasks and hardware allocations are managed through a web-based graphical interface.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI
project-hami.io
↗

Features

  • GPU Resource Virtualization - Partitions physical accelerators into smaller virtual slices to enable efficient sharing across multiple containers.
  • Dynamic Hardware Partitioning - Partitions physical GPU hardware into isolated virtual slices to allow multiple containers to share the same device.
  • Hardware Acceleration Abstractions - Provides a unified abstraction for scheduling workloads across diverse accelerator pools from different vendors.
  • Topology-Aware Schedulers - Assigns tasks to hardware nodes using topology-aware policies to maximize throughput and proximity.
  • GPU Resource Orchestrators - Dynamically manages, partitions, and allocates GPU hardware across shared AI workloads.
  • Device Plugin Integration - Acts as a Kubernetes extension to manage the allocation and partitioning of hardware accelerators.
  • Heterogeneous Device Schedulers - Manages workload placement across diverse hardware accelerators using topology and packing policies.
  • Hardware Device Sharing - Allows multiple concurrent containers to access a single physical device using resource offsets and shared access handles.
  • Hardware Memory Limiters - Enforces strict hardware memory limits and allocates capacity via absolute values or percentages to ensure isolation.
  • Multi-Tenant Hardware Sharing - Allows multiple containers simultaneous access to the same hardware devices to increase overall resource utilization.
  • Device Plugin Virtualization - Implements a Kubernetes device plugin to partition physical accelerators into isolated virtual slices for containers.
  • Multi-Tenant Isolation - Enforces strict memory limits and compute quotas to prevent interference between workloads on shared hardware.
  • Hardware-Level Isolation - Enforces strict hardware memory limits at the driver level to provide secure hardware-backed isolation.
  • Compute Core Isolation - Separates memory and compute cores on hardware to allow multiple workloads to share a single physical device securely.
  • Resource Quotas - Applies hard memory and compute limits at runtime to prevent interfering workloads in shared environments.
  • Workload Placement Policies - Uses packing and topology policies to optimize where containerized workloads are placed on hardware nodes.
  • Resource Management Interfaces - Provides a web-based graphical interface to administer virtualization environments and hardware allocations.
  • Mixed-Accelerator Orchestration - Enables running tasks across different types of hardware accelerators within a single unified workflow.
  • Virtualization Management - Provides a graphical interface and backend for partitioning physical hardware into isolated virtual slices.
  • Hardware Performance Monitoring - Collects real-time memory and compute utilization data from various hardware vendors for system dashboards.
  • Hardware Resource Tracking - Provides a dedicated endpoint for monitoring the consumption of hardware accelerator resources.
  • Accelerator Device Targeting - Provides the ability to target specific accelerators or exact hardware devices using unique identifiers to meet strict requirements.
  • Hardware Telemetry Collection - Collects real-time memory and core utilization data across hardware vendors and exports it via open standards.
  • Accelerator Monitoring - Tracks performance metrics and resource allocation for specialized hardware accelerators across vendors.
  • Prometheus System Metrics Exporters - Exposes real-time hardware utilization data via a Prometheus-compatible REST endpoint for monitoring.
3,028 stars·476 forks·Go·apache-2.0·19 views

Star history

Star history chart for project-hami/hamiStar history chart for project-hami/hami

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Projects sharing features with HAMi

These projects share indexed features with HAMi. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • lablup/backend.ailablup avatar

    lablup/backend.ai

    615View on GitHub↗

    This project is a distributed computing platform designed to orchestrate containerized workloads across heterogeneous hardware clusters. It functions as a centralized control plane that manages resource allocation, scheduling, and execution environments, enabling organizations to share high-performance computing infrastructure securely among multiple users and projects. The platform distinguishes itself through advanced hardware virtualization and multi-tenant management capabilities. It supports the partitioning of physical graphics processing units into fractional slices, allowing multiple

    Pythonapibackendaicloud-computing
    View on GitHub↗615
  • nvidia/k8s-device-pluginNVIDIA avatar

    NVIDIA/k8s-device-plugin

    3,793View on GitHub↗

    This project is a Kubernetes device plugin designed for graphics hardware resource management. It implements a standardized plugin protocol to register physical accelerators with the cluster scheduler, enabling the automated allocation and scheduling of hardware-accelerated workloads. The system focuses on multi-tenant GPU sharing to maximize hardware utilization. It achieves this through various sharing strategies, including the logical partitioning of monolithic hardware units into isolated segments and time-slicing to interleave execution cycles across multiple concurrent containers. The

    Gokubernetes
    View on GitHub↗3,793
  • jamesstringer90/easy-gpu-pvjamesstringer90 avatar

    jamesstringer90/Easy-GPU-PV

    5,586View on GitHub↗

    Easy-GPU-PV is an administrative toolset for verifying hardware compatibility and automating the deployment of partitioned graphics acceleration across virtualized Windows environments. It functions as a resource orchestrator and manager for provisioning virtual machines with partitioned graphics processing units. The project focuses on Windows GPU partitioning, enabling a single physical graphics card to share hardware acceleration across multiple virtualized systems. It achieves this by automating the configuration of host hardware and software to allow virtualized environments to access gr

    PowerShell
    View on GitHub↗5,586
  • volcano-sh/volcanovolcano-sh avatar

    volcano-sh/volcano

    5,337View on GitHub↗

    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

    Goaibatch-systemsbigdata
    View on GitHub↗5,337
Compare all 30 related projects→

Frequently asked questions

What does project-hami/hami do?

HAMi is a hardware orchestration and virtualization system designed to manage accelerators within Kubernetes. It functions as a device plugin that partitions physical hardware into isolated virtual slices, enabling multiple containers to share a single device through enforced memory limits and compute quotas.

What are the main features of project-hami/hami?

The main features of project-hami/hami are: GPU Resource Virtualization, Dynamic Hardware Partitioning, Hardware Acceleration Abstractions, Topology-Aware Schedulers, GPU Resource Orchestrators, Device Plugin Integration, Heterogeneous Device Schedulers, Hardware Device Sharing.

Which projects share features with project-hami/hami?

Projects with overlapping indexed features include: lablup/backend.ai — This project is a distributed computing platform designed to orchestrate containerized workloads across heterogeneous… nvidia/k8s-device-plugin — This project is a Kubernetes device plugin designed for graphics hardware resource management. It implements a… jamesstringer90/easy-gpu-pv — Easy-GPU-PV is an administrative toolset for verifying hardware compatibility and automating the deployment of… volcano-sh/volcano — Volcano is a Kubernetes-native batch scheduler specialized for AI, machine learning, and high-performance computing… tencentmusic/cube-studio — Cube Studio is a cloud-native MLOps platform and Kubernetes-based AI orchestrator designed for the entire machine… hashicorp/nomad — Nomad is a distributed workload orchestrator and infrastructure automation platform designed to manage the lifecycle…