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

Functions

__global__ void createManyBodySpinSpace_kernel (ManyBodySpinSpace **ptrptr, int sysSize, int dimLoc)
 
int main (int argc, char **argv)
 

Function Documentation

◆ createManyBodySpinSpace_kernel()

__global__ void createManyBodySpinSpace_kernel ( ManyBodySpinSpace **  ptrptr,
int  sysSize,
int  dimLoc 
)
8 {
9 int const idx = blockIdx.x * blockDim.x + threadIdx.x;
10 if(idx > 1) return;
11 *ptrptr = new ManyBodySpinSpace(sysSize, dimLoc);
12 debug_printf(
13 "%s:\n\t sysSize =%d,dimLoc=%d\n\t Created a ManyBodySpinSpace object at ptr=%p\n ",
14 __PRETTY_FUNCTION__, sysSize, dimLoc, *ptrptr);
15}
Definition HilbertSpace.hpp:423

◆ main()

int main ( int  argc,
char **  argv 
)
17 {
18 if(argc != 3) {
19 std::cerr << "Usage: 1.(This) 2.(sysSize) 3.(dimLoc)\n"
20 << " argc=" << argc << std::endl;
21 std::exit(EXIT_FAILURE);
22 }
23 int const sysSize = std::atoi(argv[1]);
24 int const dimLoc = std::atoi(argv[2]);
25
26 ManyBodySpinSpace** ptrTo_dPtr = nullptr;
27 cuCHECK(cudaMalloc((void***)&ptrTo_dPtr, sizeof(ManyBodySpinSpace**)));
28 createManyBodySpinSpace_kernel<<<1, 1>>>(ptrTo_dPtr, sysSize, dimLoc);
29 cuCHECK(cudaGetLastError());
30 cuCHECK(cudaDeviceSynchronize());
31
33 cuCHECK(cudaMemcpy(&dPtr, ptrTo_dPtr, sizeof(ManyBodySpinSpace*), cudaMemcpyDeviceToHost));
34 cuCHECK(cudaFree(ptrTo_dPtr));
35 std::cout << "dPtr=" << dPtr << std::endl;
36
37 testManyBodySpaceBase_kernel<<<1, 1>>>(dPtr);
38 cuCHECK(cudaGetLastError());
39 cuCHECK(cudaDeviceSynchronize());
40 std::cout << "Passed \"testManyBodySpaceBase_kernel\"\n" << std::endl;
41
42 return EXIT_SUCCESS;
43}
cuCHECK(cudaFuncGetAttributes(&attr, MatrixElementsInSector))