使用OpenBLAS构建R



我正在尝试构建R-devel/R-patched。我已经阅读了一些链接,这些链接与执行此操作的步骤有关。

1) https://www.r-bloggers.com/2022/01/building-r-4-2-for-windows-with-openblas/
2) https://www.r-bloggers.com/2020/05/building-r-4-for-windows-with-openblas/
3) https://github.com/r-windows/r-base

但不幸的是,没有取得任何成功。

在";1〃;我没有";Makefile.win";并且没有具有"0"的文件-lf77blas-latlas";在";2〃;手动创建的";完整构建.sh";脚本什么都不做。在";3〃;我的Use_ATLAS=YES有一个错误

installing 'sysdata.rda'
make[3]: *** [../../../share/make/basepkg.mk:151: sysdata] Error 127
make[2]: *** [Makefile.win:22: all] Error 2
make[1]: *** [Makefile.win:32: R] Error 1
make: *** [Makefile:18: all] Error 2

此错误与basepkg.mk:中的此行有关

@$(ECHO) "tools:::sysdata2LazyLoadDB("$(srcdir)/R/sysdata.rda","$(top_builddir)/library/$(pkg)/R")" | 
R_DEFAULT_PACKAGES=NULL LC_ALL=C $(R_EXE)

那么,有人能帮我吗?这3种方式有什么问题?如何正确构建R-devel(如果可能的话,使用安装文件(?还有可能用AMD BLIS库编译这个(我有Ryzen 9 5950x(。

谢谢。

附言:我使用winlibs中的Windows 11和gcc-12.02P.P.S.如果可能的话,请添加一个用AMD BLIS构建R的配方。。。

1) https://cran.r-project.org/bin/windows/base/howto-R-devel.html # the canonical guide for compiling R-devel on Windows using Rtools
2) https://www.r-bloggers.com/2022/01/building-r-4-2-for-windows-with-openblas/ # adapt parts of this guide to get openblas with R

按照上面的2个链接,这里有一些基本步骤:

1.安装R工具43

(i( 下载;(ii(将其安装到默认位置(即C:rtools43(

2.安装MikTeX和Inno Setup

需要MikTeX(具有基本包和unsolata(来构建包小插曲和文档。需要Inno Setup来构建R安装程序。

3.常规设置

  1. 运行Msys2 shell(c:/rtools43/msys2.exe(

  2. 制作一个文件夹来存储源文件:mkdir /c/R-devel

  3. 更新Msys2:pacman -Syuu它可能首先只更新核心内容,然后要求您关闭终端。您应该按照说明进行操作,然后重新启动Msys2 shell并再次运行pacman -Syuu以完全更新的所有组件

  4. 安装wget和subversion:pacman -Sy wget subversion

  5. 将工作目录更改为步骤3.2中创建的文件夹:cd /c/R-devel

  6. 从这里获取最新的Tcl/Tk捆绑包,一个名为tcltk-5493-5412.zip:的文件

    TCLBUNDLE=tcltk-5493-5412.zip
    wget https://cran.r-project.org/bin/windows/Rtools/rtools43/files/$TCLBUNDLE
    
  7. 获取最新的R版本(R-devel(,并解压缩Tcl:

    svn checkout https://svn.r-project.org/R/trunk
    cd trunk
    unzip ../$TCLBUNDLE
    

4.在/c/R-devel/trunk/src/gnuwin32/中添加一个MkRules.local

您可以使用Notepad++创建一个包含以下内容的新MkRules.local文件(在步骤2中将ISDIR = ...编辑到适当的目录(:

USE_ATLAS = YES
EOPTS = -march=native -pipe
QPDF = /usr
ISDIR = C:/Program Files (x86)/Inno Setup 6

5.调整/c/R-devel/trunk/src/extra/blas/Makefile.win

您可以使用Notepad++将行-L../../../$(IMPDIR) -lR -L"$(ATLAS_PATH)" -lf77blas -latlas更改为-L../../../$(IMPDIR) -lR -fopenmp -lopenblas

-          -L../../../$(IMPDIR) -lR  -L"$(ATLAS_PATH)" -lf77blas -latlas
+          -L../../../$(IMPDIR) -lR -fopenmp -lopenblas

6.编译R

  1. 运行Msys2 shell并更改到适当的工作目录:cd /c/R-devel/trunk/src/gnuwin32/

  2. 按如下方式设置环境变量(在下面的命令中更新MiKTeX安装目录(:

    export PATH=/x86_64-w64-mingw32.static.posix/bin:$PATH
    export PATH=/c/Users/xxxxxxxx/AppData/Local/Programs/MiKTeX/miktex/bin/x64/:$PATH
    export TAR="/usr/bin/tar"
    export TAR_OPTIONS="--force-local"
    
  3. 测试工具是否可用:which make gcc pdflatex tar

  4. Build R安装程序:

    make rsync-recommended
    make distribution
    
  5. 安装程序将在以下网址提供:/c/R-devel/trunk/src/gnuwin32/installer/R-devel-win.exe

7.测试我们的R编译是否使用OpenBLAS

与从CRAN下载的Windows标准R相比,以下R代码应该运行得更快:

m <- 10000
n <- 2000
A <- matrix (runif (m*n),m,n)
system.time (S <- svd (A,nu=0,nv=0))
user  system elapsed 
4.02    0.65    7.83

相关内容

  • 没有找到相关文章

最新更新