Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1105370
  • 博文数量: 264
  • 博客积分: 7225
  • 博客等级: 少将
  • 技术积分: 5096
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-17 08:53
文章分类

全部博文(264)

文章存档

2011年(33)

2010年(52)

2009年(152)

2008年(27)

我的朋友

分类: LINUX

2009-06-15 12:58:05

mpich2下用ifort10编译nwchem5.1老是在最后link时出现某些“未定义”错误,试了下openmpi(版本1.2.6),似乎是成功了,没有严重的错误提示。一切先用默认模式安装openmpi。

<1>Open-mpi的安装:

 即  tar -xvzf openmpi-xxxx.gz

     cd  openmpi-xxxx

     ./configure --prefix=/usr/local/openmpi | tee cfg.log &

     make all | tee make.log &

     make install | tee makeinstall.log &

 末尾出现些subscripts too complex的警告, 但似乎正常结素了。   

结果出现    Unfortunately, this installation of Open MPI was not compiled with Fortran 90 support. As such, the mpif90 compiler is non-functional.

结果错误在于没有指定F77=IFORT FC=IFORT ,改正后重新编译成功

可以到EXAMPLES里面测试,MAKE-----MPIRUN -N 4 hello_f90

 Hello, world, I am            0  of            4
 Hello, world, I am            2  of            4
 Hello, world, I am            3  of            4
 Hello, world, I am            1  of            4
表明编译正确

-----------------------------------(以下与nwchem的编译无关,与编译好调用mpi有关)

然后把openmpi及其它的bin路径添到.bashrc里。

注意使用它还用设置共享库的位置 ,用.bashrc里添加:

export LD_LIBRARY_PATH=$MPIDIR/lib:$LD_LIBRARY_PATH

或者每次运行mpirun时用 --prefix=/usr/local/openmpi 听说也可以

 ---------------------------------------------

初步适用了下,openmpi 和 mpich2的区别:

(1)openmpi继承了初代mpi没有系统守护模块(如mpd)的特点,由作业自己随时调用mpirun;感觉上比较方便。

(2)hostfile的写法略有不同,比如mpich里习惯都:

而openmpi的对多路或多核心cpu的写法是me> slots=

(3)其它,似乎不怎么明白openmpi用-mca btl(注意是字母L的小写,不是数字1),最郁闷的是没有user manual, 只是在tar包里原来的INSTALL里说明(或许是README,记不清了),btl其实适用面更广,可以在同node里用sharememory,可以在不同nodes间用sockets,但不知为什么默认的通讯模块不是它,好象是什么什么cm的选项,要试试加btl可否加速mpirun作业

<2> ifort的安装

到intel主页登记邮件地址注册马上可以收到evaluation的一个授权文件,一样是tar开,cd进去,运行它的安装脚本,一切ok。

    需要注意的是,gcc的库在目前的linux中早就舍弃什么什么libc.so.5,如果提示这个出错,不用安装老版本的gcc,自己上google搜下,有i386和x86-64版本的rpm包,专门补充这个换代的旧库文件。注意自己的机器适合什么版本的就ok了,下来rpm -ivh 安装之。

    然后是ifort的环境变量设置,可以自己弄,也可以用它现成提供的,一样放入.bashrc或需要的时候自己运行之,即/opt/intel/fc/10.xxx/bin/ifortvars.sh

    否则要在/etc/ ld.so.conf里设置好库的位置,否则nwchem运行会出现找不到共享库文件

 

阅读(7012) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~