我正在尝试在具有8核AMD速龙FX-8320的OpenSuSE 12.2服务器上设置ATLAS,BLAS,LAPACK和R。我已经使用cpufreq和James McDaniel制作的paste.opensuse.org/92162247中的脚本cfu关闭了CPU频率缩放。
因此,按照说明进行操作,这里http://math-atlas.sourceforge.net/atlas_install/node45.html我不需要安装gcc(我知道),我已经安装了gcc(SUSE Linux)4.7.1 20120723,g ++和gfortran与gcc的版本相同。
这些指令是对ATLAS进行伪配置,以确定要使用的编译器标志。在指令中将ATLAS配置为'../configure -b 64 -D c -DPentiumCPS = 2200 -Fa alg -fPIC'。我将其修改为我认为适用于我的设置的。./configure -b 64 -t 8 -F 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制作了一个Make.inc,如果我fgrep F77和F77标志,我会得到'gfortran-4.7'和'-O -mavx -fpic -m64'。也许-mavx标志可以处理AVXMAC错误?我需要-mavx吗?我将按照指示进行...
最佳答案
(不是真正的答案,但很难看成评论):
关于Dirk建议使用OpenBLAS的更多注意事项。
我也使用OpenBLAS(在Ubuntu和CentOS系统上)。
对我而言,在8核和12核计算机上重要的考虑因素是OpenBLAS允许动态设置要使用的线程数,即ATLAS doesn't。为了从R内设置dynamicall的线程数,我使用Simon Fuller's OpenBLASThreads。
OpenBLAS非常容易在两个系统上构建。
二进制.deb软件包可用,但是上次我检查它们时,它们的最大线程数设置为2。However, this is going to change。直到现在,我还从具有> 2个内核的Ubuntu计算机上从源代码构建该库。