文章目录
- OpenBlas简介
- 性能测试
- 安装使用
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里面。
替换好之后,就可以享受飞一般的速度了!