47#include "lpt_periodic_bc_kernel.cl.h"
51 void *
x,
void *y,
void *z,
int *n,
int *n_periodic_dirs,
52 real *periodic_dir_x1,
real *periodic_dir_y1,
real *periodic_dir_z1,
53 real *periodic_dir_x2,
real *periodic_dir_y2,
real *periodic_dir_z2,
54 real *periodic_dir_x3,
real *periodic_dir_y3,
real *periodic_dir_z3,
55 real *periodic_min1,
real *periodic_min2,
real *periodic_min3,
56 real *periodic_max1,
real *periodic_max2,
real *periodic_max3,
57 real *periodic_shift_x1,
real *periodic_shift_y1,
58 real *periodic_shift_z1,
real *periodic_shift_x2,
59 real *periodic_shift_y2,
real *periodic_shift_z2,
60 real *periodic_shift_x3,
real *periodic_shift_y3,
61 real *periodic_shift_z3,
real *periodic_len1,
real *periodic_len2,
74 "lpt_periodic_bc_wrap_translational_kernel", &
err);
79 periodic_dir_x1, periodic_dir_y1, periodic_dir_z1,
80 periodic_dir_x2, periodic_dir_y2, periodic_dir_z2,
81 periodic_dir_x3, periodic_dir_y3, periodic_dir_z3,
82 periodic_min1, periodic_min2, periodic_min3,
83 periodic_max1, periodic_max2, periodic_max3,
84 periodic_shift_x1, periodic_shift_y1, periodic_shift_z1,
85 periodic_shift_x2, periodic_shift_y2, periodic_shift_z2,
86 periodic_shift_x3, periodic_shift_y3, periodic_shift_z3,
87 periodic_len1, periodic_len2, periodic_len3);
97 const int nb = ((*n) + 256 - 1) / 256;
114 void *
x,
void *y,
void *z,
int *n,
116 void *
u,
void *
v,
void *
w,
117 void *u_lag,
void *v_lag,
void *w_lag,
118 void *u_laglag,
void *v_laglag,
void *w_laglag,
119 void *acc_xlag,
void *acc_ylag,
void *acc_zlag,
120 void *acc_xlaglag,
void *acc_ylaglag,
void *acc_zlaglag,
133 "lpt_periodic_bc_wrap_rotational_kernel", &
err);
144 void *
pairs[10] = {
u,
v, u_lag, v_lag, u_laglag, v_laglag,
145 acc_xlag, acc_ylag, acc_xlaglag, acc_ylaglag };
146 for (
int i = 0;
i < 10;
i++) {
157 for (
int i = 0;
i < 10;
i++) {
163 const int nb = ((*n) + 256 - 1) / 256;
__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__ u
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ v
__global__ void const T *__restrict__ x
void opencl_kernel_jit(const char *kernel, cl_program *program)
void opencl_lpt_periodic_bc_wrap_translational(void *x, void *y, void *z, int *n, int *n_periodic_dirs, real *periodic_dir_x1, real *periodic_dir_y1, real *periodic_dir_z1, real *periodic_dir_x2, real *periodic_dir_y2, real *periodic_dir_z2, real *periodic_dir_x3, real *periodic_dir_y3, real *periodic_dir_z3, real *periodic_min1, real *periodic_min2, real *periodic_min3, real *periodic_max1, real *periodic_max2, real *periodic_max3, real *periodic_shift_x1, real *periodic_shift_y1, real *periodic_shift_z1, real *periodic_shift_x2, real *periodic_shift_y2, real *periodic_shift_z2, real *periodic_shift_x3, real *periodic_shift_y3, real *periodic_shift_z3, real *periodic_len1, real *periodic_len2, real *periodic_len3, void *strm)
void opencl_lpt_periodic_bc_wrap_rotational(void *x, void *y, void *z, int *n, real *theta_min, real *theta_max, real *theta_len, void *u, void *v, void *w, void *u_lag, void *v_lag, void *w_lag, void *u_laglag, void *v_laglag, void *w_laglag, void *acc_xlag, void *acc_ylag, void *acc_zlag, void *acc_xlaglag, void *acc_ylaglag, void *acc_zlaglag, void *strm)
static void lpt_periodic_params_pack(lpt_periodic_params *prm, const real *dir_x1, const real *dir_y1, const real *dir_z1, const real *dir_x2, const real *dir_y2, const real *dir_z2, const real *dir_x3, const real *dir_y3, const real *dir_z3, const real *min1, const real *min2, const real *min3, const real *max1, const real *max2, const real *max3, const real *shift_x1, const real *shift_y1, const real *shift_z1, const real *shift_x2, const real *shift_y2, const real *shift_z2, const real *shift_x3, const real *shift_y3, const real *shift_z3, const real *len1, const real *len2, const real *len3)
void * lpt_periodic_bc_program