我在远程集群上使用numexpr进行简单数组添加。我的计算机有8个内核,远程集群有28个内核。 Numexpr文档说“在初始化期间,Numexpr将此数字设置为系统中检测到的核心数”但是群集提供了此输出。
detect_number_of_cores()= 28
detect_number_of_threads()= 8
虽然当我尝试手动将线程数设置为其他东西(set_num_threads = 20)时,阵列操作似乎运行得更快。但detect_number_of_threads()仍然给出8作为输出。
这是一个错误吗?
答案 0 :(得分:0)
我不确定,当调用detect_number_of_threads时,numexpr在内部是如何工作的,但是它可能会读出openmp可用的线程数而不是本地设置的线程数。