All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
matrix_product_template.hpp File Reference
`#include <vector>`
`#include "viennacl/scheduler/forwards.h"`
`#include "viennacl/detail/matrix_def.hpp"`
`#include "viennacl/matrix_proxy.hpp"`
`#include "viennacl/device_specific/templates/template_base.hpp"`
`#include "viennacl/device_specific/mapped_objects.hpp"`
`#include "viennacl/device_specific/utils.hpp"`
`#include "viennacl/device_specific/tree_parsing.hpp"`
`#include "viennacl/forwards.h"`
`#include "viennacl/tools/tools.hpp"`

Go to the source code of this file.

## Classes

struct | viennacl::device_specific::matrix_product_parameters
class | viennacl::device_specific::matrix_product_template

## Namespaces

| viennacl
| Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
| viennacl::device_specific
| Provides an OpenCL kernel generator.

## Macros

#define | VIENNACL_MUL_STRIDE1 string(fallback?"*#stride1":"")
#define | VIENNACL_HANDLE_BOUNDS(in_bounds, to_load) (!fallback?string(to_load):string( string(in_bounds) + "?" + string(to_load) + ":0"))
#define | VIENNACL_VSTORE(value, offset, ptr) vstore(p.simd_width, value, offset, ptr)

## Detailed Description

Kernel template for the matrix product operation

Definition in file matrix_product_template.hpp.

## Macro Definition Documentation

#define VIENNACL_HANDLE_BOUNDS | ( |  | in_bounds,
|  |  | to_load
| ) |  | (!fallback?string(to_load):string( string(in_bounds) + "?" + string(to_load) + ":0"))

#define VIENNACL_MUL_STRIDE1 string(fallback?"*#stride1":"")

#define VIENNACL_VSTORE | ( |  | value,
|  |  | offset,
|  |  | ptr
| ) |  | vstore(p.simd_width, value, offset, ptr)