让你的R语言提速100倍

获取更多R语言知识,请关注公众号:医学和生信笔记

医学和生信笔记,专注R语言在临床医学中的使用,R语言数据分析和可视化。主要分享R语言做医学统计学、meta分析、网络药理学、临床预测模型、机器学习、生物信息学等。

R语言在进行很多运算时非常慢,这是它被诟病最多的一点,最近了解到这个openblas神器,换上之后,果然速度飞快!

以后你再做WGCNA这种运算时,速度蹭蹭蹭的!

OpenBlas简介

OpenBlas是一个开源项目,是由中科院软件所并行软件与计算科学实验室发起的基于GotoBLAS2 1.13 BSD版的开源BLAS库高性能实现。

BLAS(Basic Linear Algebra Subprograms 基础线性代数程序集)是一个应用程序接口(API)标准,用以规范发布基础线性代数操作的数值库(如矢量或矩阵乘法)。该程序集最初发布于1979年,并用于建立更大的数值程序包(如LAPACK)。在高性能计算领域,BLAS被广泛使用。例如,LINPACK的运算成绩则很大程度上取决于BLAS中子程序DGEMM的表现。为提高性能,各软硬件厂商则针对其产品对BLAS接口实现进行高度优化。

今天使用的OpenBlas来自于这个地址,是一个大佬修改版:Github

性能测试

进行一个简单的小测试,矩阵运算。

# 这是默认的Rblas
x<-matrix(1:(6000*6000),6000,6000)

system.time(tmp<-x%*%x)
  用户   系统   流逝 
102.41   0.05 102.50 

CPU使用率始终在6%,根本发挥不出我5900X的功力!

接下来看看换成OpenBlas之后的表现:

x<-matrix(1:(6000*6000),6000,6000)
system.time(tmp<-x%*%x)
 用户  系统  流逝 
20.14  2.52  1.19 

速度明显提升,太快了!原来要100多秒,现在只要1秒多!!震惊!!快了100倍。。。

安装使用

从上面我给的网址中下载OpenBLAS-0.3.20-x64.zip,可能会有更新,如果版本不一样不用慌。

解压OpenBLAS-0.3.20-x64.zip,找到 解压文件下 \bin\libopenblas.dll,将libopenblas.dll重命名为Rblas.dll ,然后替换掉R里面的文件(记得备份),我的R目录是C:\Program Files\R\R-4.1.0\bin\x64里面。

替换好之后,就可以享受飞一般的速度了!

获取更多R语言知识,请关注公众号:医学和生信笔记

医学和生信笔记,专注R语言在临床医学中的使用,R语言数据分析和可视化。主要分享R语言做医学统计学、meta分析、网络药理学、临床预测模型、机器学习、生物信息学等。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值