High Performance Plasticity  0.5.0
hpp::SpectralDatabaseUnifiedCUDA< T, N, P > Class Template Reference

#include <spectralUtilsCUDA.h>

Collaboration diagram for hpp::SpectralDatabaseUnifiedCUDA< T, N, P >:

Public Member Functions

 SpectralDatabaseUnifiedCUDA ()
 
 SpectralDatabaseUnifiedCUDA (const SpectralDatabaseUnified< T > &dbIn, const std::vector< SpectralDatasetID > &dsetIDs)
 
__device__ void getIDFTRealDShared (unsigned int *spatialCoord, T *outputs, unsigned int nShared, SpectralDataUnifiedCUDA< T, N, P > *sharedData) const
 Device IDFTD. More...
 
__device__ void getIDFTRealDSharedPair (unsigned int *spatialCoord0, T *outputs0, unsigned int *spatialCoord1, T *outputs1, unsigned int nShared, SpectralDataUnifiedCUDA< T, N, P > *sharedData) const
 Device IDFTD. More...
 
__device__ T * getGridStarts ()
 
__device__ T * getGridSteps ()
 
__device__ unsigned int * getGridDims ()
 
unsigned int getNDsets () const
 
unsigned int getNTerms () const
 

Private Attributes

unsigned int * gridDims
 
std::shared_ptr< unsigned int > gridDimsSharedPtr
 
T * gridStarts
 
std::shared_ptr< T > gridStartsSharedPtr
 
T * gridSteps
 
std::shared_ptr< T > gridStepsSharedPtr
 
unsigned int nDsets
 
unsigned int nTerms
 
SpectralDataUnifiedCUDA< T, N, P > * data
 
std::shared_ptr< SpectralDataUnifiedCUDA< T, N, P > > dataSharedPtr
 

Detailed Description

template<typename T, unsigned int N, unsigned int P>
class hpp::SpectralDatabaseUnifiedCUDA< T, N, P >

Author
Michael Malahe
Date
26/04/17

Constructor & Destructor Documentation

template<typename T, unsigned int N, unsigned int P>
hpp::SpectralDatabaseUnifiedCUDA< T, N, P >::SpectralDatabaseUnifiedCUDA ( )
template<typename T, unsigned int N, unsigned int P>
hpp::SpectralDatabaseUnifiedCUDA< T, N, P >::SpectralDatabaseUnifiedCUDA ( const SpectralDatabaseUnified< T > &  dbIn,
const std::vector< SpectralDatasetID > &  dsetIDs 
)

Member Function Documentation

template<typename T, unsigned int N, unsigned int P>
__device__ unsigned int* hpp::SpectralDatabaseUnifiedCUDA< T, N, P >::getGridDims ( )
inline
template<typename T, unsigned int N, unsigned int P>
__device__ T* hpp::SpectralDatabaseUnifiedCUDA< T, N, P >::getGridStarts ( )
inline
template<typename T, unsigned int N, unsigned int P>
__device__ T* hpp::SpectralDatabaseUnifiedCUDA< T, N, P >::getGridSteps ( )
inline
template<typename T, unsigned int N, unsigned int P>
__device__ void hpp::SpectralDatabaseUnifiedCUDA< T, N, P >::getIDFTRealDShared ( unsigned int *  spatialCoord,
T *  outputs,
unsigned int  nShared,
SpectralDataUnifiedCUDA< T, N, P > *  sharedData 
) const

Device IDFTD.

See hpp::SpectralDatabaseCUDA::getIDFTRealDShared

Parameters
dsetIdx
spatialCoord
nShared
sharedCoords
sharedCoeffs
template<typename T, unsigned int N, unsigned int P>
__device__ void hpp::SpectralDatabaseUnifiedCUDA< T, N, P >::getIDFTRealDSharedPair ( unsigned int *  spatialCoord0,
T *  outputs0,
unsigned int *  spatialCoord1,
T *  outputs1,
unsigned int  nShared,
SpectralDataUnifiedCUDA< T, N, P > *  sharedData 
) const

Device IDFTD.

See hpp::SpectralDatabaseCUDA::getIDFTRealDShared. This version works on two sets of spatial coordinates at once, to reduce pressure on the shared memory system

Parameters
dsetIdx
spatialCoord
nShared
sharedCoords
sharedCoeffs
template<typename T, unsigned int N, unsigned int P>
unsigned int hpp::SpectralDatabaseUnifiedCUDA< T, N, P >::getNDsets ( ) const
inline
template<typename T, unsigned int N, unsigned int P>
unsigned int hpp::SpectralDatabaseUnifiedCUDA< T, N, P >::getNTerms ( ) const
inline

Member Data Documentation

template<typename T, unsigned int N, unsigned int P>
SpectralDataUnifiedCUDA<T,N,P>* hpp::SpectralDatabaseUnifiedCUDA< T, N, P >::data
private
template<typename T, unsigned int N, unsigned int P>
std::shared_ptr<SpectralDataUnifiedCUDA<T,N,P> > hpp::SpectralDatabaseUnifiedCUDA< T, N, P >::dataSharedPtr
private
template<typename T, unsigned int N, unsigned int P>
unsigned int* hpp::SpectralDatabaseUnifiedCUDA< T, N, P >::gridDims
private
template<typename T, unsigned int N, unsigned int P>
std::shared_ptr<unsigned int> hpp::SpectralDatabaseUnifiedCUDA< T, N, P >::gridDimsSharedPtr
private
template<typename T, unsigned int N, unsigned int P>
T* hpp::SpectralDatabaseUnifiedCUDA< T, N, P >::gridStarts
private
template<typename T, unsigned int N, unsigned int P>
std::shared_ptr<T> hpp::SpectralDatabaseUnifiedCUDA< T, N, P >::gridStartsSharedPtr
private
template<typename T, unsigned int N, unsigned int P>
T* hpp::SpectralDatabaseUnifiedCUDA< T, N, P >::gridSteps
private
template<typename T, unsigned int N, unsigned int P>
std::shared_ptr<T> hpp::SpectralDatabaseUnifiedCUDA< T, N, P >::gridStepsSharedPtr
private
template<typename T, unsigned int N, unsigned int P>
unsigned int hpp::SpectralDatabaseUnifiedCUDA< T, N, P >::nDsets
private
template<typename T, unsigned int N, unsigned int P>
unsigned int hpp::SpectralDatabaseUnifiedCUDA< T, N, P >::nTerms
private

The documentation for this class was generated from the following file: