ViennaCL - The Vienna Computing Library  1.5.0
Data Structures | Namespaces | Typedefs | Functions
viennacl/generator/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

namespace  viennacl
 

Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.


namespace  viennacl::generator
 

Provides an OpenCL kernel generator.


namespace  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.
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.

Detailed Description

Vendor-specific parameters for the generated kernels.