Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | Friends

LibGeoDecomp::CudaSimulator< CELL_TYPE > Class Template Reference

CudaSimulator delegates all the work to the current Nvidia GPU. More...

#include <cudasimulator.h>

Inherits LibGeoDecomp::MonolithicSimulator< CELL_TYPE >.

Collaboration diagram for LibGeoDecomp::CudaSimulator< CELL_TYPE >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef
APITraits::SelectTopology
< CELL_TYPE >::Value 
Topology
typedef Grid< CELL_TYPE, TopologyGridType

Public Member Functions

 CudaSimulator (Initializer< CELL_TYPE > *initializer, Coord< 3 > blockSize=Coord< 3 >(128, 4, 1))
 creates a CudaSimulator with the given initializer.
virtual void step ()
 performs a single simulation step.
virtual void run ()
 continue simulating until the maximum number of steps is reached.
virtual const GridTypegetGrid ()
 Returns the current grid.

Static Public Attributes

static const int DIM = Topology::DIM

Private Member Functions

void nanoStep (const unsigned nanoStep)

Private Attributes

Coord< 3 > blockSize
GridType grid
CELL_TYPE * devGridOld
CELL_TYPE * devGridNew
int baseAddress
int byteSize
Region< DIMsimArea

Friends

class CudaSimulatorTest

Detailed Description

template<typename CELL_TYPE>
class LibGeoDecomp::CudaSimulator< CELL_TYPE >

CudaSimulator delegates all the work to the current Nvidia GPU.


Member Typedef Documentation

template<typename CELL_TYPE >
typedef Grid<CELL_TYPE, Topology> LibGeoDecomp::CudaSimulator< CELL_TYPE >::GridType
template<typename CELL_TYPE >
typedef APITraits::SelectTopology<CELL_TYPE>::Value LibGeoDecomp::CudaSimulator< CELL_TYPE >::Topology

Constructor & Destructor Documentation

template<typename CELL_TYPE >
LibGeoDecomp::CudaSimulator< CELL_TYPE >::CudaSimulator ( Initializer< CELL_TYPE > *  initializer,
Coord< 3 >  blockSize = Coord<3>(128, 4, 1) 
) [inline]

Member Function Documentation

template<typename CELL_TYPE >
virtual const GridType* LibGeoDecomp::CudaSimulator< CELL_TYPE >::getGrid (  )  [inline, virtual]
template<typename CELL_TYPE >
void LibGeoDecomp::CudaSimulator< CELL_TYPE >::nanoStep ( const unsigned  nanoStep  )  [inline, private]
template<typename CELL_TYPE >
virtual void LibGeoDecomp::CudaSimulator< CELL_TYPE >::run (  )  [inline, virtual]
template<typename CELL_TYPE >
virtual void LibGeoDecomp::CudaSimulator< CELL_TYPE >::step (  )  [inline, virtual]

Friends And Related Function Documentation

template<typename CELL_TYPE >
friend class CudaSimulatorTest [friend]

Member Data Documentation

template<typename CELL_TYPE >
int LibGeoDecomp::CudaSimulator< CELL_TYPE >::baseAddress [private]
template<typename CELL_TYPE >
Coord<3> LibGeoDecomp::CudaSimulator< CELL_TYPE >::blockSize [private]
template<typename CELL_TYPE >
int LibGeoDecomp::CudaSimulator< CELL_TYPE >::byteSize [private]
template<typename CELL_TYPE >
CELL_TYPE* LibGeoDecomp::CudaSimulator< CELL_TYPE >::devGridNew [private]
template<typename CELL_TYPE >
CELL_TYPE* LibGeoDecomp::CudaSimulator< CELL_TYPE >::devGridOld [private]
template<typename CELL_TYPE >
const int LibGeoDecomp::CudaSimulator< CELL_TYPE >::DIM = Topology::DIM [static]
template<typename CELL_TYPE >
GridType LibGeoDecomp::CudaSimulator< CELL_TYPE >::grid [private]
template<typename CELL_TYPE >
Region<DIM> LibGeoDecomp::CudaSimulator< CELL_TYPE >::simArea [private]

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