Neko 1.99.5
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
gs_nvshmem_kernels.h File Reference
#include <nvshmemx.h>
Include dependency graph for gs_nvshmem_kernels.h:

Go to the source code of this file.

Functions

template<typename T >
__global__ void pack_pushShmemKernel (const T *__restrict__ u, T *dest, T *__restrict__ src, const int *__restrict__ dof, const int destRank, const int n, uint64_t iter, uint64_t *doneSig, uint64_t *readySlot)
 
template<>
__global__ void pack_pushShmemKernel (const float *__restrict__ u, float *dest, float *__restrict__ src, const int *__restrict__ dof, const int destRank, const int n, uint64_t iter, uint64_t *doneSig, uint64_t *readySlot)
 
template<>
__global__ void pack_pushShmemKernel (const double *__restrict__ u, double *dest, double *__restrict__ src, const int *__restrict__ dof, const int destRank, const int n, uint64_t iter, uint64_t *doneSig, uint64_t *readySlot)
 
__global__ void pushShmemKernelWait (uint64_t iter, uint64_t *doneSlot)
 
__global__ void postReadyShmemKernel (uint64_t *readySlot, uint64_t iter, const int srcRank)
 
template<typename T >
__global__ void pack_pushShmemKernel_vec (const T *__restrict__ u, T *dest, T *__restrict__ src, const int *__restrict__ dof, const int destRank, const int n, const int nc, const int ns, uint64_t iter, uint64_t *doneSig, uint64_t *readySlot)
 
template<>
__global__ void pack_pushShmemKernel_vec (const float *__restrict__ u, float *dest, float *__restrict__ src, const int *__restrict__ dof, const int destRank, const int n, const int nc, const int ns, uint64_t iter, uint64_t *doneSig, uint64_t *readySlot)
 
template<>
__global__ void pack_pushShmemKernel_vec (const double *__restrict__ u, double *dest, double *__restrict__ src, const int *__restrict__ dof, const int destRank, const int n, const int nc, const int ns, uint64_t iter, uint64_t *doneSig, uint64_t *readySlot)
 

Function Documentation

◆ pack_pushShmemKernel() [1/3]

template<>
__global__ void pack_pushShmemKernel ( const double *__restrict__  u,
double dest,
double *__restrict__  src,
const int *__restrict__  dof,
const int  destRank,
const int  n,
uint64_t  iter,
uint64_t doneSig,
uint64_t readySlot 
)

Definition at line 108 of file gs_nvshmem_kernels.h.

Here is the call graph for this function:

◆ pack_pushShmemKernel() [2/3]

template<>
__global__ void pack_pushShmemKernel ( const float *__restrict__  u,
float dest,
float *__restrict__  src,
const int *__restrict__  dof,
const int  destRank,
const int  n,
uint64_t  iter,
uint64_t doneSig,
uint64_t readySlot 
)

Definition at line 78 of file gs_nvshmem_kernels.h.

Here is the call graph for this function:

◆ pack_pushShmemKernel() [3/3]

template<typename T >
__global__ void pack_pushShmemKernel ( const T *__restrict__  u,
T dest,
T *__restrict__  src,
const int *__restrict__  dof,
const int  destRank,
const int  n,
uint64_t  iter,
uint64_t doneSig,
uint64_t readySlot 
)

◆ pack_pushShmemKernel_vec() [1/3]

template<>
__global__ void pack_pushShmemKernel_vec ( const double *__restrict__  u,
double dest,
double *__restrict__  src,
const int *__restrict__  dof,
const int  destRank,
const int  n,
const int  nc,
const int  ns,
uint64_t  iter,
uint64_t doneSig,
uint64_t readySlot 
)

Definition at line 213 of file gs_nvshmem_kernels.h.

Here is the call graph for this function:

◆ pack_pushShmemKernel_vec() [2/3]

template<>
__global__ void pack_pushShmemKernel_vec ( const float *__restrict__  u,
float dest,
float *__restrict__  src,
const int *__restrict__  dof,
const int  destRank,
const int  n,
const int  nc,
const int  ns,
uint64_t  iter,
uint64_t doneSig,
uint64_t readySlot 
)

Definition at line 179 of file gs_nvshmem_kernels.h.

Here is the call graph for this function:

◆ pack_pushShmemKernel_vec() [3/3]

template<typename T >
__global__ void pack_pushShmemKernel_vec ( const T *__restrict__  u,
T dest,
T *__restrict__  src,
const int *__restrict__  dof,
const int  destRank,
const int  n,
const int  nc,
const int  ns,
uint64_t  iter,
uint64_t doneSig,
uint64_t readySlot 
)

◆ postReadyShmemKernel()

__global__ void postReadyShmemKernel ( uint64_t readySlot,
uint64_t  iter,
const int  srcRank 
)

Definition at line 150 of file gs_nvshmem_kernels.h.

Here is the call graph for this function:

◆ pushShmemKernelWait()

__global__ void pushShmemKernelWait ( uint64_t  iter,
uint64_t doneSlot 
)

Definition at line 139 of file gs_nvshmem_kernels.h.

Here is the call graph for this function: