跳转至

GPUCTL · AI 算力调度平台

  • 无需了解 Kubernetes


    用算法工程师熟悉的声明式 YAML,提交训练、推理、Notebook 任务,平台自动完成底层调度。

    快速开始

  • GPU 资源池化管理


    将集群 GPU 节点划分为逻辑资源池,实现训练/推理/实验资源隔离,避免争抢。

    资源池管理

  • 简洁的 CLI 命令


    gpuctl create / get / logs / delete,与 kubectl 对标但更贴近算法工程师使用习惯。

    CLI 参考

  • RESTful API


    完整的 REST API 支持,可集成到现有 MLOps 平台或第三方工具链。

    API 文档

  • 统一观测


    日志、事件、资源用量一站式查看。gpuctl logs <job-name> 直接查看,告别 kubectl get pods 找 Pod 名的繁琐。

    查看监控指南

  • 自动配额


    Namespace 级配额自动创建,CPU / Memory / GPU 限额一键查看,超限自动拦截并给出友好提示。

    配额管理


产品简介

gpuctl 是一个面向算法工程师的 AI 算力调度平台,旨在显著降低 GPU 算力的使用门槛

通过声明式 YAML 配置和简单的 CLI 命令,算法工程师无需掌握 Kubernetes 等底层基础设施的复杂知识,即可高效提交和管理 AI 训练与推理任务。

解决的核心痛点

痛点 具体表现与影响 gpuctl 解法
😰 K8s 学习成本高
Pod、Deployment、Service 概念复杂
算法工程师需要花费数周学习 Kubernetes 概念,理解 PodSpec、ResourceRequirements、VolumeMounts 等复杂配置。提交任务前需要编写 100+ 行 YAML,涉及多个资源对象(Secret、ConfigMap、Job),学习曲线陡峭,上手困难 声明式 YAML,只需填写熟悉的字段
用算法工程师熟悉的 kind、job.name、resources.gpu 等字段描述任务,15-20 行配置即可完成训练任务提交,无需理解底层 K8s 资源对象
😤 GPU 环境配置繁琐
驱动、CUDA、NCCL 依赖复杂
每次新建环境都需要手动安装 GPU 驱动、CUDA Toolkit、cuDNN,配置 NCCL 多卡通信环境变量,安装 DeepSpeed、VLLM 等框架及其依赖。版本冲突频发,环境搭建耗时数小时甚至数天 镜像中预装,platform 自动注入环境变量
提供预装 DeepSpeed、VLLM、LlamaFactory 的官方镜像,平台自动注入 NCCL_SOCKET_IFNAME、MASTER_ADDR、WORLD_SIZE 等环境变量,无需手动配置分布式训练参数
😫 多团队 GPU 资源争抢
缺乏资源隔离机制
训练、推理、实验任务混跑在同一个集群,没有资源隔离导致重要任务被低优先级任务抢占 GPU。某团队跑大模型训练占满所有卡,其他团队任务只能排队等待,严重影响研发效率和团队协作 资源池隔离 + 配额管理
将集群划分为训练池、推理池、开发池等逻辑资源池,实现物理隔离。支持按 Namespace 设置 CPU/Memory/GPU 配额,超限自动拦截,确保各团队资源公平使用
😵 多 GPU 训练配置复杂
NCCL、DeepSpeed 参数繁琐
单机多卡训练需要手动配置 NCCL 环境变量、DeepSpeed hostfile、PyTorch 启动参数,理解进程组、通信后端、梯度同步等概念。配置错误导致训练卡死或效率低下,调试困难 声明 gpu 数量,自动注入 NCCL/DeepSpeed 配置
只需在 YAML 中声明 resources.gpu: 4,平台自动生成 DeepSpeed 配置文件,注入 NCCL 环境变量,完成进程组初始化,算法工程师无需关心底层分布式细节
😵‍💫 任务状态查看繁琐
Pod 名称随机难记
使用 kubectl 需要记住随机生成的 Pod 名称(如 training-job-7d9f4b8c5-x2mnp),先 get jobs 找到 Job,再 get pods 找到 Pod,最后 describe pod 查看详情。Pod 重启后名称变化需要重新查找,流程繁琐耗时 用任务名直接操作,自动追踪 Pod 变化
gpuctl get jobs 查看所有任务状态,gpuctl logs job-name 直接查看日志,支持多副本聚合。自动追踪 Pod 重建和状态变化,算法工程师只需记住自己定义的任务名

系统架构

gpuctl 系统架构

支持的任务类型

适合 LLM 微调(LlamaFactory + DeepSpeed)、分布式训练等场景。底层转换为 K8s Job

kind: training
version: v0.1

job:
  name: llamafactory-quickstart

environment:
  image: hiyouga/llamafactory:0.9.4
  command: ["bash", "-lc", "cd /app && llamafactory-cli train examples/train_lora/qwen3_lora_sft.yaml model_name_or_path=Qwen/Qwen3-0.6B template=qwen3 output_dir=/output"]

resources:
  pool: default
  gpu: 1
  cpu: 8
  memory: 24Gi

storage:
  workdirs:
    - path: /output

适合 VLLM 推理服务部署,支持多副本部署。底层转换为 K8s Deployment + Service

kind: inference
version: v0.1

job:
  name: vllm-quickstart

environment:
  image: vllm/vllm-openai:v0.17.1
  command: ["python", "-m", "vllm.entrypoints.openai.api_server", "--model", "Qwen/Qwen2.5-3B-Instruct", "--host", "0.0.0.0", "--port", "8000", "--tensor-parallel-size", "1"]

service:
  replicas: 1
  port: 8000

resources:
  pool: default
  gpu: 1
  cpu: 8
  memory: 24Gi

适合交互式调试开发,提供 JupyterLab 环境。底层转换为 K8s StatefulSet + Service

kind: notebook
version: v0.1

job:
  name: jupyter-quickstart

environment:
  image: quay.io/jupyter/scipy-notebook:2025-12-31
  command: ["start-notebook.py", "--NotebookApp.token=gpuctl", "--ServerApp.ip=0.0.0.0", "--ServerApp.port=8888"]

service:
  port: 8888

resources:
  pool: default
  gpu: 0
  cpu: 2
  memory: 8Gi

适合纯 CPU 服务(MySQL、Redis、nginx 等)。底层转换为 K8s Deployment + Service

kind: compute
version: v0.1

job:
  name: mysql-quickstart

environment:
  image: mysql:8.4
  env:
    - name: MYSQL_ROOT_PASSWORD
      value: root123456
    - name: MYSQL_DATABASE
      value: demo
    - name: MYSQL_USER
      value: demo
    - name: MYSQL_PASSWORD
      value: demo123456

service:
  replicas: 1
  port: 3306

resources:
  pool: default
  gpu: 0
  cpu: 2
  memory: 4Gi

storage:
  workdirs:
    - path: /var/lib/mysql

快速体验

# 1. 在 master 节点下载二进制,无需 Python/pip
curl -L https://github.com/runwhere-ai/gpuctl/releases/latest/download/gpuctl-linux-amd64 -o gpuctl
chmod +x gpuctl && sudo mv gpuctl /usr/local/bin/

# 2. 提交任务
gpuctl create -f job.yaml

# 3. 查看任务状态
gpuctl get jobs

# 4. 实时日志
gpuctl logs llamafactory-quickstart -f

# 5. 删除任务
gpuctl delete job llamafactory-quickstart

查看完整快速开始指南 查阅 CLI 命令参考