Mercurial > hg > CbC > CbC_gcc
view libgomp/testsuite/libgomp.fortran/appendix-a/a.4.1.f90 @ 0:a06113de4d67
first commit
author | kent <kent@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 17 Jul 2009 14:47:48 +0900 |
parents | |
children |
line wrap: on
line source
! { dg-do run } SUBROUTINE SUBDOMAIN(X, ISTART, IPOINTS) INTEGER ISTART, IPOINTS REAL X(*) INTEGER I DO 100 I=1,IPOINTS X(ISTART+I) = 123.456 100 CONTINUE END SUBROUTINE SUBDOMAIN SUBROUTINE SUB(X, NPOINTS) INCLUDE "omp_lib.h" ! or USE OMP_LIB REAL X(*) INTEGER NPOINTS INTEGER IAM, NT, IPOINTS, ISTART !$OMP PARALLEL DEFAULT(PRIVATE) SHARED(X,NPOINTS) IAM = OMP_GET_THREAD_NUM() NT = OMP_GET_NUM_THREADS() IPOINTS = NPOINTS/NT ISTART = IAM * IPOINTS IF (IAM .EQ. NT-1) THEN IPOINTS = NPOINTS - ISTART ENDIF CALL SUBDOMAIN(X,ISTART,IPOINTS) !$OMP END PARALLEL END SUBROUTINE SUB PROGRAM A4 REAL ARRAY(10000) CALL SUB(ARRAY, 10000) END PROGRAM A4