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

Functions

template<typename Scalar >
__global__ void createManyBodyOperatorSpace_kernel (ManyBodyOperatorSpace< Scalar > **ptrptr, int sysSize, int dimLoc)
 
int main (int argc, char **argv)
 

Function Documentation

◆ createManyBodyOperatorSpace_kernel()

template<typename Scalar >
__global__ void createManyBodyOperatorSpace_kernel ( ManyBodyOperatorSpace< Scalar > **  ptrptr,
int  sysSize,
int  dimLoc 
)
11 {
12 int const idx = blockIdx.x * blockDim.x + threadIdx.x;
13 if(idx > 1) return;
14 *ptrptr = new ManyBodyOperatorSpace<Scalar>(std::move(ManyBodySpinSpace(sysSize, dimLoc)));
15 debug_printf(
16 "%s:\n\t sysSize=%d,dimLoc=%d\n\t Created a ManyBodyOperatorSpace object at ptr=%p\n ",
17 __PRETTY_FUNCTION__, sysSize, dimLoc, *ptrptr);
18}
Definition OperatorSpace.hpp:290
Definition HilbertSpace.hpp:423

◆ main()

int main ( int  argc,
char **  argv 
)
20 {
21 if(argc != 3) {
22 std::cerr << "Usage: 1.(This) 2.(sysSize) 3.(dimLoc)\n"
23 << " argc=" << argc << std::endl;
24 std::exit(EXIT_FAILURE);
25 }
26 int const sysSize = std::atoi(argv[1]);
27 int const dimLoc = std::atoi(argv[2]);
28
30 cuCHECK(cudaMalloc((void***)&ptrTo_dPtr, sizeof(ManyBodyOperatorSpace< Complex_t<double>>*)));
31 createManyBodyOperatorSpace_kernel<<<1, 1>>>(ptrTo_dPtr, sysSize, dimLoc);
32 cuCHECK(cudaGetLastError());
33 cuCHECK(cudaDeviceSynchronize());
34
36 cuCHECK(cudaMemcpy(&dPtr, ptrTo_dPtr, sizeof(ManyBodyOperatorSpace< Complex_t<double>>*),
37 cudaMemcpyDeviceToHost));
38 std::cout << "dPtr=" << dPtr << std::endl;
39 cuCHECK(cudaFree(ptrTo_dPtr));
40
41 testManyBodySpaceBase_kernel<<<1, 1>>>(dPtr);
42 cuCHECK(cudaGetLastError());
43 cuCHECK(cudaDeviceSynchronize());
44 std::cout << "Passed \"testManyBodySpaceBase_kernel\"\n" << std::endl;
45
46 testOperatorSpaceBase_kernel<<<1, 1>>>(dPtr);
47 cuCHECK(cudaGetLastError());
48 cuCHECK(cudaDeviceSynchronize());
49 std::cout << "Passed \"testOperatorSpaceBase_kernel\"\n" << std::endl;
50
51 return EXIT_SUCCESS;
52}
Definition mytypes.hpp:147
cuCHECK(cudaFuncGetAttributes(&attr, MatrixElementsInSector))