主题:[讨论]请问这个程序在LINUX下,使用ifort、MPI如何改编成并行程序
这是主程序中的一段,只需对这一部分进行并行计算,多谢了,各位
DO 760 ND=1,NDE
ND1=ND
ND2=NBLD0(ND)
NBLD=NBLD0(ND)
NGPF=NGPFD(ND)
NGPI=NGPID(ND)
NGPL=NGPLD(ND)
RRC=DRRC(ND)
PHIRC=DPHIRC(ND)
ZRC=DZRC(ND)
CDET(1)=RRC
CDET(2)=PHIRC
CDET(3)=ZRC
。。。
CALL SLITE (1)
CALL TITLE ( 3, MRC, NORC, CDET(1), ID(1),6)
IP = 10
224 XSRC = XS
YSRC = YS
ZSRC = ZS
CALL LENGTH
* ( SREG(1), XRELL, SSO, XSRC, YSRC, ZSRC, XRCVR, YRCVR, ZRCVR,
* IERR1 )
。。。
400 CALL LENGTH
* ( SREG(1), XRELL, SSO, XSRC, YSRC, ZSRC, XRCVR, YRCVR, ZRCVR,
* IERR1)
IF ( IERR1 ) 420,420,800
420 CALL KERNEL
* ( SREG(1), XRELL, ANEUT(1,1), AW A, AGAM(1), UAGAM(1), NERR)
。。。
750 CALL PRINT(ID(1),NBMID(1,1),UNITG(1),UNITN(1),UNITGI(1),UNITNI(1)
1 ,UNITND(1),WIDTHT(1,1),WIDTHG(1,1),WIDTHN(1,1),NGINT,
2 NNINT,NORC,MRC,CDET(1),EG(1),EN(1),EGAV(1),ENAV(1),
3 TOTALG(1),TOTALN(1,1),GRPG(1,1),GRPN(1,1,1),TOTLGI(1)
4 ,TOTLNI(1,1),GRPGI(1,1),GRPNI(1,1,1),NRGY,NSET(20),NERR
5 ,NSIND(1,1),NSET(12),XNLMAX,XNLMIN,ISMAX(1),ISMIN(1),
6 ID1(1))
760 CONTINUE
DO 760 ND=1,NDE
ND1=ND
ND2=NBLD0(ND)
NBLD=NBLD0(ND)
NGPF=NGPFD(ND)
NGPI=NGPID(ND)
NGPL=NGPLD(ND)
RRC=DRRC(ND)
PHIRC=DPHIRC(ND)
ZRC=DZRC(ND)
CDET(1)=RRC
CDET(2)=PHIRC
CDET(3)=ZRC
。。。
CALL SLITE (1)
CALL TITLE ( 3, MRC, NORC, CDET(1), ID(1),6)
IP = 10
224 XSRC = XS
YSRC = YS
ZSRC = ZS
CALL LENGTH
* ( SREG(1), XRELL, SSO, XSRC, YSRC, ZSRC, XRCVR, YRCVR, ZRCVR,
* IERR1 )
。。。
400 CALL LENGTH
* ( SREG(1), XRELL, SSO, XSRC, YSRC, ZSRC, XRCVR, YRCVR, ZRCVR,
* IERR1)
IF ( IERR1 ) 420,420,800
420 CALL KERNEL
* ( SREG(1), XRELL, ANEUT(1,1), AW A, AGAM(1), UAGAM(1), NERR)
。。。
750 CALL PRINT(ID(1),NBMID(1,1),UNITG(1),UNITN(1),UNITGI(1),UNITNI(1)
1 ,UNITND(1),WIDTHT(1,1),WIDTHG(1,1),WIDTHN(1,1),NGINT,
2 NNINT,NORC,MRC,CDET(1),EG(1),EN(1),EGAV(1),ENAV(1),
3 TOTALG(1),TOTALN(1,1),GRPG(1,1),GRPN(1,1,1),TOTLGI(1)
4 ,TOTLNI(1,1),GRPGI(1,1),GRPNI(1,1,1),NRGY,NSET(20),NERR
5 ,NSIND(1,1),NSET(12),XNLMAX,XNLMIN,ISMAX(1),ISMIN(1),
6 ID1(1))
760 CONTINUE