3

R 2.14.0 或更高版本包括R 包parallel,它为并行计算提供支持。

Unix-likes下,这个包提供了设置子进程的 CPU 亲和性的工具

Windows上并行使用R包时,是否可以设置子进程的 CPU 亲和性?

4

1 回答 1

2

这是一种在 Windows 上设置 R 会话的 CPU 亲和性的方法。此方法需要 PowerShell。它设置执行命令的 R 会话的 CPU 亲和性。设置use.core为长度等于逻辑 CPU 内核数的向量,其中每个位置指示 R 进程是否 ( 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=""))
于 2013-04-08T15:27:51.427 回答