Numexpr检测线程数小于核心数

时间:2017-04-26 17:50:50

标签: python arrays cluster-computing python-multithreading numexpr

我在远程集群上使用numexpr进行简单数组添加。我的计算机有8个内核,远程集群有28个内核。 Numexpr文档说“在初始化期间,Numexpr将此数字设置为系统中检测到的核心数”但是群集提供了此输出。 detect_number_of_cores()= 28
detect_number_of_threads()= 8

虽然当我尝试手动将线程数设置为其他东西(set_num_threads = 20)时,阵列操作似乎运行得更快。但detect_number_of_threads()仍然给出8作为输出。

这是一个错误吗?

1 个答案:

答案 0 :(得分:0)

我不确定,当调用detect_number_of_threads时,numexpr在内部是如何工作的,但是它可能会读出openmp可用的线程数而不是本地设置的线程数。