36#include <hip/hip_runtime.h>
85 real *omega,
int *n) {
91 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
109 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
110 const int nb = ((*n) + 1024 - 1) / 1024;
125 2, 1024, 0, stream, dev,
nb, 2);
142 real *alpha,
int *n) {
145 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
146 const int nb = ((*n) + 1024 - 1) / 1024;
158 (
real *) mult, dev, *alpha, *n);
161 1, 1024, 0, stream, dev,
nb);
179 void *s,
void *t,
void *f,
void *mult,
183 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
184 const int nb = ((*n) + 1024 - 1) / 1024;
198 (
real *) mult, dev, *alpha, *omega, *n);
201 2, 1024, 0, stream, dev,
nb, 2);
void hip_bicgstab_product_and_norm(void *a, void *b, void *mult, real_xp *res, int *n)
void hip_bicgstab_update_p(void *p, void *r, void *v, real *beta, real *omega, int *n)
hip_buffer_t bicgstab_redbuf
void hip_bicgstab_part2(void *x, void *r, void *p_hat, void *s_hat, void *s, void *t, void *f, void *mult, real *alpha, real *omega, real_xp *res, int *n)
static void bicgstab_reduce(real_xp *host, real_xp *dev, const int count, hipStream_t stream)
real_xp hip_bicgstab_part1(void *s, void *r, void *v, void *mult, real *alpha, int *n)
__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__ v
__global__ void const T *__restrict__ x
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)