StatMech
Loading...
Searching...
No Matches
ObjectOnGPU< SubSpace< TotalSpace_, ScalarType_ > > Class Template Reference
Inheritance diagram for ObjectOnGPU< SubSpace< TotalSpace_, ScalarType_ > >:
Inheritance graph
Collaboration diagram for ObjectOnGPU< SubSpace< TotalSpace_, ScalarType_ > >:
Collaboration graph

Public Types

using Object_t = SubSpace< TotalSpace_, ScalarType_ >
 

Public Member Functions

__host__ ObjectOnGPU (TotalSpace_ const &hTotalSpace)
 Construct an ObjectOnGPU< SubSpace<TotalSpace_, ScalarType_> > object from a TotalSpace_ object.
 
__host__ ObjectOnGPU (Object_t const &hObject)
 Construct an ObjectOnGPU< SubSpace<TotalSpace_, ScalarType_> > object from a SubSpace<TotalSpace_, ScalarType_> object on host.
 
__host__ ObjectOnGPU ()=default
 Default constructor.
 
__host__ ~ObjectOnGPU ()=default
 Destructor.
 
Operator overloads
ObjectOnGPUoperator= (ObjectOnGPU const &other)=delete
 Copy assignment operator (yet to be implemented)
 
ObjectOnGPUoperator= (ObjectOnGPU &&other)
 Move assignment operator.
 
- Public Member Functions inherited from ObjectOnGPU_Base< SubSpace< TotalSpace_, ScalarType_ > >
 ObjectOnGPU_Base (Args... args)
 Default constructor for ObjectOnGPU_Base object.
 
 ObjectOnGPU_Base (ObjectOnGPU_Base const &other)=delete
 Default constructor.
 
 ObjectOnGPU_Base (ObjectOnGPU_Base &&other)
 Move constructor for ObjectOnGPU_Base object.
 
 ~ObjectOnGPU_Base ()
 Destructor.
 
ObjectOnGPU_Baseoperator= (ObjectOnGPU_Base const &other)=delete
 Copy assignment operator (yet to be implmented)
 
ObjectOnGPU_Baseoperator= (ObjectOnGPU_Base &&other)
 Move assignment operator.
 
 operator Object_t * () const
 
Object_tptr () const
 
Object_t const * const_ptr () const
 

Additional Inherited Members

- Static Public Attributes inherited from ObjectOnGPU_Base< SubSpace< TotalSpace_, ScalarType_ > >
static constexpr bool on_GPU
 
- Protected Types inherited from ObjectOnGPU_Base< SubSpace< TotalSpace_, ScalarType_ > >
using Object_t = SubSpace< TotalSpace_, ScalarType_ >
 
- Protected Attributes inherited from ObjectOnGPU_Base< SubSpace< TotalSpace_, ScalarType_ > >
SubSpace< TotalSpace_, ScalarType_ > * m_ptr
 
SubSpace< TotalSpace_, ScalarType_ > ** m_ptrptr
 

Member Typedef Documentation

◆ Object_t

template<class TotalSpace_ , typename ScalarType_ >
using ObjectOnGPU< SubSpace< TotalSpace_, ScalarType_ > >::Object_t = SubSpace<TotalSpace_, ScalarType_>

Constructor & Destructor Documentation

◆ ObjectOnGPU() [1/3]

template<class TotalSpace_ , typename ScalarType_ >
__host__ ObjectOnGPU< SubSpace< TotalSpace_, ScalarType_ > >::ObjectOnGPU ( TotalSpace_ const &  hTotalSpace)
inline

Construct an ObjectOnGPU< SubSpace<TotalSpace_, ScalarType_> > object from a TotalSpace_ object.

Parameters
hTotalSpaceobject on host side
47 {
48 debug_constructor_printf(1);
49 ObjectOnGPU< TotalSpace_ > dTotalSpace(hTotalSpace);
50 construtSubSpaceFromTotalSpaceByMove<<<1, 1>>>(this->m_ptr, dTotalSpace.ptr());
51 cudaDeviceSynchronize();
52 }
SubSpace< TotalSpace_, ScalarType_ > * m_ptr
Definition ObjectOnGPU.cuh:42
Definition ObjectOnGPU.cuh:149

◆ ObjectOnGPU() [2/3]

template<class TotalSpace_ , typename ScalarType_ >
__host__ ObjectOnGPU< SubSpace< TotalSpace_, ScalarType_ > >::ObjectOnGPU ( Object_t const &  hObject)
inline

Construct an ObjectOnGPU< SubSpace<TotalSpace_, ScalarType_> > object from a SubSpace<TotalSpace_, ScalarType_> object on host.

Parameters
hObjectobject on host side
58 : ObjectOnGPU(hObject.totalSpace()) {
59 debug_constructor_printf(2);
60 copyBasis(*this, hObject);
61 };
void copyBasis(ObjectOnGPU< SubSpace< TotalSpace_, ScalarType_ > > &obj, SubSpace< TotalSpace_, ScalarType_ > const &src)
Definition SubSpace.cuh:24
__host__ ObjectOnGPU()=default
Default constructor.

◆ ObjectOnGPU() [3/3]

template<class TotalSpace_ , typename ScalarType_ >
__host__ ObjectOnGPU< SubSpace< TotalSpace_, ScalarType_ > >::ObjectOnGPU ( )
default

Default constructor.

◆ ~ObjectOnGPU()

template<class TotalSpace_ , typename ScalarType_ >
__host__ ObjectOnGPU< SubSpace< TotalSpace_, ScalarType_ > >::~ObjectOnGPU ( )
default

Destructor.

Member Function Documentation

◆ operator=() [1/2]

template<class TotalSpace_ , typename ScalarType_ >
ObjectOnGPU & ObjectOnGPU< SubSpace< TotalSpace_, ScalarType_ > >::operator= ( ObjectOnGPU< SubSpace< TotalSpace_, ScalarType_ > > &&  other)
inline

Move assignment operator.

Parameters
other
Returns
ObjectOnGPU&
88 {
89 debug_printf("%s:\n\tMove assignment operator\n", __PRETTY_FUNCTION__);
91 return *this;
92 }
ObjectOnGPU_Base & operator=(ObjectOnGPU_Base const &other)=delete
Copy assignment operator (yet to be implmented)

◆ operator=() [2/2]

template<class TotalSpace_ , typename ScalarType_ >
ObjectOnGPU & ObjectOnGPU< SubSpace< TotalSpace_, ScalarType_ > >::operator= ( ObjectOnGPU< SubSpace< TotalSpace_, ScalarType_ > > const &  other)
delete

Copy assignment operator (yet to be implemented)

Parameters
other
Returns
ObjectOnGPU&

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