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测试成功步骤整理相关推荐

  1. Linpack之HPL(High Performence Linpack)测试实验

    Linpack之HPL(High Performence Linpack)测试实验 一. 实验环境 软件环境:Linux(CentOS 7.8).GCC和GFortran(编译器).BLAS(用来做矩 ...

  2. 易宝java面试_java 易宝支付源码 (已测试成功,有测试步骤图片)

    [实例简介] 1.登陆页面填入信息 选择银行. 2.网上找的新的ID,和密码加入到配置文件中使用 3.点击提交后连接到易宝的支付页面. 4.通过建行支付的连接(显示建行已经扣了0.01元) http: ...

  3. 俄罗斯政府称“主权网络”测试成功

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 本周一,俄罗斯政府宣布称已完成一系列网络孤岛测试,成功将俄罗斯从世界互联网断开. 从上周开始,测试进行了数天时间,参与方包括俄罗斯政府 ...

  4. Android专项测试性能篇整理

    Android专项测试性能篇整理 转自 slq520 分类专栏: APP性能测试 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:h ...

  5. 常见压力测试流程步骤

    常见压力测试流程步骤: 1.明确压力测试需求.范围.场景.首先得确定测试数据库.测试用例设计等,因为压力测试对于环境的要求较高,因此基本软硬件.工具类以及测试场景的搭建都要准备好. 2.存量数据规模. ...

  6. windows环境设置mysql数据库自动备份(测试成功)

    windows环境设置mysql数据库自动备份(测试成功) 要实现数据库的自动备份就需要一下两步: 利用MySQL提供的备份命令mysqldump 结合Windows的任务计划程序 实现步骤 编写脚本 ...

  7. 迅雷share.php怎么看,下片利器,可以扔掉百度管家了 (迅雷离线测试成功)(更新教程)新发现可以。边下边看...

    本帖最后由 w64489728 于 2015-5-16 14:53 编辑 我用的是64位win7系统   UC浏览器4.0版下一部分看一部分 还能快进类   不过可能作用不大 QQ截图20150516 ...

  8. 庆祝一下,基于JXTA的P2P文件共享传输文件测试成功。

    jxta.org上也有一个资源共享的项目,jxta-cm,但是这个项目作的不够好. 我重新设计了传输协议,参考了BT的传输协议. 存储本地信息,不像jxta-cm那样简单,序列化一个本地磁盘文件,而是 ...

  9. Cash Shuffle初次测试成功,BCH隐私研究逐步推进

    早在去年12月,一项名为 Cash Shuffle的比特币现金项目就被提了出来,该项目旨在通过混淆交易信息来保证BCH交易隐私.该项目在当时引起了社区的热议,因为隐私属性一直是加密货币最重要的属性之一 ...

  10. 经验分享:布线测试关键步骤有哪些 ?

    我们都知道在布线完成之后都免不了布线测试这一环节,但是常常会被忽略几个布线测试关键步骤.今天小编就来说说布线测试关键步骤有哪些. 布线测试关键步骤有哪些:通断测试是基础 通断测试是测试的基础,是对线路 ...

最新文章

  1. 查看ocx控件CLSID的方法
  2. [转]ANT技术研究--与VSS整合自动获取源码进行编译
  3. cuda profiler使用
  4. Oracle MySQL社区版与Oracle MySQL企业版特征对比
  5. PL/SQL Step By Step(三)
  6. apt-get update : pulic key error
  7. c语言中printf读入方向,C语言习题答案.doc
  8. 【燃烧吧 切割机】 自制微型激光切割
  9. QQ牧场接口协议分析
  10. 加域电脑如何取消锁屏
  11. 微信小程序前期申请企业认证、后期提审发布流程
  12. java短语音聊天室_实现一个简单的语音聊天室(源码)
  13. 计算机打印机密码怎么设置,电脑设置了密码打印机打不了怎么办
  14. 图灵1951年报告Intelligent Machinery,A Heretical Theory中英文,公号回复“图灵1951报告”下载PDF双语典藏版
  15. 201671010434王雯涵--实验二 软件工程个人项目
  16. 【光学】发散角的奥秘
  17. 致血气方刚的产品经理:如何不被程序员嫌弃
  18. jQuery俄罗斯方块游戏动画
  19. background-image的图片路径中图片名带括号后图片不显示
  20. 下列哪个不属于Hadoop的特性?

热门文章

  1. eclipse安装GWT插件
  2. Python制作经典坦克大战小游戏
  3. 香农公式说明了什么_香农公式理解
  4. mac-Pro13 电池图标一直保持充电状态的问题解决
  5. 将m个相同的球全部放到n个相同的盒子里面有几种放法,盒子不能为空
  6. myeclipse当前页面的脚本发生错误问题
  7. AST使用eval运行函数,更换数值
  8. android 字体设置为中等粗细
  9. oracle database lite,Oracle Database Lite Client 10
  10. Linux显示2015年日历表