GPU共享调度器扩展器使用指南

GPU共享调度器扩展器使用指南

gpushare-scheduler-extender项目地址:https://gitcode.com/gh_mirrors/gp/gpushare-scheduler-extender

项目介绍

GPU共享调度器扩展器(GPU Sharing Scheduler Extender)是一个为Kubernetes集群设计的开源项目,旨在提高Nvidia GPU的利用率。通过允许在同一Nvidia GPU设备上部署多个共享GPU的Pod,该项目解决了如何在Pod之间共享GPU的问题。它基于调度器扩展器和设备插件机制,使得在Kubernetes环境中复用这一解决方案变得容易。

项目快速启动

前提条件

  • Kubernetes 1.11+
  • Golang 1.19+
  • NVIDIA驱动版本 >= 361.93
  • Nvidia-docker版本 > 2.0
  • Docker配置为使用Nvidia作为默认运行时

安装步骤

  1. 克隆项目仓库

    git clone https://github.com/AliyunContainerService/gpushare-scheduler-extender.git
    cd gpushare-scheduler-extender
    
  2. 构建镜像

    make build-image
    
  3. 部署设备插件

    git clone https://github.com/AliyunContainerService/gpushare-device-plugin.git
    cd gpushare-device-plugin
    docker build -t cheyang/gpushare-device-plugin .
    
  4. 安装Kubectl扩展

    mkdir -p $GOPATH/src/github.com/AliyunContainerService
    cd $GOPATH/src/github.com/AliyunContainerService
    git clone https://github.com/AliyunContainerService/gpushare-device-plugin.git
    cd gpushare-device-plugin
    go build -o $GOPATH/bin/kubectl-inspect-gpushare-v2 cmd/inspect/*
    

应用案例和最佳实践

案例1:部署多个共享GPU的Pod并以binpack方式调度到同一GPU设备上

  • 描述如何配置和部署多个需要共享GPU资源的Pod,并确保它们以最佳方式(如binpack)被调度到同一GPU设备上。

案例2:避免GPU内存碎片化

  • 解释如何通过合理的资源分配和调度策略,避免GPU内存的碎片化,从而提高整体GPU的利用率和性能。

典型生态项目

  • gpushare-device-plugin: 这是一个与GPU共享调度器扩展器配合使用的设备插件,负责管理和分配GPU资源。
  • Nvidia Docker2: 该项目是GPU共享解决方案的基础,提供了GPU资源管理和分配的核心功能。

通过这些项目的协同工作,可以实现高效的GPU资源共享和管理,适用于需要高性能计算的多种场景。

gpushare-scheduler-extender项目地址:https://gitcode.com/gh_mirrors/gp/gpushare-scheduler-extender

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘通双Elsie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值