75 if (
sizeof(
real_xp) ==
sizeof(
float)) {
77 (
float *) dev, count, stream);
79 else if (
sizeof(
real_xp) ==
sizeof(
double)) {
81 (
double *) dev, count, stream);
101 real *omega,
int *n) {
107 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
124 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
125 const int nb = ((*n) + 1024 - 1) / 1024;
155 real *alpha,
int *n) {
158 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
159 const int nb = ((*n) + 1024 - 1) / 1024;
170 (
real *) mult, dev, *alpha, *n);
190 void *s,
void *t,
void *f,
void *mult,
194 const dim3 nblcks(((*n) + 1024 - 1) / 1024, 1, 1);
195 const int nb = ((*n) + 1024 - 1) / 1024;
cuda_buffer_t bicgstab_redbuf
void cuda_bicgstab_product_and_norm(void *a, void *b, void *mult, real_xp *res, int *n)
static void bicgstab_reduce(real_xp *host, real_xp *dev, const int count, cudaStream_t stream)
void cuda_bicgstab_update_p(void *p, void *r, void *v, real *beta, real *omega, int *n)
void cuda_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)
real_xp cuda_bicgstab_part1(void *s, void *r, void *v, void *mult, real *alpha, int *n)
void cuda_buffer_reserve(cuda_buffer_t *buf, size_t size)
__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
#define CUDA_BUFFER_INIT_SYMM
__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)