aim-engine

module
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 24, 2026 License: MIT

README

AIM Engine

AIM Engine is a Kubernetes operator for running and managing AMD Inference Microservices (AIM). AIM provides optimized inference containers for running AI models on AMD hardware. This operator handles the lifecycle of AIM deployments, including model management, scaling, and configuration.

Features

Declarative Model Deployment
  • Deploy models with a single AIMService resource - from container image to inference endpoint
  • Automatic model discovery from AIM container images
  • Support for Hugging Face Hub and S3 model sources
Intelligent Resource Management
  • Smart template selection - Automatically selects the optimal runtime configuration based on GPU availability, precision requirements, and optimization goals (latency vs throughput)
Production-Ready Infrastructure
  • Model caching - Cache system that pre-downloads model artifacts to shared PVCs, saving space and reducing load time
  • Autoscaling - KEDA integration with OpenTelemetry metrics for demand-based scaling
  • HTTP routing - Gateway API integration with templated path configuration
Multi-Tenant Design
  • Namespace-scoped and cluster-scoped resources for flexible access control
  • Runtime configurations for team-specific credentials and routing policies

Quick Install (from publish-main branch)

For quick installation using pre-built artifacts from the publish-main branch:

git clone -b publish-main https://github.com/amd-enterprise-ai/aim-engine.git aim-engine-deploy
cd aim-engine-deploy

# Install CRDs (distributed separately from Helm chart)
kubectl apply -f crds.yaml
kubectl wait --for=condition=Established crd --all --timeout=60s

# Install operator via Helm
helm install aim-engine ./chart --namespace aim-system --create-namespace

Manual Build and Deploy

To build and deploy from source with Helm templating:

# Generate CRDs and Helm chart
make crds
make helm

# Install CRDs
kubectl apply -f dist/crds.yaml
kubectl wait --for=condition=Established crd --all --timeout=60s

# Option 1: Install directly with Helm
helm install aim-engine ./dist/chart --namespace aim-system --create-namespace

# Option 2: Render templates first, then apply
helm template aim-engine ./dist/chart \
  --namespace aim-system \
  --values dist/chart/values.yaml > rendered.yaml
kubectl apply -f rendered.yaml

Example AIMService Deployment

apiVersion: aim.eai.amd.com/v1alpha1
kind: AIMService
metadata:
  name: qwen3-chat
spec:
  model:
    image: amdenterpriseai/aim-qwen-qwen3-32b:0.8.5

Development Quickstart

Install mise for tool management:

curl https://mise.run | sh
echo 'eval "$(mise activate bash)"' >> ~/.bashrc  # or zsh/fish
source ~/.bashrc

Clone and setup:

git clone https://github.com/amd-enterprise-ai/aim-engine.git
cd aim-engine
mise install  # installs Go, linters, and all dev tools

Common tasks:

make generate   # generate code from API types
make manifests  # generate CRDs and RBAC
make lint       # run linter
make test       # run unit tests

Create local cluster for test (adds entry to kubeconfig)

make kind-create

Run controller

make install # Install crds
make run     # start controller via access from kubeconfig

Documentation

AIM Engine is part of the AMD Enterprise AI ecosystem:

License

MIT License - Copyright (c) 2025 Advanced Micro Devices, Inc.

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the aim v1alpha1 API group.
Package v1alpha1 contains API Schema definitions for the aim v1alpha1 API group.
internal
aimservicetemplate
Package aimservicetemplate provides GPU availability functions for the Pipeline pattern.
Package aimservicetemplate provides GPU availability functions for the Pipeline pattern.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL