Message ID | 87oaiekjnm.fsf@kepler.schwinge.homeip.net |
---|---|
State | New |
Headers | show |
Hi! On Mon, 10 Aug 2015 21:50:21 +0200, I wrote: > On Mon, 3 Aug 2015 10:30:49 -0400, Nathan Sidwell <nathan@acm.org> 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? With Jim's recent commit to gomp-4_0-branch, r226970, <http://news.gmane.org/find-root.php?message_id=%3C55CB9109.6030202%40codesourcery.com%3E>, the following regressions are resolved (thanks!): > 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 ..., but the following ones remain to be addressed -- could somebody look into this, please? Especially the timeouts are very annoying. Tests that now reproducibly XPASS instead of XFAIL should be verified, and the XFAIL marker removed. > [-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/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) Grüße, Thomas
On 08/18/15 17:43, Thomas Schwinge wrote: > ..., but the following ones remain to be addressed -- could somebody look > into this, please? Especially the timeouts are very annoying. Tests > that now reproducibly XPASS instead of XFAIL should be verified, and the > XFAIL marker removed. > >> [-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/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) > If the reduction ones are timeing out, they should simply be skipped until the reduction reworking is complete. I do not know what the lib-13 ones are.
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 <thomas@codesourcery.com> + + * gfortran.h (gfc_omp_map_op): Remove comma at end of enumerator + list. + 2015-08-03 Nathan Sidwell <nathan@codesourcery.com> * 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;