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;
169 #undef VIENNACL_DEVICE_MAP
#define VIENNACL_DEVICE_MAP(device, arch)
This file provides the forward declarations for the main types used within ViennaCL.
Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
device_architecture_family get_architecture_family(cl_uint vendor_id, std::string const &name)
device_architecture_family