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