【问题标题】:BLAS-LAPACK-ATLAS-R installation with multithreading?BLAS-LAPACK-ATLAS-R 安装多线程?
【发布时间】: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 实现之间轻松选择。

标签: r gcc atlas


【解决方案1】:

(不是真正的答案,但很难作为评论阅读):

关于 Dirk 建议使用 OpenBLAS 的更多注意事项。

我也使用 OpenBLAS(在 Ubuntu 和 CentOS 系统上)。

  • 在 8 核和 12 核机器上对我来说重要的一个考虑因素是 OpenBLAS 允许 动态 设置要使用的线程数,ATLAS doesn't。为了从 R 中动态设置线程数,我使用Simon Fuller's OpenBLASThreads

  • OpenBLAS 在这两个系统上构建起来非常简单。

  • 二进制 .deb 包可用,但上次我检查它们时,它们的最大可能线程数设置为 2。However, this is going to change。到目前为止,我还在具有> 2 个内核的 Ubuntu 机器上从源代码构建库。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-27
  • 2023-03-27
  • 1970-01-01
  • 2021-12-25
  • 2015-03-09
相关资源
最近更新 更多