BG_Flood  0.8
Documentation (Work-in-progress)
Gradients.cu File Reference
#include "Gradients.h"
Include dependency graph for Gradients.cu:

Functions

template<class T >
void gradientGPU (Param XParam, BlockP< T >XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, T *zb)
 
template void gradientGPU< float > (Param XParam, BlockP< float >XBlock, EvolvingP< float > XEv, GradientsP< float > XGrad, float *zb)
 
template void gradientGPU< double > (Param XParam, BlockP< double >XBlock, EvolvingP< double > XEv, GradientsP< double > XGrad, double *zb)
 
template<class T >
void gradientGPUnew (Param XParam, BlockP< T >XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, T *zb)
 
template void gradientGPUnew< float > (Param XParam, BlockP< float >XBlock, EvolvingP< float > XEv, GradientsP< float > XGrad, float *zb)
 
template void gradientGPUnew< double > (Param XParam, BlockP< double >XBlock, EvolvingP< double > XEv, GradientsP< double > XGrad, double *zb)
 
template<class T >
__global__ void gradient (int halowidth, int *active, int *level, T theta, T dx, T *a, T *dadx, T *dady)
 
template __global__ void gradient< float > (int halowidth, int *active, int *level, float theta, float dx, float *a, float *dadx, float *dady)
 
template __global__ void gradient< double > (int halowidth, int *active, int *level, double theta, double dx, double *a, double *dadx, double *dady)
 
template<class T >
__global__ void gradientSM (int halowidth, int *active, int *level, T theta, T dx, T *a, T *dadx, T *dady)
 
template __global__ void gradientSM< float > (int halowidth, int *active, int *level, float theta, float dx, float *a, float *dadx, float *dady)
 
template __global__ void gradientSM< double > (int halowidth, int *active, int *level, double theta, double dx, double *a, double *dadx, double *dady)
 
template<class T >
__global__ void gradientSMB (int halowidth, int *active, int *level, T theta, T dx, T *a, T *dadx, T *dady)
 
template __global__ void gradientSMB< float > (int halowidth, int *active, int *level, float theta, float dx, float *a, float *dadx, float *dady)
 
template __global__ void gradientSMB< double > (int halowidth, int *active, int *level, double theta, double dx, double *a, double *dadx, double *dady)
 
template<class T >
__global__ void gradientSMC (int halowidth, int *active, int *level, T theta, T dx, T *a, T *dadx, T *dady)
 
template __global__ void gradientSMC< float > (int halowidth, int *active, int *level, float theta, float dx, float *a, float *dadx, float *dady)
 
template __global__ void gradientSMC< double > (int halowidth, int *active, int *level, double theta, double dx, double *a, double *dadx, double *dady)
 
template<class T >
__global__ void gradientedgeX (int halowidth, int *active, int *level, T theta, T dx, T *a, T *dadx)
 
template __global__ void gradientedgeX< float > (int halowidth, int *active, int *level, float theta, float dx, float *a, float *dadx)
 
template __global__ void gradientedgeX< double > (int halowidth, int *active, int *level, double theta, double dx, double *a, double *dadx)
 
template<class T >
__global__ void gradientedgeY (int halowidth, int *active, int *level, T theta, T dx, T *a, T *dady)
 
template __global__ void gradientedgeY< float > (int halowidth, int *active, int *level, float theta, float dx, float *a, float *dady)
 
template __global__ void gradientedgeY< double > (int halowidth, int *active, int *level, double theta, double dx, double *a, double *dady)
 
template<class T >
void gradientC (Param XParam, BlockP< T > XBlock, T *a, T *dadx, T *dady)
 
template void gradientC< float > (Param XParam, BlockP< float > XBlock, float *a, float *dadx, float *dady)
 
template void gradientC< double > (Param XParam, BlockP< double > XBlock, double *a, double *dadx, double *dady)
 
template<class T >
void gradientCPU (Param XParam, BlockP< T >XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, T *zb)
 
template void gradientCPU< float > (Param XParam, BlockP< float >XBlock, EvolvingP< float > XEv, GradientsP< float > XGrad, float *zb)
 
template void gradientCPU< double > (Param XParam, BlockP< double >XBlock, EvolvingP< double > XEv, GradientsP< double > XGrad, double *zb)
 
template<class T >
void WetsloperesetCPU (Param XParam, BlockP< T >XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, T *zb)
 
template<class T >
__global__ void WetsloperesetXGPU (Param XParam, BlockP< T >XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, T *zb)
 
template<class T >
__global__ void WetsloperesetYGPU (Param XParam, BlockP< T >XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, T *zb)
 
