On 01/30/2017 02:26 AM, Thomas Schwinge wrote: > On Fri, 27 Jan 2017 08:06:22 -0800, Cesar Philippidis > <ce...@codesourcery.com> wrote:
>> This is probably because CloverLeaf makes use >> of ACC DATA regions in the critical sections, so all of those PSETs and >> POINTERs are already preset on the accelerator. >> >> One thing I don't like about this patch is that I'm updating the host's >> copy of the PSET prior to uploading it. The host's PSET does get >> restored prior to returning from gomp_map_vars, however that might >> impact things if the host were to run in multi-threaded applications. >> Maybe I'll drop this patch from gomp4 since it's not very effective. > > ... also there is some bug somewhere; I see: > > PASS: libgomp.fortran/examples-4/async_target-2.f90 -O0 (test for > excess errors) > [-PASS:-]{+FAIL:+} libgomp.fortran/examples-4/async_target-2.f90 -O0 > execution test > PASS: libgomp.fortran/examples-4/async_target-2.f90 -O1 (test for > excess errors) > [-PASS:-]{+FAIL:+} libgomp.fortran/examples-4/async_target-2.f90 -O1 > execution test > PASS: libgomp.fortran/examples-4/async_target-2.f90 -O2 (test for > excess errors) > [-PASS:-]{+FAIL:+} libgomp.fortran/examples-4/async_target-2.f90 -O2 > execution test > PASS: libgomp.fortran/examples-4/async_target-2.f90 -O3 > -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions > (test for excess errors) > [-PASS:-]{+FAIL:+} libgomp.fortran/examples-4/async_target-2.f90 -O3 > -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions > execution test > PASS: libgomp.fortran/examples-4/async_target-2.f90 -O3 -g (test for > excess errors) > [-PASS:-]{+FAIL:+} libgomp.fortran/examples-4/async_target-2.f90 -O3 -g > execution test > PASS: libgomp.fortran/examples-4/async_target-2.f90 -Os (test for > excess errors) > [-PASS:-]{+FAIL:+} libgomp.fortran/examples-4/async_target-2.f90 -Os > execution test > > ..., and: > > PASS: libgomp.fortran/target3.f90 -O0 (test for excess errors) > [-PASS:-]{+FAIL:+} libgomp.fortran/target3.f90 -O0 execution test > PASS: libgomp.fortran/target3.f90 -O1 (test for excess errors) > [-PASS:-]{+FAIL:+} libgomp.fortran/target3.f90 -O1 execution test > PASS: libgomp.fortran/target3.f90 -O2 (test for excess errors) > [-PASS:-]{+FAIL:+} libgomp.fortran/target3.f90 -O2 execution test > PASS: libgomp.fortran/target3.f90 -O3 -fomit-frame-pointer > -funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess > errors) > [-PASS:-]{+FAIL:+} libgomp.fortran/target3.f90 -O3 -fomit-frame-pointer > -funroll-loops -fpeel-loops -ftracer -finline-functions execution test > PASS: libgomp.fortran/target3.f90 -O3 -g (test for excess errors) > [-PASS:-]{+FAIL:+} libgomp.fortran/target3.f90 -O3 -g execution test > PASS: libgomp.fortran/target3.f90 -Os (test for excess errors) > [-PASS:-]{+FAIL:+} libgomp.fortran/target3.f90 -Os execution test > > In all cases, the run-time error message is: > > libgomp: Pointer target of array section wasn't mapped I'm not seeing any of these failures on power8 and x86_64 with multilibs disabled. How did you configure gcc? And those are OpenMP tests. Are you testing OpenMP target offloading, if so how? > For reference, I'm appending the patch, which wasn't included in the > original email. Whoops. Thanks! Cesar