每当我创建
import numpy
时,即使不使用numpy,也会创建11个子进程(我的CPU有6/12个核心/线程)。这种情况只会发生一小会儿,但每个子进程都会收到内存中分配的对象的副本。这没什么大不了的,因为它在一开始就发生了,但我担心任何可能的副作用。有人可以解释一下为什么会发生这种情况吗?
这里有非常简单的代码来重现问题:
import time
import numpy
def hello_world():
print("Hello world")
time.sleep(10)
if __name__ == '__main__':
print("Running")
time.sleep(30)
hello_world()
这是由 OpenBLAS 引起的。您可以通过调用来解决此问题
OPENBLAS_NUM_THREADS=1 python myscript.py