BG_Flood  0.1
Documentation (Work-in-progress)
Gradients.h
Go to the documentation of this file.
1 #ifndef GRADIENTS_H
2 #define GRADIENTS_H
3 
4 #include "General.h"
5 #include "Param.h"
6 #include "Arrays.h"
7 #include "Forcing.h"
8 #include "Util_CPU.h"
9 #include "Setup_GPU.h"
10 #include "MemManagement.h"
11 #include "Halo.h"
12 
13 // CPU specific functions
14 template <class T> void gradientCPU(Param XParam, BlockP<T>XBlock, EvolvingP<T> XEv, GradientsP<T> XGrad, T* zb);
15 template <class T> void gradientC(Param XParam, BlockP<T> XBlock, T* a, T* dadx, T* dady);
16 template <class T> void gradientHalo(Param XParam, BlockP<T>XBlock, T* a, T* dadx, T* dady);
17 
18 // GPU specific functions
19 template <class T> void gradientGPU(Param XParam, BlockP<T>XBlock, EvolvingP<T> XEv, GradientsP<T> XGrad, T* zb);
20 template <class T> void gradientGPUnew(Param XParam, BlockP<T>XBlock, EvolvingP<T> XEv, GradientsP<T> XGrad, T* zb);
21 template <class T> __global__ void gradient(int halowidth, int* active, int* level, T theta, T dx, T* a, T* dadx, T* dady);
22 template <class T> __global__ void gradientSM(int halowidth, int* active, int* level, T theta, T dx, T* a, T* dadx, T* dady);
23 template <class T> __global__ void gradientSMB(int halowidth, int* active, int* level, T theta, T dx, T* a, T* dadx, T* dady);
24 template <class T> __global__ void gradientSMC(int halowidth, int* active, int* level, T theta, T dx, T* a, T* dadx, T* dady);
25 template <class T> __global__ void gradientedgeX(int halowidth, int* active, int* level, T theta, T dx, T* a, T* dadx);
26 template <class T> __global__ void gradientedgeY(int halowidth, int* active, int* level, T theta, T dx, T* a, T* dady);
27 template <class T> void gradientHaloGPU(Param XParam, BlockP<T>XBlock, T* a, T* dadx, T* dady);
28 
29 template <class T> __global__ void WetsloperesetXGPU(Param XParam, BlockP<T>XBlock, EvolvingP<T> XEv, GradientsP<T> XGrad, T* zb);
30 template <class T> __global__ void WetsloperesetYGPU(Param XParam, BlockP<T>XBlock, EvolvingP<T> XEv, GradientsP<T> XGrad, T* zb);
31 
32 template <class T> __global__ void WetsloperesetHaloLeftGPU(Param XParam, BlockP<T>XBlock, EvolvingP<T> XEv, GradientsP<T> XGrad, T* zb);
33 template <class T> __global__ void WetsloperesetHaloRightGPU(Param XParam, BlockP<T>XBlock, EvolvingP<T> XEv, GradientsP<T> XGrad, T* zb);
34 template <class T> __global__ void WetsloperesetHaloBotGPU(Param XParam, BlockP<T>XBlock, EvolvingP<T> XEv, GradientsP<T> XGrad, T* zb);
35 template <class T> __global__ void WetsloperesetHaloTopGPU(Param XParam, BlockP<T>XBlock, EvolvingP<T> XEv, GradientsP<T> XGrad, T* zb);
36 
37 
38 template <class T> __global__ void gradientHaloLeftGPU(Param XParam, BlockP<T>XBlock, T* a, T* dadx, T* dady);
39 template <class T> __global__ void gradientHaloRightGPU(Param XParam, BlockP<T>XBlock, T* a, T* dadx, T* dady);
40 template <class T> __global__ void gradientHaloTopGPU(Param XParam, BlockP<T>XBlock, T* a, T* dadx, T* dady);
41 template <class T> __global__ void gradientHaloBotGPU(Param XParam, BlockP<T>XBlock, T* a, T* dadx, T* dady);
42 
43 template <class T> __global__ void gradientHaloLeftGPUnew(Param XParam, BlockP<T>XBlock, T* a, T* dadx, T* dady);
44 template <class T> __global__ void gradientHaloRightGPUnew(Param XParam, BlockP<T>XBlock, T* a, T* dadx, T* dady);
45 template <class T> __global__ void gradientHaloTopGPUnew(Param XParam, BlockP<T>XBlock, T* a, T* dadx, T* dady);
46 template <class T> __global__ void gradientHaloBotGPUnew(Param XParam, BlockP<T>XBlock, T* a, T* dadx, T* dady);
47 // End of global definition
48 #endif
float * zb
Definition: BasCart_gpu.cu:54
int * level
Definition: BasCart_gpu.cu:166
__global__ void gradientedgeX(int halowidth, int *active, int *level, T theta, T dx, T *a, T *dadx)
Definition: Gradients.cu:682
__global__ void gradientSM(int halowidth, int *active, int *level, T theta, T dx, T *a, T *dadx, T *dady)
Definition: Gradients.cu:446
__global__ void gradientHaloRightGPU(Param XParam, BlockP< T >XBlock, T *a, T *dadx, T *dady)
Definition: Gradients.cu:3227
void gradientC(Param XParam, BlockP< T > XBlock, T *a, T *dadx, T *dady)
Definition: Gradients.cu:814
__global__ void gradientHaloLeftGPUnew(Param XParam, BlockP< T >XBlock, T *a, T *dadx, T *dady)
Definition: Gradients.cu:3086
__global__ void gradientHaloLeftGPU(Param XParam, BlockP< T >XBlock, T *a, T *dadx, T *dady)
Definition: Gradients.cu:2949
__global__ void gradientSMB(int halowidth, int *active, int *level, T theta, T dx, T *a, T *dadx, T *dady)
Definition: Gradients.cu:525
void gradientGPUnew(Param XParam, BlockP< T >XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, T *zb)
Definition: Gradients.cu:187
__global__ void WetsloperesetHaloTopGPU(Param XParam, BlockP< T >XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, T *zb)
Definition: Gradients.cu:2017
__global__ void WetsloperesetYGPU(Param XParam, BlockP< T >XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, T *zb)
Definition: Gradients.cu:1043
__global__ void gradientHaloBotGPUnew(Param XParam, BlockP< T >XBlock, T *a, T *dadx, T *dady)
Definition: Gradients.cu:3647
__global__ void WetsloperesetXGPU(Param XParam, BlockP< T >XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, T *zb)
Definition: Gradients.cu:1004
void gradientHaloGPU(Param XParam, BlockP< T >XBlock, T *a, T *dadx, T *dady)
Definition: Gradients.cu:2354
__global__ void gradientSMC(int halowidth, int *active, int *level, T theta, T dx, T *a, T *dadx, T *dady)
Definition: Gradients.cu:580
void gradientCPU(Param XParam, BlockP< T >XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, T *zb)
Definition: Gradients.cu:854
void gradientGPU(Param XParam, BlockP< T >XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, T *zb)
Definition: Gradients.cu:8
__global__ void gradientedgeY(int halowidth, int *active, int *level, T theta, T dx, T *a, T *dady)
Definition: Gradients.cu:750
__global__ void WetsloperesetHaloBotGPU(Param XParam, BlockP< T >XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, T *zb)
Definition: Gradients.cu:1704
__global__ void gradient(int halowidth, int *active, int *level, T theta, T dx, T *a, T *dadx, T *dady)
Definition: Gradients.cu:389
__global__ void WetsloperesetHaloLeftGPU(Param XParam, BlockP< T >XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, T *zb)
Definition: Gradients.cu:1083
__global__ void gradientHaloTopGPU(Param XParam, BlockP< T >XBlock, T *a, T *dadx, T *dady)
Definition: Gradients.cu:3793
__global__ void WetsloperesetHaloRightGPU(Param XParam, BlockP< T >XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, T *zb)
Definition: Gradients.cu:1386
__global__ void gradientHaloBotGPU(Param XParam, BlockP< T >XBlock, T *a, T *dadx, T *dady)
Definition: Gradients.cu:3504
void gradientHalo(Param XParam, BlockP< T >XBlock, T *a, T *dadx, T *dady)
Definition: Gradients.cu:2330
__global__ void gradientHaloRightGPUnew(Param XParam, BlockP< T >XBlock, T *a, T *dadx, T *dady)
Definition: Gradients.cu:3365
__global__ void gradientHaloTopGPUnew(Param XParam, BlockP< T >XBlock, T *a, T *dadx, T *dady)
Definition: Gradients.cu:3936
Definition: Param.h:10
Definition: Arrays.h:100
Definition: Arrays.h:29
Definition: Arrays.h:11