Fed*_*rgi 5 r mathematical-packages
自从最新的Ubuntu版本(karmic koala)以来,我注意到内部R包在启动REvolution包时做广告.它似乎是用于高性能矩阵计算的库集合.而且它显然确实有效.例如,在带有REvolution的矩阵转置上:
> system.time(t(matrix(rnorm(10000000),ncol=1000)))
user system elapsed
1.280 0.150 1.556
Run Code Online (Sandbox Code Playgroud)
没有革命:
> system.time(t(matrix(rnorm(10000000),ncol=1000)))
user system elapsed
1.320 0.170 1.725
Run Code Online (Sandbox Code Playgroud)
有人用吗?它真的有效吗?哪种具体类型的计算有所改进?如何?有什么缺点?
谢谢 :-)
Dir*_*tel 11
是的,在多核计算机上,实现BLAS的英特尔MKL库 - 由软件包提供并由软件包revolution-mkl打开r-revolution-revobase,可以并行处理线性代数问题,你应该看到只使用它的基本情况有所不同libblas*包.
但是,你上面的例子并不那么重要,我经常这样做
mean(replicate(N, system.time( someStuffHere() )["elapsed"]), trim=0.05)
Run Code Online (Sandbox Code Playgroud)
计算多次复制的修剪均值.
更重要的是,请注意您的示例包括RNG在i)昂贵的时间中绘制,以及ii)对所使用的方法不变,因此您应该在外部生成system.time().
除了MKL之外,revolution-r还引入了一些可用于并行执行的CRAN的REvolution创作包.
(免责声明:我帮助REvo将其整合到Ubuntu 9.10中)