public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/32551]  New: INCORRECT OUTPUT OBTAINED FROM NESTED PARALLELISM THAT IS SERIALIZED
@ 2007-06-29 18:58 longb at cray dot com
  2007-06-29 21:28 ` [Bug fortran/32551] incorrect output obtained from nested parallelism that is serialized dfranke at gcc dot gnu dot org
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: longb at cray dot com @ 2007-06-29 18:58 UTC (permalink / raw)
  To: gcc-bugs

Description:
This test case tries to show that
the following statement found in the OpenMP API Version 2.5 May 2005 on p.29
lines 21-24 is true:

"When a thread executing inside an active parallel region encounters a parallel
 construct, the new team which is created will consist of only the encountering
 thread, when any of the following conditions hold:
 *  nested parallelism is disabled."

> gfortran -v
Using built-in specs.
Target: x86_64-suse-linux
Configured with: ../xt-gcc-4.2.0/configure --prefix=/opt/gcc/4.2.0/snos
--disable-nls --libdir=/opt/gcc/4.2.0/snos/lib --enable-languages=c,c++,fortran
--with-gxx-include-dir=/opt/gcc/4.2.0/snos/include/g++
--with-slibdir=/opt/gcc/4.2.0/snos/lib --with-system-zlib --enable-shared
--enable-__cxa_atexit x86_64-suse-linux
Thread model: posix
gcc version 4.2.0 20070514 (rpm:4)

> cat bug2837.f90
! Derived from OpenMP test omp1/F2_2_9g.f90
      use omp_lib
      implicit none
      integer, parameter :: NT = 4
      integer :: nThreads(NT)
      integer :: tmp = 0
!$    call omp_set_dynamic(.false.)
!$    call omp_set_num_threads(NT)
      print *, 'omp_get_nested()=',omp_get_nested()

!$omp parallel default(private) shared(nThreads)
      tmp = 1
!$omp parallel default(shared)
!$omp atomic
      tmp = tmp + omp_get_thread_num() + 1
!$omp end parallel
      nThreads(omp_get_thread_num()+1) = tmp
!$omp end parallel
      print *, nThreads

      END
> ftn -O3 -fopenmp -o x bug2837.f90
> aprun -n 1 ./x
 omp_get_nested()= F
           1           1           1           1
Application 4711 resources: utime 0, stime 0

Expected output (from PGI compilation):

> ftn -o x -O3 -mp -Mconcur=nonuma bug2837.f90
bug2837.f90:
> aprun -n 1 ./x
Warning: omp_set_num_threads (4) greater than available cpus (1)
 omp_get_nested()=  F
            2            2            2            2
Application 4712 resources: utime 0, stime 0


------
Note: ftn is an alias for:

/opt/gcc/4.2.0/bin/../snos/bin/gfortran -static -v
-I/opt/xt-mpt/2.1/mpich2-64/GP/include -I/opt/xt-mpt/2.1/mpich2-64/GP/include
-L/opt/xt-mpt/2.1/mpich2-64/GP/lib -I/opt/acml/3.6.1/gnu64/include
-I/opt/xt-libsci/10.1.0/gnu/snos64/include
-I/opt/xt-libsci/10.1.0/gnu/snos64/include/superlu
-I/opt/xt-mpt/2.1/sma/P/include -L/opt/acml/3.6.1/gnu64/lib
-L/opt/xt-libsci/10.1.0/gnu/snos64/lib -L/opt/xt-mpt/2.1/sma/P/lib -lmpichf90
-lsci -lacml -lsma -lmpichf90 -lmpich -lrt -D__CRAYXT_COMPUTE_LINUX_TARGET
-D__TARGET_LINUX__ -fno-second-underscore
-I/notbackedup/users/rsrel/rs64.DEV.070604.Mon/install/include
-I/opt/xt-catamount/2.1/catamount/linux/include -I/opt/xt-service/2.1/include
-L/notbackedup/users/rsrel/rs64.DEV.070604.Mon/install/lib/snos64
-L/opt/xt-pe/2.1/cnos/linux/64/lib -L/opt/xt-mpt/2.1/lib/snos64
-L/opt/xt-service/2.1/lib/snos64 -Wl,--start -lpct -lalpslli -lalpsutil
-lportals -lpthread -Wl,--end -lgfortranbegin -lgfortran -lm


-- 
           Summary: INCORRECT OUTPUT OBTAINED FROM NESTED PARALLELISM THAT
                    IS SERIALIZED
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: longb at cray dot com
 GCC build triplet: x86_64-suse-linux
  GCC host triplet: x86_64-suse-linux
GCC target triplet: x86_64-suse-linux


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32551


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-07-02 12:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-06-29 18:58 [Bug fortran/32551] New: INCORRECT OUTPUT OBTAINED FROM NESTED PARALLELISM THAT IS SERIALIZED longb at cray dot com
2007-06-29 21:28 ` [Bug fortran/32551] incorrect output obtained from nested parallelism that is serialized dfranke at gcc dot gnu dot org
2007-07-02 12:04 ` jakub at gcc dot gnu dot org
2007-07-02 12:05 ` jakub at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).