- 积分
- 9462
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-5-12
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在运行CMAQ模型的cctm步骤时,运行脚本中关于单核、多核并行运行的设置主要在如下几行:
1 #> horizontal domain decomposition
2 # setenv NPCOL_NPROW "1 1"; set NPROCS = 1 # single processor setting
3 setenv NPCOL_NPROW "2 2"; set NPROCS = 4
4 #> Executable call for multiple PE, set location of MPIRUN script
5 set MPIRUN = /public/home/shangbingnan/sourcecode/mvapich2/bin/mpirun_rsh
6 set TASKMAP = $BASE/machines
7 cat $TASKMAP
8 time $MPIRUN -ssh -np $NPROCS -hostfile $TASKMAP $BASE/$EXEC
单核运行时,只设置第2行,其他行屏蔽,运行正常。
多核并行时,按照如上设置运行出错,主要错误信息是:
>>--->> WARNING in subroutine HGRD_INIT
NPROCS is not equal to NPCOL*NPROW
>>--->> WARNING in subroutine GRID_INIT
*** Failure defining horizontal domain
>>--->> WARNING in subroutine PAR_INIT
*** Failure defining domain configuration
Exit code -5 signaled from node29
forrtl: error (69): process interrupted (SIGINT)
Image PC Routine Line Source
CCTM_e1a_Linux2_x 0000000000579116 init3_ 254 init3.F
CCTM_e1a_Linux2_x 000000000046E468 Unknown Unknown Unknown
CCTM_e1a_Linux2_x 0000000000405509 Unknown Unknown Unknown
CCTM_e1a_Linux2_x 0000000000465970 Unknown Unknown Unknown
CCTM_e1a_Linux2_x 0000000000452471 Unknown Unknown Unknown
CCTM_e1a_Linux2_x 0000000000403A9C Unknown Unknown Unknown
libc.so.6 000000354D01D994 Unknown Unknown Unknown
CCTM_e1a_Linux2_x 00000000004039A9 Unknown Unknown Unknown
为了测试,将关于核数设置屏蔽掉,重新设置如下,可以正常运行,但都在管理节点上运算,不分配给计算节点,并且虽然是并行了,但是和单核运行时间一样,没差别:
1 #> horizontal domain decomposition
2 # setenv NPCOL_NPROW "1 1"; set NPROCS = 1 # single processor setting
3 #setenv NPCOL_NPROW "2 2"; set NPROCS = 4
4 #> Executable call for multiple PE, set location of MPIRUN script
5 set MPIRUN = /public/home/shangbingnan/sourcecode/mvapich2/bin/mpirun
6 time $MPIRUN -np 10 $BASE/$EXEC
我感觉既然可以用mpirun命令运行程序,说明安装的CMAQ是成功的,可以支持并行,但是设置的NPROCS不能成功传递给子函数,大家有遇到过这种情况的么?是安装的问题还是怎么回事呢? 谢谢您!
|
|