搭建Linpack
环境: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
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的更多相关文章
- Online Judge(OJ)搭建(第一版)
搭建 OJ 需要的知识(重要性排序): Java SE(Basic Knowledge, String, FileWriter, JavaCompiler, URLClassLoader, Secur ...
- Angular2入门系列教程1-使用Angular-cli搭建Angular2开发环境
一直在学Angular2,百忙之中抽点时间来写个简单的教程. 2016年是前端飞速发展的一年,前端越来越形成了(web component)组件化的编程模式:以前Jquery通吃一切的田园时代一去不复 ...
- 总结:Mac前端开发环境的搭建(配置)
新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...
- Angular企业级开发(5)-项目框架搭建
1.AngularJS Seed项目目录结构 AngularJS官方网站提供了一个angular-phonecat项目,另外一个就是Angular-Seed项目.所以大多数团队会基于Angular-S ...
- 【分享】标准springMVC+mybatis项目maven搭建最精简教程
文章由来:公司有个实习同学需要做毕业设计,不会搭建环境,我就代劳了,顺便分享给刚入门的小伙伴,我是自学的JAVA,所以我懂的.... (大图直接观看显示很模糊,请在图片上点击右键然后在新窗口打开看) ...
- 一起学微软Power BI系列-使用技巧(4)Power BI中国版企业环境搭建和帐号问题
千呼万唤的Power BI中国版终于落地了,相信12月初的微软技术大会之后已经铺天盖地的新闻出现了,不错,Power BI中国版真的来了,但还有些遗憾,国际版的一些重量级服务如power bi emb ...
- 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)
从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...
- 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...
- 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)
从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://w ...
随机推荐
- array_map()关于回调函数的总结
array_map()函数的第一个参数可以是匿名函数,系统函数,也可以是自己自定义的函!在全局空间下,这些函数的调用都很简单 在这里就不多说了!我们主要讨论的是该函数调用类中的方法和静态方法的区别 摘 ...
- php的yii框架开发总结3
利用yii里面的gii工具可以很容易的自动创建数据表相应的的CURD操作的基于MVC的文件: 首先,打开:自己网站/protected/config/main.php文件 'modules'=> ...
- 探索Skip List (跳跃表)
附William Pugh的论文 Skip Lists: A Probabilistic Alternative to Balanced Trees 写在前面 以下内容针对的是Skip List的插入 ...
- 在windows bat脚本(batch)中延时
编写bat脚本时,有事我们希望在指令和指令之间,加入延时.例如当一条指令执行后,windows需要一定时间来响应的情况. 以下是一种实现方法,通过ping 指令来实现,5表示ping5次,就是延时5秒 ...
- css3弹性盒子
CSS3 弹性盒子(Flex Box) 弹性盒子是 CSS3 的一种新的布局模式. CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时 ...
- httpclient 中post请求重定向
背景:使用httpclient 的post请求进行登录,需要重定向登录,请求重定向后的地址 在httpclient中post请求不像get请求自己可以重定向,实现方式是 判断post请求返回码是否是3 ...
- cocos2d-x推断sprite点击
我们经常须要推断用户的点击操作是否落于某个sprite之上,进而让这个sprite做出响应. 可是假设我们通过继承CCSprite类来实现自己的Sprite类的时候,产生的视图尺寸会充满屏幕.多个Sp ...
- 谷歌Web中文开发手冊:3响应式
https://developers.google.com/web/fundamentals/getting-started/your-first-multi-screen-site/responsi ...
- 使用node.js + socket.io + redis实现基本的聊天室场景
在这篇文章Redis数据库及其基本操作中介绍了Redis及redis-cli的基本操作. 其中的publish-subscribe机制应用比较广泛, 那么接下来使用nodejs来实现该机制. 本文是对 ...
- 2018.7.18 div,section,article的区别和使用
section ·<section> 标签定义文档中的节(section.区段).比如章节.页眉.页脚或文档中的其他部分. ·section用作一段有专题性的内容,一般在它里面会带有标题. ...