{"adoption": {"forks": 253, "observed_at": "2026-08-28T04:04:49.401961+00:00", "stars": 1472}, "canonical_url": "https://ross.abutalabs.com/products/kai-scheduler", "card": {"archived": false, "artifact_type": "infra-config", "description": "KAI Scheduler is an open source Kubernetes Native scheduler for AI workloads at large scale", "domain": ["infrastructure-as-code", "machine-learning", "cloud-computing", "gpu-computing"], "enriched": true, "function": ["container-orchestration", "scheduling", "gpu-computing", "deployment"], "health_score": 100, "homepage": null, "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["kai-scheduler/KAI-Scheduler"], "name": "kai-scheduler/KAI-Scheduler", "platform": ["go", "cloud", "self-hosted"], "pushed_at": "2026-08-26T18:59:01+00:00", "repo": "kai-scheduler/KAI-Scheduler", "stars": 1472, "tags": ["kubernetes-scheduler", "gpu-scheduling", "gang-scheduling", "ai-workloads", "fair-share", "topology-aware-scheduling", "training-jobs", "inference", "containers", "kubernetes", "linux"], "topics": [], "urls": [], "use_cases": ["schedule GPU workloads on a large Kubernetes cluster", "run training and inference jobs fairly across teams", "gang scheduling for distributed AI training jobs", "topology-aware placement for disaggregated LLM serving", "maximize GPU utilization in a shared AI cluster", "dynamically allocate GPUs to pods in Kubernetes"], "what_it_is": "KAI Scheduler is a Kubernetes-native scheduler written in Go that optimizes GPU resource allocation for AI and machine learning workloads at large scale. It supports the full AI lifecycle from small interactive jobs to large training and inference workloads, with fairness, gang scheduling, and topology-aware placement across clusters of thousands of nodes.", "when_to_avoid": ["you have a small cluster with no GPU workloads", "the default kube-scheduler already meets your needs", "you need scheduling for non-Kubernetes environments"], "when_to_choose": ["you operate a large multi-tenant GPU cluster on Kubernetes", "you need fair-share GPU allocation between teams", "you run both interactive notebooks and large distributed training in one cluster", "you need topology-aware or gang scheduling for AI workloads"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/kai-scheduler", "repo": "kai-scheduler/KAI-Scheduler", "role": "main", "score": 82}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.401961+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:34:41.961378+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b8e04917dfc43a3500274374e7fb26ac449bb6323e263f5ec175a183991be95", "fetched_at": "2026-08-28T04:04:49.401961+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kai-scheduler/KAI-Scheduler"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.401961+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:34:41.961378+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b8e04917dfc43a3500274374e7fb26ac449bb6323e263f5ec175a183991be95", "fetched_at": "2026-08-28T04:04:49.401961+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kai-scheduler/KAI-Scheduler"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:34:41.961378+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b8e04917dfc43a3500274374e7fb26ac449bb6323e263f5ec175a183991be95", "fetched_at": "2026-08-28T04:04:49.401961+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kai-scheduler/KAI-Scheduler"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.401961+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.401961+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.401961+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:34:41.961378+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b8e04917dfc43a3500274374e7fb26ac449bb6323e263f5ec175a183991be95", "fetched_at": "2026-08-28T04:04:49.401961+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kai-scheduler/KAI-Scheduler"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.401961+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.401961+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:34:41.961378+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b8e04917dfc43a3500274374e7fb26ac449bb6323e263f5ec175a183991be95", "fetched_at": "2026-08-28T04:04:49.401961+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kai-scheduler/KAI-Scheduler"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.401961+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.401961+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.401961+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:34:41.961378+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b8e04917dfc43a3500274374e7fb26ac449bb6323e263f5ec175a183991be95", "fetched_at": "2026-08-28T04:04:49.401961+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kai-scheduler/KAI-Scheduler"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.401961+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.401961+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:34:41.961378+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b8e04917dfc43a3500274374e7fb26ac449bb6323e263f5ec175a183991be95", "fetched_at": "2026-08-28T04:04:49.401961+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kai-scheduler/KAI-Scheduler"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:34:41.961378+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b8e04917dfc43a3500274374e7fb26ac449bb6323e263f5ec175a183991be95", "fetched_at": "2026-08-28T04:04:49.401961+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kai-scheduler/KAI-Scheduler"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:34:41.961378+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b8e04917dfc43a3500274374e7fb26ac449bb6323e263f5ec175a183991be95", "fetched_at": "2026-08-28T04:04:49.401961+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kai-scheduler/KAI-Scheduler"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:34:41.961378+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b8e04917dfc43a3500274374e7fb26ac449bb6323e263f5ec175a183991be95", "fetched_at": "2026-08-28T04:04:49.401961+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kai-scheduler/KAI-Scheduler"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 39, "rhythm": 86}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 553, "days_push": 7, "days_rel": 14, "gap_med": 1, "n_releases_24m": 150}, "score": 82, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}