(LINPACK)HPL测试成功步骤整理
gcc/g++/gfortran 得有
//ubuntu sudo apt install gcc(以此类推)
并行环境mpich,
基本线性代数子方程gotoblas
1、 mpich安装
wget http:/www.mpich.org/static/downloads/3.3.2/mpich-3.3.2.tar.gz
tar zxvf mpich-3.3.2.tar.gz
cd mpich-3.3.2
./configure --prefix=/usr/local/mpich-3.3.2(prefix后为安装路径)
sudo make
sudo make install
vim ~/.bashrc
export PATH=”usr/local/mpich-3.3.2/bin:$PATH”
source ~/.bashrc
which mpicc (路径记一下)
which mpiexec
如果出现正确路径,则说明安装成功。
2、GotoBLAS2安装
下载位置GotoBLAS:百度网盘 请输入提取码
2.1 解压GotoBLAS包之后,在解压后的目录下执行./ quickbuild.64bit进行快速安装,如果安装正常,在本目录下就会生成libgoto2.a和libgoto2.so两个文件
执行./ quickbuild.64bit
make BINARY=64 TARGET=NEHALEM/ 或者OPTERON(取决于电脑情况)
若出现如下:
../kernel/x86_64/gemm_ncopy_4.S:192: Error: undefined symbol
RPREFETCHSIZE' in operation
../kernel/x86_64/gemm_ncopy_4.S:193: Error: undefined symbol
RPREFETCHSIZE' in operation
../kernel/x86_64/gemm_ncopy_4.S:194: Error: undefined symbol
RPREFETCHSIZE' in operation
../kernel/x86_64/gemm_ncopy_4.S:195: Error: undefined symbol
RPREFETCHSIZE' in operation
则执行: gmake clean
vim Make.rule
修改
VERSION = 1.13 (去掉注释)
TARGET = NEHALEM/OPTERON
CC=gcc
BINARY=64 /*如果你是用的是64位进行该操作*/
USE_OPENMP = 1
INTERFACE64 = 1
INTERFACE64=1
关闭
执行./ quickbuild.64bit
make BINARY=64 TARGET=NEHALEM/ 或者OPTERON(取决于电脑情况)
2.2 编译正常的话,会在目录下生成libgoto2.a 和libgoto2.so文件
3、HPL程序的编译
HPL下载:
HPL - A Portable Implementation of the High-Performance Linpack Benchmark for Distributed-Memory Computers (netlib.org)
解压HPL程序包
cd hpl-2.3(进去目录)
//从hpl/setup目录下拷贝Make.Linux_ATHLON_CBLAS(具体根据电脑情况选择)文件到hpl/目录下,并将文件更名为Make.test
(从setup目录中选择一个和自己实际的测试平台最相似的配置文件,将其复制到hpl根目录下,因为我的电脑是AMD的,(可以查看 CPU 型号是 Intel 的 NEHALEM 架构还是 AMD 的 OPTERON 架构cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq)所以我选择Make.Linux_ATHLON_CBLAS )
cp setup/Make.Linux_ATHLON_CBLAS Make.test(宗旨是拷贝setup里适合自己电脑的文件然后进行修改,拷贝完改个名交Make.test)
可以重新命名以示区别,这也是因为编译Make文件比较麻烦,所以建议先拷贝一个Make文件的例子
Make配置文件中有大量的注释信息,可以借助grep之类的工具将真正有用的参数筛选出来
cat Make.test |grep -v "#"
SHELL = /bin/sh
CD = cd
CP = cp
LN_S = ln -s
MKDIR = mkdir
RM = /bin/rm -f
TOUCH = touch
ARCH = Linux_PII_FBLAS <--系统架构名称
TOPdir = $(HOME)/hpl <--hpl程序所在的目录
INCdir = $(TOPdir)/include
BINdir = $(TOPdir)/bin/$(ARCH)
LIBdir = $(TOPdir)/lib/$(ARCH)
HPLlib = $(LIBdir)/libhpl.a
MPdir = /usr/local/mpi <--mpi所在的目录
MPinc = -I$(MPdir)/include
MPlib = $(MPdir)/lib/libmpich.a <--mpi库文件
LAdir = $(HOME)/netlib/ARCHIVES/Linux_PII <--GotoBlas库所在的路径
LAinc =
LAlib = $(LAdir)/libf77blas.a $(LAdir)/libatlas.a <--Gotoblas库文件所在的路径
F2CDEFS = -DAdd__ -DF77_INTEGER=int -DStringSunStyle
HPL_INCLUDES = -I$(INCdir) -I$(INCdir)/$(ARCH) $(LAinc) $(MPinc)
HPL_LIBS = $(HPLlib) $(LAlib) $(MPlib)
HPL_OPTS =
HPL_DEFS = $(F2CDEFS) $(HPL_OPTS) $(HPL_INCLUDES)
CC = /usr/bin/gcc
CCNOOPT = $(HPL_DEFS)
CCFLAGS = $(HPL_DEFS) -fomit-frame-pointer -O3 -funroll-loops -W -Wall
LINKER = /usr/bin/g77
LINKFLAGS = $(CCFLAGS)
ARCHIVER = ar
ARFLAGS = r
RANLIB = echo
参数配置很麻烦
注意配置好MPICH Gotoblus hpl文件 三个参数(注意最后CCFLAGS后、LINKER前的那一行,记得加上-pthread)
设置好hpl程序的编译参数之后,通过命令make arch=test来指定编译配置文件,开始进行编译,编译完成后,将在hpl目录的bin/test/下生成HPL.dat和xhpl两个文件,其中HPL.dat是hpl测试时参数的配置文件,xhpl是hpl测试时被执行的mpi程序。如果失败(大概率参数问题),重新编译前make arch=test
clean_arch_all
cd hpl/bin/test
mpirun -np 4 ./xhpl就可以成功运行
如果是参加ASC,祝你好运(很拼硬件的,尤其是显卡)
如果是河师大的同学,更祝你好运(柴老师yyds!)
(LINPACK)HPL测试成功步骤整理相关推荐
- Linpack之HPL(High Performence Linpack)测试实验
Linpack之HPL(High Performence Linpack)测试实验 一. 实验环境 软件环境:Linux(CentOS 7.8).GCC和GFortran(编译器).BLAS(用来做矩 ...
- 易宝java面试_java 易宝支付源码 (已测试成功,有测试步骤图片)
[实例简介] 1.登陆页面填入信息 选择银行. 2.网上找的新的ID,和密码加入到配置文件中使用 3.点击提交后连接到易宝的支付页面. 4.通过建行支付的连接(显示建行已经扣了0.01元) http: ...
- 俄罗斯政府称“主权网络”测试成功
聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 本周一,俄罗斯政府宣布称已完成一系列网络孤岛测试,成功将俄罗斯从世界互联网断开. 从上周开始,测试进行了数天时间,参与方包括俄罗斯政府 ...
- Android专项测试性能篇整理
Android专项测试性能篇整理 转自 slq520 分类专栏: APP性能测试 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:h ...
- 常见压力测试流程步骤
常见压力测试流程步骤: 1.明确压力测试需求.范围.场景.首先得确定测试数据库.测试用例设计等,因为压力测试对于环境的要求较高,因此基本软硬件.工具类以及测试场景的搭建都要准备好. 2.存量数据规模. ...
- windows环境设置mysql数据库自动备份(测试成功)
windows环境设置mysql数据库自动备份(测试成功) 要实现数据库的自动备份就需要一下两步: 利用MySQL提供的备份命令mysqldump 结合Windows的任务计划程序 实现步骤 编写脚本 ...
- 迅雷share.php怎么看,下片利器,可以扔掉百度管家了 (迅雷离线测试成功)(更新教程)新发现可以。边下边看...
本帖最后由 w64489728 于 2015-5-16 14:53 编辑 我用的是64位win7系统 UC浏览器4.0版下一部分看一部分 还能快进类 不过可能作用不大 QQ截图20150516 ...
- 庆祝一下,基于JXTA的P2P文件共享传输文件测试成功。
jxta.org上也有一个资源共享的项目,jxta-cm,但是这个项目作的不够好. 我重新设计了传输协议,参考了BT的传输协议. 存储本地信息,不像jxta-cm那样简单,序列化一个本地磁盘文件,而是 ...
- Cash Shuffle初次测试成功,BCH隐私研究逐步推进
早在去年12月,一项名为 Cash Shuffle的比特币现金项目就被提了出来,该项目旨在通过混淆交易信息来保证BCH交易隐私.该项目在当时引起了社区的热议,因为隐私属性一直是加密货币最重要的属性之一 ...
- 经验分享:布线测试关键步骤有哪些 ?
我们都知道在布线完成之后都免不了布线测试这一环节,但是常常会被忽略几个布线测试关键步骤.今天小编就来说说布线测试关键步骤有哪些. 布线测试关键步骤有哪些:通断测试是基础 通断测试是测试的基础,是对线路 ...
最新文章
- 查看ocx控件CLSID的方法
- [转]ANT技术研究--与VSS整合自动获取源码进行编译
- cuda profiler使用
- Oracle MySQL社区版与Oracle MySQL企业版特征对比
- PL/SQL Step By Step(三)
- apt-get update : pulic key error
- c语言中printf读入方向,C语言习题答案.doc
- 【燃烧吧 切割机】 自制微型激光切割
- QQ牧场接口协议分析
- 加域电脑如何取消锁屏
- 微信小程序前期申请企业认证、后期提审发布流程
- java短语音聊天室_实现一个简单的语音聊天室(源码)
- 计算机打印机密码怎么设置,电脑设置了密码打印机打不了怎么办
- 图灵1951年报告Intelligent Machinery,A Heretical Theory中英文,公号回复“图灵1951报告”下载PDF双语典藏版
- 201671010434王雯涵--实验二 软件工程个人项目
- 【光学】发散角的奥秘
- 致血气方刚的产品经理:如何不被程序员嫌弃
- jQuery俄罗斯方块游戏动画
- background-image的图片路径中图片名带括号后图片不显示
- 下列哪个不属于Hadoop的特性?