楼主: gxsxk
4580 4

[问答] foreach并行计算问题 [推广有奖]

  • 0关注
  • 0粉丝

学前班

90%

还不是VIP/贵宾

-

威望
0
论坛币
8 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
83 点
帖子
2
精华
0
在线时间
4 小时
注册时间
2011-6-21
最后登录
2018-2-24

楼主
gxsxk 发表于 2015-12-1 16:21:16 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
       最近在研究R并行计算,用自定义函数测试了下,发现并行计算居然比单线程计算耗时还大,测试时还发现,真正并行计算的时间只有十几秒,而且各个cpu的使用率都达不到90%,不知道有没有改进的办法。希望各给高手帮忙解答一下:
自定义函数如下:

> func
function(x,y){
  return(x+y)
}

单线程代码如下:
> system.time({ x <- foreach(a = 1:500000,b=rep(10,500000)) %do% func(a,b) })
   用户    系统    流逝
398.044   2.856 400.906

并行计算代码如下:

> cl <- makeCluster(4)
> registerDoParallel(cl)
> system.time({ x <- foreach(a = 1:500000,b=rep(10,500000)) %dopar% func(a,b) })
   用户    系统    流逝
526.683  12.466 539.232

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:foreach Reach 并行计算 计算问题 For 多线程

沙发
wl21787 发表于 2015-12-1 16:25:10
R运行的环境是在linux系统下么?

藤椅
gxsxk 发表于 2015-12-1 16:28:03
wl21787 发表于 2015-12-1 16:25
R运行的环境是在linux系统下么?
是的,linux CentOS系统,24核CPU

板凳
何阳梅 学生认证  发表于 2018-6-5 16:15:30
这对话戛然而止是怎么回事,这论坛的表情包太丑了,放弃使用

报纸
jgchen1966 发表于 2018-6-5 17:40:47
对简单的计算任务,在各核间分配与收集数集的工作量,可能变成速度的“瓶颈”了!!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-3 02:57