C GRACO7 SOURCE PV 13/10/14 21:17:49 7838 SUBROUTINE GRACO7( ICHOLX,mvect2,mvect1,inc,nbthr,lenb) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) * * MULTIPLICATION DE LA MATRICE ASSEMBLEE PAR LE VECTEUR MVECTX * LE RESULTAT EST DANS MVECTY QUI N'EST PAS DESACTIVE * UTILE POUR LE GRADIENT CONJUGUE * -INC SMMATRI -INC SMVECTD -INC CCOPTIO external graco9,graco10 common/cgraco9c/milign,mvect1l,mvect2l,incl,nbthrl MMATRI=ICHOLX MILIGN=IASLIG INO=ILIGN(/1) MDNOR=IDNORM mvect1l=mvect1 mvect2l=mvect2 incl=inc nbthrl=nbthr C C **** BOUCLE SUR LES POINTS C ** IDLI=0 nbthrl=nbthr ** do 33 i=1,inc*nbthrl ** mvect1.vectbb(i)=0.d0 **33 continue call ooozmr(mvect1.vectbb(1),inc*nbthrl*lenb) do 24 ithr=1,nbthrl-1 call threadid(ithr,graco9) 24 continue call graco9(nbthrl) do 25 ithr=1,nbthrl-1 call threadif(ithr) 25 continue do ithr=1,nbthrl-1 call threadid(ithr,graco10) enddo call graco10(nbthrl) do ithr=1,nbthrl-1 call threadif(ithr) enddo ** do 22 i=1+ithr,inc,nbthrl ** do 22 nthr=1,nbthrl-1 ** mvect1.vectbb(i)=mvect1.vectbb(i)+mvect1.vectbb(i+nthr*inc) 22 continue RETURN END