环境: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. Java Knowledge series 3

    JVM & Bytecode Abstract & Object Object in Java (1) 所有东西都是对象object.可将对象想象成一种新型变量:它保存着数据,但可要求 ...

  2. sqlalchemy的cascades

    http://docs.sqlalchemy.org/en/latest/orm/cascades.html class Order(Base): __tablename__ = 'order' it ...

  3. jQuery-prepend、append、before、after的区别

    举例说明,原始html代码如下: <ol> <li>List item 1</li> <li>List item 2</li> <li ...

  4. Git入门体验

    Git这个东西我也是最近才知道的,然后知道后却发现一个事实:自己真的是太LOW啦!竟然连Git都不知道!!!??? Git 在实际协同工作时会为我们提供巨大帮助, 下面简单介绍一下Git的用法: 一. ...

  5. 关于vim、nvim的折腾

    1 from a view of enc ·nvim必须set enc=utf8,很多基于python的插件也默认了此,这对于中文这些并不友好,然而,vim支持多字节就好的多. 因为很多项目,大家可能 ...

  6. 请教Nutzwk项目,在beetl页面怎么用shiro标签呢?

    请教Nutzwk项目,在beetl页面怎么用shiro标签呢?  发布于 381天前  作者 WenTao-Love  195 次浏览  复制  上一个帖子  下一个帖子  标签: nutzwk 如题 ...

  7. setTimeout详解

    一.setTimeout基础 setTimeout(func|code,delay); 第一个参数表示将要推迟的函数名或者一段代码,第二个参数表示推迟执行的毫秒数   eg: console.log( ...

  8. jade文档声明和头尾标签

    作为一个页面,首先需要一个doctype的声明,它位于文档最上面的位置,放置html标签以前,用来告知浏览器当前这个页面用哪种html,或者xml的规范并解析页面   doctype html htm ...

  9. 利用Kettle转储接口数据

    1.     项目背景 1.1.  项目背景 数据接口 API:应用程序接口(Application Program Interface)的简称,是实现计算机软件之间数据通信的工具.同时API也是一种 ...

  10. python解析ini文件

    python解析ini文件 使用configparser - Configuration file parser sections() add_section(section) has_section ...