StatMech
Loading...
Searching...
No Matches
SubSpace.cuh File Reference

Classes

class  ObjectOnGPU< SubSpace< TotalSpace_, ScalarType_ > >
 

Functions

template<class TotalSpace_ , typename ScalarType_ >
__global__ void construtSubSpaceFromTotalSpaceByMove (SubSpace< TotalSpace_, ScalarType_ > *objPtr, TotalSpace_ *srcPtr)
 
template<class TotalSpace_ , typename ScalarType_ >
__global__ void copyBasis_kernel (SubSpace< TotalSpace_, ScalarType_ > *objPtr, SparseCompressed< ScalarType_ > *srcPtr)
 
template<class TotalSpace_ , typename ScalarType_ >
void copyBasis (ObjectOnGPU< SubSpace< TotalSpace_, ScalarType_ > > &obj, SubSpace< TotalSpace_, ScalarType_ > const &src)
 

Function Documentation

◆ construtSubSpaceFromTotalSpaceByMove()

template<class TotalSpace_ , typename ScalarType_ >
__global__ void construtSubSpaceFromTotalSpaceByMove ( SubSpace< TotalSpace_, ScalarType_ > *  objPtr,
TotalSpace_ *  srcPtr 
)
9 {
10 debug_printf(
11 "%s:\n\t srcPtr=%p, srcPtr->sysSize()=%d, srcPtr->dim()=%d, srcPtr->transEqDim()=%d\n",
12 __PRETTY_FUNCTION__, srcPtr, srcPtr->sysSize(), srcPtr->dim(), srcPtr->transEqDim());
13 (*objPtr) = SubSpace<TotalSpace_, ScalarType_>(std::move(*srcPtr));
14}
Definition HilbertSpace.hpp:568

◆ copyBasis()

template<class TotalSpace_ , typename ScalarType_ >
void copyBasis ( ObjectOnGPU< SubSpace< TotalSpace_, ScalarType_ > > &  obj,
SubSpace< TotalSpace_, ScalarType_ > const &  src 
)
25 {
26 debug_print(__PRETTY_FUNCTION__ << "\n\tsrc.dim() = " << src.dim() << "\n" << src.basis());
27 if(src.dim() == 0) return;
28
30 basisOnGPU.set(src.basis());
31 copyBasis_kernel<<<1, 1>>>(obj.ptr(), basisOnGPU.ptr());
32 cuCHECK(cudaPeekAtLastError());
33 cuCHECK(cudaDeviceSynchronize());
34}
__host__ __device__ int dim() const
Definition HilbertSpace.hpp:34
Object_t * ptr() const
Definition ObjectOnGPU.cuh:144
Definition ObjectOnGPU.cuh:149
__host__ __device__ Matrix_t & basis()
Definition HilbertSpace.hpp:668
cuCHECK(cudaFuncGetAttributes(&attr, MatrixElementsInSector))
debug_print("# Determining GPU configuration.")

◆ copyBasis_kernel()

template<class TotalSpace_ , typename ScalarType_ >
__global__ void copyBasis_kernel ( SubSpace< TotalSpace_, ScalarType_ > *  objPtr,
SparseCompressed< ScalarType_ > *  srcPtr 
)
18 {
19 debug_printf("%s\n", __func__);
20 (*objPtr).basis() = (*srcPtr);
21}