1 #ifndef VIENNACL_OCL_DEVICE_UTILS_HPP_
2 #define VIENNACL_OCL_DEVICE_UTILS_HPP_
25 #define VIENNACL_OCL_MAX_DEVICE_NUM 8
28 #include <OpenCL/cl.h>
79 if ((found= name.find(
"GeForce",0)) != std::string::npos)
81 if ((found = name.find_first_of(
"123456789", found)) != std::string::npos)
85 case '2' :
return tesla;
86 case '3' :
return tesla;
88 case '4' :
return fermi;
89 case '5' :
return fermi;
92 case '7' :
if (name[found+1] ==
'5')
96 case '8' :
if (name[found+3] ==
'0')
100 case '9' :
if (name[found+3] ==
'0')
112 else if ((found = name.find(
"Tesla",0)) != std::string::npos)
114 if ((found = name.find_first_of(
"CMK", found)) != std::string::npos)
118 case 'C' :
return fermi;
119 case 'M' :
return fermi;
134 else if (vendor_id==
amd_id)
137 #define VIENNACL_DEVICE_MAP(device,arch)if (name.find(device,0)!=std::string::npos) return arch;
176 #undef VIENNACL_DEVICE_MAP
#define VIENNACL_DEVICE_MAP(device, arch)
This file provides the forward declarations for the main types used within ViennaCL.
device_architecture_family get_architecture_family(cl_uint vendor_id, std::string const &name)
device_architecture_family