StatMech
Loading...
Searching...
No Matches
OperatorSpace_GPUtest.cu File Reference

Functions

template<typename Scalar >
__global__ void createOperatorSpace_kernel (OperatorSpace< Scalar > **ptrptr, int dim)
 
int main (int argc, char **argv)
 

Function Documentation

◆ createOperatorSpace_kernel()

template<typename Scalar >
__global__ void createOperatorSpace_kernel ( OperatorSpace< Scalar > **  ptrptr,
int  dim 
)
9 {
10 int const idx = blockIdx.x * blockDim.x + threadIdx.x;
11 if(idx > 1) return;
12 *ptrptr = new OperatorSpace<Scalar>(HilbertSpace<int>(dim));
13 debug_printf("%s:\n\t dim=%d\n\t Created an OperatorSpace object at ptr=%p\n ",
14 __PRETTY_FUNCTION__, dim, *ptrptr);
15}
Definition HilbertSpace.hpp:32
Definition OperatorSpace.hpp:132

◆ main()

int main ( int  argc,
char **  argv 
)
17 {
18 if(argc != 2) {
19 std::cerr << "Usage: 1.(This) 2.(dim)\n"
20 << " argc=" << argc << std::endl;
21 std::exit(EXIT_FAILURE);
22 }
23 int const dim = std::atoi(argv[1]);
24
26 cuCHECK(cudaMalloc((void***)&ptrTo_dPtr, sizeof(OperatorSpace< Complex_t<double> >*)));
27 createOperatorSpace_kernel<<<1, 1>>>(ptrTo_dPtr, dim);
28 cuCHECK(cudaGetLastError());
29 cuCHECK(cudaDeviceSynchronize());
30
32 cuCHECK(cudaMemcpy(&dPtr, ptrTo_dPtr, sizeof(OperatorSpace< Complex_t<double> >*),
33 cudaMemcpyDeviceToHost));
34 std::cout << "dPtr=" << dPtr << std::endl;
35 cuCHECK(cudaFree(ptrTo_dPtr));
36
37 testOperatorSpaceBase_kernel<<<1, 1>>>(dPtr);
38 cuCHECK(cudaGetLastError());
39 cuCHECK(cudaDeviceSynchronize());
40 std::cout << "Passed \"testOperatorSpaceBase_kernel\"\n" << std::endl;
41
42 return EXIT_SUCCESS;
43}
Definition mytypes.hpp:147
cuCHECK(cudaFuncGetAttributes(&attr, MatrixElementsInSector))