MPICH安装方法及简单测试

MPICH 安装方法

1. 下载源码,网址如下:http://www.mpich.org/downloads/

2. 建立文件夹。mpich-install 用于存放执行makeinstall后的结果,主要包括可执行文件与动态链接库,主要包括的文件夹分别是“bin”、“include”、“lib”、“share”。

          mpich-temp 用于存放配置完成后的源码,以及make执行后的目标文件。

3. 配置。根据安装目录“mpich-install” 设置“--prefix=/home/andywang/mpich-install”。不需要(同时也没有)fortran编译器,设置“--disable-fortrtan”。命令如下:

/home/andywang/mpich-3.2/configure --prefix=/home/andywang/mpich-install --disable-fortran 

产生两个结果,分别是屏幕上显示的结果,我存了一个“config.result”,还有一个是configure运行产生的“config.log”。

4. make。在“mpich-temp”下直接执行make,为方便以后研究mpi的源码,将结果重定向到“make.result”。过程时间比较长,需要耐心等待,命令如下:

make > make.result 2>&1

这一步会产生“.lo”文件,给大家补充一点相关知识。还是

http://blog.csdn.net/xljiulong/article/details/6636885

5. make install。直接执行即可,命令如下:

make install > makeinstall.result 2>&1

6. 这一步应该设置环境变量,不过我没有,因为之后还有安装openmpi,进行mpi执行时间的对比。

设置环境变量有关知识如下:http://www.cnblogs.com/ITBread/p/3925014.html

写个程序测试下,采用源码文件夹中example下计算pi的示例。

编译命令如下:

/home/andywang/mpich-install/bin/mpicc -o cpi cpi.c

运行命令如下:

/home/andywang/mpich-install/bin/mpiexec ./cpi
Process 0 of 1 is on andywang-HP-Pro-2080-Microtower-PC
pi is approximately 3.1415926544231341, Error is 0.0000000008333410
wall clock time = 0.000157

再使用“--verbose”选项查看gcc在编译过程中所使用的编译选项,命令如下:

/home/andywang/mpich-install/bin/mpicc --verbose -o cpi cpi.c

结果太多了就不都贴出来了,主要就是两个编译选项,分别是“-I /home/andywang/mpich-install/include”与“-L/home/andywang/mpich-install/lib”,同时还有指定链接库“-lmpi”,用gcc编译试一下,命令如下:
gcc cpi.c -I/home/andywang/mpich-install/include -L/home/andywang/mpich-install/lib -lpthread -lmpi -o cpi

由于没有设置LD_LIBRARY_PATH,因此在测试时会出现如下错误:

./cpi: error while loading shared libraries: libmpi.so.12: cannot open shared object file: No such file or directory

因此直接将“cpi”放到运行库文件所在文件夹下,运行结果如下:

/home/andywang/mpich-install/bin/mpiexec ./cpi
Process 0 of 1 is on andywang-HP-Pro-2080-Microtower-PC
pi is approximately 3.1415926544231341, Error is 0.0000000008333410
wall clock time = 0.000231
想静态编译没成功。

以上。



你可能感兴趣的:(MPI)