template<class T >
__global__ void WetsloperesetHaloLeftGPU (Param XParam, BlockP< T >XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, T *zb)
 
template<class T >
void WetsloperesetHaloLeftCPU (Param XParam, BlockP< T >XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, T *zb)
 
template<class T >
__global__ void WetsloperesetHaloRightGPU (Param XParam, BlockP< T >XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, T *zb)
 
template<class T >
void WetsloperesetHaloRightCPU (Param XParam, BlockP< T >XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, T *zb)
 
template<class T >
__global__ void WetsloperesetHaloBotGPU (Param XParam, BlockP< T >XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, T *zb)
 
template<class T >
void WetsloperesetHaloBotCPU (Param XParam, BlockP< T >XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, T *zb)
 
template<class T >
__global__ void WetsloperesetHaloTopGPU (Param XParam, BlockP< T >XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, T *zb)
 
template<class T >
void WetsloperesetHaloTopCPU (Param XParam, BlockP< T >XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, T *zb)
 
template<class T >
void gradientHalo (Param XParam, BlockP< T >XBlock, T *a, T *dadx, T *dady)
 
template<class T >
void gradientHaloGPU (Param XParam, BlockP< T >XBlock, T *a, T *dadx, T *dady)
 
template<class T >
void gradientHaloGPUnew (Param XParam, BlockP< T >XBlock, T *a, T *dadx, T *dady)
 
template<class T >
void gradientHaloLeft (Param XParam, BlockP< T >XBlock, int ib, int iy, T *a, T *dadx, T *dady)
 
template<class T >
void gradientHaloRight (Param XParam, BlockP< T >XBlock, int ib, int iy, T *a, T *dadx, T *dady)
 
template<class T >
void gradientHaloBot (Param XParam, BlockP< T >XBlock, int ib, int ix, T *a, T *dadx, T *dady)
 
template<class T >
void gradientHaloTop (Param XParam, BlockP< T >XBlock, int ib, int ix, T *a, T *dadx, T *dady)
 
template<class T >
__global__ void gradientHaloLeftGPU (Param XParam, BlockP< T >XBlock, T *a, T *dadx, T *dady)
 
template<class T >
__global__ void gradientHaloLeftGPUnew (Param XParam, BlockP< T >XBlock, T *a, T *dadx, T *dady)
 
template<class T >
__global__ void gradientHaloRightGPU (Param XParam, BlockP< T >XBlock, T *a, T *dadx, T *dady)
 
template<class T >
__global__ void gradientHaloRightGPUnew (Param XParam, BlockP< T >XBlock, T *a, T *dadx, T *dady)
 
template<class T >
__global__ void gradientHaloBotGPU (Param XParam, BlockP< T >XBlock, T *a, T *dadx, T *dady)
 
template<class T >
__global__ void gradientHaloBotGPUnew (Param XParam, BlockP< T >XBlock, T *a, T *dadx, T *dady)
 
template<class T >
__global__ void gradientHaloTopGPU (Param XParam, BlockP< T >XBlock, T *a, T *dadx, T *dady)
 
template<class T >
__global__ void gradientHaloTopGPUnew (Param XParam, BlockP< T >XBlock, T *a, T *dadx, T *dady)
 

Function Documentation

◆ gradient()

template<class T >
void gradient ( int  halowidth,
int *  active,
int *  level,
theta,
dx,
T *  a,
T *  dadx,
T *  dady 
)

Device kernel for calculating grdients for an evolving poarameter using the minmod limiter

◆ gradient< double >()

template __global__ void gradient< double > ( int  halowidth,
int *  active,
int *  level,
double  theta,
double  dx,
double *  a,
double *  dadx,
double *  dady 
)

◆ gradient< float >()

template __global__ void gradient< float > ( int  halowidth,
int *  active,
int *  level,
float  theta,
float  dx,
float *  a,
float *  dadx,
float *  dady 
)

◆ gradientC()

template<class T >
void gradientC ( Param  XParam,
BlockP< T >  XBlock,
T *  a,
T *  dadx,
T *  dady 
)

◆ gradientC< double >()

template void gradientC< double > ( Param  XParam,
BlockP< double >  XBlock,
double *  a,
double *  dadx,
double *  dady 
)

◆ gradientC< float >()

template void gradientC< float > ( Param  XParam,
BlockP< float >  XBlock,
float *  a,
float *  dadx,
float *  dady 
)

◆ gradientCPU()

template<class T >
void gradientCPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
T *  zb 
)

◆ gradientCPU< double >()

template void gradientCPU< double > ( Param  XParam,
BlockP< double >  XBlock,
EvolvingP< double >  XEv,
GradientsP< double >  XGrad,
double *  zb 
)

