[libgomp, testsuite, nvptx] Limit recursion in declare_target-{1,2}.f90
When running testcases libgomp.fortran/examples-4/declare_target-{1,2}.f90 on an RTX A2000 (sm_86) with driver 510.60.02 and with GOMP_NVPTX_JIT=-O0 I run into: ... FAIL: libgomp.fortran/examples-4/declare_target-1.f90 -O0 \ -DGOMP_NVPTX_JIT=-O0 execution test FAIL: libgomp.fortran/examples-4/declare_target-2.f90 -O0 \ -DGOMP_NVPTX_JIT=-O0 execution test ... Fix this by further limiting recursion depth in the test-cases for nvptx. Furthermore, make the recursion depth limiting nvptx-specific. Tested on x86_64 with nvptx accelerator. libgomp/ChangeLog: 2022-04-01 Tom de Vries <tdevries@suse.de> * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define and use REC_DEPTH. * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
This commit is contained in:
parent
065e25f633
commit
bfa9f660d2
2 changed files with 27 additions and 11 deletions
|
@ -1,4 +1,16 @@
|
|||
! { dg-do run }
|
||||
! { dg-additional-options "-cpp" }
|
||||
! Reduced from 25 to 23, otherwise execution runs out of thread stack on
|
||||
! Nvidia Titan V.
|
||||
! Reduced from 23 to 22, otherwise execution runs out of thread stack on
|
||||
! Nvidia T400 (2GB variant), when run with GOMP_NVPTX_JIT=-O0.
|
||||
! Reduced from 22 to 20, otherwise execution runs out of thread stack on
|
||||
! Nvidia RTX A2000 (6GB variant), when run with GOMP_NVPTX_JIT=-O0.
|
||||
! { dg-additional-options "-DREC_DEPTH=20" { target { offload_target_nvptx } } } */
|
||||
|
||||
#ifndef REC_DEPTH
|
||||
#define REC_DEPTH 25
|
||||
#endif
|
||||
|
||||
module e_53_1_mod
|
||||
integer :: THRESHOLD = 20
|
||||
|
@ -27,9 +39,5 @@ end module
|
|||
program e_53_1
|
||||
use e_53_1_mod, only : fib, fib_wrapper
|
||||
if (fib (15) /= fib_wrapper (15)) stop 1
|
||||
! Reduced from 25 to 23, otherwise execution runs out of thread stack on
|
||||
! Nvidia Titan V.
|
||||
! Reduced from 23 to 22, otherwise execution runs out of thread stack on
|
||||
! Nvidia T400 (2GB variant), when run with GOMP_NVPTX_JIT=-O0.
|
||||
if (fib (22) /= fib_wrapper (22)) stop 2
|
||||
if (fib (REC_DEPTH) /= fib_wrapper (REC_DEPTH)) stop 2
|
||||
end program
|
||||
|
|
|
@ -1,16 +1,24 @@
|
|||
! { dg-do run }
|
||||
! { dg-additional-options "-cpp" }
|
||||
! Reduced from 25 to 23, otherwise execution runs out of thread stack on
|
||||
! Nvidia Titan V.
|
||||
! Reduced from 23 to 22, otherwise execution runs out of thread stack on
|
||||
! Nvidia T400 (2GB variant), when run with GOMP_NVPTX_JIT=-O0.
|
||||
! Reduced from 22 to 18, otherwise execution runs out of thread stack on
|
||||
! Nvidia RTX A2000 (6GB variant), when run with GOMP_NVPTX_JIT=-O0.
|
||||
! { dg-additional-options "-DREC_DEPTH=18" { target { offload_target_nvptx } } } */
|
||||
|
||||
#ifndef REC_DEPTH
|
||||
#define REC_DEPTH 25
|
||||
#endif
|
||||
|
||||
program e_53_2
|
||||
!$omp declare target (fib)
|
||||
integer :: x, fib
|
||||
!$omp target map(from: x)
|
||||
! Reduced from 25 to 23, otherwise execution runs out of thread stack on
|
||||
! Nvidia Titan V.
|
||||
! Reduced from 23 to 22, otherwise execution runs out of thread stack on
|
||||
! Nvidia T400 (2GB variant), when run with GOMP_NVPTX_JIT=-O0.
|
||||
x = fib (22)
|
||||
x = fib (REC_DEPTH)
|
||||
!$omp end target
|
||||
if (x /= fib (22)) stop 1
|
||||
if (x /= fib (REC_DEPTH)) stop 1
|
||||
end program
|
||||
|
||||
integer recursive function fib (n) result (f)
|
||||
|
|
Loading…
Add table
Reference in a new issue