指定任务资源:分数 gpu

Specifying Task Resources: Fractional gpu

有没有办法指定任务的小数 gpu 要求?在 Dask 网页的 example 中,它指定了单个 GPU。

from distributed import Client
client = Client('scheduler:8786')

data = [client.submit(load, fn) for fn in filenames]
processed = [client.submit(process, d, resources={'GPU': 1}) for d in data]
final = client.submit(aggregate, processed, resources={'MEMORY': 70e9})

给小模型分配一个GPU会很浪费

Ray库有doing this的方法。

是的,允许部分资源。

一般来说,资源是任意单位的,所以如果你用“GPU=2”或者一些“foo=10”实例化调度器,调度器会在任务分配时跟踪这些资源,但调度器不会真正知道(或关心)“GPU”或“foo”是什么。提交任务时可以传入{"GPU": 0.25},调度器会分配多个分配给GPU worker的任务,比如告诉调度器每个worker有"foo=10",那么调度器会要求每个worker 运行 同时提交最多十个任务{"foo":1}