gpt4 book ai didi

r - 安装 BLAS/ATLAS/MKL/OPENBLAS 是否会加速用 C/C++ 编写的 R 包?

转载 作者:太空宇宙 更新时间:2023-11-04 12:46:30 24 4
gpt4 key购买 nike

我发现使用 BLAS/ATLAS/MKL/OPENBLAS 之一会提高 R 的速度。但是,它是否仍会改进用 C 或 C++ 编写的 R 包?例如,R 包 Glmnet 是用 FORTRAN 实现的,R 包 rpart 是用 C++ 实现的。仅安装 BLAS/...等会缩短执行时间吗?还是我们必须重建(构建新的 C 代码)基于 BLAS/...等的包?

最佳答案

人们经常说,包括在这里的评论中,“您必须重新编译 R”才能使用不同的 BLAS 或 LAPACK 库。这是错误的。

如果 R 是针对 BLAS 和 LAPACK 的共享库版本构建的,那么您不必重新编译

我有一个 package and vignette on CRAN它利用这一事实提供了一个基准测试框架,其中不同的 BLAS 和 LAPACK 版本通过安装不同的版本(Debian/Ubuntu 中的一个命令)并运行基准测试来对每个版本进行计时——这非常简单,可以在一个包中自动化比如这个。

该包中的结果将提供可能的速度差异的概念。它们的具体结果取决于您的计算机、您的数据(大小)、您的问题等。但是,如果您的问题使用 LAPACK 函数,这些函数可以从多线程运行中受益,那么安装 OpenBLAS 可能会有所帮助。对于任何使用 LAPACK 的 R 包都是如此,因为它们将使用通过 are 访问的相同 LAPACK 安装,并且这些可以更改。

关于r - 安装 BLAS/ATLAS/MKL/OPENBLAS 是否会加速用 C/C++ 编写的 R 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38555559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com