boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - R 两个大矩阵相乘,太慢怎么办呢
相关主题
请问现有软件能算多大矩阵的逆矩阵?
可有用C++的同志?
突然对直线拟合的R不明白起来了
R:matrix
请教:关于covariance matrix
求用R做bootstrap的example script
求问一个R apply 函数的问题
R 扫描matrix
问个R里面avoid for loop的问题(sapply,lapply...)
about R function to do N!
相关话题的讨论汇总
话题: 2000话题: nrow话题: rnorm话题: matrix话题: 矩阵
进入Statistics版参与讨论
1 (共1页)
B********1
发帖数: 24
1
A 2000*2000
B 2000*2000
需要计算 A %*%B 但是好慢啊,有没有快些的方法呢?
p****0
发帖数: 1786
2
matlab?
B********1
发帖数: 24
3
是个大程序中的几步,其他都是R写的。 R可以调用Matlab function么?
h***i
发帖数: 3844
4
MapReduce

【在 B********1 的大作中提到】
: A 2000*2000
: B 2000*2000
: 需要计算 A %*%B 但是好慢啊,有没有快些的方法呢?

w**********n
发帖数: 55
5
从统计之都copy来的,大牛的解答,我是不懂:
R的矩阵运算是调用BLAS矩阵运算库,要提升速度你可以替换掉默认的Rblas.dll文件,
CRAN提供了ATLAS,http://cran.r-project.org/bin/windows/contrib/ATLAS/C2i7/Rblas.dll,还有其他的选择,如OpenBLAS等。
T*****u
发帖数: 7103
6
换matlab
g******2
发帖数: 234
c********n
发帖数: 186
8
R与MATLAB交互使用指南初步(没试过):
http://cos.name/cn/topic/110397/
Package ‘R.matlab’:
http://cran.r-project.org/web/packages/R.matlab/R.matlab.pdf

【在 B********1 的大作中提到】
: 是个大程序中的几步,其他都是R写的。 R可以调用Matlab function么?
k*******a
发帖数: 772
9
多快叫快?
a = matrix(rnorm(2000*2000), nrow=2000)
b = matrix(rnorm(2000*2000), nrow=2000)
system.time(a %*% b)
user system elapsed
4.705 0.004 4.708
如果你的时间远远超过这个,那估计是硬件的问题
o****o
发帖数: 8077
10
你的也太慢了,用的default的BLAS吧
> a = matrix(rnorm(2000*2000), nrow=2000)
>
> b = matrix(rnorm(2000*2000), nrow=2000)
>
> system.time(a %*% b)
user system elapsed
1.47 0.04 0.26

【在 k*******a 的大作中提到】
: 多快叫快?
: a = matrix(rnorm(2000*2000), nrow=2000)
: b = matrix(rnorm(2000*2000), nrow=2000)
: system.time(a %*% b)
: user system elapsed
: 4.705 0.004 4.708
: 如果你的时间远远超过这个,那估计是硬件的问题

相关主题
R:matrix
请教:关于covariance matrix
求用R做bootstrap的example script
求问一个R apply 函数的问题
进入Statistics版参与讨论
b********1
发帖数: 291
11
呵呵 老问题了:
SAS 和 R PK 矩阵相承, 或者求个逆矩阵, 你们觉得谁能胜出 ?
k*******a
发帖数: 772
12
果然快

【在 o****o 的大作中提到】
: 你的也太慢了,用的default的BLAS吧
: > a = matrix(rnorm(2000*2000), nrow=2000)
: >
: > b = matrix(rnorm(2000*2000), nrow=2000)
: >
: > system.time(a %*% b)
: user system elapsed
: 1.47 0.04 0.26

w**********n
发帖数: 55
13

速度,内存,精度什么的总要trade off的.不然为什么不都用最好的

【在 b********1 的大作中提到】
: 呵呵 老问题了:
: SAS 和 R PK 矩阵相承, 或者求个逆矩阵, 你们觉得谁能胜出 ?

l******n
发帖数: 9344
14
配置?我8g i5 laptop user time居然超过10秒

【在 o****o 的大作中提到】
: 你的也太慢了,用的default的BLAS吧
: > a = matrix(rnorm(2000*2000), nrow=2000)
: >
: > b = matrix(rnorm(2000*2000), nrow=2000)
: >
: > system.time(a %*% b)
: user system elapsed
: 1.47 0.04 0.26

o****o
发帖数: 8077
15
你的啥机器啊,用的R自带的BLAS吧
我的i5-3570k,没超频
上一个是至强的六核CPU
> a = matrix(rnorm(2000*2000), nrow=2000)
> b = matrix(rnorm(2000*2000), nrow=2000)
> system.time(a %*% b)
user system elapsed
1.42 0.14 0.43
>

【在 l******n 的大作中提到】
: 配置?我8g i5 laptop user time居然超过10秒
t********e
发帖数: 1169
16
上gpu
l****i
发帖数: 398
17
如果嫌麻烦自己装open blas什么的, 可以直接装一个revolution r open. RRO自带
Intel Math Kernel Library (MKL)可以multi-thread矩阵运算。我用的i5-3320m, 16g
内存,只能2个线程,速度也还行。
> if(require(RevoUtilsMath)){
+ setMKLthreads(2)
+ }
Loading required package: RevoUtilsMath
>
> a = matrix(rnorm(2000*2000), nrow=2000)
> b = matrix(rnorm(2000*2000), nrow=2000)
>
> system.time(a %*% b)
user system elapsed
0.92 0.00 0.52
c***z
发帖数: 6348
18
出去抽根烟,聊聊天,溜达溜达

【在 B********1 的大作中提到】
: A 2000*2000
: B 2000*2000
: 需要计算 A %*%B 但是好慢啊,有没有快些的方法呢?

p******1
发帖数: 79
19
以前读书的时候一个同学,她的矩阵运算都用c++/c......

【在 B********1 的大作中提到】
: A 2000*2000
: B 2000*2000
: 需要计算 A %*%B 但是好慢啊,有没有快些的方法呢?

z******n
发帖数: 397
20
link?

【在 w**********n 的大作中提到】
: 从统计之都copy来的,大牛的解答,我是不懂:
: R的矩阵运算是调用BLAS矩阵运算库,要提升速度你可以替换掉默认的Rblas.dll文件,
: CRAN提供了ATLAS,http://cran.r-project.org/bin/windows/contrib/ATLAS/C2i7/Rblas.dll,还有其他的选择,如OpenBLAS等。

1 (共1页)
进入Statistics版参与讨论
相关主题
about R function to do N!
问关于C中调用R函数
help with R
两个有关于R的小问题?
在SAS里面如何进行数组操作?
R code question
请问怎么在R/window下编译一个源文件包啊?
R 问题
请教一个概率题的思路
help in R
相关话题的讨论汇总
话题: 2000话题: nrow话题: rnorm话题: matrix话题: 矩阵