Dmi*_*riy 5 r build openblas amd-processor r-devel
我正在尝试构建 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
Run Code Online (Sandbox Code Playgroud)
但不幸的是,没有任何成功。
在“1”中我没有“Makefile.win”,也没有带有“-lf77blas -latlas”的文件在“2”中手动创建的“full-build.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
Run Code Online (Sandbox Code Playgroud)
此错误与 basepkg.mk 中的这一行有关:
@$(ECHO) "tools:::sysdata2LazyLoadDB(\"$(srcdir)/R/sysdata.rda\",\"$(top_builddir)/library/$(pkg)/R\")" | \
R_DEFAULT_PACKAGES=NULL LC_ALL=C $(R_EXE)
Run Code Online (Sandbox Code Playgroud)
那么,有人可以帮助我吗?这3种方式有什么问题吗?如何正确构建 R devel(如果可能的话使用安装文件)?也可以使用 AMD BLIS 库来编译它(我有 Ryzen 9 5950x)。
谢谢。
PS 我使用 Windows 11 和 winlibs PPS 中的 gcc-12.02 如果可能的话,请添加使用 AMD BLIS 构建 R 的方法...
小智 4
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
Run Code Online (Sandbox Code Playgroud)
按照上述 2 个链接,以下是一些基本步骤:
(i)下载;(ii) 将其安装到默认位置(即,C:\rtools43)
需要 MikTeX(带有基本包和 inconsolata)来构建包插图和文档。构建 R 安装程序需要 Inno Setup。
运行 Msys2 shell ( c:/rtools43/msys2.exe)
建立一个文件夹来存储源文件:mkdir /c/R-devel
更新Msys2:pacman -Syuu它可能会先只更新核心内容,然后要求你关闭终端。您应该按照说明进行操作,然后重新启动 Msys2 shell 并pacman -Syuu再次重新运行以完全更新所有组件
安装 wget 和 subversion:pacman -Sy wget subversion
将工作目录更改为步骤 3.2 中创建的文件夹:cd /c/R-devel
从这里获取最新的 Tcl/Tk 包,文件名为tcltk-5493-5412.zip:
TCLBUNDLE=tcltk-5493-5412.zip
wget https://cran.r-project.org/bin/windows/Rtools/rtools43/files/$TCLBUNDLE
Run Code Online (Sandbox Code Playgroud)
获取最新的 R 版本 (R-devel),并解压 Tcl:
svn checkout https://svn.r-project.org/R/trunk
cd trunk
unzip ../$TCLBUNDLE
Run Code Online (Sandbox Code Playgroud)
MkRules.local一个/c/R-devel/trunk/src/gnuwin32/您可以使用 Notepad++ 创建一个MkRules.local包含以下内容的新文件(编辑ISDIR = ...到步骤 2 中的相应目录):
USE_ATLAS = YES
EOPTS = -march=native -pipe
QPDF = /usr
ISDIR = C:/Program Files (x86)/Inno Setup 6
Run Code Online (Sandbox Code Playgroud)
/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
Run Code Online (Sandbox Code Playgroud)
运行 Msys2 shell 并更改到适当的工作目录:cd /c/R-devel/trunk/src/gnuwin32/
设置环境变量如下(在下面的命令中更新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"
Run Code Online (Sandbox Code Playgroud)
测试工具是否可用:which make gcc pdflatex tar
构建 R 安装程序:
make rsync-recommended
make distribution
Run Code Online (Sandbox Code Playgroud)
安装程序可在以下位置获取:/c/R-devel/trunk/src/gnuwin32/installer/R-devel-win.exe
与从 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
Run Code Online (Sandbox Code Playgroud)