OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [libgomp/] [testsuite/] [libgomp.fortran/] [appendix-a/] [a.4.1.f90] - Diff between revs 273 and 338

Only display areas with differences | Details | Blame | View Log

Rev 273 Rev 338
! { dg-do run }
! { dg-do run }
      SUBROUTINE SUBDOMAIN(X, ISTART, IPOINTS)
      SUBROUTINE SUBDOMAIN(X, ISTART, IPOINTS)
          INTEGER ISTART, IPOINTS
          INTEGER ISTART, IPOINTS
          REAL X(*)
          REAL X(*)
          INTEGER I
          INTEGER I
          DO 100 I=1,IPOINTS
          DO 100 I=1,IPOINTS
             X(ISTART+I) = 123.456
             X(ISTART+I) = 123.456
 100      CONTINUE
 100      CONTINUE
      END SUBROUTINE SUBDOMAIN
      END SUBROUTINE SUBDOMAIN
      SUBROUTINE SUB(X, NPOINTS)
      SUBROUTINE SUB(X, NPOINTS)
          INCLUDE "omp_lib.h"      ! or USE OMP_LIB
          INCLUDE "omp_lib.h"      ! or USE OMP_LIB
          REAL X(*)
          REAL X(*)
          INTEGER NPOINTS
          INTEGER NPOINTS
          INTEGER IAM, NT, IPOINTS, ISTART
          INTEGER IAM, NT, IPOINTS, ISTART
!$OMP PARALLEL DEFAULT(PRIVATE) SHARED(X,NPOINTS)
!$OMP PARALLEL DEFAULT(PRIVATE) SHARED(X,NPOINTS)
          IAM = OMP_GET_THREAD_NUM()
          IAM = OMP_GET_THREAD_NUM()
          NT = OMP_GET_NUM_THREADS()
          NT = OMP_GET_NUM_THREADS()
          IPOINTS = NPOINTS/NT
          IPOINTS = NPOINTS/NT
          ISTART = IAM * IPOINTS
          ISTART = IAM * IPOINTS
          IF (IAM .EQ. NT-1) THEN
          IF (IAM .EQ. NT-1) THEN
              IPOINTS = NPOINTS - ISTART
              IPOINTS = NPOINTS - ISTART
          ENDIF
          ENDIF
          CALL SUBDOMAIN(X,ISTART,IPOINTS)
          CALL SUBDOMAIN(X,ISTART,IPOINTS)
!$OMP END PARALLEL
!$OMP END PARALLEL
      END SUBROUTINE SUB
      END SUBROUTINE SUB
      PROGRAM A4
      PROGRAM A4
          REAL ARRAY(10000)
          REAL ARRAY(10000)
          CALL SUB(ARRAY, 10000)
          CALL SUB(ARRAY, 10000)
      END PROGRAM A4
      END PROGRAM A4
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.