35#include <hip/hip_runtime.h>
63 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
82 const dim3 nblcks(((*m)+1024 - 1)/ 1024, 1, 1);
99 const dim3 nblcks(((*m)+1024 - 1)/ 1024, 1, 1);
116 const dim3 nblcks(((*m)+1024 - 1)/ 1024, 1, 1);
132 const dim3 nblcks(((*m)+1024 - 1)/ 1024, 1, 1);
145 void *facet,
int *n1,
int *n2,
int *lx,
146 int *ly,
int *lz,
int *m,
150 const dim3 nblcks(((*m)+1024 - 1)/ 1024, 1, 1);
154 (
int *)
mask, (
int *) facet, *n1, *n2, *lx, *ly, *lz,
168 const dim3 nblcks(((*m)+1024 - 1)/ 1024, 1, 1);
185 const dim3 nblcks(((*m)+1024 - 1)/ 1024, 1, 1);
202 const dim3 nblcks(((*m)+1024 - 1)/ 1024, 1, 1);
219 const dim3 nblcks(((*mask_size) + 1024 - 1) / 1024, 1, 1);
223 *c, *size, (
int*)
mask, *mask_size);
237 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
254 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
268 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
282 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
296 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
310 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
324 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
339 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
353 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
366 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
380 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
397 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
412 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
427 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
443 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
459 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
477 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
481 (
const real **) p, (
real *) alpha, *
j, *n);
494 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
511 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
528 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
545 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
561 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
575 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
589 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
604 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
619 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
634 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
649 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
664 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
679 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
695 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
711 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
724 void *v1,
void *v2,
void *v3,
int *n,
728 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
742 void *v1,
void *v2,
void *v3,
743 void *w1,
void *w2,
void *
w3,
747 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
784 #elif HAVE_DEVICE_MPI
805 #elif HAVE_DEVICE_MPI
827 #elif HAVE_DEVICE_MPI
848 #elif HAVE_DEVICE_MPI
865 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
866 const int nb = ((*n) + 1024 - 1)/ 1024;
894 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
895 const int nb = ((*n) + 1024 - 1)/ 1024;
928 const int nt = 1024/
pow2;
933 const int nb = ((*n) + nt - 1)/nt;
962 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
963 const int nb = ((*n) + 1024 - 1)/ 1024;
993 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
994 const int nb = ((*n) + 1024 - 1) / 1024;
1023 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
1024 const int nb = ((*n) + 1024 - 1)/ 1024;
1053 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
1054 const int nb = ((*n) + 1024 - 1)/ 1024;
1083 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
1084 const int nb = ((*n) + 1024 - 1)/ 1024;
1114 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
1132 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
1146 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
1161 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
1175 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
1190 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
1205 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
1220 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
1235 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
1251 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
__global__ void ale_add_kinematics_kernel(const int n, T *__restrict__ wx, T *__restrict__ wy, T *__restrict__ wz, const T *__restrict__ x_ref, const T *__restrict__ y_ref, const T *__restrict__ z_ref, const T *__restrict__ phi, const T *__restrict__ x, const T *__restrict__ y, const T *__restrict__ z, const kinematics_params_t kin_params)
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ w
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ u
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ v
__global__ void const T *__restrict__ x
__global__ void const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ w3
void device_mpi_allreduce(void *buf_d, void *buf, int count, int nbytes, int op)
void device_nccl_allreduce(void *sbuf_d, void *rbuf_d, int count, int nbytes, int op, void *stream)
void hip_buffer_reserve(hip_buffer_t *buf, size_t size)
void hip_vdot3(void *dot, void *u1, void *u2, void *u3, void *v1, void *v2, void *v3, int *n, hipStream_t strm)
void hip_global_reduce_add(real *bufred, void *bufred_d, int n, const hipStream_t stream)
void hip_col3(void *a, void *b, void *c, int *n, hipStream_t strm)
void hip_cwrap(void *a, real *min_val, real *max_val, int *n, hipStream_t strm)
void hip_addsqr2s2(void *a, void *b, real *c1, int *n, hipStream_t strm)
real hip_glmax(void *a, real *ninf, int *n, hipStream_t stream)
void hip_rzero(void *a, int *n, hipStream_t strm)
void hip_power(void *ap, void *a, real *p, int *n, hipStream_t strm)
void hip_cfill_mask(void *a, real *c, int *size, void *mask, int *mask_size, hipStream_t strm)
void hip_pwmax_sca3(void *a, void *b, real *c, int *n, hipStream_t stream)
void hip_invcol3(void *a, void *b, void *c, int *n, hipStream_t strm)
void hip_absval(void *a, int *n, hipStream_t stream)
void hip_masked_gather_copy_aligned(void *a, void *b, void *mask, int *n, int *m, hipStream_t strm)
void hip_vcross(void *u1, void *u2, void *u3, void *v1, void *v2, void *v3, void *w1, void *w2, void *w3, int *n, hipStream_t strm)
void hip_addcol3(void *a, void *b, void *c, int *n, hipStream_t strm)
void hip_add3s2(void *a, void *b, void *c, real *c1, real *c2, int *n, hipStream_t strm)
void hip_masked_scatter_copy_aligned(void *a, void *b, void *mask, int *n, int *m, hipStream_t strm)
void hip_add5s4(void *a, void *b, void *c, void *d, void *e, real *c1, real *c2, real *c3, real *c4, int *n, hipStream_t strm)
void hip_masked_copy_aligned(void *a, void *b, void *mask, int *n, int *m, hipStream_t strm)
void hip_add2s2(void *a, void *b, real *c1, int *n, hipStream_t strm)
void hip_add4(void *a, void *b, void *c, void *d, int *n, hipStream_t strm)
void hip_redbuf_check_alloc_xp(int nb)
void hip_cadd2(void *a, void *b, real *c, int *n, hipStream_t strm)
real hip_vlsc3(void *u, void *v, void *w, int *n, hipStream_t stream)
void hip_cdiv2(void *a, void *b, real *c, int *n, hipStream_t strm)
void hip_pwmin_sca2(void *a, real *c, int *n, hipStream_t stream)
void hip_cmult2(void *a, void *b, real *c, int *n, hipStream_t strm)
void hip_invcol1(void *a, int *n, hipStream_t strm)
void hip_invcol2(void *a, void *b, int *n, hipStream_t strm)
void hip_global_reduce_max(real *bufred, void *bufred_d, int n, const hipStream_t stream)
void hip_cdiv(void *a, real *c, int *n, hipStream_t strm)
real_xp hip_glsubnorm2(void *a, void *b, int *n, hipStream_t stream)
void hip_sub2(void *a, void *b, int *n, hipStream_t strm)
real_xp hip_glsc2(void *a, void *b, int *n, hipStream_t stream)
void hip_add4s3(void *a, void *b, void *c, void *d, real *c1, real *c2, real *c3, int *n, hipStream_t strm)
void hip_col2(void *a, void *b, int *n, hipStream_t strm)
real hip_glmin(void *a, real *pinf, int *n, hipStream_t stream)
void hip_pwmin_vec3(void *a, void *b, void *c, int *n, hipStream_t stream)
void hip_glsc3_many(real_xp *h, void *w, void *v, void *mult, int *j, int *n, hipStream_t stream)
void hip_addcol3s2(void *a, void *b, void *c, real *s, int *n, hipStream_t strm)
void hip_masked_gather_copy(void *a, void *b, void *mask, int *n, int *m, hipStream_t strm)
void hip_cfill(void *a, real *c, int *n, hipStream_t strm)
void hip_masked_atomic_reduction(void *a, void *b, void *mask, int *n, int *m, hipStream_t strm)
void hip_masked_copy_0(void *a, void *b, void *mask, int *n, int *m, hipStream_t strm)
void hip_add3(void *a, void *b, void *c, int *n, hipStream_t strm)
void hip_pwmax_vec3(void *a, void *b, void *c, int *n, hipStream_t stream)
void hip_add2(void *a, void *b, int *n, hipStream_t strm)
void hip_sqrt_inplace(void *a, int *n, hipStream_t strm)
real_xp hip_glsum(void *a, int *n, hipStream_t stream)
real_xp hip_glsc3(void *a, void *b, void *c, int *n, hipStream_t stream)
void hip_global_reduce_add_xp(real_xp *bufred, void *bufred_d, int n, const hipStream_t stream)
void hip_copy(void *a, void *b, int *n, hipStream_t strm)
void hip_subcol3(void *a, void *b, void *c, int *n, hipStream_t strm)
void hip_pwmax_sca2(void *a, real *c, int *n, hipStream_t stream)
void hip_iadd(void *a, int *c, int *n, hipStream_t stream)
void hip_pwmin_sca3(void *a, void *b, real *c, int *n, hipStream_t stream)
void hip_add2s1(void *a, void *b, real *c1, int *n, hipStream_t strm)
void hip_radd(void *a, real *c, int *n, hipStream_t strm)
void hip_redbuf_check_alloc(int nb)
void hip_add2s2_many(void *x, void **p, void *alpha, int *j, int *n, hipStream_t strm)
void hip_addcol4(void *a, void *b, void *c, void *d, int *n, hipStream_t strm)
void hip_pwmax_vec2(void *a, void *b, int *n, hipStream_t stream)
void hip_pwmin_vec2(void *a, void *b, int *n, hipStream_t stream)
void hip_sub3(void *a, void *b, void *c, int *n, hipStream_t strm)
void hip_face_masked_gather_copy(void *a, void *b, void *mask, void *facet, int *n1, int *n2, int *lx, int *ly, int *lz, int *m, hipStream_t strm)
void hip_masked_scatter_copy(void *a, void *b, void *mask, int *n, int *m, hipStream_t strm)
void hip_cmult(void *a, real *c, int *n, hipStream_t strm)
void hip_global_reduce_min(real *bufred, void *bufred_d, int n, const hipStream_t stream)
Object for handling masks in Neko.