gpt4 book ai didi

python - 限制核心数 Dask 不起作用?

转载 作者:行者123 更新时间:2023-12-01 01:04:13 33 4
gpt4 key购买 nike

尽管我将核心数设置为 24 个,但所有 120 个核心的使用率都是 100%。

from multiprocessing.pool import ThreadPool
import dask
dask.config.set(pool=ThreadPool(24))

from dask.distribted import Client
client = Client(processes=True, threads_per_worker=1,
n_workers=24, memory_limit='20GB')
client

I set up dask this way

all cores are in use

最佳答案

您实际上告诉 Dask 的是,一次最多运行 24 个 Python 函数。然而,这些 Python 函数可以做任何他们想做的事情,包括使用多个线程。

如果您将 NumPy 与任何现代 BLAS 实现一起使用,这种情况尤其常见。常见的解决方案是设置环境变量,例如

OMP_NUM_THREADS=1  # if you're using OpenBLAS or another OpenMP library
MKL_NUM_THREADS=1 # if you're using MKL

但我不知道您的代码实际上是做什么的,因此可能有一些其他方法可以从您的函数内控制线程,这些方法与上面的方法不同。

您所采取的两种方法也适用于不同的调度程序。第一个适用于本地调度程序。第二个是分布式调度程序。这很好,但默认情况下分布式调度程序将接管,并且示例的前几行没有任何效果。

关于python - 限制核心数 Dask 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55527461/

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