[libgomp/testsuite] Fix libgomp.fortran/examples-4/declare_target-{1,2}.f90
The test-cases libgomp.fortran/examples-4/declare_target-{1,2}.f90 mean to set an nvptx-specific limit using offload_target_nvptx, but also change behaviour for amd. That is, there is now a difference in behaviour between: - a compiler configured for GCN offloading, and - a compiler configured for both GCN and nvptx offloading. Fix this by using instead on_device_arch_nvptx. Tested on x86_64 with nvptx accelerator. libgomp/ChangeLog: 2022-04-04 Tom de Vries <tdevries@suse.de> * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use on_device_arch_nvptx instead of offload_target_nvptx. * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
This commit is contained in:
parent
376cf6d19c
commit
88cffa1a07
2 changed files with 38 additions and 24 deletions
|
@ -1,16 +1,6 @@
|
|||
! { 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
|
||||
! { dg-additional-sources ../on_device_arch.c }
|
||||
! { dg-prune-output "command-line option '-fintrinsic-modules-path=.*' is valid for Fortran but not for C" }
|
||||
|
||||
module e_53_1_mod
|
||||
integer :: THRESHOLD = 20
|
||||
|
@ -38,6 +28,23 @@ end module
|
|||
|
||||
program e_53_1
|
||||
use e_53_1_mod, only : fib, fib_wrapper
|
||||
integer :: REC_DEPTH = 25
|
||||
|
||||
interface
|
||||
integer function on_device_arch_nvptx() bind(C)
|
||||
end function on_device_arch_nvptx
|
||||
end interface
|
||||
|
||||
if (on_device_arch_nvptx () /= 0) then
|
||||
! 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.
|
||||
REC_DEPTH = 20
|
||||
end if
|
||||
|
||||
if (fib (15) /= fib_wrapper (15)) stop 1
|
||||
if (fib (REC_DEPTH) /= fib_wrapper (REC_DEPTH)) stop 2
|
||||
end program
|
||||
|
|
|
@ -1,20 +1,27 @@
|
|||
! { 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
|
||||
! { dg-additional-sources ../on_device_arch.c }
|
||||
! { dg-prune-output "command-line option '-fintrinsic-modules-path=.*' is valid for Fortran but not for C" }
|
||||
|
||||
program e_53_2
|
||||
!$omp declare target (fib)
|
||||
integer :: x, fib
|
||||
integer :: REC_DEPTH = 25
|
||||
|
||||
interface
|
||||
integer function on_device_arch_nvptx() bind(C)
|
||||
end function on_device_arch_nvptx
|
||||
end interface
|
||||
|
||||
if (on_device_arch_nvptx () /= 0) then
|
||||
! 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.
|
||||
REC_DEPTH = 18
|
||||
end if
|
||||
|
||||
!$omp target map(from: x)
|
||||
x = fib (REC_DEPTH)
|
||||
!$omp end target
|
||||
|
|
Loading…
Add table
Reference in a new issue