linpack for android,linpack测试方法

  linpack for android,linpack测试方法

  需要的软件包:

  1 mpi运行环境,这里我们使用的是:mpich2-1.5.tar.gz

  2矩阵库GOTOBLAS,我们使用的是:GotoBLAS2-1.13.tar.gz

  3 linpack测试软件包:hpl-2.1.tar.gz

  安装过程:

  一个GOTOBLAS2代数库的安装

  查看中央处理器架构:cat/proc/cpuinfo

  [root @ compute-0 ~]# cat/proc/CPU信息

  处理器:0

  供应商标识:认证

  cpufamily:16

  型号:5

  型号名称:amd速龙iix 4620处理器

  #注:我的是超微半导体公司的架构如果你的是军事情报应该是核心2的架构

  步进:2

  中央处理器频率:2600.147

  缓存大小:512KB

  fpu:是的

  fpu _异常:是

  消费品价格指数级别:5

  wp:是的

  flags:fpuvmedepsetscmsrpaemccecx 8 apicmtrrpgemcacmovmpats 36 clflushmx fxsrssse 2 syscallnxmmxextfxsr _ optpdppe 1 gbrdtscplm 3 nowext 3 now constant _ tscuprep _ goodtsc _ reliable nonstop _ tscunfar _ spinlockpnicx 16 x2 apicopconthypervisor lahf _ lmextapicr 8 _ legacybmsse 4 amisalingnsse 3 nowfepofetchosvw

  博戈米普斯:5200.29

  TLB尺码:10244千页

  clflushsize:64

  缓存对齐:64

  地址大小:40位物理地址,48位虚拟地址

  电源管理:

  修改Makefile.rul(注:对Makefile.rul修改,用户可以更加针对自己的硬件平台进行安装,因此效率会高很多。

  所有架构、编译器的选择,多线程的设置等都是修改这个文件。)

  #您可以指定目标架构,否则就是

  #自动检测到。

  #TARGET=PENRYN

  # ifyouwanttosupportmultiplearchitecture einone二进制

  #DYNAMIC_ARCH=1

  # ccompilerrincludingbinarytype(32位/64位)。

  #不要使用telCompilerorPGI,它不会生成rightcodesasIexpect .

  CC=gcc

  #Fortrancompiler。默认情况.

  #FC=gfortran

  # Evenyoucanspecifycrosscompiler

  #CC=x86_64-w64-mingw32-gcc

  # FC=x86 _ 64-w64-mingw 32-gfortran

  #如果需要32位二进制,定义二进制=32,否则defineBINARY=64

  二进制=64

  #关于螺纹玻璃.它会自动检测出你没有

  #指定它。

  # forcesettingforsinglethreaded,请指定USE_THREAD=0

  #对于对于Forforcesettingformultithreaded多线程,请指定USE_THREAD=1

  USE_THREAD=1

  #如果你要用OpenMP访问这个图书馆,请注意。

  USE_OPENMP=1

  # Youcandefinemaximumnumberofthreads .基本上应该是

  # lesssthancactualnumberofcores .如果你没有指定,那就是

  #由脚本自动检测。

  #线程数=24

  #如果您不需要CBLASinterface,请提出意见。

  #NO_CBLAS=1

  # ifyouwanttuselegacythreadedlevel 3实现.

  #USE_SIMPLE_THREADED_LEVEL3=1

  # if you want to drive whole 64 bitregionbyblas .NotallFortran

  #编译器支持这一点.这是对你的肯定

  #不确定(等效于-i8选项)。

  #接口64=1

  #不幸的是,lymostofkernelwon tgiveushighqualitybuffer .

  # blastriestofindthesteregionbeforeenteringmainfunction,

  # butitwillconsumetime .如果你不喜欢,你可以放弃。

  #NO_WARMUP=1

  # IfyouwanttodisableCPU/MemoryaffinityonLinux .

  #NO_AFFINITY=1

  # ifyouwoulliketoknowminutepoperformancereportofgotoblas .

  #FUNCTION_PROFILE=1

  # SupportforIEEEquadprecision(它是*真实*真实*16)(测试中)

  #QUAD_PRECISION=1

  #完成blasoperation后继续工作

  # torreduce线程激活/停用开销.你可以决定

  #改善性能.这个数字应该在四到30之间

  #对应于(1牛顿)个周期。例如,如果您设置为26,

  #线程将运行(1 ^ 26)个周期(大约25毫秒3.0千兆赫

  #系统)。另外,您可以控制thismumberbygoto _ THREAD _ time out

  # c common _ OPT=-DTHREAD _ time out=26

  # usingspecialdevicedriverformappingphysicalligusmemory

  #totheuserspace .如果如果Ifbigphysareaisenabled,它将显示。

  #设备驱动程序分配=1

  # IfyouneedtosynchronizeFPCSRbetweenthreads(仅适用于x86/x86 _ 64).

  #CONSISTENT_FPCSR=1

  # ifyouneedsantycheckbycomparingereferenceblas .会很好的

  #slow(Notimplementedyet).

  #SANITY_CHECK=1

  # CommonOptimizationFlag-够了。

  COMMON_OPT=-O2

  #配置文件标记

  COMMON_PROF=-pg

  #

  # Endofuserconfiguration

  #

  旧历法.Linux操作系统操作系统

  体系结构.x86_64

  二进制的.64位

  编译器.海湾合作委员会(命令行:GCC)

  Fortrancompiler.77国集团(命令行:77国集团)

  库名.libgoto2 _巴塞罗那-r1.13.a(单线)

  在gotoblas2的目录下多出几个文件:这两个文件就是我们后面用到的库文件。

  lrwxrwxrwx 1 root root 23 mar 2822:14 libgoto 2。a-libgoto 2 _ athlon-r 1.13。a

  -rw-r-r-1 root root 5235402 mar 2822:18 libgoto 2 _ athlon-r 1.13。a

  -rwxr-xr-x1 rootrout 2503038 mar 2822:18 libgoto 2 _ athlon-r 1.13。因此

  lrwxrwxrwx 1 root root 24 mar 2822:18 libgoto 2。so-libgoto 2 _ athlon-r 1.13。因此

  3 HPL的安装

  1.从设置里面,复制出来符合自己系统的制造文件,这里我的是超微半导体公司的,我复制出

  来的是制造. Linux_ATHLON_CBLAS,如果你是美国英特尔公司(财富500强公司之一以生产中央处理器芯片著称)的应该复制制造Linux。

  到上一级目录。

  2.修改该制造Linux_ATHLON_CBLAS。文件

  #

  # -

  #-HPL目录结构/HPL库-

  # -

  #

  TOPdir=/home/houqd/hpl-2.1#hpl的目录

  INCdir=$(TOPdir)/include

  BINdir=$(TOPdir)/bin/$(ARCH)

  LIBdir=$(TOPdir)/lib/$(ARCH)

  #

  HPLlib=$(LIBdir)/libhpl.a

  # -

  #-MPI目录-库-

  # -

  # mpinctellsheccompilerthofinthemessagepassinglibrary

  磁带库的#headerfiles,mplibisdefinedtobename

  #已使用。variablepdirisonlyusedfordefiningmpincandmplib .

  #

  MPdir=/home/houqd/mpich 2。1 .5 # MPI的路径

  MPinc=-I$(MPdir)/src/include

  MPlib=$(MPdir)/lib/.libs/libmpich.a#这个需要注意一下,安装完平均弹着点的目录需要看一下,可能会有些不同

  #

  # -

  #-线性代数库(BLASorVSIPL)

  # -

  #线性代数库

  #headerfiles,图书馆的图书馆名称

  #已使用。该变量仅用于定义laincandlalib .

  #

  LAdir=/home/houqd/goto blas 2 # goto blas 2的安装目录

  LAinc=

  LAlib=$(LAdir)/libgoto 2。a $(LAdir)/libgoto 2。因此

  #

  # -

  #-编译器/连接器-优化标志-

  # -

  #

  CC=/usr/local/bin/mpicc#mpicc的路径

  CCNOOPT=$(HPL_DEFS)

  cc flags=$(HPL _ DEFS)-fomit-frame-pointer-O3-funroll-loops-W-Wall

  #

  链接器=/usr/local/bin/mpicc

  LINKFLAGS=$(CCFLAGS)

  3.执行makearch=Linux_ATHLON_CBLAS

  完成后在容器目录的Linux_ATHLON_CBLAS下面将产生测试文件

  HPL.dat和xhpl

  在解放运动目录的Linux_ATHLON_CBLAS下面将产生库文件

  libhpl.a完成后显示:

  T/VNNBPQTimeGflops

  -

  WR00R2R4354410.615.008e-05

  HPL _ pdgesv()starttimethumar 2820:47:202013

  HPL _ pdgesv()结束时间humar 2820:47:212013

  -

   Ax-b _ oo/(EPS * A _ oo * x _ oo b _ oo)* N)=0.0164438.通过

  ================================================================================

  已完成864项测试,结果如下:

  864个测试完成并通过了residualchecks,

  已完成0项测试和failedresdialchecks,

  0次测试跳过因为ofillegalinputvalues .

  -

  当编译平均弹着点程序并且编译通过,但是执行时报错

  [root @ master Linux _ ATHLON _ CB las]# mpirun-NP 4x HPL

  [proxy:0:0@Master .Hadoop]HYDU_create_process(./utils/launch/launchc:75):execvperroronfilexhpl(Nosuchfileordirectory)

  [proxy:0:0@Master .Hadoop]HYDU_create_process(./utils/launch/launchc:75):execvperroronfilexhpl(Nosuchfileordirectory)

  [proxy:0:0@Master .Hadoop]HYDU_create_process(./utils/launch/launchc:75):execvperroronfilexhpl(Nosuchfileordirectory)

  [proxy:0:0@Master .Hadoop]HYDU_create_process(./utils/launch/launchc:75):execvperroronfilexhpl(Nosuchfileordirectory)

  ===================================================================================

  =错误的终止

  =退出代码:255

  =CLEANINGUPREMAININGPROCESSES

  =youcanignorethelowcleanumpesages

  ===================================================================================

  此时很可能是由于执行程序时没有使用绝对路径。

  只要使用绝对路径执行程序即可,如下:

  $mpicc-ocpicpi.c

  $mpirun-np4 ./cpi(一定要加"./")

  输入/输出参数的解释如下:

  电视:Walltime/encodedvariant .

  n:有序系数矩阵.

  注意:partitioningblockingfactor .

  p:然后是进程数.

  问:然后numberofprocesscolumns .

  时间:timeinsecondstosolvethelinesystem .

  gflops:rateofexecutionforsolvingthelinearystem .

  将使用以下参数值:

  N:29303435

  注意:1234

  PMAP:行-主要流程映射

  P:214

  问:241

  PFACT:LeftCroutRight

  NBMIN:24

  NDIV:2

  RFACT:LeftCroutRight

  BCAST:1ring

  深度:0

  交换:混合(阈值=64)

  L1:转座形式

  u:转座形式

  艾奎尔:是的

  ALIGN:8doubleprecisionwords

linpack for android,linpack测试方法