24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2025级博士研究生招生报考通知
查看: 539  |  回复: 6
【奖励】 本帖被评价6次,作者tutu2000增加金币 3.75
当前主题已经存档。

tutu2000

金虫 (正式写手)


[资源] 转:Gaussian 03进行大分子并行计算的问题

转:Gaussian 03进行大分子并行计算的问题

作者:Elizerbe

在用g03计算时,有时会出现如下的状况。比如有些原子个数少的分子可以并行计算,但是算另外一些原子个数比较多的分子时就不能并行计算,症状为只在主节点上计算,其余节点不管是那一个link都在sleep。

举个简单的例子,比如下面的这个分子就可以并行计算:
# B3LYP/6-31G**   opt pop=npa freq scf(maxcycle=300)  
# GFINPUT IOP(6/7=3) geom=allcheck
     
Does run in parallel

0,1
C 0   -6.981996   0.501203   -1.517209
C 0   -7.074243   -0.903460   -1.288052
C 0   -5.914458   -1.670174   -0.979391
..........................................................
..........................................................   (中间省略多行)
..........................................................
H 0   5.320239   -2.039925   2.396539
H 0   2.894657   -1.730826   1.786970
H 0   -1.551435   2.173936   -1.422919
H 0   -2.710586   2.743361   -0.152096
H 0   -3.201255   2.753142   -1.894867 (第38个原子坐标)

而下面的这一个就不行
# B3LYP/6-31G**   pop=npa freq scf(maxcycle=300)
# GFINPUT IOP(6/7=3) geom=allcheck
     
Does NOT run in parallel

0,1
C 0   -1.087318   -1.749203   -0.255313
C 0   -1.118107   -3.166578   -0.329293
N 0   0.035403   -3.891025   -0.299158
..........................................................
..........................................................   (中间省略多行)
..........................................................
H 0   3.456449   1.873166   -1.243167
H 0   3.791187   1.458980   0.504823
H 0   -0.613684   6.209560   -0.539185
H 0   -1.607848   4.677500   -0.595381
H 0   -0.199702   4.895561   -1.739558 (第65个原子坐标)
具体的原因可以参见Gaussian用户指南中的这句话:
The default for molecules larger than 65 atoms is to use the linear scaling algorithms (FMM), which is not Linda parallel. This value should be increased to about 300 for jobs using Linda (e.g., on a cluster) to obtain the full benefit of parallelization. This is accomplished via the Int=FMMNAtoms= n keyword, where n is the number of atoms. This may be set in the route section or in the Default.Route file
由于这句话的含义不是特别清楚,特此解释一下。
首先,Gaussian03对于大分子采用线性算法,不支持并行。对于小分子的算法则支持并 行。所以上述的第一个文件有38个原子,Gaussian 03采用并行算法,而第二个输入文件中原子个数大于等于65,Gaussian 03改用线性算法,而线性算法是不支持Linda,并行的,所以就出现了上述其他节点cpu处于sleep状态的现象。
这段英文的意思是如果单 CPU算的话,65原子以上用linear scaling比较合适。如果在集群上用linda并行算的话,则对于300个原子以上用linear scaling合适。在Default.Route里可以设置 Int=FMMNAtoms= n,n就是判断是否采用linear scaling算法的原子数。所以如果在集群上用Linda的话,应该手动把这个n设为300 (因为默认应该值是65)

[ Last edited by mingdong on 2009-6-13 at 22:07 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

catone

木虫 (正式写手)


★★★ 三星级,支持鼓励

不错,谢谢!
2楼2008-01-30 21:09:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xwj007

铁杆木虫 (职业作家)


★★★ 三星级,支持鼓励

3楼2008-02-02 20:40:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

miaochangqing


★ 一星级,一般

好像并行只对fopt,计算freq是不能并行的,你上面的输入文件,一个是有结构优化,而下一个只有平率计算,所以不能并行
4楼2008-02-04 14:01:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 tutu2000 的主题更新
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复(可上传附件)
信息提示
请填处理意见