d******a 发帖数: 32122 | 1 我怀疑那些写教程比较并行计算速度优势的都是用原生R的
我在Microsoft R Open上计算,本身是用MKL优化了,并行的提高效果基本没有
不用并行,CPU占用率50%
用了并行,占用率长时间100%,风扇猛转,最后总运行时间差不多 |
l*******m 发帖数: 1096 | 2 haha, 把cpu用满不容易吧
:我怀疑那些写教程比较并行计算速度优势的都是用原生R的
: |
p***o 发帖数: 1252 | 3 开了超线程做计算,CPU 50%正好,到100%不慢就不错了。
【在 d******a 的大作中提到】 : 我怀疑那些写教程比较并行计算速度优势的都是用原生R的 : 我在Microsoft R Open上计算,本身是用MKL优化了,并行的提高效果基本没有 : 不用并行,CPU占用率50% : 用了并行,占用率长时间100%,风扇猛转,最后总运行时间差不多
|
m******r 发帖数: 1033 | 4 用原生R怎么了 , 有什么不对么 ?
R并行是快, 虽然不是线性增长那么快, 但感觉还是挺明显的。
不知道微软R是怎么回事, 要不要花钱 ? |
d******a 发帖数: 32122 | 5 原生R非常慢
Rocker的R是加了openBLAS重新编译了
【在 m******r 的大作中提到】 : 用原生R怎么了 , 有什么不对么 ? : R并行是快, 虽然不是线性增长那么快, 但感觉还是挺明显的。 : 不知道微软R是怎么回事, 要不要花钱 ?
|
s***x 发帖数: 293 | 6 R的并行运算效果还是很明显的。先检查下自己搞对了没有,别总感觉就自己高,那帮
写package的都在吃x,那样很silly。
【在 d******a 的大作中提到】 : 我怀疑那些写教程比较并行计算速度优势的都是用原生R的 : 我在Microsoft R Open上计算,本身是用MKL优化了,并行的提高效果基本没有 : 不用并行,CPU占用率50% : 用了并行,占用率长时间100%,风扇猛转,最后总运行时间差不多
|
l****r 发帖数: 119 | |
a******9 发帖数: 20431 | 8 我以前用过dosnow加foreach 很简单的并行 效果很好
【在 d******a 的大作中提到】 : 我怀疑那些写教程比较并行计算速度优势的都是用原生R的 : 我在Microsoft R Open上计算,本身是用MKL优化了,并行的提高效果基本没有 : 不用并行,CPU占用率50% : 用了并行,占用率长时间100%,风扇猛转,最后总运行时间差不多
|
d******a 发帖数: 32122 | 9
https://mran.microsoft.com/open
免费很长时间了
唯一缺点就是到了 3.5.3 就没再更新
【在 m******r 的大作中提到】 : 用原生R怎么了 , 有什么不对么 ? : R并行是快, 虽然不是线性增长那么快, 但感觉还是挺明显的。 : 不知道微软R是怎么回事, 要不要花钱 ?
|
d******a 发帖数: 32122 | 10 我昨天发了贴后,查了一下微软的资料,说他家的R自动对R程序做了并行优化,所以不
要刻意使用并行,否则要么没什么提高,要么还不如不做
【在 s***x 的大作中提到】 : R的并行运算效果还是很明显的。先检查下自己搞对了没有,别总感觉就自己高,那帮 : 写package的都在吃x,那样很silly。
|
|
|
l******n 发帖数: 9344 | 11 同意,我的经验也是一样的
R并行的时候是直接把计算分配到每个thread,所以机器的thread是个限制。而且R会
copy所有的数据程序到每个thread,所以可能出现内存不足的问题
【在 m******r 的大作中提到】 : 用原生R怎么了 , 有什么不对么 ? : R并行是快, 虽然不是线性增长那么快, 但感觉还是挺明显的。 : 不知道微软R是怎么回事, 要不要花钱 ?
|
i**********a 发帖数: 1402 | |
s***x 发帖数: 293 | 13 自动并行也是很可怕的,用户写的code有问题的话,很容易宕机。
软软的Open R估计是跟不上RStudio的节奏,要放弃了,现在还有多少在用它?
【在 d******a 的大作中提到】 : 我昨天发了贴后,查了一下微软的资料,说他家的R自动对R程序做了并行优化,所以不 : 要刻意使用并行,否则要么没什么提高,要么还不如不做
|
m******r 发帖数: 1033 | 14 楼主用的是微软R, mran,
https://mran.microsoft.com/rro
写到:
Plus these key enhancements:
Multi-threaded math libraries that brings multi-threaded computations to R.
A high-performance default CRAN repository that provide a consistent and
static set of packages to all Microsoft R Open users.
我估计微软已经把底层计算重新写了一遍, 能优化的优化,能并行的并行 . foreach
对baseR灵, 对微软R不灵, 不奇怪。 |
w****3 发帖数: 1 | |
d******a 发帖数: 32122 | 16
软软估计是对R丧失了信心
软软的R Tools for Visual Studio 比Rstudio强了不少,已经停了
【在 s***x 的大作中提到】 : 自动并行也是很可怕的,用户写的code有问题的话,很容易宕机。 : 软软的Open R估计是跟不上RStudio的节奏,要放弃了,现在还有多少在用它?
|
l*****9 发帖数: 1 | 17 R open就一个用icc和mkl build R, 也就用blas和lapack的时候会用多线程,其他的
时候并没有区别。楼上几个是不是对blas和opemmp一无所知? |
m******r 发帖数: 1033 | 18 确实对你说的这些一无所知 。 不过我想微软花这么大功夫折腾R, 想必做了很大改动/
改进吧 ? 底下的各种计算应该优化一遍吧 ?
我上面贴了链接,证明微软对R(我理解是base R的各种函数,库什么的)做了大改动。
只是一点猜想, 你懂得多,欢迎多分享。
【在 l*****9 的大作中提到】 : R open就一个用icc和mkl build R, 也就用blas和lapack的时候会用多线程,其他的 : 时候并没有区别。楼上几个是不是对blas和opemmp一无所知?
|
d******a 发帖数: 32122 | 19 我在linux下按照网上的文章下载mkl重新编译了R的源代码
跑benchmark 25分数不错
但是运行我自己写的R比在Microsoft R Open上多花20%以上的时间
微软显然不是仅仅编译
【在 l*****9 的大作中提到】 : R open就一个用icc和mkl build R, 也就用blas和lapack的时候会用多线程,其他的 : 时候并没有区别。楼上几个是不是对blas和opemmp一无所知?
|
m******r 发帖数: 1033 | 20 所以你的结论是 ??
【在 d******a 的大作中提到】 : 我在linux下按照网上的文章下载mkl重新编译了R的源代码 : 跑benchmark 25分数不错 : 但是运行我自己写的R比在Microsoft R Open上多花20%以上的时间 : 微软显然不是仅仅编译
|
|
|
d******c 发帖数: 2407 | 21 微软只是买了个公司挂上自己logo而已(搜索Revolution Analytics),没有真的下大
功夫。要是真的把底层全改了,全能并行,会有人不用吗?现实中有多少人用?
还有vs code,有多少人用来写R?RStudio是整个一套东西,RMD,shiny,R近年的进步
一大半来自RStudio或RStudio资助的东西。
真正有作用的就是intel优化的MKL库而已,这玩意自己装起来不好装。你用base R也一
样能并行就并行,最多效率比MKL低一点。
用户级别用R的并行,主要是Embarrassingly parallel,分几个R session去处理不同
数据,几乎没有进程间通讯。
windows上必须用socket,overhead高而且需要额外copy环境。linux/mac上可以用fork
,效率高不需要手工copy。
如果想什么都不做,不改代码提高效率,希望最大的是GraalVM,现在还不成熟,如果
成熟了,可以直接把R的效率提高一个档次,这才是从底层去做的优化,用高性能JVM。
【在 d******a 的大作中提到】 : 我在linux下按照网上的文章下载mkl重新编译了R的源代码 : 跑benchmark 25分数不错 : 但是运行我自己写的R比在Microsoft R Open上多花20%以上的时间 : 微软显然不是仅仅编译
|
d******a 发帖数: 32122 | 22 base R很差,这点毋庸置疑
我比较过
按照速度,运行我自己写的R,基本上是
Microsoft R Open for Windows (本机运行)>> 我自己用MKL编译的R运行在Docker =
Rocker的OPenBLAS的docker >>> BASE R for Windows (本机运行)
运行benchmark25.R
我自己用MKL编译的R运行在Docker上居然速度超过了Microsoft R Open运行在本机
唯一区别是一个是R 4.0.1, Microsoft R Open是3.5.3
fork
【在 d******c 的大作中提到】 : 微软只是买了个公司挂上自己logo而已(搜索Revolution Analytics),没有真的下大 : 功夫。要是真的把底层全改了,全能并行,会有人不用吗?现实中有多少人用? : 还有vs code,有多少人用来写R?RStudio是整个一套东西,RMD,shiny,R近年的进步 : 一大半来自RStudio或RStudio资助的东西。 : 真正有作用的就是intel优化的MKL库而已,这玩意自己装起来不好装。你用base R也一 : 样能并行就并行,最多效率比MKL低一点。 : 用户级别用R的并行,主要是Embarrassingly parallel,分几个R session去处理不同 : 数据,几乎没有进程间通讯。 : windows上必须用socket,overhead高而且需要额外copy环境。linux/mac上可以用fork : ,效率高不需要手工copy。
|
d******a 发帖数: 32122 | 23
不要再折腾自己编译R了
老老实实用Microsoft R Open 3.5.3
【在 m******r 的大作中提到】 : 所以你的结论是 ??
|