Blame view

3rdparty/opencv-4.5.4/cmake/checks/OpenCVDetectCudaArch.cu 725 Bytes
f4334277   Hu Chunming   提交3rdparty
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
  #include <iostream>
  #include <sstream>
  #include <list>
  
  int main()
  {
      std::ostringstream arch;
      std::list<std::string> archs;
  
      int count = 0;
      if (cudaSuccess != cudaGetDeviceCount(&count)){ return -1; }
      if (count == 0) { return -1; }
      for (int device = 0; device < count; ++device)
      {
          cudaDeviceProp prop;
          if (cudaSuccess != cudaGetDeviceProperties(&prop, device)){ continue; }
          arch << prop.major << "." << prop.minor;
          archs.push_back(arch.str());
          arch.str("");
      }
      archs.unique(); // Some devices might have the same arch
      for (std::list<std::string>::iterator it=archs.begin(); it!=archs.end(); ++it)
          std::cout << *it << " ";
      return 0;
  }