由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - R的并行计算太扯了
相关主题
openblas怎么比base blas还慢呢?请教,如何设置run time KMP_PLACES_THREADS
谁在Xeon Phi上用过MKL问个选语言的问题
這個有用麼?从并行计算谈谈前戏的重要性 (转载)
Matrix calculation in C++也问问Python2和Python3.x的区别:并行计算有什么新进展
AMD 5600+,6000+ FX-72,74并行计算效果如何?150行 F# 做矩阵运算比MKL还快
问一个外行的问题,关于mpi (转载)完蛋了完蛋了,我找人开发软件,后台用的是GO
gnu c++ 自带的库能解矩阵方程吗?lapack如何求解XA=B
为啥matlab一直用列优先存储来存储array?what's the most popular math/statics libraries for c/c++ code ?
相关话题的讨论汇总
话题: 并行话题: open话题: microsoft话题: mkl话题: 并行计算
进入Programming版参与讨论
1 (共1页)
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
7
很可能是cache missing太多
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。

相关主题
gnu c++ 自带的库能解矩阵方程吗?问个选语言的问题
为啥matlab一直用列优先存储来存储array?从并行计算谈谈前戏的重要性 (转载)
请教,如何设置run time KMP_PLACES_THREADS也问问Python2和Python3.x的区别:并行计算有什么新进展
进入Programming版参与讨论
l******n
发帖数: 9344
11
同意,我的经验也是一样的
R并行的时候是直接把计算分配到每个thread,所以机器的thread是个限制。而且R会
copy所有的数据程序到每个thread,所以可能出现内存不足的问题

【在 m******r 的大作中提到】
: 用原生R怎么了 , 有什么不对么 ?
: R并行是快, 虽然不是线性增长那么快, 但感觉还是挺明显的。
: 不知道微软R是怎么回事, 要不要花钱 ?

i**********a
发帖数: 1402
12
糊涂了,R不是单线程的吗,怎么并行计算?
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
15
R还在提高,有个过程。
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%以上的时间
: 微软显然不是仅仅编译

相关主题
150行 F# 做矩阵运算比MKL还快what's the most popular math/statics libraries for c/c++ code ?
完蛋了完蛋了,我找人开发软件,后台用的是GO日本人做科研的style (转载)
lapack如何求解XA=B问个docker做pipeline的基础问题
进入Programming版参与讨论
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 的大作中提到】
: 所以你的结论是 ??
1 (共1页)
进入Programming版参与讨论
相关主题
日本人做科研的style (转载)AMD 5600+,6000+ FX-72,74并行计算效果如何?
问个docker做pipeline的基础问题问一个外行的问题,关于mpi (转载)
Markdown不错gnu c++ 自带的库能解矩阵方程吗?
有什么语言能取代python作数据处理? R?为啥matlab一直用列优先存储来存储array?
openblas怎么比base blas还慢呢?请教,如何设置run time KMP_PLACES_THREADS
谁在Xeon Phi上用过MKL问个选语言的问题
這個有用麼?从并行计算谈谈前戏的重要性 (转载)
Matrix calculation in C++也问问Python2和Python3.x的区别:并行计算有什么新进展
相关话题的讨论汇总
话题: 并行话题: open话题: microsoft话题: mkl话题: 并行计算