1 : C GRACO7 SOURCE PV 13/10/14 21:17:49 7838 2 : SUBROUTINE GRACO7( ICHOLX,mvect2,mvect1,inc,nbthr,lenb) 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8(A-H,O-Z) 5 : * 6 : * MULTIPLICATION DE LA MATRICE ASSEMBLEE PAR LE VECTEUR MVECTX 7 : * LE RESULTAT EST DANS MVECTY QUI N'EST PAS DESACTIVE 8 : * UTILE POUR LE GRADIENT CONJUGUE 9 : * 10 : -INC SMMATRI 11 : -INC SMVECTD 12 : -INC CCOPTIO 13 : external graco9,graco10 14 : common/cgraco9c/milign,mvect1l,mvect2l,incl,nbthrl 15 : MMATRI=ICHOLX 16 : MILIGN=IASLIG 17 : INO=ILIGN(/1) 18 : MDNOR=IDNORM 19 : mvect1l=mvect1 20 : mvect2l=mvect2 21 : incl=inc 22 : nbthrl=nbthr 23 : C 24 : C **** BOUCLE SUR LES POINTS 25 : C 26 : ** IDLI=0 27 : nbthrl=nbthr 28 : ** do 33 i=1,inc*nbthrl 29 : ** mvect1.vectbb(i)=0.d0 30 : **33 continue 30 : call ooozmr(mvect1.vectbb(1),inc*nbthrl*lenb) 31 : do 24 ithr=1,nbthrl-1 31 : call threadid(ithr,graco9) 32 : 24 continue 32 : call graco9(nbthrl) 33 : do 25 ithr=1,nbthrl-1 33 : call threadif(ithr) 34 : 25 continue 35 : do ithr=1,nbthrl-1 35 : call threadid(ithr,graco10) 36 : enddo 36 : call graco10(nbthrl) 37 : do ithr=1,nbthrl-1 37 : call threadif(ithr) 38 : enddo 39 : 40 : 41 : ** do 22 i=1+ithr,inc,nbthrl 42 : ** do 22 nthr=1,nbthrl-1 43 : ** mvect1.vectbb(i)=mvect1.vectbb(i)+mvect1.vectbb(i+nthr*inc) 44 : 22 continue 45 : RETURN 46 : END 47 : 48 : 49 : 50 :
© Cast3M 2003 - All rights reserved.
Disclaimer