R 2.14.0或更高版本包括R package parallel,它为并行计算提供支持。
在 Unix-likes 下,此程序包提供facility for setting CPU affinity of child processes。
在 Windows 上使用 R 包并行时,有没有办法设置子流程的CPU亲和力?
答案 0 :(得分:2)
这是一种在Windows上设置R会话的CPU亲和性的方法。此方法需要PowerShell。它设置执行命令的R会话的CPU亲和性。将use.core
设置为长度等于逻辑CPU核心数的向量,其中每个位置指示是否(T
)或不是(F
)R进程应该对该核心具有亲和性
use.core <- c(T, T, T, T)
affinity.mask <- sum(use.core*2^((1:length(use.core))-1))
shell(paste("PowerShell -Command \"& {(Get-Process -id ",Sys.getpid(),").ProcessorAffinity = ",affinity.mask,"}\"",sep=""))