Hi Tobias!

On 2019-11-20T14:06:18+0100, Tobias Burnus <tob...@codesourcery.com> wrote:
> This patch does two things regarding explicit and automatical variable 
> mapping to offloaded devices:

Thanks!


> Compared to the previous patch set,** I added several OpenMP test cases 
> – and fixed the fallout.

I'm seeing:

    PASS: libgomp.fortran/use_device_addr-3.f90   -O0  (test for excess errors)
    PASS: libgomp.fortran/use_device_addr-3.f90   -O0  execution test
    PASS: libgomp.fortran/use_device_addr-3.f90   -O1  (test for excess errors)
    [-PASS:-]{+FAIL:+} libgomp.fortran/use_device_addr-3.f90   -O1  execution 
test
    PASS: libgomp.fortran/use_device_addr-3.f90   -O2  (test for excess errors)
    [-PASS:-]{+FAIL:+} libgomp.fortran/use_device_addr-3.f90   -O2  execution 
test
    PASS: libgomp.fortran/use_device_addr-3.f90   -O3 -fomit-frame-pointer 
-funroll-loops -fpeel-loops -ftracer -finline-functions  (test for excess 
errors)
    [-PASS:-]{+FAIL:+} libgomp.fortran/use_device_addr-3.f90   -O3 
-fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions  
execution test
    PASS: libgomp.fortran/use_device_addr-3.f90   -O3 -g  (test for excess 
errors)
    [-PASS:-]{+FAIL:+} libgomp.fortran/use_device_addr-3.f90   -O3 -g  
execution test
    PASS: libgomp.fortran/use_device_addr-3.f90   -Os  (test for excess errors)
    PASS: libgomp.fortran/use_device_addr-3.f90   -Os  execution test
    
    libgomp: Trying to map into device [0x7ffd7915a500..0x7ffd7915a500) object 
when [0x7ffd7915c440..0x7ffd7915c440) is already mapped


    PASS: libgomp.fortran/use_device_addr-4.f90   -O0  (test for excess errors)
    PASS: libgomp.fortran/use_device_addr-4.f90   -O0  execution test
    PASS: libgomp.fortran/use_device_addr-4.f90   -O1  (test for excess errors)
    [-PASS:-]{+FAIL:+} libgomp.fortran/use_device_addr-4.f90   -O1  execution 
test
    PASS: libgomp.fortran/use_device_addr-4.f90   -O2  (test for excess errors)
    [-PASS:-]{+FAIL:+} libgomp.fortran/use_device_addr-4.f90   -O2  execution 
test
    PASS: libgomp.fortran/use_device_addr-4.f90   -O3 -fomit-frame-pointer 
-funroll-loops -fpeel-loops -ftracer -finline-functions  (test for excess 
errors)
    [-PASS:-]{+FAIL:+} libgomp.fortran/use_device_addr-4.f90   -O3 
-fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions  
execution test
    PASS: libgomp.fortran/use_device_addr-4.f90   -O3 -g  (test for excess 
errors)
    [-PASS:-]{+FAIL:+} libgomp.fortran/use_device_addr-4.f90   -O3 -g  
execution test
    PASS: libgomp.fortran/use_device_addr-4.f90   -Os  (test for excess errors)
    PASS: libgomp.fortran/use_device_addr-4.f90   -Os  execution test
    
    libgomp: Trying to map into device [0x7ffc70529ca0..0x7ffc70529ca0) object 
when [0x7ffc7052ac40..0x7ffc7052ac40) is already mapped


> Except for trivial changes to libgomp/oacc-mem.c

Just because something is just a few lines of code doesn't mean that it's
trivial.  I had asked you to first resolve that issue separately
(referencing PR92726), instead of mixing these changes into the Fortran
optional agruments commit:
<87lfrylp8k.fsf@euler.schwinge.homeip.net">http://mid.mail-archive.com/87lfrylp8k.fsf@euler.schwinge.homeip.net>
"[PR92726] OpenACC: 'NULL'-in -> no-op, and/or 'NULL'-out".

There was no reason to rush in the Fortran optional arguments changes
before resolving the 'NULL' changes, was there?


> --- /dev/null
> +++ b/libgomp/testsuite/libgomp.oacc-fortran/optional-cache.f95
> @@ -0,0 +1,23 @@
> +! Test that the cache directives work with optional arguments.  [...]

Missing '{ dg-do run }'.


> --- /dev/null
> +++ b/libgomp/testsuite/libgomp.oacc-fortran/optional-cache.f95

> +! of giving a non-present argument to the cache directive is not tested as
> +! it is undefined.

> --- /dev/null
> +++ b/libgomp/testsuite/libgomp.oacc-fortran/optional-firstprivate.f90
> @@ -0,0 +1,112 @@
> +! Test that optional arguments work in firstprivate clauses.  The effect of
> +! non-present arguments in firstprivate clauses is undefined, and is not
> +! tested for.

> --- /dev/null
> +++ b/libgomp/testsuite/libgomp.oacc-fortran/optional-private.f90
> @@ -0,0 +1,115 @@
> +! Test that optional arguments work in private clauses.  The effect of
> +! non-present arguments in private clauses is undefined, and is not tested

> --- /dev/null
> +++ b/libgomp/testsuite/libgomp.oacc-fortran/optional-reduction.f90
> @@ -0,0 +1,69 @@
> +! Test optional arguments in reduction clauses.  The effect of
> +! non-present arguments in reduction clauses is undefined, and is not tested

Once you've got access, please file a ticket at
<https://github.com/OpenACC/openacc-spec/issues> so this gets clarified.


> --- /dev/null
> +++ b/libgomp/testsuite/libgomp.oacc-fortran/optional-reduction.f90

> +! { dg-additional-options "-w" }

Why that?


Grüße
 Thomas

Attachment: signature.asc
Description: PGP signature

Reply via email to