MCPcopy Create free account
hub / github.com/NGSolve/ngsolve / printDevProp

Function printDevProp

ngscuda/cuda_ngstd.cpp:13–40  ·  view source on GitHub ↗

Print device properties

Source from the content-addressed store, hash-verified

11
12 // Print device properties
13 void printDevProp(cudaDeviceProp devProp, int device_id)
14 {
15 int clock_rate, kernel_exec_timeout, device_overlap;
16 cudaDeviceGetAttribute(&clock_rate, cudaDevAttrClockRate, device_id);
17 cudaDeviceGetAttribute(&kernel_exec_timeout, cudaDevAttrKernelExecTimeout, device_id);
18 cudaDeviceGetAttribute(&device_overlap, cudaDevAttrConcurrentManagedAccess, device_id);
19
20 printf("Major revision number: %d\n", devProp.major);
21 printf("Minor revision number: %d\n", devProp.minor);
22 printf("Name: %s\n", devProp.name);
23 printf("Total global memory: %lu\n", devProp.totalGlobalMem);
24 printf("Total shared memory per block: %lu\n", devProp.sharedMemPerBlock);
25 printf("Total registers per block: %d\n", devProp.regsPerBlock);
26 printf("Warp size: %d\n", devProp.warpSize);
27 printf("Maximum memory pitch: %lu\n", devProp.memPitch);
28 printf("Maximum threads per block: %d\n", devProp.maxThreadsPerBlock);
29 for (int i = 0; i < 3; ++i)
30 printf("Maximum dimension %d of block: %d\n", i, devProp.maxThreadsDim[i]);
31 for (int i = 0; i < 3; ++i)
32 printf("Maximum dimension %d of grid: %d\n", i, devProp.maxGridSize[i]);
33 printf("Clock rate: %d\n", clock_rate);
34 printf("Total constant memory: %lu\n", devProp.totalConstMem);
35 printf("Texture alignment: %lu\n", devProp.textureAlignment);
36 printf("Concurrent copy and execution: %s\n", (device_overlap ? "Yes" : "No"));
37 printf("Number of multiprocessors: %d\n", devProp.multiProcessorCount);
38 printf("Kernel execution timeout: %s\n", (kernel_exec_timeout ? "Yes" : "No"));
39 return;
40 }
41
42
43 void InitCUDA (int verbose)

Callers 1

InitCUDAFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected