Neko  0.8.99
A portable framework for high-order spectral element flow simulations
gs_kernels.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

template<typename T >
__global__ void gather_kernel_add (T *__restrict__ v, const int m, const int o, const int *__restrict__ dg, const T *__restrict__ u, const int n, const int *__restrict__ gd, const int nb, const int *__restrict__ b, const int *__restrict__ bo)
 
template<typename T >
__global__ void gather_kernel_mul (T *__restrict__ v, const int m, const int o, const int *__restrict__ dg, const T *__restrict__ u, const int n, const int *__restrict__ gd, const int nb, const int *__restrict__ b, const int *__restrict__ bo)
 
template<typename T >
__global__ void gather_kernel_min (T *__restrict__ v, const int m, const int o, const int *__restrict__ dg, const T *__restrict__ u, const int n, const int *__restrict__ gd, const int nb, const int *__restrict__ b, const int *__restrict__ bo)
 
template<typename T >
__global__ void gather_kernel_max (T *__restrict__ v, const int m, const int o, const int *__restrict__ dg, const T *__restrict__ u, const int n, const int *__restrict__ gd, const int nb, const int *__restrict__ b, const int *__restrict__ bo)
 
template<typename T >
__global__ void scatter_kernel (T *__restrict__ v, const int m, const int *__restrict__ dg, T *__restrict__ u, const int n, const int *__restrict__ gd, const int nb, const int *__restrict__ b, const int *__restrict__ bo)
 
template<typename T >
__global__ void gs_pack_kernel (const T *__restrict__ u, T *__restrict__ buf, const int32_t *__restrict__ dof, const int n)
 
template<typename T >
__global__ void gs_unpack_add_kernel (T *__restrict__ u, const T *__restrict__ buf, const int32_t *__restrict__ dof, const int n)
 

Function Documentation

◆ gather_kernel_add()

template<typename T >
__global__ void gather_kernel_add ( T *__restrict__  v,
const int  m,
const int  o,
const int *__restrict__  dg,
const T *__restrict__  u,
const int  n,
const int *__restrict__  gd,
const int  nb,
const int *__restrict__  b,
const int *__restrict__  bo 
)

Device gather kernel for addition of data \( v(dg(i)) = v(dg(i)) + u(gd(i)) \)

Definition at line 43 of file gs_kernels.h.

◆ gather_kernel_max()

template<typename T >
__global__ void gather_kernel_max ( T *__restrict__  v,
const int  m,
const int  o,
const int *__restrict__  dg,
const T *__restrict__  u,
const int  n,
const int *__restrict__  gd,
const int  nb,
const int *__restrict__  b,
const int *__restrict__  bo 
)

Device gather kernel for maximum of data \( v(dg(i)) = \max(v(dg(i)), u(gd(i))) \)

Definition at line 178 of file gs_kernels.h.

◆ gather_kernel_min()

template<typename T >
__global__ void gather_kernel_min ( T *__restrict__  v,
const int  m,
const int  o,
const int *__restrict__  dg,
const T *__restrict__  u,
const int  n,
const int *__restrict__  gd,
const int  nb,
const int *__restrict__  b,
const int *__restrict__  bo 
)

Device gather kernel for minimum of data \( v(dg(i)) = \min(v(dg(i)), u(gd(i))) \)

Definition at line 133 of file gs_kernels.h.

◆ gather_kernel_mul()

template<typename T >
__global__ void gather_kernel_mul ( T *__restrict__  v,
const int  m,
const int  o,
const int *__restrict__  dg,
const T *__restrict__  u,
const int  n,
const int *__restrict__  gd,
const int  nb,
const int *__restrict__  b,
const int *__restrict__  bo 
)

Device gather kernel for multiplication of data \( v(dg(i)) = v(dg(i)) \cdot u(gd(i)) \)

Definition at line 88 of file gs_kernels.h.

◆ gs_pack_kernel()

template<typename T >
__global__ void gs_pack_kernel ( const T *__restrict__  u,
T *__restrict__  buf,
const int32_t *__restrict__  dof,
const int  n 
)

Definition at line 254 of file gs_kernels.h.

◆ gs_unpack_add_kernel()

template<typename T >
__global__ void gs_unpack_add_kernel ( T *__restrict__  u,
const T *__restrict__  buf,
const int32_t *__restrict__  dof,
const int  n 
)

Definition at line 269 of file gs_kernels.h.

◆ scatter_kernel()

template<typename T >
__global__ void scatter_kernel ( T *__restrict__  v,
const int  m,
const int *__restrict__  dg,
T *__restrict__  u,
const int  n,
const int *__restrict__  gd,
const int  nb,
const int *__restrict__  b,
const int *__restrict__  bo 
)

Device scatter kernel \( u(gd(i) = v(dg(i)) \)

Definition at line 223 of file gs_kernels.h.