37 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
44 bind(c, name =
'hip_pick_facet_value_hex')
45 use,
intrinsic :: iso_c_binding
48 type(c_ptr),
value :: a_d, b_d
49 integer(c_int) :: nx, nelv
57 bind(c, name =
'hip_gradient_jump_penalty_finalize')
58 use,
intrinsic :: iso_c_binding
61 type(c_ptr),
value :: penalty_d, &
62 penalty_facet_d, dphidxi_d
63 integer(c_int) :: nx, nelv
69 bind(c, name =
'cuda_pick_facet_value_hex')
70 use,
intrinsic :: iso_c_binding
73 type(c_ptr),
value :: a_d, b_d
74 integer(c_int) :: nx, nelv
82 bind(c, name =
'cuda_gradient_jump_penalty_finalize')
83 use,
intrinsic :: iso_c_binding
86 type(c_ptr),
value :: penalty_d, &
87 penalty_facet_d, dphidxi_d
88 integer(c_int) :: nx, nelv
94 bind(c, name =
'opencl_pick_facet_value_hex')
95 use,
intrinsic :: iso_c_binding
98 type(c_ptr),
value :: a_d, b_d
99 integer(c_int) :: nx, nelv
107 bind(c, name =
'opencl_gradient_jump_penalty_finalize')
108 use,
intrinsic :: iso_c_binding
111 type(c_ptr),
value :: penalty_d, &
112 penalty_facet_d, dphidxi_d
113 integer(c_int) :: nx, nelv
118 subroutine metal_pick_facet_value_hex(b_d, a_d, nx, nelv) &
119 bind(c, name =
'metal_pick_facet_value_hex')
120 use,
intrinsic :: iso_c_binding
123 type(c_ptr),
value :: a_d, b_d
124 integer(c_int) :: nx, nelv
125 end subroutine metal_pick_facet_value_hex
128 subroutine metal_gradient_jump_penalty_finalize(penalty_d, &
132 bind(c, name =
'metal_gradient_jump_penalty_finalize')
133 use,
intrinsic :: iso_c_binding
136 type(c_ptr),
value :: penalty_d, &
137 penalty_facet_d, dphidxi_d
138 integer(c_int) :: nx, nelv
139 end subroutine metal_gradient_jump_penalty_finalize
149 integer,
intent(in) :: nx, nelv
150 type(c_ptr) :: a_d, b_d
158 call metal_pick_facet_value_hex(b_d, a_d, nx, nelv)
160 call neko_error(
'No device backend configured')
169 integer,
intent(in) :: nx, nelv
170 type(c_ptr) :: penalty_d, penalty_facet_d, dphidxi_d
187 call metal_gradient_jump_penalty_finalize(penalty_d, &
192 call neko_error(
'No device backend configured')
void opencl_gradient_jump_penalty_finalize(void *penalty_d, void *penalty_facet_d, void *dphidxi_d, int *nx, int *nel)
void opencl_pick_facet_value_hex(void *b, void *a, int *nx, int *nel)
void cuda_gradient_jump_penalty_finalize(void *penalty_d, void *penalty_facet_d, void *dphidxi_d, int *nx, int *nel)
void cuda_pick_facet_value_hex(void *b, void *a, int *nx, int *nel)
subroutine, public device_gradient_jump_penalty_finalize(penalty_d, penalty_facet_d, dphidxi_d, nx, nelv)
subroutine, public device_pick_facet_value_hex(b_d, a_d, nx, nelv)
Device abstraction, common interface for various accelerators.
type(c_ptr), bind(C), public glb_cmd_queue
Global command queue.
integer, parameter, public c_rp
integer, parameter, public rp
Global precision used in computations.