我正试图并行化下面的代码,我的惊喜是很大的,至少可以说,当我发现运行这段代码实际上使用了我的计算机的所有核心(numpy 1.15.1,Ubuntu 18.04,24核)!!!你知道吗
import numpy as np
if __name__ == '__main__':
q = np.random.rand(200,3)
bi = np.random.rand(2000)
tr = np.random.rand(1000, 2000, 3)
def serial_worker(frame):
exponents = np.tensordot(frame, q, axes=(1, 1))
exponentials = np.exp(1j * exponents)
return np.tensordot(bi, exponentials, axes=1)
amps = np.asarray([serial_worker(frame) for frame in tr])
python2 script.py
和python3 script.py
都使用所有内核。numpy是否预先配置为使用所有内核?否则,有人能解释一下如何确定哪些行是并行执行的吗?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