我们可以创建一个带有一些CPU和一些GPU机器的dask集群。如果是,那么如何控制某个任务必须只在CPU机器上运行,或者某些其他类型的任务只能在GPU机器上运行,如果没有指定,它应该选择哪个机器是免费的。?
dask是否支持这种类型的集群。什么是控制在特定CPU / GPU机器上运行的任务的命令。?
答案 0 :(得分:1)
您可以指定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。
有关详细信息,请参阅documentation on worker resources。