环境:vmware workstation14 + centos7(linux基本都可以)

一.开始安装mpich

1. 解决依赖gcc gcc-gfortran

            sudo yum install gcc

            sudo yum install gcc-gfortran

2.下载MPICH2,这是个并行计算的软件,可以到http://www.mcs.anl.gov/research/projects/mpich2/downloads/index.php?s=downloads下载最新的源码包

我的下载http://www.mpich.org/static/downloads/3.2.1/mpich-3.2.1.tar.gz

3.

mkdir ~/linpack   ##目的是把linpack安装文件放到一起

tar -zvfx mpich-3.2.1.tar.gz##进入含有该包的目录

mv mpich-3.2.1.tar.gz ~/linpack

mkdir ~/mpich-install ##安装mpich的准备目录,确保为空

cd ~/linpack/mpich-3.2.1

./configure --prefix=/home/liubiyongge/mpich-install 2>&1 | tee c.txt ##liubiyongge该你自己用户名

make 2>&1 | tee m.txt

This step should succeed if there were no problems with the

preceding step. Check file m.txt. If there were problems, do a

"make clean" and then run make again with V=1.

make V=1 2>&1 | tee m.txt

make install 2>&1 | tee m.txt

查看mpich-install中生成文件,如果没有进入mpich-3.2.1,

make clean 重复./coonfigure之后动作

PATH=/home/[USERNAME]/mpich-install/bin:$PATH ; export PATH

#把这个路径加入到path

which mpicc

which mpiexec

看是否加入成功

若能出现正确路径名称,这说明安装成功。(注意!直接在Terminal中添加PATH路径会出现一个小问题,就是计算机重启后要重新添加路径,不然mpicc和mpiexec无法执行。)

在安装包中,官方还给出了一个例子供我们测试,都已经编译好了,在/mpich-3.2.1/examples目录下,编译后的文件名称为cpi,是并行计算ππ的值。将目录切换到examples目录下,并运行代码:

cd examples

mpiexec -n 5 ./cpi

得到的结果如下所示:

二.

下载GotoBLAS2-1.13.tar.gz

https://www.tacc.utexas.edu/documents/1084364/1087496/GotoBLAS2-1.13.tar.gz/b58aeb8c-9d8d-4ec2-b5f1-5a5843b4d47b

tar -zxvf GotoBLAS2-1.13.tar.gz ##进入含有该包的目录

mv GotoBLAS2 ~/libnpack

cd  ~/linpack/GotoBLAS2

GotoBLAS2目录里的f_check源码有问题,把它的第298行改为:

print MAKEFILE "FEXTRALIB=$linker_L -lgfortran -lm -lquadmath -lm $linker_a\n";

make BINARY=64 TARGET=NEHALEM #注意此时PC要保持联网,会自动下载Lapack的

三.下载hpl

http://www.netlib.org/benchmark/hpl/ 

tar -zxvf hpl-2.2.tar.gz

mv hpl-2.2 ~/linpack/

cd ~/linpack/hpl-2.2

然后进入hpl-2.2顶层目录的目录,将setup里面的Make.Linux_PII_FBLAS复制到hpl目录,然后编辑Make.Linux_PII_FBLAS。

改动如下

:TOPdir       = /home/liubiyongge/linpack/hpl-2.2 ##liubiyongg改为你用户名这个是为了指明hpl-2.2位置

MPdir        = /home/liubiyongge/mpich-install

##指明mpich安装目录

MPinc        = -I$(MPdir)/include

MPlib        = $(MPdir)/lib/libmpi.so

##这个改是因为源目录中没有libmpich.a 改为libmpi.so

LAdir        = /home/liubiyongge/linpack/GotoBLAS2

LAinc        =

LAlib        = $(LAdir)/libgoto2.a $(LAdir)/libgoto2.so

同上

CC           = /home/liubiyongge/mpich-install/bin/mpicc

#改编译器为mpicc

LINKER       = /home/liubiyongge/mpich-install/bin/mpif77

#改编译器为mpif77

make  arch=Linux_PII_FBLAS

如果没问题,在hpl/bin/中会生成一个Linux_PII_FBLAS文件夹,如果有错,那么应该是你的arch没有改对吧,实在不行就联系我,liubiyongge@163.com

