Hi! On Mon, 3 Aug 2015 10:30:49 -0400, Nathan Sidwell <[email protected]> wrote: > I've committed this patch to gomp4. The existing implementation of > firstprivate > presumes the existence of memory at the CTA level. This patch does away with > that, treating firstprivate as thread-private variables initialized from the > host. > > During development there was some fallout from declare handling, as that > wasn't > creating the expected omp_region context object. The previous handling of > firstprivate just happened to work. Jim has been working on resolving that > problem.
I'm seeing the following regressions after this r226508 commit -- are
those the ones that Jim is working on resolving?
[-PASS:-]{+FAIL: gfortran.dg/goacc/modules.f95 -O (internal compiler
error)+}
{+FAIL:+} gfortran.dg/goacc/modules.f95 -O (test for excess errors)
PASS: libgomp.oacc-c/../libgomp.oacc-c-c++-common/parallel-loop-1.c
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 (test for excess errors)
[-XFAIL:-]{+XPASS:+}
libgomp.oacc-c/../libgomp.oacc-c-c++-common/parallel-loop-1.c
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 execution test
PASS: libgomp.oacc-c/../libgomp.oacc-c-c++-common/reduction-4.c
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 (test for excess errors)
{+WARNING: program timed out.+}
XFAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/reduction-4.c
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 execution test
PASS: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/parallel-loop-1.c
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 (test for excess errors)
[-XFAIL:-]{+XPASS:+}
libgomp.oacc-c++/../libgomp.oacc-c-c++-common/parallel-loop-1.c
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 execution test
PASS: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/reduction-4.c
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 (test for excess errors)
{+WARNING: program timed out.+}
XFAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/reduction-4.c
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 execution test
PASS: libgomp.oacc-fortran/declare-1.f90 -DACC_DEVICE_TYPE_nvidia=1
-DACC_MEM_SHARED=0 -O0 (test for excess errors)
[-PASS:-]{+FAIL:+} libgomp.oacc-fortran/declare-1.f90
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O0 execution test
PASS: libgomp.oacc-fortran/declare-1.f90 -DACC_DEVICE_TYPE_nvidia=1
-DACC_MEM_SHARED=0 -O1 (test for excess errors)
[-PASS:-]{+FAIL:+} libgomp.oacc-fortran/declare-1.f90
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O1 execution test
PASS: libgomp.oacc-fortran/declare-1.f90 -DACC_DEVICE_TYPE_nvidia=1
-DACC_MEM_SHARED=0 -O2 (test for excess errors)
[-PASS:-]{+FAIL:+} libgomp.oacc-fortran/declare-1.f90
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O2 execution test
PASS: libgomp.oacc-fortran/declare-1.f90 -DACC_DEVICE_TYPE_nvidia=1
-DACC_MEM_SHARED=0 -O3 -fomit-frame-pointer (test for excess errors)
[-PASS:-]{+FAIL:+} libgomp.oacc-fortran/declare-1.f90
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O3 -fomit-frame-pointer
execution test
PASS: libgomp.oacc-fortran/declare-1.f90 -DACC_DEVICE_TYPE_nvidia=1
-DACC_MEM_SHARED=0 -O3 -fomit-frame-pointer -funroll-loops (test for excess
errors)
[-PASS:-]{+FAIL:+} libgomp.oacc-fortran/declare-1.f90
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O3 -fomit-frame-pointer
-funroll-loops execution test
PASS: libgomp.oacc-fortran/declare-1.f90 -DACC_DEVICE_TYPE_nvidia=1
-DACC_MEM_SHARED=0 -O3 -fomit-frame-pointer -funroll-all-loops
-finline-functions (test for excess errors)
[-PASS:-]{+FAIL:+} libgomp.oacc-fortran/declare-1.f90
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O3 -fomit-frame-pointer
-funroll-all-loops -finline-functions execution test
PASS: libgomp.oacc-fortran/declare-1.f90 -DACC_DEVICE_TYPE_nvidia=1
-DACC_MEM_SHARED=0 -O3 -g (test for excess errors)
[-PASS:-]{+FAIL:+} libgomp.oacc-fortran/declare-1.f90
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O3 -g execution test
PASS: libgomp.oacc-fortran/declare-1.f90 -DACC_DEVICE_TYPE_nvidia=1
-DACC_MEM_SHARED=0 -Os (test for excess errors)
[-PASS:-]{+FAIL:+} libgomp.oacc-fortran/declare-1.f90
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -Os execution test
PASS: libgomp.oacc-fortran/lib-13.f90 -DACC_DEVICE_TYPE_nvidia=1
-DACC_MEM_SHARED=0 -O0 (test for excess errors)
[-PASS:-]{+FAIL:+} libgomp.oacc-fortran/lib-13.f90
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O0 execution test
PASS: libgomp.oacc-fortran/lib-13.f90 -DACC_DEVICE_TYPE_nvidia=1
-DACC_MEM_SHARED=0 -O1 (test for excess errors)
[-PASS:-]{+FAIL:+} libgomp.oacc-fortran/lib-13.f90
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O1 execution test
PASS: libgomp.oacc-fortran/lib-13.f90 -DACC_DEVICE_TYPE_nvidia=1
-DACC_MEM_SHARED=0 -O2 (test for excess errors)
PASS: libgomp.oacc-fortran/lib-13.f90 -DACC_DEVICE_TYPE_nvidia=1
-DACC_MEM_SHARED=0 -O2 execution test
PASS: libgomp.oacc-fortran/lib-13.f90 -DACC_DEVICE_TYPE_nvidia=1
-DACC_MEM_SHARED=0 -O3 -fomit-frame-pointer (test for excess errors)
PASS: libgomp.oacc-fortran/lib-13.f90 -DACC_DEVICE_TYPE_nvidia=1
-DACC_MEM_SHARED=0 -O3 -fomit-frame-pointer execution test
PASS: libgomp.oacc-fortran/lib-13.f90 -DACC_DEVICE_TYPE_nvidia=1
-DACC_MEM_SHARED=0 -O3 -fomit-frame-pointer -funroll-loops (test for excess
errors)
[-PASS:-]{+FAIL:+} libgomp.oacc-fortran/lib-13.f90
-DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O3 -fomit-frame-pointer
-funroll-loops execution test
PASS: libgomp.oacc-fortran/lib-13.f90 -DACC_DEVICE_TYPE_nvidia=1
-DACC_MEM_SHARED=0 -O3 -fomit-frame-pointer -funroll-all-loops
-finline-functions (test for excess errors)
PASS: libgomp.oacc-fortran/lib-13.f90 -DACC_DEVICE_TYPE_nvidia=1
-DACC_MEM_SHARED=0 -O3 -fomit-frame-pointer -funroll-all-loops
-finline-functions execution test
PASS: libgomp.oacc-fortran/lib-13.f90 -DACC_DEVICE_TYPE_nvidia=1
-DACC_MEM_SHARED=0 -O3 -g (test for excess errors)
> --- gcc/fortran/gfortran.h (revision 226462)
> +++ gcc/fortran/gfortran.h (working copy)
> @@ -1138,7 +1138,6 @@ typedef enum
> OMP_MAP_ALLOC,
> OMP_MAP_TO,
> OMP_MAP_FROM,
> - OMP_MAP_GANGLOCAL,
> OMP_MAP_TOFROM,
> OMP_MAP_FORCE_ALLOC,
> OMP_MAP_FORCE_DEALLOC,
> @@ -1149,7 +1148,6 @@ typedef enum
> OMP_MAP_FORCE_DEVICEPTR,
> OMP_MAP_DEVICE_RESIDENT,
> OMP_MAP_LINK,
> - OMP_MAP_FORCE_TO_GANGLOCAL
> }
> gfc_omp_map_op;
In file included from [...]/source-gcc/gcc/fortran/arith.c:30:0:
[...]/source-gcc/gcc/fortran/gfortran.h:1150:15: warning: comma at end of
enumerator list [-Wpedantic]
OMP_MAP_LINK,
^
Committed to gomp-4_0-branch in r226768:
commit 0ab0693710e7f0f88b8966233c84295f4f6179fc
Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Mon Aug 10 19:48:48 2015 +0000
Address -Wpedantic diagnostic
Fixup for r226508.
gcc/fortran/
* gfortran.h (gfc_omp_map_op): Remove comma at end of enumerator
list.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@226768
138bc75d-0d04-0410-961f-82ee72b054a4
---
gcc/fortran/ChangeLog.gomp | 5 +++++
gcc/fortran/gfortran.h | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git gcc/fortran/ChangeLog.gomp gcc/fortran/ChangeLog.gomp
index 21aa06e..fd7204c 100644
--- gcc/fortran/ChangeLog.gomp
+++ gcc/fortran/ChangeLog.gomp
@@ -1,3 +1,8 @@
+2015-08-10 Thomas Schwinge <[email protected]>
+
+ * gfortran.h (gfc_omp_map_op): Remove comma at end of enumerator
+ list.
+
2015-08-03 Nathan Sidwell <[email protected]>
* trans-openmp.c (gfc_trans_omp_clauses_1): Remove GANGLOCAL
diff --git gcc/fortran/gfortran.h gcc/fortran/gfortran.h
index 1e87d6c..128d65e 100644
--- gcc/fortran/gfortran.h
+++ gcc/fortran/gfortran.h
@@ -1147,7 +1147,7 @@ typedef enum
OMP_MAP_FORCE_PRESENT,
OMP_MAP_FORCE_DEVICEPTR,
OMP_MAP_DEVICE_RESIDENT,
- OMP_MAP_LINK,
+ OMP_MAP_LINK
}
gfc_omp_map_op;
Grüße,
Thomas
signature.asc
Description: PGP signature
