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

Go to the source code of this file.

Macros

#define max(a, b)
 
#define CASE(N)
 
#define CASE_LARGE(N)
 
#define CASE2(N)
 

Functions

void cuda_tnsr3d (void *v, int *nv, void *u, int *nu, void *A, void *Bt, void *Ct, int *nel)
 
void cuda_tnsr3d_el_list (void *v, int *nv, void *u, int *nu, void *A, void *Bt, void *Ct, int *elements, int *n_points)
 

Macro Definition Documentation

◆ CASE

#define CASE (   N)
Value:
case N: \
tnsr3d_kernel<real, N> \
<<<nblcks, nthrds, 0, stream>>>((real *) v, *nv, \
(real *) u, *nu, \
(real *) A, (real *) Bt, (real *) Ct); \
CUDA_CHECK(cudaGetLastError()); \
break
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ u
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ v
double real
Definition: device_config.h:12

◆ CASE2

#define CASE2 (   N)
Value:
case N: \
tnsr3d_el_kernel<real, N> \
<<<nblcks, nthrds, 0, stream>>>((real *) v, *nv, \
(real *) u, *nu, \
(real *) A, (real *) Bt, (real *) Ct, \
(int *) elements, *n_points); \
CUDA_CHECK(cudaGetLastError()); \
break

◆ CASE_LARGE

#define CASE_LARGE (   N)
Value:
case N: \
tnsr3d_kernel_large<real, N> \
<<<nblcks, nthrds, 0, stream>>>((real *) v, *nv, \
(real *) u, *nu, \
(real *) A, (real *) Bt, (real *) Ct); \
CUDA_CHECK(cudaGetLastError()); \
break

◆ max

#define max (   a,
 
)
Value:
({ __typeof__ (a) _a = (a); \
__typeof__ (b) _b = (b); \
_a > _b ? _a : _b; })

Definition at line 40 of file tensor.cu.

Function Documentation

◆ cuda_tnsr3d()

void cuda_tnsr3d ( void *  v,
int *  nv,
void *  u,
int *  nu,
void *  A,
void *  Bt,
void *  Ct,
int *  nel 
)

Fortran wrapper for tnsr3d

Definition at line 49 of file tensor.cu.

Here is the caller graph for this function:

◆ cuda_tnsr3d_el_list()

void cuda_tnsr3d_el_list ( void *  v,
int *  nv,
void *  u,
int *  nu,
void *  A,
void *  Bt,
void *  Ct,
int *  elements,
int *  n_points 
)

Fortran wrapper for tnsr3d

Definition at line 99 of file tensor.cu.

Here is the caller graph for this function: