35#include <hip/hip_runtime.h>
65 const dim3 nblcks(((*m)+1024 - 1)/ 1024, 1, 1);
82 const dim3 nblcks(((*m)+1024 - 1)/ 1024, 1, 1);
98 const dim3 nblcks(((*m)+1024 - 1)/ 1024, 1, 1);
115 const dim3 nblcks(((*m)+1024 - 1)/ 1024, 1, 1);
132 const dim3 nblcks(((*m)+1024 - 1)/ 1024, 1, 1);
149 const dim3 nblcks(((*mask_size) + 1024 - 1) / 1024, 1, 1);
153 *c, *size, (
int*)
mask, *mask_size);
171 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
185 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
199 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
213 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
227 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
241 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
254 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
271 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
286 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
301 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
317 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
333 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
351 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
355 (
const real **) p, (
real *) alpha, *
j, *n);
368 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
385 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
402 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
419 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
435 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
449 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
463 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
478 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
493 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
508 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
523 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
538 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
553 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
569 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
585 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
598 void *v1,
void *v2,
void *v3,
int *n,
602 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
616 void *v1,
void *v2,
void *v3,
617 void *w1,
void *w2,
void *
w3,
621 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
662 #elif HAVE_DEVICE_MPI
679 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
680 const int nb = ((*n) + 1024 - 1)/ 1024;
708 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
709 const int nb = ((*n) + 1024 - 1)/ 1024;
741 const int nt = 1024/
pow2;
746 const int nb = ((*n) + nt - 1)/nt;
775 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
776 const int nb = ((*n) + 1024 - 1)/ 1024;
805 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
806 const int nb = ((*n) + 1024 - 1) / 1024;
833 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
834 const int nb = ((*n) + 1024 - 1)/ 1024;
862 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
880 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
894 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
909 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
923 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
938 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
953 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
968 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
983 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
999 const dim3 nblcks(((*n)+1024 - 1)/ 1024, 1, 1);
__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
__global__ void dirichlet_apply_scalar_kernel(const int *__restrict__ msk, T *__restrict__ x, const T g, const int m)
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_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_addsqr2s2(void *a, void *b, real *c1, int *n, hipStream_t strm)
void hip_rzero(void *a, 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)
real hip_glsubnorm2(void *a, void *b, int *n, hipStream_t stream)
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_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_add2s2(void *a, void *b, real *c1, int *n, hipStream_t strm)
real hip_glsum(void *a, int *n, hipStream_t stream)
void hip_add4(void *a, void *b, void *c, void *d, int *n, hipStream_t strm)
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)
real hip_glsc3(void *a, void *b, void *c, int *n, hipStream_t stream)
void hip_invcol1(void *a, int *n, hipStream_t strm)
void hip_invcol2(void *a, void *b, int *n, hipStream_t strm)
void hip_masked_copy(void *a, void *b, void *mask, int *n, int *m, hipStream_t strm)
void hip_cdiv(void *a, real *c, int *n, hipStream_t strm)
void hip_sub2(void *a, void *b, int *n, hipStream_t strm)
real 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)
void hip_pwmin_vec3(void *a, void *b, void *c, 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_glsc3_many(real *h, void *w, void *v, void *mult, int *j, int *n, hipStream_t stream)
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_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_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_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)
Object for handling masks in Neko.