Dask 达斯克:许多小工人对一个大工人
我试图从以下方面理解这个简单的例子: 我认为这意味着将有100个工作,每个工作使用36核 假设我可以在一个集群上使用48个内核Dask 达斯克:许多小工人对一个大工人,dask,Dask,我试图从以下方面理解这个简单的例子: 我认为这意味着将有100个工作,每个工作使用36核 假设我可以在一个集群上使用48个内核 我应该使用48个核的1个工作线程还是每个核的48个工作线程?如果您的计算主要释放GIL,那么每个进程可能需要几个线程。如果您主要在数字数据上进行Numpy、Pandas、Scikit Learn、Numba/Cython编程,则这是正确的。我可能会做六个进程,每个进程有八个内核 如果您的计算大多是纯Python代码,例如,您处理文本数据,或者在dicts/list/et
我应该使用48个核的1个工作线程还是每个核的48个工作线程?如果您的计算主要释放GIL,那么每个进程可能需要几个线程。如果您主要在数字数据上进行Numpy、Pandas、Scikit Learn、Numba/Cython编程,则这是正确的。我可能会做六个进程,每个进程有八个内核
如果您的计算大多是纯Python代码,例如,您处理文本数据,或者在dicts/list/etc上大量使用Python进行循环,那么您希望每个进程的线程数减少,可能需要两个。哦,谢谢!很高兴能从核心开发人员那里得到答案:)对于在一台计算机上只使用一个核心的纯Python计算,为什么建议使用两个线程?如果愿意,可以使用一个线程。我建议尝试一些选择,看看什么最适合你的情况。
from dask_jobqueue import PBSCluster
cluster = PBSCluster(cores=36,
memory"100GB",
project='P48500028',
queue='premium',
walltime='02:00:00')
cluster.start_workers(100) # Start 100 jobs that match the description above
from dask.distributed import Client
client = Client(cluster) # Connect to that cluster