All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
device_utils.hpp File Reference

Various utility implementations for dispatching with respect to the different devices available on the market. More...

`#include <CL/cl.h>`
`#include <stddef.h>`
`#include <map>`
`#include <string>`
`#include "viennacl/forwards.h"`

Go to the source code of this file.

## Namespaces

| viennacl
| Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
| viennacl::ocl
| OpenCL backend. Manages platforms, contexts, buffers, kernels, etc.

## Macros

#define | VIENNACL_OCL_MAX_DEVICE_NUM 8
#define | VIENNACL_DEVICE_MAP(device, arch) if (name.find(device,0)!=std::string::npos) return arch;

## Enumerations

enum | viennacl::ocl::vendor_id { viennacl::ocl::beignet_id = 358, viennacl::ocl::intel_id = 32902, viennacl::ocl::nvidia_id = 4318, viennacl::ocl::amd_id = 4098, viennacl::ocl::unknown_id = 0 }
enum | viennacl::ocl::device_architecture_family { viennacl::ocl::tesla = 0, viennacl::ocl::fermi, viennacl::ocl::kepler, viennacl::ocl::maxwell, viennacl::ocl::evergreen, viennacl::ocl::northern_islands, viennacl::ocl::southern_islands, viennacl::ocl::volcanic_islands, viennacl::ocl::unknown }

## Functions

device_architecture_family | viennacl::ocl::get_architecture_family (cl_uint vendor_id, std::string const &name)

## Detailed Description

Various utility implementations for dispatching with respect to the different devices available on the market.

Definition in file device_utils.hpp.

## Macro Definition Documentation

#define VIENNACL_DEVICE_MAP | ( |  | device,
|  |  | arch
| ) |  | if (name.find(device,0)!=std::string::npos) return arch;

#define VIENNACL_OCL_MAX_DEVICE_NUM 8

Definition at line 25 of file device_utils.hpp.