Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在dask分布式系统中管理单个工作进程上的GPU资源?_Python_Dask - Fatal编程技术网

Python 如何在dask分布式系统中管理单个工作进程上的GPU资源?

Python 如何在dask分布式系统中管理单个工作进程上的GPU资源?,python,dask,Python,Dask,我有一个关于你的问题 假设我想运行一组任务,每个任务在不同数量的GPU上运行,例如,一个任务在2个GPU上运行(类型a),而其他几个任务在1个GPU上运行(类型B)。我的理解是,可以使用“resources”属性设置多个worker。例如,我可能总共有3个GPU,设置了一个资源变量为“GPU=2”的工作线程,另一个为“GPU=1”。很明显,这里的“GPU”是一个抽象术语(参见) 然而,这将意味着,在使用2个GPU的工作线程上运行了类型A的任务之后,该工作线程将同时只执行一个类型B的任务,从而不使

我有一个关于你的问题

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

然而,这将意味着,在使用2个GPU的工作线程上运行了类型A的任务之后,该工作线程将同时只执行一个类型B的任务,从而不使用与该工作线程关联的其他可用GPU。这是正确的吗

理想情况下,我想用执行作业时更新的(类似于ncore)GPU总数(这里是:3)定义一个worker。因此,工作人员应该能够并行运行A类型的单个任务和B类型的一个任务,然后并行运行B类型的三个任务。这可能吗


干杯

是的,您可以声明该工人有三个GPU。工人将跟踪当前正在运行的任务的资源,并确保其不会运行总资源需求将超过工人资源的任务。

太好了!谢谢你的快速回复。