File Setup_GPU.cu
FileList > src > Setup_GPU.cu
Go to the source code of this file
#include "Setup_GPU.h"
Public Functions
Type | Name |
---|---|
void | AllocateBndTEX (bndparam & side) Allocate boundary texture for GPU. |
void | AllocateTEX (int nx, int ny, TexSetP & Tex, float * input) Allocate and bind a CUDA texture object. |
void | CUDA_CHECK (cudaError CUDerr) Check CUDA error status and print message if error occurs. |
void | CopyGPUtoCPU (int nblk, int blksize, T * z_cpu, T * z_gpu) Copy data from GPU to CPU memory. |
template void | CopyGPUtoCPU< bool > (int nblk, int blksize, bool * z_cpu, bool * z_gpu) |
template void | CopyGPUtoCPU< double > (int nblk, int blksize, double * z_cpu, double * z_gpu) |
template void | CopyGPUtoCPU< float > (int nblk, int blksize, float * z_cpu, float * z_gpu) |
template void | CopyGPUtoCPU< int > (int nblk, int blksize, int * z_cpu, int * z_gpu) |
void | CopytoGPU (int nblk, int blksize, T * z_cpu, T * z_gpu) Copy data from CPU to GPU memory. |
void | CopytoGPU (int nblk, int blksize, EvolvingP< T > XEv_cpu, EvolvingP< T > XEv_gpu) Copy complex data structures from CPU to GPU. |
void | CopytoGPU (int nblk, int blksize, EvolvingP_M< T > XEv_cpu, EvolvingP_M< T > XEv_gpu) Copy complex data structures from CPU to GPU. |
void | CopytoGPU (int nblk, int blksize, GradientsP< T > XGrad_cpu, GradientsP< T > XGrad_gpu) Copy complex data structures from CPU to GPU. |
template void | CopytoGPU (int nblk, int blksize, GradientsP< float > XGrad_cpu, GradientsP< float > XGrad_gpu) |
template void | CopytoGPU (int nblk, int blksize, GradientsP< double > XGrad_cpu, GradientsP< double > XGrad_gpu) |
void | CopytoGPU (int nblk, int blksize, Param XParam, Model< T > XModel_cpu, Model< T > XModel_gpu) Copy complex data structures from CPU to GPU. |
template void | CopytoGPU< bool > (int nblk, int blksize, bool * z_cpu, bool * z_gpu) |
template void | CopytoGPU< double > (int nblk, int blksize, double * z_cpu, double * z_gpu) |
template void | CopytoGPU< double > (int nblk, int blksize, EvolvingP< double > XEv_cpu, EvolvingP< double > XEv_gpu) |
template void | CopytoGPU< double > (int nblk, int blksize, EvolvingP_M< double > XEv_cpu, EvolvingP_M< double > XEv_gpu) |
template void | CopytoGPU< double > (int nblk, int blksize, Param XParam, Model< double > XModel_cpu, Model< double > XModel_gpu) |
template void | CopytoGPU< float > (int nblk, int blksize, float * z_cpu, float * z_gpu) |
template void | CopytoGPU< float > (int nblk, int blksize, EvolvingP< float > XEv_cpu, EvolvingP< float > XEv_gpu) |
template void | CopytoGPU< float > (int nblk, int blksize, EvolvingP_M< float > XEv_cpu, EvolvingP_M< float > XEv_gpu) |
template void | CopytoGPU< float > (int nblk, int blksize, Param XParam, Model< float > XModel_cpu, Model< float > XModel_gpu) |
template void | CopytoGPU< int > (int nblk, int blksize, int * z_cpu, int * z_gpu) |
void | SetupGPU (Param & XParam, Model< T > XModel, Forcing< float > & XForcing, Model< T > & XModel_g) Setup and initialize GPU for simulation. |
template void | SetupGPU< double > (Param & XParam, Model< double > XModel, Forcing< float > & XForcing, Model< double > & XModel_g) |
template void | SetupGPU< float > (Param & XParam, Model< float > XModel, Forcing< float > & XForcing, Model< float > & XModel_g) |
Public Functions Documentation
function AllocateBndTEX
Allocate boundary texture for GPU.
Allocates and binds boundary water level data as a CUDA texture for GPU use.
Parameters:
side
Boundary parameter structure
function AllocateTEX
Allocate and bind a CUDA texture object.
Allocates a CUDA array and creates a texture object for use in GPU kernels.
Parameters:
nx
Number of x grid pointsny
Number of y grid pointsTex
Texture set structureinput
Input data array
function CUDA_CHECK
Check CUDA error status and print message if error occurs.
Checks the CUDA error code and prints an error message if the code indicates failure.
Parameters:
CUDerr
CUDA error code
function CopyGPUtoCPU
Copy data from GPU to CPU memory.
Copies an array from device (GPU) memory to host (CPU) memory using CUDA.
Template parameters:
T
Data type
Parameters:
nblk
Number of blocksblksize
Block sizez_cpu
Destination array (CPU)z_gpu
Source array (GPU)
function CopyGPUtoCPU< bool >
function CopyGPUtoCPU< double >
function CopyGPUtoCPU< float >
function CopyGPUtoCPU< int >
function CopytoGPU
Copy data from CPU to GPU memory.
Copies an array from host (CPU) memory to device (GPU) memory using CUDA.
Template parameters:
T
Data type
Parameters:
nblk
Number of blocksblksize
Block sizez_cpu
Source array (CPU)z_gpu
Destination array (GPU)
function CopytoGPU
Copy complex data structures from CPU to GPU.
template<class T>
void CopytoGPU (
int nblk,
int blksize,
EvolvingP < T > XEv_cpu,
EvolvingP < T > XEv_gpu
)
This function copies the evolving variables structure from the host (CPU) to the device (GPU) memory.
Template parameters:
T
Data type
Parameters:
nblk
Number of blocksblksize
Block sizeXEv_cpu
Source evolving variables structure (CPU)XEv_gpu
Destination evolving variables structure (GPU)
function CopytoGPU
Copy complex data structures from CPU to GPU.
template<class T>
void CopytoGPU (
int nblk,
int blksize,
EvolvingP_M < T > XEv_cpu,
EvolvingP_M < T > XEv_gpu
)
This function copies the evolving variables with momentum structure from the host (CPU) to the device (GPU) memory.
Template parameters:
T
Data type
Parameters:
nblk
Number of blocksblksize
Block sizeXEv_cpu
Source evolving variables with momentum structure (CPU)XEv_gpu
Destination evolving variables with momentum structure (GPU)
function CopytoGPU
Copy complex data structures from CPU to GPU.
template<class T>
void CopytoGPU (
int nblk,
int blksize,
GradientsP < T > XGrad_cpu,
GradientsP < T > XGrad_gpu
)
This function copies the gradients structure from the host (CPU) to the device (GPU) memory.
Template parameters:
T
Data type
Parameters:
nblk
Number of blocksblksize
Block sizeXGrad_cpu
Source gradients structure (CPU)XGrad_gpu
Destination gradients structure (GPU)
function CopytoGPU
template void CopytoGPU (
int nblk,
int blksize,
GradientsP < float > XGrad_cpu,
GradientsP < float > XGrad_gpu
)
function CopytoGPU
template void CopytoGPU (
int nblk,
int blksize,
GradientsP < double > XGrad_cpu,
GradientsP < double > XGrad_gpu
)
function CopytoGPU
Copy complex data structures from CPU to GPU.
template<class T>
void CopytoGPU (
int nblk,
int blksize,
Param XParam,
Model < T > XModel_cpu,
Model < T > XModel_gpu
)
This function copies the entire model structure from the host (CPU) to the device (GPU) memory.
Template parameters:
T
Data type
Parameters:
nblk
Number of blocksblksize
Block sizeXParam
Simulation parametersXModel_cpu
Source model structure (CPU)XModel_gpu
Destination model structure (GPU)
function CopytoGPU< bool >
function CopytoGPU< double >
function CopytoGPU< double >
template void CopytoGPU< double > (
int nblk,
int blksize,
EvolvingP < double > XEv_cpu,
EvolvingP < double > XEv_gpu
)
function CopytoGPU< double >
template void CopytoGPU< double > (
int nblk,
int blksize,
EvolvingP_M < double > XEv_cpu,
EvolvingP_M < double > XEv_gpu
)
function CopytoGPU< double >
template void CopytoGPU< double > (
int nblk,
int blksize,
Param XParam,
Model < double > XModel_cpu,
Model < double > XModel_gpu
)
function CopytoGPU< float >
function CopytoGPU< float >
template void CopytoGPU< float > (
int nblk,
int blksize,
EvolvingP < float > XEv_cpu,
EvolvingP < float > XEv_gpu
)
function CopytoGPU< float >
template void CopytoGPU< float > (
int nblk,
int blksize,
EvolvingP_M < float > XEv_cpu,
EvolvingP_M < float > XEv_gpu
)
function CopytoGPU< float >
template void CopytoGPU< float > (
int nblk,
int blksize,
Param XParam,
Model < float > XModel_cpu,
Model < float > XModel_gpu
)
function CopytoGPU< int >
function SetupGPU
Setup and initialize GPU for simulation.
template<class T>
void SetupGPU (
Param & XParam,
Model < T > XModel,
Forcing < float > & XForcing,
Model < T > & XModel_g
)
This function sets up the GPU device, allocates memory, and copies data from the host to the device.
Parameters:
XParam
Simulation parametersXModel
Host model data structureXForcing
Forcing data structureXModel_g
Device model data structure
function SetupGPU< double >
template void SetupGPU< double > (
Param & XParam,
Model < double > XModel,
Forcing < float > & XForcing,
Model < double > & XModel_g
)
function SetupGPU< float >
template void SetupGPU< float > (
Param & XParam,
Model < float > XModel,
Forcing < float > & XForcing,
Model < float > & XModel_g
)
The documentation for this class was generated from the following file src/Setup_GPU.cu