限制核心数达斯克不起作用?

时间:2019-04-05 02:32:38

标签: python dask dask-distributed

即使我将内核数设置为24,所有120个内核也都在使用,而且使用率达100%。

I set up dask this way

all cores are in use

1 个答案:

答案 0 :(得分:1)

您实际上告诉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

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

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

相关问题