aboutsummaryrefslogtreecommitdiff
path: root/Carpet/LoopControl/src/loopcontrol_types.F90
blob: 159f49e9276fa6441b72bd55337bade18fb3207b (plain)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <cctk.h>

module loopcontrol_types
  
  ! Note: this type must correspond to the corresponding C type
  ! declared in loopcontrol.h
  type lc_statmap_t
     sequence
     
     CCTK_POINTER next
     
     ! Name
     CCTK_POINTER_TO_CONST name
     
     CCTK_POINTER statset_list
  end type lc_statmap_t
  
  ! Note: this type must correspond to the corresponding C type
  ! declared in loopcontrol.h
  type lc_control_t
     sequence
     
     CCTK_POINTER statmap
     CCTK_POINTER statset
     CCTK_POINTER stattime
     
     ! Copy of arguments (useful for debugging)
     integer imin, jmin, kmin
     integer imax, jmax, kmax
     integer ilsh, jlsh, klsh
     integer di
     
     ! Control settings for thread parallelism (useful for debugging)
     integer iiimin, jjjmin, kkkmin
     integer iiimax, jjjmax, kkkmax
     integer iiistep, jjjstep, kkkstep
     
     ! Control settings for current thread (useful for debugging)
     integer thread_num
     integer iii, jjj, kkk
     integer iiii, jjjj, kkkk
     
     ! Control settings for tiling loop
     integer iimin, jjmin, kkmin
     integer iimax, jjmax, kkmax
     integer iistep, jjstep, kkstep
     
     ! Control settings for inner thread parallelism
     integer iiiimin, jjjjmin, kkkkmin
     integer iiiimax, jjjjmax, kkkkmax
     integer iiiistep, jjjjstep, kkkkstep
     
     ! Timing statistics
     double precision time_setup_begin, time_calc_begin
     
     ! Self check
     CCTK_POINTER selftest_count
  end type lc_control_t
  
end module loopcontrol_types