◆ gradientCPU< float >()

template void gradientCPU< float > ( Param  XParam,
BlockP< float >  XBlock,
EvolvingP< float >  XEv,
GradientsP< float >  XGrad,
float *  zb 
)

◆ gradientedgeX()

template<class T >
__global__ void gradientedgeX ( int  halowidth,
int *  active,
int *  level,
theta,
dx,
T *  a,
T *  dadx 
)

◆ gradientedgeX< double >()

template __global__ void gradientedgeX< double > ( int  halowidth,
int *  active,
int *  level,
double  theta,
double  dx,
double *  a,
double *  dadx 
)

◆ gradientedgeX< float >()

template __global__ void gradientedgeX< float > ( int  halowidth,
int *  active,
int *  level,
float  theta,
float  dx,
float *  a,
float *  dadx 
)

◆ gradientedgeY()

template<class T >
__global__ void gradientedgeY ( int  halowidth,
int *  active,
int *  level,
theta,
dx,
T *  a,
T *  dady 
)

◆ gradientedgeY< double >()

template __global__ void gradientedgeY< double > ( int  halowidth,
int *  active,
int *  level,
double  theta,
double  dx,
double *  a,
double *  dady 
)

◆ gradientedgeY< float >()

template __global__ void gradientedgeY< float > ( int  halowidth,
int *  active,
int *  level,
float  theta,
float  dx,
float *  a,
float *  dady 
)

◆ gradientGPU()

template<class T >
void gradientGPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
T *  zb 
)

Wrapping function to calculate gradien of evolving variables on GPU This function is the entry point to the gradient functions on the GPU

◆ gradientGPU< double >()

template void gradientGPU< double > ( Param  XParam,
BlockP< double >  XBlock,
EvolvingP< double >  XEv,
GradientsP< double >  XGrad,
double *  zb 
)

◆ gradientGPU< float >()

template void gradientGPU< float > ( Param  XParam,
BlockP< float >  XBlock,
EvolvingP< float >  XEv,
GradientsP< float >  XGrad,
float *  zb 
)

◆ gradientGPUnew()

template<class T >
void gradientGPUnew ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
T *  zb 
)

◆ gradientGPUnew< double >()

template void gradientGPUnew< double > ( Param  XParam,
BlockP< double >  XBlock,
EvolvingP< double >  XEv,
GradientsP< double >  XGrad,
double *  zb 
)

◆ gradientGPUnew< float >()

template void gradientGPUnew< float > ( Param  XParam,
BlockP< float >  XBlock,
EvolvingP< float >  XEv,
GradientsP< float >  XGrad,
float *  zb 
)

◆ gradientHalo()

template<class T >
void gradientHalo ( Param  XParam,
BlockP< T >  XBlock,
T *  a,
T *  dadx,
T *  dady 
)

◆ gradientHaloBot()

template<class T >
void gradientHaloBot ( Param  XParam,
BlockP< T >  XBlock,
int  ib,
int  ix,
T *  a,
T *  dadx,
T *  dady 
)

◆ gradientHaloBotGPU()

template<class T >
__global__ void gradientHaloBotGPU ( Param  XParam,
BlockP< T >  XBlock,
T *  a,
T *  dadx,
T *  dady 
)

◆ gradientHaloBotGPUnew()

template<class T >
__global__ void gradientHaloBotGPUnew ( Param  XParam,
BlockP< T >  XBlock,
T *  a,
T *  dadx,
T *  dady 
)

◆ gradientHaloGPU()

template<class T >
void gradientHaloGPU ( Param  XParam,
BlockP< T >  XBlock,
T *  a,
T *  dadx,
T *  dady 
)

◆ gradientHaloGPUnew()

template<class T >
void gradientHaloGPUnew ( Param  XParam,
BlockP< T >  XBlock,
T *  a,
T *  dadx,
T *  dady 
)

◆ gradientHaloLeft()

template<class T >
void gradientHaloLeft ( Param  XParam,
BlockP< T >  XBlock,
int  ib,
int  iy,
T *  a,
T *  dadx,
T *  dady 
)

◆ gradientHaloLeftGPU()

template<class T >
__global__ void gradientHaloLeftGPU ( Param  XParam,
BlockP< T >  XBlock,
T *  a,
T *  dadx,
T *  dady 
)

◆ gradientHaloLeftGPUnew()

template<class T >
__global__ void gradientHaloLeftGPUnew ( Param  XParam,
BlockP< T >  XBlock,
T *  a,
T *  dadx,
T *  dady 
)

◆ gradientHaloRight()

