Windows中使用OpenBLAS加速R语言计算速度

在使用R的时候会发现R对CPU的利用率并不是很高,反正当我在使用R的时候,无论R做何种运算R的CPU利用率都只有百分子几,这就导致一旦计算量大的时候计算时间非常长,会给人一种错觉(R真的在计算吗?会不会我的程序死掉了?)。今天,我看到了一篇博客介绍的方法,迫不及待的尝试了一下,只能说:太牛逼了!下面是我的测试截图:

前:

后:

可以看到,计算时间从247.97s(也就是4.14min)降到了11.22s,CPU利用率在R计算的时候飙到了100%。

实现上面的性能需要安装OpenBLAS,BLAS是线性代数运算的一个标准,它有很多种实现方式。在R中,不管是显式的还是隐含的,我们往往都要进行大量的线性代数运算。但R默认调用的往往是所谓的ref BLAS,这是一个仅仅实现了功能,效率非常低的BLAS。商业支持的Revolution R之所以算起来快,很重要的一个原因是它用了Intel优化过的MKL BLAS(Matlab也是用了MKL才快的)。BLAS有一个开源的实现是OpenBLAS,它从GotoBLAS进化而来,能做到比Intel MKL更快。

方法:下载下面百度云网盘里的文件→解压→复制所有dll文件到R的安装目录下的bin下的x64(不好意思我的电脑是64位的,32位系统的请点击后文中的参考链接)文件夹下(比如我的是:D:\R\R-3.3.1\bin\x64,x64下的复制之前记得保存Rblas.dll文件)→OK

http://pan.baidu.com/s/1sl1XqkX

参考:http://blog.csdn.net/a358463121/article/details/42713307

OpenBLAS下载网:https://sourceforge.net/projects/openblas/files/

本文链接:http://www.cnblogs.com/homewch/p/5954177.html

时间: 2024-10-13 23:23:57

Windows中使用OpenBLAS加速R语言计算速度的相关文章

R语言计算移动平均的方法

移动平均可以使时间序列变平滑,是典型的有序计算问题,其基本算法是:将N个连续的时间序列成员作为一个集合,计算该集合的平均值,并逐项推移该集合.下面用一个例子来说明R计算移动平均的方法. 案例描述: 数据框sales有两个字段:日期和当日销售额,需要计算三日移动平均值.具体算法是:求出前一日.当日.后一日的销售额平均值,并逐日推移.部分源数据如下:     代码: filter(sales$Amount/3, rep(1, 3))     计算结果: 代码解读: R语言可以用函数filter计算移

Windows下使用Rtools编译R语言包

使用devtools安装github中的R源代码时,经常会出各种错误,索性搜了一下怎么在Windows下直接打包,网上的资料也是参差不齐,以下是自己验证通过的. 一.下载Rtools 下载地址:https://cran.r-project.org/bin/windows/Rtools/ 根据自己安装的R版本,下载兼容的Rtools即可,我下载的是Rtools35.exe 二.安装Rtools Windows下的安装都是傻瓜式的,一步步点确定即可,有两个地方需要注意: 2.1 安装路径 第一次安装

使用R语言计算均值,方差等

R语言对于数值计算很方便,最近用到了计算方差,标准差的功能,特记录. 数据准备 height <- c(6.00, 5.92, 5.58, 5.92) 1 计算均值 mean(height) [1] 5.855 2 计算中位数 median(height) [1] 5.92 3 计算标准差 sd(height) [1] 0.1871719 4 计算方差 var(height) [1] 0.03503333 5 计算两个变量之间的相关系数 cor(height,log(height)) [1] 0

[R语言]R语言计算unix timestamp的坑

R+mongo的组合真是各种坑等着踩 由于mongo中的时间戳普遍使用的是unix timestamp的格式,因此需要对每天的数据进行计算的时候,很容易就想到对timestamp + gap对方式来实现每天的时间范围. 但这时候就埋下了一个坑,这个坑就是计算精度的问题. ms级的时间戳长度是12位,R中会识别成1.421112+e12的格式.gap的则是 1000 * 60 * 60 *24 * i,数量级是10^8.两者相加,在取某个i的时候,会出现加出来的数据与下一天的timestamp对不

皮尔森相似度计算举例(R语言)

整理了一下最近对协同过滤推荐算法中的皮尔森相似度计算,顺带学习了下R语言的简单使用,也复习了概率统计知识. 一.概率论和统计学概念复习 1)期望值(Expected Value) 因为这里每个数都是等概率的,所以就当做是数组或向量中所有元素的平均数吧.可以使用R语言中函数mean(). 2)方差(Variance) 方差分为population variance总体方差和sample variance样本方差,区别是总体方差除以N,样本方差除以N-1. 数理统计中常用样本方差,R语言的var()

在 SPSS Statistics 和 Modeler 中调用 R 语言的实现和应用

http://www.ibm.com/developerworks/cn/data/library/ba/ba-1401spss-r/index.html 登录 | 注册   IBM 技术主题 软件下载 社区 技术讲座 搜索 developerWorks 打印本页面 用电子邮件发送本页面 新浪微博 人人网 腾讯微博 搜狐微博 网易微博 Digg Facebook Twitter Delicious Linked In developerWorks 中国 技术主题 Information Mana

手把手教你学习R语言

本文为带大家了解R语言以及分段式的步骤教程! 人们学习R语言时普遍存在缺乏系统学习方法的问题.学习者不知道从哪开始,如何进行,选择什么学习资源.虽然网络上有许多不错的免费学习资源,然而它们多过了头,反而会让人挑花了眼. 为了构建R语言学习方法,我们在Vidhya和DataCamp中选一组综合资源,帮您从头学习R语言.这套学习方法对于数据科学或R语言的初学者会很有用;如果读者是R语言的老用户,则会由本文了解这门语言的部分最新成果. R语言学习方法会帮助您快速.高效学习R语言. 前言 在开始学习之前

R语言基本备忘-统计分析

Part1 相关统计量说明 峰度系数Coefficientof kurtosis http://baike.baidu.com/link?url=gS_sgtNYSRdjLnadNWDDa357DIzJma-tdheAx5eKp0WzTvuH_PYg8hnMNIiP4-DRmewtftVQXXUbtIYzvz4bTq 峰度系数(Kurtosis)用来度量数据在中心聚集程度.在正态分布情况下,峰度系数值是3(但是SPSS等软件中将正态分布峰度值定为0,是因为已经减去3,这样比较起来方便).>3的峰

R语言分析(一)-----基本语法

  一, R语言所处理的工作层: 解释一下: 最下面的一层为数据源,往上是数据仓库层,往上是数据探索层,包括统计分析,统计查询,还有就是报告 再往上的三层,分别是数据挖掘,数据展现和数据决策. 由上图可知,R语言是可以用于数据挖掘,数据展现,而后领导根据展现的数据来决策,R语言在数据展现的方面,拥有很强大的功能. 二,R语言的数据结构: 包括如下的几项:包括向量,矩阵,数组,数据框,列表和因子 1,向量: 创建向量的方法一共有三种,分别如下: 第一种,使用c()的这个方法: 由于博客中木有R语言