1
7
TLDR: centos使用单线程openblas,linux mint默认使用引用blas,但可以使用其他blas版本。
epel提供的centos的r包取决于
在Debian和Mint等衍生发行版上,
默认情况下,这些由引用实现提供
为了控制openblas的线程数,我通常使用
出于某种原因设置
environment variables
|
2
5
r是使用默认的blas实现来分发的,但可能没有针对您的计算机进行优化。
通过
ATLAS
或
OpenBLAS
r之前
as advised on the Installation guide of R
是一条路。如果你坚持下去
R的来源可以下载
here
blas实现位于
函数的注释指定:
在例程的netlib实现中可以找到相同的行 dgemm . 相反,openblas提供了不同的实现,每种处理器都有一种实现。例如,请参见 this file devoted to dgemm for haswell microarchitecture . 有人打电话给 prefetcht0 用于预取和调用 vfmadd231pd ,一种向量fma simd指令,一次执行4次双精度d=a*b+c。 使用优化的blas可以节省时间。例如,请参见 this benchmark ,其中netlib的dgemm()持续64秒,而mkl、openblas或atlas dgemm只需不到4秒。
r internal blas的情况可能比经典的netlib库更糟。
的确,如附录所述
查看r的config.site文件,可以发现g77/gfortran的优化级别为'-o2'。因此,如果fortran编译器不是g77/gfortran,那么调整fflags选项可能会证明是有用的。在配置步骤中,应该有一行
|
Marc B. · 使用ggplot2创建条形图时“缺少值” 1 年前 |
Mallikarjun M · 如何使用随机森林进行时间序列预测? 1 年前 |
ly li · 模型摘要:当表格形状改变时,拟合优度消失 1 年前 |
RoyBatty · 统计每个字符在整个数据集中出现的次数 2 年前 |
stats_noob · R: 记录某个“行为”发生的循环的索引? 2 年前 |