Loading web-font TeX/Math/Italic
Neko 0.9.99
A portable framework for high-order spectral element flow simulations
All Classes Namespaces Files Functions Variables Typedefs Enumerator Macros Pages
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)
 
template<typename T >
__device__ T atomicMinFloat (T *address, T val)
 
template<>
__device__ float atomicMinFloat< float > (float *address, float val)
 
template<>
__device__ double atomicMinFloat< double > (double *address, double val)
 
template<typename T >
__global__ void gs_unpack_min_kernel (T *__restrict__ u, const T *__restrict__ buf, const int32_t *__restrict__ dof, const int n)
 
template<typename T >
__device__ T atomicMaxFloat (T *address, T val)
 
template<>
__device__ float atomicMaxFloat< float > (float *address, float val)
 
template<>
__device__ double atomicMaxFloat< double > (double *address, double val)
 
template<typename T >
__global__ void gs_unpack_max_kernel (T *__restrict__ u, const T *__restrict__ buf, const int32_t *__restrict__ dof, const int n)
 

Function Documentation

◆ atomicMaxFloat()

template<typename T >
__device__ T atomicMaxFloat ( T address,
T  val 
)

◆ atomicMaxFloat< double >()

template<>
__device__ double atomicMaxFloat< double > ( double address,
double  val 
)

Definition at line 345 of file gs_kernels.h.

Here is the call graph for this function:

◆ atomicMaxFloat< float >()

template<>
__device__ float atomicMaxFloat< float > ( float address,
float  val 
)

Definition at line 337 of file gs_kernels.h.

Here is the call graph for this function:

◆ atomicMinFloat()

template<typename T >
__device__ T atomicMinFloat ( T address,
T  val 
)

◆ atomicMinFloat< double >()

template<>
__device__ double atomicMinFloat< double > ( double address,
double  val 
)

Definition at line 301 of file gs_kernels.h.

Here is the call graph for this function:

◆ atomicMinFloat< float >()

template<>
__device__ float atomicMinFloat< float > ( float address,
float  val 
)

Definition at line 292 of file gs_kernels.h.

Here is the call graph for this function:

◆ 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.

Here is the call graph for this function:

◆ 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.

Here is the call graph for this function:

◆ 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.

Here is the call graph for this function:

◆ 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.

Here is the call graph for this function:

◆ 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.

Here is the call graph for this function:

◆ 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.

Here is the call graph for this function:

◆ gs_unpack_max_kernel()

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

Definition at line 355 of file gs_kernels.h.

Here is the call graph for this function:

◆ gs_unpack_min_kernel()

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

Definition at line 311 of file gs_kernels.h.

Here is the call graph for this function:

◆ 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.

Here is the call graph for this function: