2

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

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

这是一个错误吗?

4

1 回答 1

-1

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

于 2017-10-27T07:43:08.423 回答