Python 3.7,奇怪的多处理问题,Core突然变慢

时间:2019-03-02 10:02:56

标签: parallel-processing multiprocessing

我一直在使用新的Mac OSX 10.14处理批处理作业。 Ipyparallel运行良好,直到突然开始运行缓慢。第一次发生这种情况时,我重新启动了计算机,这似乎可以解决问题。下一次发生这种情况时,我(愚蠢地)终止了活动监视器上的Ipcluster进程。现在,当群集运行得更快时,它总是比单个内核运行得慢。

是否可以通过以这种方式终止过程来造成硬件/软件损坏?我还注意到,集群以前使用的不是我的CPU的100%(在我的6核计算机上为1200%)。我将应用程序复制到了较旧的Mac,并且在那里使用ipyparallel运行起来也更快。我尝试重新安装Anaconda,但仍然没有结果。

import numpy as np
from ipyparallel import Client
rc = Client(profile='default')
dview = rc[:]

with dview.sync_imports():
import numpy

data = np.array([np.random.rand(100000)] * 6)

%%timeit
result = np.zeros(data.shape)
for i in np.arange(0,6):
result[i,:] = np.sin(data[i,:])
result
--707 µs ± 11.6 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

%px import numpy as np

def sin_fun(i):
return np.sin(data[i,:])
dview.push({'data': data})

%%timeit
results = dview.map_sync(sin_fun, np.arange(0,6))
results
--74.3 ms ± 4.57 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)

ipyparallel 6.2.3 py37_0 pyzmq 18.0.0 py37h0a44026_0 龙卷风5.1.1 py37h1de35cc_0

0 个答案:

没有答案