简体   繁体   English

BLAS-LAPACK-ATLAS-R安装多线程?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM