public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/32550]  New: THE COPYPRIVATE CLAUSE FAILS TO COPY THE PTR AT THE END OF A 'SINGLE' CONSTRUCT
@ 2007-06-29 18:46 longb at cray dot com
  2007-06-29 21:00 ` [Bug fortran/32550] openmp: COPYPRIVATE of pointer variables fails dfranke at gcc dot gnu dot org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: longb at cray dot com @ 2007-06-29 18:46 UTC (permalink / raw)
  To: gcc-bugs

Description:

The test case checks that
the following statement found in the section 2.8.4.2 copyprivate clause
of the OpenMP API Version 2.5 May 2005 (p. 86 lines 22-24) will work:

"If the list item is a pointer, then in all other threads in the team,
the list item becomes pointer associated (as if by pointer assignment) with
the corresponding list itme in the thread that executed the structure block."
associated with the single construct.

Currently the test case fails with a "Killed" message that is probably due
to a bad address when handling the copyprivate directive after completing
the structured block of the single construct.

> 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 bug2836.f90
! Derived from OpenMP test omp1/F2_6_2_8_5ze.f90
      use omp_lib
      implicit none
      integer, parameter :: NT = 4
      integer :: nThreads(NT)
      integer, pointer,save :: ptr
      integer, target :: targ
!$omp threadprivate(ptr)

!$    call omp_set_dynamic(.false.)
!$    call omp_set_num_threads(NT)

      targ = 0
      nThreads = 0

!$omp parallel shared(targ)
!$omp single
      print *, 'begin single  PE=',omp_get_thread_num()
      ptr => targ
      targ = 1
      print *, 'end   single  PE=',omp_get_thread_num()
!$omp end single copyprivate(ptr)
      print *, 'after single  PE=',omp_get_thread_num()
!$omp barrier
      nThreads(omp_get_thread_num()+1) = ptr
!$omp end parallel

      print *, nThreads
      END

> ftn -O3 -fopenmp -o x bug2836.f90
> aprun -n 1 ./x
 begin single  PE=           0
 end   single  PE=           0
Application 4396 exit signals: Killed
Application 4396 resources: utime 0, stime 0


Expected output using the PGI compiler:

> ftn -o x -O3 -mp -Mconcur=nonuma bug2836.f90
bug2836.f90:
> aprun -n 1 ./x
Warning: omp_set_num_threads (4) greater than available cpus (1)
 begin single  PE=            1
 end   single  PE=            1
 after single  PE=            0
 after single  PE=            1
 after single  PE=            2
 after single  PE=            3
            1            1            1            1
Application 4399 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: THE COPYPRIVATE CLAUSE FAILS TO COPY THE PTR AT THE END
                    OF A 'SINGLE' CONSTRUCT
           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=32550


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

end of thread, other threads:[~2007-09-17 22:38 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-06-29 18:46 [Bug fortran/32550] New: THE COPYPRIVATE CLAUSE FAILS TO COPY THE PTR AT THE END OF A 'SINGLE' CONSTRUCT longb at cray dot com
2007-06-29 21:00 ` [Bug fortran/32550] openmp: COPYPRIVATE of pointer variables fails dfranke at gcc dot gnu dot org
2007-07-02 11:17 ` jakub at gcc dot gnu dot org
2007-07-12 12:17 ` jakub at gcc dot gnu dot org
2007-07-12 12:21 ` jakub at gcc dot gnu dot org
2007-09-17 22:38 ` 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).