13__global__
void fill_gpu(
int n, T* v, T alpha);
16__global__
void ptw_mult_scal(
int n, T* A, T alpha);
18__global__
void ptw_mult_scal_cplx(
int n, cuDoubleComplex* A, cuDoubleComplex alpha);
21__global__
void ptw_mult_row_k(
int nm,
int n, T* A, T* v, T* B);
23__global__
void ptw_mult_row_k(
int nm,
int n, cuDoubleComplex* A, cuDoubleComplex* v, cuDoubleComplex* B);
26__global__
void ptw_sum_scal(
int n, T* A, T alpha);
29__global__
void ptw_sum(
int n, T* A, T* B);
31__global__
void dmaxpy(
int n,
double* a,
double* x,
double* y);
33__global__
void scale_unique(
double* x,
double alpha);
35__global__
void scale_sqrt_unique(
double* x,
double alpha);
37__global__
void ptw_div_gs(
int n,
double* A,
double* alpha);
39__global__
void ptw_mult(
int n,
double* A,
double* B,
double* C);
41__global__
void der_fourier(
int n, cuDoubleComplex* A,
double ax,
double bx,
int nx);
43__global__
void ptw_mult_row_cplx_fourier(
int nm,
int n,
int nx, cuDoubleComplex* A,
double ax,
double bx);
45__global__
void cplx_conv(
int n,
double* A, cuDoubleComplex* B);
47__device__ cuDoubleComplex expim(
double z);
49__device__ cuDoubleComplex phi1im(
double z);
51__device__ cuDoubleComplex phi2im(
double z);
53__global__
void exp_euler_fourier(
int nm,
int n, cuDoubleComplex* A,
double* dc_r,
double ts, cuDoubleComplex* T,
double ax,
double bx);
55__global__
void second_ord_stage_fourier(
int nm,
int n, cuDoubleComplex* A,
double* dc_r,
double ts, cuDoubleComplex* T, cuDoubleComplex* U,
double ax,
double bx);
57__global__
void ptw_mult_cplx(
int n, cuDoubleComplex* A,
double alpha);
59__global__
void ptw_mult_scal(
int n,
double* A,
double alpha,
double* B);
61__global__
void expl_euler(
int n,
double* A,
double t,
double* M1,
double* M2);
63__global__
void rk4(
int n,
double* A,
double t,
double* M1,
double* M2,
double* M3);
65__global__
void rk4_finalcomb(
int n,
double* A,
double t,
double* M1,
double* M2,
double* M3,
double* M4,
double* M5);
67__global__
void addsub_rhs_k(
int n,
double* A,
double* B,
double* C);
69__global__
void setmultadd_rk4_k(
int n,
double* A,
double* B,
double t,
double* C);
71__global__
void finstage_rk4_k(
int n,
double* A,
double* B,
double* C,
double* D,
double* E,
double tau);
73__global__
void op1_rk4_LS_k(
int n,
double* A,
double* B,
double* C,
double* D,
double beta);
75__global__
void op2_rk4_LS_k(
int n,
double* A,
double* B,
double* C,
double alpha,
double beta);
77__global__
void op_rk4_LS_k(
int n,
double* A,
double* B,
double* C,
double* D,
double alpha,
double beta);
79__global__
void setmultadd_rk2_k(
int n,
double* A,
double* B,
double t);
81__global__
void finstage_rk2_k(
int n,
double* A,
double* B,
double tau);
84__global__
void transpose_inplace_k(
int n, T* A);
86__global__
void der_fourier_2d(
int N,
int nx,
int ny, cuDoubleComplex* A,
double* lims,
double nxx, cuDoubleComplex* B,cuDoubleComplex* C);
88__global__
void ptw_mult_row_cplx_fourier_2d(
int N,
int nx,
int ny, cuDoubleComplex* A,
double* lims,
double nxx, cuDoubleComplex* B, cuDoubleComplex* C);
90__global__
void exact_sol_exp_2d(
int N,
int nx,
int ny, cuDoubleComplex* A,
double* dc_r,
double ts,
double* lims,
double nxx);
92__global__
void ptw_sum_complex(
int n, cuDoubleComplex* A, cuDoubleComplex* B);
94__global__
void ptw_sum_3mat(
int n,
double* A,
double* B,
double* C);
97__global__
void ptw_diff(
int n, T* A, T* B);
99__global__
void exp_euler_fourier_2d(
int N,
int nx,
int ny, cuDoubleComplex* A,
double* dc_r,
double ts,
double* lims, cuDoubleComplex* T);
101__global__
void second_ord_stage_fourier_2d(
int N,
int nx,
int ny, cuDoubleComplex* A,
double* dc_r,
double ts,
double* lims, cuDoubleComplex* T, cuDoubleComplex* U);
103__global__
void der_fourier_3d(
int N,
int nx,
int ny,
int nz, cuDoubleComplex* A,
double* lims,
double nxx, cuDoubleComplex* B, cuDoubleComplex* C, cuDoubleComplex* D);
105__global__
void ptw_mult_row_cplx_fourier_3d(
int N,
int nx,
int ny,
int nz, cuDoubleComplex* A,
double* lims,
double nxx, cuDoubleComplex* B, cuDoubleComplex* C, cuDoubleComplex* D);
106__global__
void fourier_direction_k(
int N,
int nx,
int ny,
int nz, cuDoubleComplex* A, cuDoubleComplex* B,
double l0,
double l1,
double l2,
double l3,
double l4,
double l5,
double nxx,
int dir);
108__global__
void exact_sol_exp_3d_a(
int N,
int nx,
int ny,
int nz, cuDoubleComplex* A,
double* dc_r,
double ts,
double* lims);
110__global__
void exact_sol_exp_3d_b(
int N,
int nx,
int ny,
int nz, cuDoubleComplex* A,
double* dc_r,
double ts,
double* lims,
double nxx);
112__global__
void exact_sol_exp_3d_c(
int N,
int nx,
int ny,
int nz, cuDoubleComplex* A,
double* dc_r,
double ts,
double* lims);
114__global__
void exact_sol_exp_3d_d(
int N,
int nx,
int ny,
int nz, cuDoubleComplex* A,
double* dc_r,
double ts,
double* lims,
double nxx);
116__global__
void exp_euler_fourier_3d(
int N,
int nx,
int ny,
int nz, cuDoubleComplex* A,
double* dc_r,
double ts,
double* lims, cuDoubleComplex* T);
118__global__
void second_ord_stage_fourier_3d(
int N,
int nx,
int ny,
int nz, cuDoubleComplex* A,
double* dc_r,
double ts,
double* lims, cuDoubleComplex* T, cuDoubleComplex* U);
121__global__
void copy_R(
int m,
int n, T* Q, T* R, T w);
124__global__
void copy_R_QR(
int n,
int r,
int m, T* Q, T* R, T w);
127__global__
void increase_S(
int n,
int r, T* S, T* Sn);
130__global__
void decrease_S(
int n,
int r, T* S, T* Sn);
133__global__
void div_Q(
int m,
int n, T* Q, T w);
136__global__
void diag_S(
int n, T* S, T* sigma);
Provides shared types, platform headers, and basic definitions.
Core namespace for Ensign's numerical algorithms and data structures.