检查是否在R

时间:2017-10-25 14:39:26

标签: r parallel-processing hyperthreading

有没有办法检查是否在R内启用了超线程?

我现在能想到的最好的是运行以下系统调用,但这需要root权限,并且必须进行解析。

system("dmidecode -t processor | grep HTT")

1 个答案:

答案 0 :(得分:1)

关注F.Privé的评论,detectCores包中的parallel函数应该能够通过其第二个参数(逻辑)完成您想要的任务。来自?parallel::detectCores

  

逻辑:逻辑:如果可能,使用物理CPU /核心数(如果为FALSE)或逻辑CPU(如果为TRUE)。 Windows上的默认值为TRUE,其他地方的默认值为FALSE。

对于我的机器,4核超线程i-7,我得到了

# physical cores
parallel::detectCores(logical=FALSE)
[1] 4
# logical cores (threads)
parallel::detectCores(logical=TRUE)
[1] 8