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