g********r 发帖数: 8017 | 1 就是一台八核机器,开八个node。用SNOW。
我突然发现我的code里有两层%dopar%指令。外层的并行了以后,如果有超过一个核
空闲,内层的似乎也能并行。
结果似乎是对的。可是心里发虚,不知道SNOW是怎么控制这种情况的。
有熟悉的大虾给讲解一下么? |
d******e 发帖数: 7844 | 2 并行计算还是matlab或者python。R不是什么严肃的计算平台,太弱了
【在 g********r 的大作中提到】 : 就是一台八核机器,开八个node。用SNOW。 : 我突然发现我的code里有两层%dopar%指令。外层的并行了以后,如果有超过一个核 : 空闲,内层的似乎也能并行。 : 结果似乎是对的。可是心里发虚,不知道SNOW是怎么控制这种情况的。 : 有熟悉的大虾给讲解一下么?
|
g********r 发帖数: 8017 | 3 R用统计包方便啊。matlab里,如果编程不小心写了双层并行,会出问题么?
【在 d******e 的大作中提到】 : 并行计算还是matlab或者python。R不是什么严肃的计算平台,太弱了
|
d******e 发帖数: 7844 | 4 ... ...不写分号?
【在 g********r 的大作中提到】 : R用统计包方便啊。matlab里,如果编程不小心写了双层并行,会出问题么?
|
g********r 发帖数: 8017 | 5 不是。一个在另一个的大括号里。
【在 d******e 的大作中提到】 : ... ...不写分号?
|
d******e 发帖数: 7844 | 6 ... ...
【在 g********r 的大作中提到】 : 不是。一个在另一个的大括号里。
|
g********r 发帖数: 8017 | 7 不要无语。帮忙分析一下。其实是外层那个调用了一个很久以前写的子程序。忘了那个
子程序自己也是多核并行的。
【在 d******e 的大作中提到】 : ... ...
|
d******e 发帖数: 7844 | 8 我不用R搞并行,那个破书Writing Extension写得太烂了,我想调用OpenMP,死活没看
明白书里要干什么。从此珍惜生命,远离R的并行计算
【在 g********r 的大作中提到】 : 不要无语。帮忙分析一下。其实是外层那个调用了一个很久以前写的子程序。忘了那个 : 子程序自己也是多核并行的。
|
g********r 发帖数: 8017 | 9 R用doSNOW+foreach那套还挺好使的。用着也方便,直接for换成for。。。dopar就完
了。只要loop里面工作够大,还是挺有效的。
刚仔细看了看结果,似乎snow还挺robust,我弄了两层dopar结果还是对的。
【在 d******e 的大作中提到】 : 我不用R搞并行,那个破书Writing Extension写得太烂了,我想调用OpenMP,死活没看 : 明白书里要干什么。从此珍惜生命,远离R的并行计算
|
d******e 发帖数: 7844 | 10 还是换Matlab/Python吧,多花点时间写点额外的code, 效率提高N多倍
【在 g********r 的大作中提到】 : R用doSNOW+foreach那套还挺好使的。用着也方便,直接for换成for。。。dopar就完 : 了。只要loop里面工作够大,还是挺有效的。 : 刚仔细看了看结果,似乎snow还挺robust,我弄了两层dopar结果还是对的。
|
|
|
g********r 发帖数: 8017 | 11 遇到只有R code的方法怎么办?你用matlab call R么?
【在 d******e 的大作中提到】 : 还是换Matlab/Python吧,多花点时间写点额外的code, 效率提高N多倍
|
d******e 发帖数: 7844 | 12 python可以call R
【在 g********r 的大作中提到】 : 遇到只有R code的方法怎么办?你用matlab call R么?
|
g********r 发帖数: 8017 | 13 嗯用python看来是好主意。
【在 d******e 的大作中提到】 : python可以call R
|
l***a 发帖数: 12410 | 14 为啥我在一台4核(i5)的机器上用SAS的parallel programming却完全看不到效率提高? |
d******e 发帖数: 7844 | 15 因为你没用对
高?
【在 l***a 的大作中提到】 : 为啥我在一台4核(i5)的机器上用SAS的parallel programming却完全看不到效率提高?
|
l***a 发帖数: 12410 | 16 能不能给个简单的例子怎么才对?
我试过glm和logistic(因为glm是SAS为多线程优化过的,logistic还不能使用多线程
),但是parallel promgraming以后都没有提高code的效率
【在 d******e 的大作中提到】 : 因为你没用对 : : 高?
|
d******e 发帖数: 7844 | 17 为多线程优化过,不代表支持并行计算。
你要是自己不会coding的话,那就等SAS慢慢支持多核或者集群计算吧。
【在 l***a 的大作中提到】 : 能不能给个简单的例子怎么才对? : 我试过glm和logistic(因为glm是SAS为多线程优化过的,logistic还不能使用多线程 : ),但是parallel promgraming以后都没有提高code的效率
|
l***a 发帖数: 12410 | 18 要会什么coding?
我看了一些paper,讲解怎么在sas里面利用多cpu,我就按照里面的例子试验的,结果
就发现没有提高所以才有这个疑问
比如这个
http://www2.sas.com/proceedings/sugi29/124-29.pdf
【在 d******e 的大作中提到】 : 为多线程优化过,不代表支持并行计算。 : 你要是自己不会coding的话,那就等SAS慢慢支持多核或者集群计算吧。
|
d******e 发帖数: 7844 | 19 目前投入使用的应该多是trival并行的功能,比如cross validation和一些sampling功能
像logistic regression这种优化问题,目前都还处在research阶段,商业软件目前应
该还没有机会提供。
【在 l***a 的大作中提到】 : 要会什么coding? : 我看了一些paper,讲解怎么在sas里面利用多cpu,我就按照里面的例子试验的,结果 : 就发现没有提高所以才有这个疑问 : 比如这个 : http://www2.sas.com/proceedings/sugi29/124-29.pdf
|
l***a 发帖数: 12410 | 20 sas目前threads enabled procedure有
Base SAS engine indexing
Base SAS procedures: SORT, SUMMARY, MEANS, REPORT, TABULATE, and SQL
SAS/STAT procedures: GLM, LOESS, REG, ROBUSTREG.
我不确定它们是不是trivial的。。。我是现在的疑问是,按照前面那个paper的方法试
验,不管是不是threads enabled的proc在运行效率上都没有提高,那这些paper讲解的
什么 rsubmit/endrsubmit 有什么用
功能
【在 d******e 的大作中提到】 : 目前投入使用的应该多是trival并行的功能,比如cross validation和一些sampling功能 : 像logistic regression这种优化问题,目前都还处在research阶段,商业软件目前应 : 该还没有机会提供。
|
g**u 发帖数: 205 | 21 原来搞并行的人不少啊。我那SB老板还因为拿了个并行的project激动半天呢 |
g********r 发帖数: 8017 | 22 这些人多数不是搞并行的。只是用并行的。真搞并行还是挺高深地。要是哪天R的解释
器能自动并行,不用自己写并行code,那是多美好的一件事啊。
【在 g**u 的大作中提到】 : 原来搞并行的人不少啊。我那SB老板还因为拿了个并行的project激动半天呢
|