最近由于专业需要,需要在CentOS 7平台下安装并行计算包MPICH。由于我才接触Linux,鸟哥的基础入门书也才看了四分之一不到,所以安装也一步一步按照官方给的文档安装。
官方安装方法
首先附上官网给出的安装文档:
http://www.mpich.org/static/downloads/3.2.1/mpich-3.2.1-installguide.pdf
也可以参考网页版的入门安装教程(和上面的pdf文档大同小异,但是我用的这个网页版的),链接如下:
http://www.mpich.org/static/downloads/3.2.1/mpich-3.2.1-README.txt
但是第一次安装时由于水平所限,加上混杂了许多帖子里的安装方法,安装的十分混乱,装到最后自己都晕了,本来想请教别人,后来想想不服气,又自己按照官方文档重新安装了一遍,装成功了。下面就一步一步的从头安装。
在安装之前,你的CentOS7要先安装C编译器,可以使用yum指令安装(需要root权限),代码如下
yum install make ///安装make程序
yum install gcc ///安装GCC编译器(支持C编译)
yum isntall gcc-c++ ///安装G++编译器(支持C++编译)
然后在官网上下载程序的压缩包,我下载的安装包是mpich-3.2.1 (stable release),链接如下
http://www.mpich.org/static/downloads/3.2.1/mpich-3.2.1.tar.gz
我电脑的默认下载地址是/home/zxh/Downloads,中间的zxh是我的主机名称,一般默认是下载到/home/[USERNAME]/Downloads这个文件夹中。在下载好之后,使用下面的命令解压文档
tar xzf mpich-3.2.1.tar.gz
解压过程中可能会遇到系统不识别 “z” 选项的问题(CentOS7貌似没有这个问题),那可以试试下面的这段代码
gunzip mpich-3.2.1.tar.gz
tar xf mpich-3.2.1.tar
解压完毕之后,进入解压好的文件夹目录下
cd mpich-3.2.1
下面所有的Linux代码操作都是在这个目录下的。
接下来我们需要新建一个安装MPICH的目录,你也可以选择就安装在当前的mpich-3.2.1目录下,不过在以后多计算机并行计算的时候可能文件系统看上去比较乱。官方文档中给出的做法新建一个/home/[USERNAME]/mpich-install目录。我在新建的时候使用了默认的权限,代码如下
cd /home/[USERNAME]
mkdir mpich-install
再回到之前的mpich-3.2.1目录下
cd /home/[USERNAME]/Downloads/mpich-3.2.1
当中的[USERNAME]是你的localhost名称,下同,就不多做解释了。
这一切完成之后,接下来就要验证MPICH并明确指定安转目录了,代码如下
./configure --prefix=/home/[USERNAME]/mpich-install 2>&1 | tee c.txt
注意!这里在验证的时候可能会出现报错,因为验证的时候有一块是验证你的Linux系统是否支持Fortran77语言。不支持怎么办呢,用下面的代码:
./configure --prefix=/home/[USERNAME]/mpich-install --disable-fortran 2>&1 | tee c.txt
这里要注意“–disable-fortran”放置的位置,放到最后是不对的,虽然我自己也不知道“2>&1 | tee”这些代码具体的运行机制,算是邯郸学步吧:-),以后慢慢了解。如果运行通过,系统界面最后一行会出现
“configuration complete!”的语句,下面就可以生成MPICH了。语句如下:
make 2>&1 | tee m.txt
经过几分钟的等待(这一步我没有遇到问题,官网文档给出了遇到问题的解决方法,此处不多叙述),生成通过,执行安装语句:
make install 2>&1 | tee mi.txt
接着需要设置环境变量,使得不管你在哪个目录下都能使用编译指令mpicc和执行指令mpiexec,我直接在terminal界面(没有进入网上说的.bashrc文档编辑)输入下面的代码:
PATH=/home/[USERNAME]/mpich-install/bin:$PATH ; export PATH
下面验证编译指令mpicc和执行指令mpiexec是否能用,输入下面的指令:
which mpicc
which mpiexec
若能出现正确路径名称,这说明安装成功。(注意!直接在Terminal中添加PATH路径会出现一个小问题,就是计算机重启后要重新添加路径,不然mpicc和mpiexec无法执行。)
在安装包中,官方还给出了一个例子供我们测试,都已经编译好了,在/mpich-3.2.1/examples目录下,编译后的文件名称为cpi,是并行计算 π 的值。将目录切换到examples目录下,并运行代码:
cd examples
mpiexec -n 5 ./cpi
得到的结果如下所示:
文档后面还有许多精细化的配置介绍,由于我才上手,还没看,等到后面接触到,使用过了在把自己的感想写给大家把~