[英]BLAS-LAPACK-ATLAS-R installation with multithreading?
I am trying to setup ATLAS, BLAS, LAPACK, and R on an OpenSuSE 12.2 server with an 8 core AMD athlon FX-8320. 我试图在具有8核AMD athlon FX-8320的OpenSuSE 12.2服务器上设置ATLAS,BLAS,LAPACK和R. I have turned off the CPU frequency scaling using cpufreq and a script cfu from paste.opensuse.org/92162247 made by James McDaniel.
我已经使用cpufreq和James McDaniel制作的paste.opensuse.org/92162247中的脚本cfu关闭了CPU频率缩放。
So following the instructions, here http://math-atlas.sourceforge.net/atlas_install/node45.html I didn't need to install gcc (that I know yet) I have gcc (SUSE Linux) 4.7.1 20120723 installed, g++, and gfortran the same version as gcc. 所以按照说明,这里http://math-atlas.sourceforge.net/atlas_install/node45.html我不需要安装gcc(我知道)我安装了gcc(SUSE Linux)4.7.1 20120723, g ++和gfortran与gcc版本相同。
The instructions are to make a bogus configuration of ATLAS to determine the compiler flags to use. 这些指令是对ATLAS进行伪造配置以确定要使用的编译器标志。 ATLAS is configured in the instructions as '../configure -b 64 -D c -DPentiumCPS=2200 -Fa alg -fPIC'.
ATLAS在指令中配置为'../configure -b 64 -D c -DPentiumCPS = 2200 -Fa alg -fPIC'。 I modify this to what I think will work for my setup ' ../configure -b 64 -t 8 -Fa alg -fpic -A x86_64 -D c -DpentiumCPS=3500 -Si latune 1 --prefix=/usr/local/lib64 --with-netlib-lapack-tarfile=/opt/maths/lapack-3.4.2.tgz' I get these errors.
我将其修改为我认为适用于我的设置'../configure -b 64 -t 8 -Fa alg -fpic -A x86_64 -D c -DpentiumCPS = 3500 -Si latune 1 --prefix = / usr / local / lib64 --with-netlib-lapack-tarfile = / opt / maths / lapack-3.4.2.tgz'我收到这些错误。
OS configured as Linux (1)
Assembly configured as GAS_x8664 (2)
Vector ISA Extension configured as AVXMAC (3,504)
ERROR: enum fam=6, chip=8, mach=0
make[3]: *** [atlas_run] Error 44
make[2]: *** [IRunArchInfo_x86] Error 2
/bin/sh: line 1: 13849 Segmentation fault ./xarchinfo_linux -a > config0.out
make[3]: *** [atlas_run] Error 139
make[2]: *** [IRunArchInfo_linux] Error 2
Architecture configured as UNKNOWNx86 (35)
ERROR: enum fam=6, chip=8, mach=0
make[3]: *** [atlas_run] Error 44
make[2]: *** [IRunArchInfo_x86] Error 2
Clock rate configured as 3500Mhz
Parallel make command configured as '$(MAKE) -j 8'
ERROR: enum fam=6, chip=8, mach=0
make[3]: *** [atlas_run] Error 44
make[2]: *** [IRunArchInfo_x86] Error 2
Cannot detect CPU throttling.
Atlas makes a Make.inc and if I fgrep F77 and F77 flags I get 'gfortran-4.7' AND '-O -mavx -fpic -m64'. Atlas制作一个Make.inc,如果我fgrep F77和F77标志我得到'gfortran-4.7'和'-O -mavx -fpic -m64'。 Maybe the -mavx flag handles the AVXMAC error?
也许-mavx标志处理AVXMAC错误? Do I need -mavx?
我需要-mavx吗? I will proceed with my instructions...
我会继续我的指示......
(Not a real answer, but difficult to read as a comment): (不是真正的答案,但很难作为评论阅读):
A few more considerations on Dirk's recommendation to use OpenBLAS. 关于Dirk建议使用OpenBLAS的更多考虑因素。
I also use OpenBLAS (on Ubuntu and CentOS systems). 我也使用OpenBLAS(在Ubuntu和CentOS系统上)。
One consideration that is important for me on the 8 and 12 core machines is that OpenBLAS allows dynamic setting of the number of threads to use, which ATLAS doesn't . 在8和12核心机器上对我来说很重要的一个考虑因素是OpenBLAS允许动态设置要使用的线程数,而ATLAS则没有 。 In Order to set the number of threads dynamicall from within R, I use Simon Fuller's OpenBLASThreads .
为了设置R中的动态线程数,我使用了Simon Fuller的OpenBLASThreads 。
OpenBLAS was pretty straightforward to build on both systems. 在两个系统上构建OpenBLAS非常简单。
Binary .deb packages are available, but last time I checked them, they had the maximum possible number of threads set to 2. However, this is going to change . 二进制.deb包是可用的,但是上次我检查它们时,它们的最大可能线程数设置为2. 但是,这将会改变 。 Till now, I also build the library from source on Ubuntu machines with > 2 cores.
到目前为止,我还在Ubuntu机器上从源代码构建了库,其中包含> 2个内核。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.