gpt4 book ai didi

docker - 如何在Nvidia Docker上使用Nomad?

转载 作者:行者123 更新时间:2023-12-02 20:31:10 27 4
gpt4 key购买 nike

有什么办法可以将nvidia-dockerNomad一起使用吗?

用于Nvidia的计算程序可以在本地运行,但不能与nvidia-docker一起使用(它使用CPU而不是GPU)。

首选的方法是什么?

  • nvidia-docker驱动程序用于Nomad
  • 使用原始docker exec运行nvidia-docker
  • 以某种方式将Nomad连接到nvidia-docker引擎

  • 有人有经验吗?

    最佳答案

    这是我花了很多时间实现的事情,这一次(虽然自己运行5.6,但游牧0.7.0)没有不使用原始fork / exec就能实现nvidia-docker作业的“游牧”方式。提供容器编排,服务发现,日志传送,资源管理(即装箱)。

    我很惊讶nvidia-docker命令实际上并不代表docker起作用,或者将命令转发给docker。只有在调用run / exec命令(即nvidia-docker run --yar blar)时,它才真正有用,因为它调用了一个辅助程序,该程序返回带有适当设备和json格式的卷装入的json响应。当容器数据发送到实际的Docker套接字时,它包含针对主机上安装的cuda版本的正确设备和卷(检查容器)。

    使用exec驱动程序实现此解决方案的另一部分是,如果您希望进行滚动部署,则创建一个代表部署执行的任务。我正在使用一个简单的脚本来协调与nvidia-docker任务相同的任务组中的滚动部署。只要您在任务组中使用交错,最大并行度(设置为1)并确保在编排任务中具有动态参数(如random或date)(如果差异为0,nomad将不会更新任务),您应该组。

    一旦Nomad具有计算gpu(此处需要自定义指纹:https://github.com/hashicorp/nomad/tree/master/client/fingerprint)资源类型的能力,并具有安装非块类型设备(即,不是磁盘的设备)的能力,则应该可以使用nvidia-docker进行规避。希望对您有所帮助,请务必在此处更改功能请求:

    https://github.com/hashicorp/nomad/issues/2938

    要扩展使用常规docker运行此操作的权限,还必须挂载nvidia-docker创建的卷。 docker volume ls将显示已命名的卷,您必须为容器安装cuda卷才能访问驱动程序(除非您已经塞入容器,不建议这样做)。

    关于docker - 如何在Nvidia Docker上使用Nomad?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44004898/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com