计算化学公社
标题: 电子输运性质计算软件Nanodcal parallel installing [打印本页]
作者Author: 五十八 时间: 2016-1-30 05:55
标题: 电子输运性质计算软件Nanodcal parallel installing
安装位置应尽量选择在front node(就是一般软件安装的位置,大家的登陆节点)
首先配置mpi和openmpi
如果已经安装了两者,不要升级或者卸载,安装在另一个路径
./configure --prefix=原有安装路径--enable-mpirun-prefix-by-default --enable-shared --enable-static
make
make install
确保已安装gcc
本次使用的是matlab r2015a glnx64(root权限下)
解压iso文件,之后./install
输入key如下
之后建立一个matlab_network.lic
内容为
USE_SERVER
进行激活,记得选择安装组件的时候全选中,
之后进入配置matlab的路径
export PATH=$PATH:/matlab/install/path
alias matlab_shell="matlab -nojvm"
写入/etc/bashrc
之后source /etc/bashrc
将nanodcal解压至常用安装目录
其后在此处打开matlab(最好是可视化不是的话也没关系)
载入matlab会显示academic license证明安装成功,
此处若有toolbox cache相关提醒,可以在performance的general中找到enabletoolbox cache 和其下的update button可以更新cache
之后输入mex -setup c++
在输入nanodcal -install 进行安装(安装后会写入path)
此处生成licensenumber.txt可以提交获取license.dat
另外使用ifconfig 命令查看mpi对应内网ip(LAN address)
其后,将其写入ip.dat文件和license.dat一起放入新建立的 mkdir license/下面
下一步是mcc编译nanodcal
使用 mcc -m nanodcal -a classes/ -a license/ -ananodcalversion.txt -a generaldata/ -a neutralatomdatabase/ -a autotest/
编译 其中 后两者可以不参与mcc编译,需要编译后直接进行autotest和基组的话可以放入
此处如果遇到 zero length问题是因为matlab没有激活成功
要使用mcc编译好的nanodcal需要安装matlab compiler runtime
在matlab中输入 mcrinstaller 会有可能的安装包地址(r2015a使用的v85),安装好后,使用编译好的文件中有run_nanodcal.sh可以输入mcr的地址和输入文件直接运行
两黄线中为非必须步骤
要注意,应使用server版本的matlab
测试安装的parallel nanodcal是否成功可以使用下面的语句:
mpirun -np 4 matlab -nojvm -r "nanodcal-autotest -parallel"
会有输出结果不报错(可能会有警告 请忽略)即证明成功。
以上。
作者Author: 五十八 时间: 2016-7-11 09:56
P.S 在完成了上述安装之后,一般就可以运行了,要注意使用gcc编译的openmpi,注意环境变量PATH和LD_LIBRARY_PATH,可以使用ldd查看下 classes下common -> @cMPI下的mex文件
另外 mcc编译好之后 run_nanodcal.sh脚本里添加环境变量(最好新建一个bin文件夹存放nanodcal 二进制文件)
export PATH=$PATH:/public/software/Nanodcal/bin
export MCR_ROOT=/public/software/MATLAB/MATLAB_Runtime
export XAPPLRESDIR=$MCR_ROOT/v90/X11/app-defaults
export LD_LIBRARY_PATH=$LD_LIBARAY_PATH:$MCR_ROOT/v90/runtime/glnxa64:$MCR_ROOT/v90/bin/glnxa64:$MCR_ROOT/v90/sys/os/glnxa64:$MCR_ROOT/v90/sys/opengl/lib/glnxa64
这样就可以使用nanodcal直接运行了,我的提交脚本如下供大家参考
#PBS -N test
#PBS -l nodes=1:ppn=10
#PBS -j oe
#PBS -q batch
cd $PBS_O_WORKDIR
ulimit -s unlimited
ulimit -l unlimited
echo my job id is $PBS_JOBID | tee test.log
echo run nodes is following: | tee -a test.log
cat $PBS_NODEFILE | tee -a test.log
echo begin time is `date` | tee -a test.log
id=`echo $PBS_JOBID|awk -F. '{print $1}' `
NP=`cat $PBS_NODEFILE|wc -l`
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/public/software/mpi/openmpi/1.6.5/gcc/lib
/public/software/mpi/openmpi/1.6.5/gcc/bin/mpirun -np 10 nanodcal -parallel scf.input > log.run
echo end time is `date` | tee -a test.log
rm nanodcal_crash_dump.tp*
因为是测试运行,难免有不好的习惯,大家别学去
注意:
遇到添加了PATH还是没有命令的情况请更改nanodcal文件本身的属性(750/755)
以上
欢迎光临 计算化学公社 (http://bbs.keinsci.com/) |
Powered by Discuz! X3.3 |