Neko  0.9.99
A portable framework for high-order spectral element flow simulations
gs.cu File Reference
#include <climits>
#include <cstdio>
#include <device/device_config.h>
#include <device/cuda/check.h>
#include "gs_kernels.h"
Include dependency graph for gs.cu:

Go to the source code of this file.

Macros

#define GS_OP_ADD   1
 
#define GS_OP_MUL   2
 
#define GS_OP_MIN   3
 
#define GS_OP_MAX   4
 

Functions

void cuda_gather_kernel (void *v, int *m, int *o, void *dg, void *u, int *n, void *gd, int *nb, void *b, void *bo, int *op, cudaStream_t stream)
 
void cuda_scatter_kernel (void *v, int *m, void *dg, void *u, int *n, void *gd, int *nb, void *b, void *bo, cudaStream_t stream)
 
void cuda_gs_pack (void *u_d, void *buf_d, void *dof_d, int offset, int n, cudaStream_t stream)
 
void cuda_gs_unpack (real *u_d, int op, real *buf_d, int *dof_d, int offset, int n, cudaStream_t stream)
 

Macro Definition Documentation

◆ GS_OP_ADD

#define GS_OP_ADD   1

Definition at line 41 of file gs.cu.

◆ GS_OP_MAX

#define GS_OP_MAX   4

Definition at line 44 of file gs.cu.

◆ GS_OP_MIN

#define GS_OP_MIN   3

Definition at line 43 of file gs.cu.

◆ GS_OP_MUL

#define GS_OP_MUL   2

Definition at line 42 of file gs.cu.

Function Documentation

◆ cuda_gather_kernel()

void cuda_gather_kernel ( void *  v,
int *  m,
int *  o,
void *  dg,
void *  u,
int *  n,
void *  gd,
int *  nb,
void *  b,
void *  bo,
int *  op,
cudaStream_t  stream 
)

Fortran wrapper for device gather kernels

Definition at line 51 of file gs.cu.

Here is the caller graph for this function:

◆ cuda_gs_pack()

void cuda_gs_pack ( void *  u_d,
void *  buf_d,
void *  dof_d,
int  offset,
int  n,
cudaStream_t  stream 
)

Pack send buffer on device

Definition at line 116 of file gs.cu.

Here is the caller graph for this function:

◆ cuda_gs_unpack()

void cuda_gs_unpack ( real u_d,
int  op,
real buf_d,
int *  dof_d,
int  offset,
int  n,
cudaStream_t  stream 
)

Unpack receive buffer on device

Definition at line 139 of file gs.cu.

Here is the caller graph for this function:

◆ cuda_scatter_kernel()

void cuda_scatter_kernel ( void *  v,
int *  m,
void *  dg,
void *  u,
int *  n,
void *  gd,
int *  nb,
void *  b,
void *  bo,
cudaStream_t  stream 
)

Fortran wrapper for device scatter kernel

Definition at line 96 of file gs.cu.

Here is the caller graph for this function: