Conda 使用 MKL 安装 r-essentials

Gei*_*nge 6 r intel-mkl conda microsoft-r

在我的 RHEL 服务器上,我没有管理员权限,但我可以创建 Conda 环境。我想使用英特尔 MKL(英特尔® 数学核心函数库)创建一个运行 R 的 Conda 环境。

我使用R_defaults.yml创建环境,运行$> conda env create --file R_defaults.yml

name: R_defaults
channels:
  - defaults
  - conda-forge
dependencies:
  - pkgs/r::r-essentials=3.6.0=r36_0
Run Code Online (Sandbox Code Playgroud)

激活环境,启动 R 和 sessionInfo() 我发现没有使用 MKL:

R version 3.6.1 (2019-07-05)
Platform: x86_64-conda_cos6-linux-gnu (64-bit)
Running under: Red Hat Enterprise Linux Server 7.7 (Maipo)

Matrix products: default
BLAS/LAPACK: /home/geiringe/miniconda3/envs/R_r/lib/R/lib/libRblas.so
Run Code Online (Sandbox Code Playgroud)

Microsoft R Open ( https://mran.microsoft.com/download ) 可以与 MKL 一起安装。

Anaconda 似乎改变了对 Microsoft R Open 的看法。2018 年 6 月,据说它成为 Anaconda 发行版的默认 R(https://www.anaconda.com/introducing-microsoft-r-open-as-default-r-for-anaconda-distribution/)。现在他们希望我们从 Microsoft R Open 迁移,并且他们不会更新 MRO 包(https://docs.anaconda.com/anaconda/user-guide/tasks/using-r-language/#switch-an-environment -从-r-to-mro)。r::mro-base 最新版本是3.5.1,已经1年多了。r::r-essentials 的最新版本是 3.6.0

有没有办法让我使用更新版本的 R 和 MKL 创建 Conda 环境?

mer*_*erv 6

优先考虑 Conda Forge 并明确指定libblas构建它对我有用osx-64)。例如,

YAML

name: R_mkl
channels:
  - conda-forge
  - defaults
dependencies:
  - conda-forge::r-essentials=3.6
  - conda-forge::libblas=3.8.0=14_mkl
Run Code Online (Sandbox Code Playgroud)

R -e "sessionInfo()"激活环境中的输出:

R version 3.6.1 (2019-07-05)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: macOS Mojave 10.14.6

Matrix products: default
BLAS/LAPACK: /Users/mfansler/miniconda3/envs/r_mkl/lib/libmkl_rt.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] compiler_3.6.1
Run Code Online (Sandbox Code Playgroud)

希望它与linux-64类似。