【发布时间】:2013-04-06 20:47:42
【问题描述】:
我正在尝试在具有 8 核 AMD athlon 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 -Fal alg -fPIC”。我将其修改为我认为适用于我的设置的内容' ../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 制作了一个 Make.inc,如果我使用 fgrep F77 和 F77 标志,我会得到“gfortran-4.7”和“-O -mavx -fpic -m64”。也许 -mavx 标志处理 AVXMAC 错误?我需要-mavx吗?我会按照我的指示继续...
【问题讨论】:
-
有Atlas的替代品;例如,您可以尝试 OpenBLAS。
-
谢谢德克!我读了你的比较文件。在论文中,您使用 Ubuntu 包管理器 synaptic 安装 libatlas3gf。我正在使用 OpenSUSE 12.2,但尚未找到 libatlas3gf。您是否使用 pthread 手动编译了 ATLAS?我想也许我被愚弄了,认为花费 9 个小时来“构建”以及所有的标准输出、标准错误和“调整”将导致更少的错误或更快的 BLAS。我将研究 OpenBLAS。我想知道我现在是否可以使用 OpenMP 安装。
-
不,在 Debian/Ubuntu 中,您可以在 BLAS 实现之间轻松选择。