35#ifndef __KRYLOV_BICGSTAB_KERNEL_H__
36#define __KRYLOV_BICGSTAB_KERNEL_H__
55 for (
int i = idx;
i < n;
i +=
str) {
56 p[
i] = r[
i] + beta * (p[
i] - omega *
v[
i]);
67template<
typename T,
typename T_acc >
84 for (
int i = idx;
i < n;
i +=
str) {
115template<
typename T,
typename T_acc >
132 for (
int i = idx;
i < n;
i +=
str) {
133 const T si = r[
i] - alpha *
v[
i];
159template<
typename T,
typename T_acc >
183 for (
int i = idx;
i < n;
i +=
str) {
184 x[
i] =
x[
i] + alpha * p_hat[
i] + omega * s_hat[
i];
185 const T ri = s[
i] - omega * t[
i];
__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__ const T *__restrict__ v
__global__ void bicgstab_update_p_kernel(T *__restrict__ p, const T *__restrict__ r, const T *__restrict__ v, const T beta, const T omega, const int n)
__global__ void bicgstab_product_and_norm_kernel(const T *__restrict__ a, const T *__restrict__ b, const T *__restrict__ mult, T_acc *__restrict__ buf_h, const int n)
__global__ void bicgstab_part1_kernel(T *__restrict__ s, const T *__restrict__ r, const T *__restrict__ v, const T *__restrict__ mult, T_acc *__restrict__ buf_h, const T alpha, const int n)
__global__ void bicgstab_part2_kernel(T *__restrict__ x, T *__restrict__ r, const T *__restrict__ p_hat, const T *__restrict__ s_hat, const T *__restrict__ s, const T *__restrict__ t, const T *__restrict__ f, const T *__restrict__ mult, T_acc *__restrict__ buf_h, const T alpha, const T omega, const int n)
__global__ void const T *__restrict__ x