如何指定磁盘阵列

2024-10-08 19:24:05 发布

您现在位置:Python中文网/ 问答频道 /正文

假设要指定磁盘阵列,如Dask documentation所示,您可以设置:

dask.set_options(pool=ThreadPool(num_workers)) 

这在我运行过的一些模拟中非常有效,例如montecarlo的,但是对于一些线性代数操作,Dask似乎覆盖了用户指定的配置,例如:

^{pr2}$

如果我用一个小的矩阵大小运行这个程序,它显然只使用num_workers个worker,但是如果我增加矩阵的大小,它会突然创建十几个worker,如图所示。enter image description here

那么,我怎样才能请求Dask只使用num_workers工人来解决问题呢?在


Tags: 用户documentation矩阵numdaskoptionsworkerpool
1条回答
网友
1楼 · 发布于 2024-10-08 19:24:05

使用线程调度程序时,Dask不会产生任何新进程。相反,它运行主进程中的所有内容。在

但是,这并不能阻止函数生成进程本身。正如mikegraham在评论中指出的那样,在混合使用类似Dask的并行解决方案和MKL或OpenBLAS这样的并行BLAS实现时应该小心。这会损害性能。通常最好将两个库中的一个设置为每次调用使用一个线程。在

我仍然不明白为什么会看到多个python进程。据我所知,线程Dask和MKL都没有为计算创建新的进程。然而,考虑到您通过限制MKL线程的数量而得到的积极结果,也许自从我上次使用MKL签入以来,MKL已经改变了。在

相关问题 更多 >

    热门问题