gpt4 book ai didi

python - 射线 `num_cpus` 是否用于实际分配 CPU?

转载 作者:太空宇宙 更新时间:2023-11-03 15:32:49 24 4
gpt4 key购买 nike

使用 ray 框架时,有一个选项可以选择此任务所需的 CPU 数量,如解释的那样 here .

例如:

@ray.remote(num_cpus=4)
def f():
return 1

然而,尚不清楚是否会进行实际的 CPU 分配:

  1. 该函数将随机分配 4CPU(例如使用 CPU 亲和性,如 taskset linux 命令或 cpuset码头参数)
  2. 或者调度程序将仅在内部使用此 num_cpus 作为调度元数据。让 ex 决定他是否可以开始一项需要 16 个 cpu 的新任务,而这里只剩下 10 个。该任务仍然可以访问所有 CPU,并且可以“使用”比 num_cpus
  3. 中请求的更多的 CPU 时间

选项 2 似乎更有可能,但这在文档中没有说明。此外,GPU 似乎有一种选项 1,这使得调度程序的意图不清楚:

Ray will automatically set the environment variable CUDA_VISIBLE_DEVICES for that process.

该进程被配置为使用某个 GPU(但可以通过重置 CUDA_VISIBLE_DEVICES 绕过它)

那么,num_cpus在ray中是怎么使用的呢?

最佳答案

问得好 - 对于 CPU,分配仅用作元数据(选项 2)。对于 GPU,分配既用作元数据又提供隔离。文档将很快更新(之后会更新答案)。

关于python - 射线 `num_cpus` 是否用于实际分配 CPU?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56970453/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com