我们可以一起创建一个包含一些 CPU 和一些 GPU 机器的 dask-cluster。如果是,如何控制某个任务只能在CPU机器上运行,或者其他类型的任务只能在GPU机器上运行,如果没有指定,它应该选择哪台机器空闲。?
dask 支持这种类型的集群吗?控制任务在特定 CPU/GPU 机器上运行的命令是什么?
我们可以一起创建一个包含一些 CPU 和一些 GPU 机器的 dask-cluster。如果是,如何控制某个任务只能在CPU机器上运行,或者其他类型的任务只能在GPU机器上运行,如果没有指定,它应该选择哪台机器空闲。?
dask 支持这种类型的集群吗?控制任务在特定 CPU/GPU 机器上运行的命令是什么?
您可以指定 Dask 工作人员具有某些抽象资源
dask-worker scheduler:8786 --resources "GPU=2"
dask-worker scheduler:8786 --resources "GPU=2"
dask-worker scheduler:8786 --resources "MEMORY=100e9"
并且任务在执行期间会消耗这些资源。
processed = [client.submit(process, d, resources={'GPU': 1}) for d in data]
final = client.submit(aggregate, processed, resources={'MEMORY': 70e9})
您可以使用它对带有 GPU 的机器进行建模。请注意,这些术语 GPU 和 MEMORY 只是抽象术语。他们可以很容易地成为 FOO 和 BAR。
有关详细信息,请参阅有关工作人员资源的文档。