f76cc26cc72c882eb5305e2592c1781a5ae764b8
1 #include <iostream>
3 #include <cuda_runtime.h>
4 #include <glog/logging.h>
5 #include <gtest/gtest.h>
7 using namespace std;
9 cudaDeviceProp CAFFEINE_TEST_CUDA_PROP;
11 int main(int argc, char** argv) {
12 ::testing::InitGoogleTest(&argc, argv);
13 ::google::InitGoogleLogging(argv[0]);
14 // Before starting testing, let's first print out a few cuda defice info.
15 int device;
16 cudaGetDeviceCount(&device);
17 cout << "Cuda number of devices: " << device << endl;
18 cudaGetDevice(&device);
19 cout << "Current device id: " << device << endl;
20 cudaGetDeviceProperties(&CAFFEINE_TEST_CUDA_PROP, device);
21 printf("Major revision number: %d\n", CAFFEINE_TEST_CUDA_PROP.major);
22 printf("Minor revision number: %d\n", CAFFEINE_TEST_CUDA_PROP.minor);
23 printf("Name: %s\n", CAFFEINE_TEST_CUDA_PROP.name);
24 printf("Total global memory: %lu\n", CAFFEINE_TEST_CUDA_PROP.totalGlobalMem);
25 printf("Total shared memory per block: %lu\n", CAFFEINE_TEST_CUDA_PROP.sharedMemPerBlock);
26 printf("Total registers per block: %d\n", CAFFEINE_TEST_CUDA_PROP.regsPerBlock);
27 printf("Warp size: %d\n", CAFFEINE_TEST_CUDA_PROP.warpSize);
28 printf("Maximum memory pitch: %lu\n", CAFFEINE_TEST_CUDA_PROP.memPitch);
29 printf("Maximum threads per block: %d\n", CAFFEINE_TEST_CUDA_PROP.maxThreadsPerBlock);
30 for (int i = 0; i < 3; ++i)
31 printf("Maximum dimension %d of block: %d\n", i, CAFFEINE_TEST_CUDA_PROP.maxThreadsDim[i]);
32 for (int i = 0; i < 3; ++i)
33 printf("Maximum dimension %d of grid: %d\n", i, CAFFEINE_TEST_CUDA_PROP.maxGridSize[i]);
34 printf("Clock rate: %d\n", CAFFEINE_TEST_CUDA_PROP.clockRate);
35 printf("Total constant memory: %lu\n", CAFFEINE_TEST_CUDA_PROP.totalConstMem);
36 printf("Texture alignment: %lu\n", CAFFEINE_TEST_CUDA_PROP.textureAlignment);
37 printf("Concurrent copy and execution: %s\n", (CAFFEINE_TEST_CUDA_PROP.deviceOverlap ? "Yes" : "No"));
38 printf("Number of multiprocessors: %d\n", CAFFEINE_TEST_CUDA_PROP.multiProcessorCount);
39 printf("Kernel execution timeout: %s\n", (CAFFEINE_TEST_CUDA_PROP.kernelExecTimeoutEnabled ? "Yes" : "No"));
41 return RUN_ALL_TESTS();
42 }