ViennaCL - The Vienna Computing Library  1.5.1
Data Structures | Namespaces | Typedefs | Functions
profiles.hpp File Reference

Vendor-specific parameters for the generated kernels. More...

#include <map>
#include "viennacl/ocl/device.hpp"
#include "viennacl/generator/forwards.h"
#include "viennacl/tools/shared_ptr.hpp"
#include "viennacl/generator/profile_base.hpp"
#include "viennacl/generator/saxpy.hpp"
#include "viennacl/generator/scalar_reduction.hpp"
#include "viennacl/generator/vector_reduction.hpp"
#include "viennacl/generator/matrix_product.hpp"

Go to the source code of this file.

Data Structures

struct  map_wrapper< KeyType, ValueType >
 Helper struct for mapping a std::map<KeyType, ValueType>. Used to avoids type length explosion when using nested std::map directly. More...
 
struct  expression_map
 Represents expression->profile in the map hierarchy vendor->device_type->device_arch->device->expression->profile. More...
 
struct  device_name_map
 Represents device->expression in the map hierarchy vendor->device_type->device_arch->device->expression->profile. More...
 
struct  device_architecture_map
 Represents device_arch->device in the map hierarchy vendor->device_type->device_arch->device->expression->profile. More...
 
struct  device_type_map
 Represents device_type->device_arch in the map hierarchy vendor->device_type->device_arch->device->expression->profile. More...
 
struct  database_type
 Represents vendor->device_type in the map hierarchy vendor->device_type->device_arch->device->expression->profile. More...
 

Namespaces

 viennacl
 Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
 
 viennacl::generator
 Provides an OpenCL kernel generator.
 
 viennacl::generator::profiles
 Namespace holding the various device-specific parameters for generating the best kernels.
 

Typedefs

typedef cl_uint vendor_id_type
 
typedef cl_device_type device_type
 
typedef std::string device_name_type
 
typedef
viennacl::tools::shared_ptr
< profile_base > 
profile_base_ptr
 

Functions

void set_generation_default_to (database_type &map, vendor_id_type vendor_id, viennacl::ocl::device_architecture_family family, expression_key_type expression, std::string const &device_name)
 Set a default of a generation to a particular device for a particular operation. More...
 
void set_all_generation_default_to (database_type &map, vendor_id_type vendor_id, viennacl::ocl::device_architecture_family family, std::string const &device_name)
 Set a default of a generation to a particular device for all operations. More...
 

Detailed Description

Vendor-specific parameters for the generated kernels.