Skip to content
TestOMP.F90 1.43 KiB
Newer Older
Fabio Roberto Vitello's avatar
Fabio Roberto Vitello committed
    PROGRAM TestOMP 
	
	 USE omp_lib
	implicit none
 	 INCLUDE 'mpif.h'

!   Declaration of local variables.
!   -------------------------------
          INTEGER(KIND=4),  DIMENSION (:) , ALLOCATABLE ::isub
		INTEGER :: TID, NTID
		INTEGER:: status
		 INTEGER :: ierr,me,npes, ierror,lname
		 INTEGER :: asss,bsss,csss,dsss,esss,fsss,gsss,hsss
		 
	character*(MPI_MAX_PROCESSOR_NAME) hostname_me
	
 

!-----------------------------------------------------------------------
        CALL MPI_INIT(ierror)


	CALL MPI_COMM_RANK(MPI_COMM_WORLD, me, ierror)
        CALL MPI_COMM_SIZE(MPI_COMM_WORLD, npes, ierror)
        CALL MPI_GET_PROCESSOR_NAME(hostname_me, lname, ierror)
	WRITE(6, *) "TestOMP - RUN. PE=",me," HOSTNAME:",hostname_me(1:lname),' npes=',npes


      NTID = 1
    NTID = OMP_GET_MAX_THREADS()
	
!$OMP PARALLEL PRIVATE(isub) &
!$OMP PRIVATE(asss,bsss,csss)     
!---!$OMP PRIVATE(dsss,esss,fsss) &    
!---!$OMP PRIVATE(gsss,hsss)    

    ALLOCATE(isub(8), STAT=status) 
!-----------------------------------------------------------------------
!	Ogni thread conta quanti indici di sottocella genera in pcg
!-----------------------------------------------------------------------
      TID = 0
     TID = OMP_GET_THREAD_NUM()
     asss=TID
     esss=TID
     if(tid.lt.5) hsss=TID
 	isub(1:8)=TID
    write(6,*)'PE=',me,"TID=",TID, asss,esss,hsss 
    DEALLOCATE(isub) 
!$OMP END PARALLEL 
	
	        call MPI_FINALIZE(ierror)
	  
	  STOP
	END