我发布这个问题是为了询问如何在
Windows XP机器上优化R中多个处理器的使用.
目前我正在创建4个脚本(每个脚本用例如for(i in 1:100)和(i in 101:200)等),我同时在4个不同的R会话中运行.这似乎使用了所有可用的cpu.
但是,我希望这样做更有效率.一种解决方案可能是使用“doMC”和“foreach”软件包,但这在Windows机器上的R中是不可能的.
例如
library("foreach") library("strucchange") library("doMC") # would this be possible on a windows machine? registerDoMC(2) # for a computer with two cores (processors) ## Nile data with one breakpoint: the annual flows drop in 1898 ## because the first Ashwan dam was built data("Nile") plot(Nile) ## F statistics indicate one breakpoint fs.nile <- Fstats(Nile ~ 1) plot(fs.nile) breakpoints(fs.nile) #,hpc = "foreach" --> It would be great to test this. lines(breakpoints(fs.nile))
任何解决方案或建议?
为了完整起见,这里是Tal的评论所要求的答案,它提供了一个简单而便携的替代方案.答案包括跑步
> library(sNow) > help(makeCluster)
并从示例的顶部运行前三行代码:部分:
> cl <- makeCluster(c("localhost","localhost"),type = "SOCK") > clusterapply(cl,1:2,get("+"),3) [[1]] [1] 4 [[2]] [1] 5 > stopCluster(cl) > .Platform$OS.type [1] "windows" >
真的那么难吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。