用户工具

站点工具


adf:并行数的设置

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
上一修订版两侧同时换到之后的修订记录
adf:并行数的设置 [2015/12/11 09:19] liu.junadf:并行数的设置 [2016/04/18 20:00] liu.jun
行 6: 行 6:
  
  
-使用图形界面提交任务,环境变量中NSCM设置能直接起效而被图形界面中Sequential或者interactive两种Queue中的NSCM所覆盖。改动方式:+使用图形界面提交任务,默认将调用所有核——如果license允许的话,当然,如果license允许这么大核数自然就会报错“License Invalid”了。对于ReaxFF模块,另外有一个限制:当原子个数小于1000时候,将强制使用1个核计算,不进行并行计算——因为1000原子数目太小,单核运算效率最高 
 + 
 +如果我们对某个任务要单独设置并行核数,那么改动方式如下
  
 ADFjobs界面:Queue — Edit Queue — Sequential,将export NSCM"改为export NSCM=N" (其中N为希望设置的并行数,例如4、8、14等等。N必须小于或等于license许可并行数) ADFjobs界面:Queue — Edit Queue — Sequential,将export NSCM"改为export NSCM=N" (其中N为希望设置的并行数,例如4、8、14等等。N必须小于或等于license许可并行数)
行 18: 行 20:
 后者:所有任务一起运行 后者:所有任务一起运行
  
-在ADFinput界面使用File — run提交,则默认采用Sequential方式。如果要改成Interactive方式运行,可以在ADFjobs界面,选中需要运行的任务,然后为它们指定为Interactive队列(指定方式:按住Shift键,选中多个任务后,Queue — Interactive),然后在这些任务呗选中的状态下,点击jobs — run,那么被选中的任务就按照Interactive的方式运行。+在ADFinput界面使用File — run提交,则默认采用Sequential方式(当然使用的核数,也就是上面设置的核数)。如果要改成Interactive方式运行,可以在ADFjobs界面,选中需要运行的任务,然后为它们指定为Interactive队列(指定方式:按住Shift键,选中多个任务后,Queue — Interactive),然后在这些任务呗选中的状态下,点击jobs — run,那么被选中的任务就按照Interactive的方式运行(当然使用的核数,也就是上面设置的核数)。 
 + 
 +也可以为每种核数创建一个Queue(ADFjobs > Queue > New > Interactive),然后为这个队列取一个自己记得的名字,然后将其中的export NSCM"改为export NSCM=N"(其中N为希望设置的并行数,例如4、8、14等等。N必须小于或等于license许可并行数)。下次提交任务的时候,在ADFjobs界面,选中需要运行的任务,Queue > 选中前面设定的那个队列名字,然后点击Job > Run,这样就以该队列的方式来运行了,当然使用的核数,也就是上面为该队列设置的核数
  
 **二,使用命令行提交(适合没有图形界面的单个工作站、集群、超算中心)** **二,使用命令行提交(适合没有图形界面的单个工作站、集群、超算中心)**
行 42: 行 46:
 如果是使用*.run文件提交,运行完毕之后,手工修改logfile为*.logfile,TAPE21改名为*.t21,out改名为*.out。 如果是使用*.run文件提交,运行完毕之后,手工修改logfile为*.logfile,TAPE21改名为*.t21,out改名为*.out。
  
-**2 集群提交任务,*.job文件提交:**+**2 集群通过PBS或LSF脚本提交任务,提交*.job或者*.run均可:**
  
 **0)**首先,在本地Windows服务器,运行一下该任务,运行几秒之后即可kill该任务,从而产生job文件。 **0)**首先,在本地Windows服务器,运行一下该任务,运行几秒之后即可kill该任务,从而产生job文件。
行 82: 行 86:
   /home-gg/users/nscc1143/ADF/*.job >out   /home-gg/users/nscc1143/ADF/*.job >out
  
-**PBS脚本也是类似的,只需要在标准脚本的基础上,写入最后两行相关的内容即可。**+**PBS脚本也是类似的,只需要在标准脚本的基础上,写入最后两行相关的内容即可。**以下为PBS脚本的例子: 
 + 
 +  #!/bin/bash 
 +  #PBS -N cc  
 +  #PBS -l nodes=1:ppn=20 
 +  #PBS -q long 
 +  #PBS -j oe 
 +  #PBS -l walltime=168:00:00 
 +  NPROCS=`wc -l < $PBS_NODEFILE` 
 +  cd $PBS_O_WORKDIR 
 +  cat $PBS_NODEFILE > machinefile 
 +  source /home-gg/users/nscc1143/ADF/adf2014.10/adfrc.sh 
 +  /home-gg/users/nscc1143/ADF/*.job >out
  
-通过*.job这种方式提交任务,则不需要手动修改logfile、TAPE21、out。事实上在Linux工作站上也可以这样提交,但工作站一般不会安装PBS或者LSF,因此只需要上传*.job和*.pid,并按第2)、3)步修改之后,直接通过./*.job运行即可。+通过*.job这种方式提交任务,则不需要手动修改logfile、TAPE21、out。事实上在Linux工作站上也可以这样提交,但工作站一般不会安装PBS或者LSF,因此只需要上传*.job,并按第2)、3)步修改之后,直接通过./*.job运行即可。
  
 对于片段分析这样的多job文件任务,最后一行写入的应该是主job文件的文件名。主job文件会在运行的过程中自动调用各个片段计算的job文件。 对于片段分析这样的多job文件任务,最后一行写入的应该是主job文件的文件名。主job文件会在运行的过程中自动调用各个片段计算的job文件。
  
 **如果运行有问题,可以咨询support@fermitech.com.cn。** **如果运行有问题,可以咨询support@fermitech.com.cn。**

© 2014-2022 费米科技(京ICP备14023855号