File: driver_cu.f90

package info (click to toggle)
gridtools 2.0.0-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye
  • size: 21,728 kB
  • sloc: cpp: 45,263; python: 9,383; javascript: 8,445; ansic: 2,564; sh: 509; f90: 370; makefile: 216
file content (35 lines) | stat: -rw-r--r-- 749 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
! GridTools
!
! Copyright (c) 2014-2019, ETH Zurich
! All rights reserved.
!
! Please, refer to the LICENSE file in the root directory.
! SPDX-License-Identifier: BSD-3-Clause

program main
    use iso_c_binding
    use bindgen_handle
    use bindgen_regression_array_cu
    implicit none
    integer, parameter :: ie = 9, je = 10, ke = 11
    integer :: i, j, k
    real(8), dimension(ie, je, ke) :: arr, expected

    !$acc enter data create(arr)

    call fill_gpu_array(arr)

    !$acc exit data copyout(arr)

    do i=1, ie
        do j=1, je
            do k=1, ke
                expected(i,j,k) = (i-1)*10000 + (j-1)*100 + (k-1)
            end do
        end do
    end do

    if (any(arr /= expected)) stop 1

    print *, "Success!"
end