这是本文档旧的修订版!
ADF已经自动包含了MPI等并行运算工具,不需要额外的编译。事实上重新编译对计算速度影响也很小。
一,使用图形界面提交任务(适合于Linux系统单个工作站、Windows系统;不适合于Linux集群、超算中心)
使用图形界面提交任务,环境变量中NSCM的设置不能直接起效,而被图形界面中的Sequential或者interactive两种Queue中的NSCM所覆盖。改动方式:
ADFjobs界面:Queue — Edit Queue — Sequential,将export NSCM“改为export NSCM=N” (其中N为希望设置的并行数,例如4、8、14等等。N必须小于或等于license许可并行数)
另外,可以将Queue — Edit Queue — interactive,中的export NSCM“改为export NSCM=N”(其中N为希望设置的并行数,例如4、8、14等等。N必须小于或等于license许可并行数)
Sequential和interactive的区别:
前者:所有任务次第执行 后者:所有任务一起运行
在ADFinput界面使用File — run提交,则默认采用Sequential方式。如果要改成Interactive方式运行,可以在ADFjobs界面,选中需要运行的任务,然后为它们指定为Interactive队列(指定方式:按住Shift键,选中多个任务后,Queue — Interactive),然后在这些任务呗选中的状态下,点击jobs — run,那么被选中的任务就按照Interactive的方式运行。
二,使用命令行提交(适合没有图形界面的单个工作站、集群、超算中心)
备注:*表示文件名,例如water.run文件,如下省略为*.run,在使用的时候使用具体名字代替*即可。
1)单个工作站,直接运行*.run文件:
如果不设置NSCM,那么提交任务的时候,自动以该节点最大核数并行,无论是否有其他进程在运行中。 如果要指定并行数,则在任务提交前命令行执行export NSCM=N即可,N表示您希望的并行数。
在这种运行方式下,系统的NSCM直接生效。即环境变量中设置的NSCM=N,则运行的时候,并行数即为N。N不能大于license允许的核数。如果没有设置NSCM,那么NSCM则自动赋值为运行计算的计算机的总核数。
如果是使用*.run文件提交,运行完毕之后,手工修改logfile为*.logfile,TAPE21改名为*.t21,out改名为*.out。
2)集群提交任务,用*.job文件和*.pid文件提交:
1)在某个工作目录(完整目录不能含空格、中文字符),上传*.job文件和*.pid,并将PBS脚本文件或者LSF脚本文件也放置在该目录(脚本内容介绍见下方)。
2)修改文件权限和格式:
dos2*unix *job chmod 700 *job
3)通过bsub ./*.lsf或者./*.pbs提交任务。
PBS或LSF脚本内容:
需要将ADF的环境变量写入脚本,如下是一个LSDF脚本范例(最后两行是关于ADF软件及运行的):
#!/bin/sh APP_NAME=intelg_small NP=16 NP_PER_NODE=4 RUN="RAW" source /home-gg/users/nscc1143/ADF/adf2014.06/adfrc.sh /home-gg/users/nscc1143/ADF/*.run >out
PBS脚本也是类似的,只需要在标准脚本的基础上,写入最后两行相关的内容即可。