搭建Linpack的更多相关文章

  1. Online Judge(OJ)搭建(第一版)

    搭建 OJ 需要的知识(重要性排序): Java SE(Basic Knowledge, String, FileWriter, JavaCompiler, URLClassLoader, Secur ...

  2. Angular2入门系列教程1-使用Angular-cli搭建Angular2开发环境

    一直在学Angular2,百忙之中抽点时间来写个简单的教程. 2016年是前端飞速发展的一年,前端越来越形成了(web component)组件化的编程模式:以前Jquery通吃一切的田园时代一去不复 ...

  3. 总结:Mac前端开发环境的搭建(配置)

    新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...

  4. Angular企业级开发(5)-项目框架搭建

    1.AngularJS Seed项目目录结构 AngularJS官方网站提供了一个angular-phonecat项目,另外一个就是Angular-Seed项目.所以大多数团队会基于Angular-S ...

  5. 【分享】标准springMVC+mybatis项目maven搭建最精简教程

    文章由来:公司有个实习同学需要做毕业设计,不会搭建环境,我就代劳了,顺便分享给刚入门的小伙伴,我是自学的JAVA,所以我懂的.... (大图直接观看显示很模糊,请在图片上点击右键然后在新窗口打开看) ...

  6. 一起学微软Power BI系列-使用技巧(4)Power BI中国版企业环境搭建和帐号问题

    千呼万唤的Power BI中国版终于落地了,相信12月初的微软技术大会之后已经铺天盖地的新闻出现了,不错,Power BI中国版真的来了,但还有些遗憾,国际版的一些重量级服务如power bi emb ...

  7. 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)

    从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...

  8. 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...

  9. 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)

    从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://w ...

随机推荐

  1. array_map()关于回调函数的总结

    array_map()函数的第一个参数可以是匿名函数,系统函数,也可以是自己自定义的函!在全局空间下,这些函数的调用都很简单 在这里就不多说了!我们主要讨论的是该函数调用类中的方法和静态方法的区别 摘 ...

  2. php的yii框架开发总结3

    利用yii里面的gii工具可以很容易的自动创建数据表相应的的CURD操作的基于MVC的文件: 首先,打开:自己网站/protected/config/main.php文件 'modules'=> ...

  3. 探索Skip List (跳跃表)

    附William Pugh的论文 Skip Lists: A Probabilistic Alternative to Balanced Trees 写在前面 以下内容针对的是Skip List的插入 ...

  4. 在windows bat脚本(batch)中延时

    编写bat脚本时,有事我们希望在指令和指令之间,加入延时.例如当一条指令执行后,windows需要一定时间来响应的情况. 以下是一种实现方法,通过ping 指令来实现,5表示ping5次,就是延时5秒 ...

  5. css3弹性盒子

    CSS3 弹性盒子(Flex Box) 弹性盒子是 CSS3 的一种新的布局模式. CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时 ...

  6. httpclient 中post请求重定向

    背景:使用httpclient 的post请求进行登录,需要重定向登录,请求重定向后的地址 在httpclient中post请求不像get请求自己可以重定向,实现方式是 判断post请求返回码是否是3 ...

  7. cocos2d-x推断sprite点击

    我们经常须要推断用户的点击操作是否落于某个sprite之上,进而让这个sprite做出响应. 可是假设我们通过继承CCSprite类来实现自己的Sprite类的时候,产生的视图尺寸会充满屏幕.多个Sp ...

  8. 谷歌Web中文开发手冊:3响应式

    https://developers.google.com/web/fundamentals/getting-started/your-first-multi-screen-site/responsi ...

  9. 使用node.js + socket.io + redis实现基本的聊天室场景

    在这篇文章Redis数据库及其基本操作中介绍了Redis及redis-cli的基本操作. 其中的publish-subscribe机制应用比较广泛, 那么接下来使用nodejs来实现该机制. 本文是对 ...

  10. 2018.7.18 div,section,article的区别和使用

    section ·<section> 标签定义文档中的节(section.区段).比如章节.页眉.页脚或文档中的其他部分. ·section用作一段有专题性的内容,一般在它里面会带有标题. ...