1#ifndef _DG_TYPEDEFS_CUH_
2#define _DG_TYPEDEFS_CUH_
3#include <thrust/host_vector.h>
4#include <thrust/device_vector.h>
18using HVec_t = thrust::host_vector<T>;
19using HVec = thrust::host_vector<double>;
20using iHVec = thrust::host_vector<int>;
21using fHVec = thrust::host_vector<float>;
23using DVec = thrust::device_vector<double>;
24using iDVec = thrust::device_vector<int>;
25using fDVec = thrust::device_vector<float>;
36template<
class real_type>
37using IHMatrix_t = cusp::csr_matrix<int, real_type, cusp::host_memory>;
38template<
class real_type>
39#if THRUST_DEVICE_SYSTEM==THRUST_DEVICE_SYSTEM_CUDA
42using IDMatrix_t = cusp::csr_matrix<int, real_type, cusp::device_memory>;
45using IDMatrix_t = cusp::csr_matrix<int, real_type, cusp::device_memory>;
92template<
class real_type>
94template<
class real_type>
147#define DG_RANK0 if(rank==0)
thrust::host_vector< T > HVec_t
Host Vector.
Definition: typedefs.h:18
dg::MPI_Vector< dg::DVec > MDVec
MPI Device Vector s.a. dg::DVec.
Definition: typedefs.h:66
IHMatrix_t< double > IHMatrix
Definition: typedefs.h:47
cusp::csr_matrix< int, real_type, cusp::device_memory > IDMatrix_t
Definition: typedefs.h:42
cusp::csr_matrix< int, real_type, cusp::host_memory > IHMatrix_t
Definition: typedefs.h:37
thrust::device_vector< int > iDVec
integer Device Vector
Definition: typedefs.h:24
thrust::host_vector< double > HVec
Host Vector.
Definition: typedefs.h:19
dg::RowColDistMat< dg::fDMatrix, dg::fDCooMat, dg::fNNCD > fMDMatrix
MPI Device Matrix for derivatives.
Definition: typedefs.h:90
thrust::device_vector< double > DVec
Device Vector. The device can be an OpenMP parallelized cpu or a gpu. This depends on the value of th...
Definition: typedefs.h:23
thrust::host_vector< int > iHVec
integer Host Vector
Definition: typedefs.h:20
MIHMatrix_t< double > MIHMatrix
Definition: typedefs.h:96
thrust::device_vector< float > fDVec
Device Vector. The device can be an OpenMP parallelized cpu or a gpu. This depends on the value of th...
Definition: typedefs.h:25
dg::RowColDistMat< dg::DMatrix, dg::DCooMat, dg::dNNCD > MDMatrix
MPI Device Matrix for derivatives.
Definition: typedefs.h:89
dg::MPI_Vector< dg::fHVec > fMHVec
MPI Host Vector s.a. dg::fHVec.
Definition: typedefs.h:65
dg::MPI_Vector< dg::fDVec > fMDVec
MPI Device Vector s.a. dg::fDVec.
Definition: typedefs.h:67
MIDMatrix_t< double > MIDMatrix
Definition: typedefs.h:97
dg::MPI_Vector< dg::HVec > MHVec
MPI Host Vector s.a. dg::HVec.
Definition: typedefs.h:64
dg::RowColDistMat< dg::fHMatrix, dg::fCooMat, dg::fNNCH > fMHMatrix
MPI Host Matrix for derivatives.
Definition: typedefs.h:88
IDMatrix_t< double > IDMatrix
Definition: typedefs.h:48
thrust::host_vector< float > fHVec
Host Vector.
Definition: typedefs.h:21
dg::RowColDistMat< dg::HMatrix, dg::CooMat, dg::dNNCH > MHMatrix
MPI Host Matrix for derivatives.
Definition: typedefs.h:87
MIDMatrix IDMatrix
Definition: typedefs.h:124
fMHMatrix fHMatrix
Definition: typedefs.h:119
fMHVec fHVec
Definition: typedefs.h:112
MHMatrix HMatrix
Definition: typedefs.h:118
fMDVec fDVec
Definition: typedefs.h:115
MIHMatrix IHMatrix
Definition: typedefs.h:123
MDVec DVec
Definition: typedefs.h:114
fMDMatrix fDMatrix
Definition: typedefs.h:121
MHVec HVec
Definition: typedefs.h:111
MDMatrix DMatrix
Definition: typedefs.h:120
This is the namespace for all functions and classes defined and used by the discontinuous Galerkin li...
Coo Sparse Block Matrix format.
Definition: sparseblockmat.h:179
Ell Sparse Block Matrix format.
Definition: sparseblockmat.h:46
Perform general gather and its transpose (scatter) operation across processes on distributed vectors ...
Definition: mpi_collective.h:504
mpi Vector class
Definition: mpi_vector.h:32
Distributed memory matrix class.
Definition: mpi_matrix.h:219
Communicator for asynchronous nearest neighbor communication.
Definition: mpi_vector.h:181
Distributed memory matrix class, asynchronous communication.
Definition: mpi_matrix.h:65