繁体   English   中英

R doMC库detectCores错误报告了内核数

[英]R doMC library detectCores misreporting number of cores

R讲师提供了此代码,以确保学生在并行处理中仅使用PC /笔记本电脑上的一半内核。 但是,如下所示,我的Mac系统报告说我有4个,而该库似乎检测到8个。要确保至少有1个或2个内核可用,此代码设置是否正确? 还是应该用ifelse()语句更改最后一行,以告知系统规格与它的检测不一致时该怎么办?

R代码:

# Setting Parallel processing
library(doMC)
library(parallel)
number_of_cores <- detectCores()
registerDoMC(cores = number_of_cores/2)

输出(看到多少个内核):

[1] 8

“关于此Mac”->“系统报告”报告的规格包括核心:

  Model Name:   MacBook Pro
  Model Identifier: MacBookPro14,3
  Processor Name:   Intel Core i7
  Processor Speed:  2.8 GHz
  Number of Processors: 1
  Total Number of Cores:    4
  L2 Cache (per Core):  256 KB
  L3 Cache: 6 MB
  Memory:   16 GB
  Boot ROM Version: MBP143.0160.B02

这里的问题是线程数与内核数。 内核是物理的,而线程(或多或少)则拆分内核并由软件驱动。 参数的这种组合应该让您获得核心:

detectCores(all.tests = FALSE, logical = FALSE)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM