【问题标题】:How to manage GPU resources on a single worker in dask distributed?如何在 dask 分布式中管理单个工作人员的 GPU 资源?
【发布时间】:2017-05-20 17:53:56
【问题描述】:

我有一个关于 dask distributed 的问题。

假设我想运行一组任务,每个任务都在不同数量的 GPU 上运行,例如,一个任务在 2 个 GPU(A 型)上运行,而其他几个任务在 1 个 GPU(B 型)上运行。我的理解是可以使用“资源”属性设置多个工作人员。例如,我可能总共有 3 个 GPU,并设置一个具有资源变量“gpus=2”的工作人员和另一个具有“gpus=1”的工作人员。很明显,这里的“gpus”是一个抽象术语(参见here)。

但是,这意味着 A 类型的任务在具有 2 个 GPU 的 worker 上运行后,该 worker 只会同时执行一个类型 B 的任务,因此不会使用与此相关的其他可用 GPU工人。它是否正确?

理想情况下,我想定义一个具有在执行作业时更新(类似于 ncores)的 GPU 总数(此处为 3)的单个 worker。因此,worker 应该能够并行运行一个 A 类任务和一个 B 类任务,然后并行运行三个 B 类任务。这可能吗?

干杯

【问题讨论】:

    标签: python dask


    【解决方案1】:

    是的,你可以说工人有三个 GPU。 Worker 将跟踪当前正在运行的任务的资源,并确保它不会运行总资源需求超过 Worker 资源的任务。

    【讨论】:

    • 太棒了!感谢您的快速回复。
    猜你喜欢
    • 2021-11-12
    • 2019-12-25
    • 2017-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-11
    • 2021-04-25
    • 2019-12-20
    相关资源
    最近更新 更多