有没有办法检查是否在R
内启用了超线程?
我现在能想到的最好的是运行以下系统调用,但这需要root权限,并且必须进行解析。
system("dmidecode -t processor | grep HTT")
答案 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