template<class T >
void gradientHaloRight ( Param  XParam,
BlockP< T >  XBlock,
int  ib,
int  iy,
T *  a,
T *  dadx,
T *  dady 
)

◆ gradientHaloRightGPU()

template<class T >
__global__ void gradientHaloRightGPU ( Param  XParam,
BlockP< T >  XBlock,
T *  a,
T *  dadx,
T *  dady 
)

◆ gradientHaloRightGPUnew()

template<class T >
__global__ void gradientHaloRightGPUnew ( Param  XParam,
BlockP< T >  XBlock,
T *  a,
T *  dadx,
T *  dady 
)

◆ gradientHaloTop()

template<class T >
void gradientHaloTop ( Param  XParam,
BlockP< T >  XBlock,
int  ib,
int  ix,
T *  a,
T *  dadx,
T *  dady 
)

◆ gradientHaloTopGPU()

template<class T >
__global__ void gradientHaloTopGPU ( Param  XParam,
BlockP< T >  XBlock,
T *  a,
T *  dadx,
T *  dady 
)

◆ gradientHaloTopGPUnew()

template<class T >
__global__ void gradientHaloTopGPUnew ( Param  XParam,
BlockP< T >  XBlock,
T *  a,
T *  dadx,
T *  dady 
)

◆ gradientSM()

template<class T >
void gradientSM ( int  halowidth,
int *  active,
int *  level,
theta,
dx,
T *  a,
T *  dadx,
T *  dady 
)

Depreciated shared memory version of Device kernel for calculating gradients Much slower than above

◆ gradientSM< double >()

template __global__ void gradientSM< double > ( int  halowidth,
int *  active,
int *  level,
double  theta,
double  dx,
double *  a,
double *  dadx,
double *  dady 
)

◆ gradientSM< float >()

template __global__ void gradientSM< float > ( int  halowidth,
int *  active,
int *  level,
float  theta,
float  dx,
float *  a,
float *  dadx,
float *  dady 
)

◆ gradientSMB()

template<class T >
__global__ void gradientSMB ( int  halowidth,
int *  active,
int *  level,
theta,
dx,
T *  a,
T *  dadx,
T *  dady 
)

◆ gradientSMB< double >()

template __global__ void gradientSMB< double > ( int  halowidth,
int *  active,
int *  level,
double  theta,
double  dx,
double *  a,
double *  dadx,
double *  dady 
)

◆ gradientSMB< float >()

template __global__ void gradientSMB< float > ( int  halowidth,
int *  active,
int *  level,
float  theta,
float  dx,
float *  a,
float *  dadx,
float *  dady 
)

◆ gradientSMC()

template<class T >
__global__ void gradientSMC ( int  halowidth,
int *  active,
int *  level,
theta,
dx,
T *  a,
T *  dadx,
T *  dady 
)

◆ gradientSMC< double >()

template __global__ void gradientSMC< double > ( int  halowidth,
int *  active,
int *  level,
double  theta,
double  dx,
double *  a,
double *  dadx,
double *  dady 
)

◆ gradientSMC< float >()

template __global__ void gradientSMC< float > ( int  halowidth,
int *  active,
int *  level,
float  theta,
float  dx,
float *  a,
float *  dadx,
float *  dady 
)

◆ WetsloperesetCPU()

template<class T >
void WetsloperesetCPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
T *  zb 
)

◆ WetsloperesetHaloBotCPU()

template<class T >
void WetsloperesetHaloBotCPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
T *  zb 
)

◆ WetsloperesetHaloBotGPU()

template<class T >
__global__ void WetsloperesetHaloBotGPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
T *  zb 
)

◆ WetsloperesetHaloLeftCPU()

template<class T >
void WetsloperesetHaloLeftCPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
T *  zb 
)

◆ WetsloperesetHaloLeftGPU()

template<class T >
__global__ void WetsloperesetHaloLeftGPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
T *  zb 
)

◆ WetsloperesetHaloRightCPU()

template<class T >
void WetsloperesetHaloRightCPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
T *  zb 
)

◆ WetsloperesetHaloRightGPU()

template<class T >
__global__ void WetsloperesetHaloRightGPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
T *  zb 
)

◆ WetsloperesetHaloTopCPU()

template<class T >
void WetsloperesetHaloTopCPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
T *  zb 
)

◆ WetsloperesetHaloTopGPU()

template<class T >
__global__ void WetsloperesetHaloTopGPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
T *  zb 
)

◆ WetsloperesetXGPU()

template<class T >
__global__ void WetsloperesetXGPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
T *  zb 
)

◆ WetsloperesetYGPU()

template<class T >
__global__ void WetsloperesetYGPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
T *  zb 
)