Ubuntu 22.04系统下为R切换BLAS版本(OpenBLAS/MKL)的方法咨询
Ubuntu 22.04系统下为R切换BLAS版本(OpenBLAS/MKL)的方法咨询
嗨,我来帮你搞定Ubuntu 22.04上给R配置OpenBLAS或者MKL的问题——这俩都是高性能BLAS库,能大幅提升Eigen()这类线性代数运算的效率,咱们一步步来:
一、安装并配置OpenBLAS
- 第一步:安装OpenBLAS依赖
先更新软件源,然后安装OpenBLAS的开发包和基础库:sudo apt update && sudo apt install libopenblas-dev libopenblas-base - 第二步:设置OpenBLAS为系统默认BLAS
用update-alternatives工具来切换默认BLAS库:
先查看当前系统可用的BLAS选项:
你会看到类似update-alternatives --list libblas.so.3-x86_64-linux-gnu/usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3的路径,然后执行命令设置默认:sudo update-alternatives --set libblas.so.3-x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 - 第三步:验证配置是否生效
重启R,在R控制台里输入:
找到BLAS/LAPACK相关的行,如果显示sessionInfo()OpenBLAS就说明配置成功了,之后再测试Eigen()函数应该就能看到性能提升啦。
二、安装并配置Intel MKL
MKL是Intel推出的高性能数学库,对Intel处理器优化更到位,配置步骤如下:
- 第一步:安装Intel MKL
通过Ubuntu官方源安装完整版MKL:sudo apt update && sudo apt install intel-mkl-full - 第二步:设置MKL为默认BLAS
同样用update-alternatives工具,先查看可用选项:
找到MKL对应的路径(一般是update-alternatives --list libblas.so.3-x86_64-linux-gnu/usr/lib/x86_64-linux-gnu/mkl/libblas.so.3),然后设置默认:sudo update-alternatives --set libblas.so.3-x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/mkl/libblas.so.3 - 第三步:配置环境变量
编辑你的bash配置文件(比如~/.bashrc),添加MKL的库路径:
然后让配置生效:echo 'export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/mkl:$LD_LIBRARY_PATH' >> ~/.bashrcsource ~/.bashrc - 第四步:验证配置
重启R,运行sessionInfo()查看BLAS部分,确认显示Intel(R) Math Kernel Library,之后就可以测试Eigen()的运行效果了。
额外小技巧
如果你不想全局修改系统BLAS,也可以在启动R的时候临时指定使用的BLAS库,比如:
- 临时用OpenBLAS启动R:
R --dyn.load=/usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 - 临时用MKL启动R:
R --dyn.load=/usr/lib/x86_64-linux-gnu/mkl/libblas.so.3
备注:内容来源于stack exchange,提问作者Dylan Dijk
相关产品推荐
相关产品推荐

