Autotasking: Inner Loops
original
*ODIR INNER
DO I=1,N
A(I)=SQRT(B(I)**2+C(I)**2)
ENDDO
default: parallelize outer loop
IF (N.GT.294)THEN
CALL S$1(N,B,C,A)
ELSE
...
SUBROUTINE S$1(N,B,C,A)
INTEGER N,I
REAL B(N),C(N),A(N)
*VDIR NODEP
*PDIR PARDO FOR=4
DO I=1,N
A(I)=SQRT(B(I)**2+C(I)**2)
ENDDO
END
!CDIR INNER
DO I=1,N
A(I)= SQRT(B(I)**2 C(I)**2)
ENDDO
translation
Vorherige Folie
Nächste Folie
Zurück zur ersten Folie
Graphik-Version anzeigen