ViennaCL - The Vienna Computing Library: viennacl/device_specific/builtin_database/matrix_product.hpp Source File

ViennaCL - The Vienna Computing Library 1.7.1 Free open-source GPU-accelerated linear algebra and solver library. |

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
matrix_product.hpp
Go to the documentation of this file.
1 #ifndef VIENNACL_DEVICE_SPECIFIC_BUILTIN_DATABASE_MATRIX_PRODUCT_HPP_
2 #define VIENNACL_DEVICE_SPECIFIC_BUILTIN_DATABASE_MATRIX_PRODUCT_HPP_
3
4 /* =========================================================================
5 Copyright (c) 2010-2016, Institute for Microelectronics,
6 Institute for Analysis and Scientific Computing,
7 TU Wien.
8 Portions of this software are copyright by UChicago Argonne, LLC.
9
10 -----------------
11 ViennaCL - The Vienna Computing Library
12 -----------------
13
14 Project Head: Karl Rupp rupp@iue.tuwien.ac.at
15
16 (A list of authors and contributors can be found in the manual)
17
18 License: MIT (X11), see file LICENSE in the base directory
19 ============================================================================= */
20
21 #include "viennacl/device_specific/builtin_database/devices/gpu/amd/northern_islands/barts.hpp"
22
23 #include "viennacl/device_specific/builtin_database/devices/gpu/nvidia/fermi/tesla_c2050.hpp"
24
25 #include "viennacl/device_specific/builtin_database/devices/gpu/nvidia/fermi/geforce_gtx_470.hpp"
26
27 #include "viennacl/device_specific/builtin_database/devices/gpu/nvidia/maxwell/geforce_gtx_750_ti.hpp"
28
29 #include "viennacl/device_specific/builtin_database/devices/gpu/amd/northern_islands/scrapper.hpp"
30
31 #include "viennacl/device_specific/builtin_database/devices/gpu/nvidia/tesla/geforce_gtx_260.hpp"
32
33 #include "viennacl/device_specific/builtin_database/devices/gpu/amd/southern_islands/tahiti.hpp"
34 #include "viennacl/device_specific/builtin_database/devices/gpu/amd/northern_islands/devastator.hpp"
35
36 #include "viennacl/device_specific/builtin_database/devices/gpu/nvidia/kepler/tesla_k20m.hpp"
37 #include "viennacl/device_specific/builtin_database/devices/gpu/nvidia/fermi/geforce_gtx_580.hpp"
38
39 #include "viennacl/device_specific/builtin_database/devices/gpu/amd/volcanic_islands/hawaii.hpp"
40
41 #include "viennacl/device_specific/builtin_database/devices/gpu/amd/evergreen/cypress.hpp"
42 #include "viennacl/device_specific/builtin_database/devices/gpu/amd/evergreen/cedar.hpp"
43
44
45 #include "viennacl/device_specific/builtin_database/devices/gpu/nvidia/fermi/geforce_gt_540m.hpp"
46
47
48 #include "viennacl/ocl/device_utils.hpp"
49 #include "viennacl/scheduler/forwards.h"
50
51 #include "viennacl/device_specific/builtin_database/devices/accelerator/fallback.hpp"
52 #include "viennacl/device_specific/builtin_database/devices/cpu/fallback.hpp"
53 #include "viennacl/device_specific/builtin_database/devices/gpu/fallback.hpp"
54 #include "viennacl/device_specific/builtin_database/devices/gpu/nvidia/fermi/geforce_gt_540m.hpp"
55
61 namespace viennacl
62 {
63 namespace device_specific
64 {
65 namespace builtin_database
66 {
67
68 inline database_type<matrix_product_template::parameters_type> init_matrix_product_N_N()
69 {
70 database_type<matrix_product_template::parameters_type> result;
71
72 devices::accelerator::fallback::add_4B(result, char_to_type<'N'>(), char_to_type<'N'>());
73 devices::accelerator::fallback::add_8B(result, char_to_type<'N'>(), char_to_type<'N'>());
74
75 devices::cpu::fallback::add_4B(result, char_to_type<'N'>(), char_to_type<'N'>());
76 devices::cpu::fallback::add_8B(result, char_to_type<'N'>(), char_to_type<'N'>());
77
78 devices::gpu::fallback::add_4B(result, char_to_type<'N'>(), char_to_type<'N'>());
79 devices::gpu::fallback::add_8B(result, char_to_type<'N'>(), char_to_type<'N'>());
80
81 devices::gpu::amd::evergreen::cedar::add_4B(result, char_to_type<'N'>(), char_to_type<'N'>());
82 devices::gpu::amd::evergreen::cypress::add_4B(result, char_to_type<'N'>(), char_to_type<'N'>());
83 devices::gpu::amd::volcanic_islands::hawaii::add_4B(result, char_to_type<'N'>(), char_to_type<'N'>());
84 devices::gpu::amd::volcanic_islands::hawaii::add_8B(result, char_to_type<'N'>(), char_to_type<'N'>());
85 devices::gpu::nvidia::fermi::geforce_gtx_580::add_4B(result, char_to_type<'N'>(), char_to_type<'N'>());
86 devices::gpu::nvidia::fermi::geforce_gtx_580::add_8B(result, char_to_type<'N'>(), char_to_type<'N'>());
87 devices::gpu::nvidia::kepler::tesla_k20m::add_4B(result, char_to_type<'N'>(), char_to_type<'N'>());
88 devices::gpu::nvidia::kepler::tesla_k20m::add_8B(result, char_to_type<'N'>(), char_to_type<'N'>());
89 devices::gpu::amd::southern_islands::tahiti::add_4B(result, char_to_type<'N'>(), char_to_type<'N'>());
90 devices::gpu::amd::southern_islands::tahiti::add_8B(result, char_to_type<'N'>(), char_to_type<'N'>());
91 devices::gpu::amd::northern_islands::devastator::add_4B(result, char_to_type<'N'>(), char_to_type<'N'>());
92 devices::gpu::nvidia::tesla::geforce_gtx_260::add_4B(result, char_to_type<'N'>(), char_to_type<'N'>());
93 devices::gpu::amd::northern_islands::scrapper::add_4B(result, char_to_type<'N'>(), char_to_type<'N'>());
94 devices::gpu::nvidia::maxwell::geforce_gtx_750_ti::add_4B(result, char_to_type<'N'>(), char_to_type<'N'>());
95 devices::gpu::nvidia::maxwell::geforce_gtx_750_ti::add_8B(result, char_to_type<'N'>(), char_to_type<'N'>());
96 devices::gpu::nvidia::fermi::geforce_gtx_470::add_4B(result, char_to_type<'N'>(), char_to_type<'N'>());
97 devices::gpu::nvidia::fermi::geforce_gtx_470::add_8B(result, char_to_type<'N'>(), char_to_type<'N'>());
98 devices::gpu::nvidia::fermi::tesla_c2050::add_4B(result, char_to_type<'N'>(), char_to_type<'N'>());
99 devices::gpu::nvidia::fermi::tesla_c2050::add_8B(result, char_to_type<'N'>(), char_to_type<'N'>());
100 devices::gpu::amd::northern_islands::barts::add_4B(result, char_to_type<'N'>(), char_to_type<'N'>());
101
102 return result;
103 }
104
105 inline database_type<matrix_product_template::parameters_type> init_matrix_product_T_N()
106 {
107 database_type<matrix_product_template::parameters_type> result;
108
109 devices::accelerator::fallback::add_4B(result, char_to_type<'T'>(), char_to_type<'N'>());
110 devices::accelerator::fallback::add_8B(result, char_to_type<'T'>(), char_to_type<'N'>());
111
112 devices::cpu::fallback::add_4B(result, char_to_type<'T'>(), char_to_type<'N'>());
113 devices::cpu::fallback::add_8B(result, char_to_type<'T'>(), char_to_type<'N'>());
114
115 devices::gpu::fallback::add_4B(result, char_to_type<'T'>(), char_to_type<'N'>());
116 devices::gpu::fallback::add_8B(result, char_to_type<'T'>(), char_to_type<'N'>());
117 devices::gpu::nvidia::fermi::geforce_gt_540m::add_4B(result, char_to_type<'T'>(), char_to_type<'N'>());
118 devices::gpu::amd::evergreen::cedar::add_4B(result, char_to_type<'T'>(), char_to_type<'N'>());
119 devices::gpu::amd::evergreen::cypress::add_4B(result, char_to_type<'T'>(), char_to_type<'N'>());
120 devices::gpu::amd::volcanic_islands::hawaii::add_4B(result, char_to_type<'T'>(), char_to_type<'N'>());
121 devices::gpu::amd::volcanic_islands::hawaii::add_8B(result, char_to_type<'T'>(), char_to_type<'N'>());
122 devices::gpu::nvidia::fermi::geforce_gtx_580::add_4B(result, char_to_type<'T'>(), char_to_type<'N'>());
123 devices::gpu::nvidia::fermi::geforce_gtx_580::add_8B(result, char_to_type<'T'>(), char_to_type<'N'>());
124 devices::gpu::nvidia::kepler::tesla_k20m::add_4B(result, char_to_type<'T'>(), char_to_type<'N'>());
125 devices::gpu::nvidia::kepler::tesla_k20m::add_8B(result, char_to_type<'T'>(), char_to_type<'N'>());
126 devices::gpu::amd::southern_islands::tahiti::add_4B(result, char_to_type<'T'>(), char_to_type<'N'>());
127 devices::gpu::amd::southern_islands::tahiti::add_8B(result, char_to_type<'T'>(), char_to_type<'N'>());
128 devices::gpu::amd::northern_islands::devastator::add_4B(result, char_to_type<'T'>(), char_to_type<'N'>());
129 devices::gpu::nvidia::tesla::geforce_gtx_260::add_4B(result, char_to_type<'T'>(), char_to_type<'N'>());
130 devices::gpu::amd::northern_islands::scrapper::add_4B(result, char_to_type<'T'>(), char_to_type<'N'>());
131 devices::gpu::nvidia::maxwell::geforce_gtx_750_ti::add_4B(result, char_to_type<'T'>(), char_to_type<'N'>());
132 devices::gpu::nvidia::maxwell::geforce_gtx_750_ti::add_8B(result, char_to_type<'T'>(), char_to_type<'N'>());
133 devices::gpu::nvidia::fermi::geforce_gtx_470::add_4B(result, char_to_type<'T'>(), char_to_type<'N'>());
134 devices::gpu::nvidia::fermi::geforce_gtx_470::add_8B(result, char_to_type<'T'>(), char_to_type<'N'>());
135 devices::gpu::nvidia::fermi::tesla_c2050::add_4B(result, char_to_type<'T'>(), char_to_type<'N'>());
136 devices::gpu::nvidia::fermi::tesla_c2050::add_8B(result, char_to_type<'T'>(), char_to_type<'N'>());
137 devices::gpu::amd::northern_islands::barts::add_4B(result, char_to_type<'T'>(), char_to_type<'N'>());
138
139 return result;
140 }
141
142 inline database_type<matrix_product_template::parameters_type> init_matrix_product_N_T()
143 {
144 database_type<matrix_product_template::parameters_type> result;
145
146 devices::accelerator::fallback::add_4B(result, char_to_type<'N'>(), char_to_type<'T'>());
147 devices::accelerator::fallback::add_8B(result, char_to_type<'N'>(), char_to_type<'T'>());
148
149 devices::cpu::fallback::add_4B(result, char_to_type<'N'>(), char_to_type<'T'>());
150 devices::cpu::fallback::add_8B(result, char_to_type<'N'>(), char_to_type<'T'>());
151
152 devices::gpu::fallback::add_4B(result, char_to_type<'N'>(), char_to_type<'T'>());
153 devices::gpu::fallback::add_8B(result, char_to_type<'N'>(), char_to_type<'T'>());
154
155 devices::gpu::nvidia::fermi::geforce_gt_540m::add_4B(result, char_to_type<'N'>(), char_to_type<'T'>());
156 devices::gpu::amd::evergreen::cedar::add_4B(result, char_to_type<'N'>(), char_to_type<'T'>());
157 devices::gpu::amd::evergreen::cypress::add_4B(result, char_to_type<'N'>(), char_to_type<'T'>());
158 devices::gpu::amd::volcanic_islands::hawaii::add_4B(result, char_to_type<'N'>(), char_to_type<'T'>());
159 devices::gpu::amd::volcanic_islands::hawaii::add_8B(result, char_to_type<'N'>(), char_to_type<'T'>());
160 devices::gpu::nvidia::fermi::geforce_gtx_580::add_4B(result, char_to_type<'N'>(), char_to_type<'T'>());
161 devices::gpu::nvidia::fermi::geforce_gtx_580::add_8B(result, char_to_type<'N'>(), char_to_type<'T'>());
162 devices::gpu::nvidia::kepler::tesla_k20m::add_4B(result, char_to_type<'N'>(), char_to_type<'T'>());
163 devices::gpu::nvidia::kepler::tesla_k20m::add_8B(result, char_to_type<'N'>(), char_to_type<'T'>());
164 devices::gpu::amd::southern_islands::tahiti::add_4B(result, char_to_type<'N'>(), char_to_type<'T'>());
165 devices::gpu::amd::southern_islands::tahiti::add_8B(result, char_to_type<'N'>(), char_to_type<'T'>());
166 devices::gpu::amd::northern_islands::devastator::add_4B(result, char_to_type<'N'>(), char_to_type<'T'>());
167 devices::gpu::nvidia::tesla::geforce_gtx_260::add_4B(result, char_to_type<'N'>(), char_to_type<'T'>());
168
169
170 devices::gpu::amd::northern_islands::scrapper::add_4B(result, char_to_type<'N'>(), char_to_type<'T'>());
171 devices::gpu::nvidia::maxwell::geforce_gtx_750_ti::add_4B(result, char_to_type<'N'>(), char_to_type<'T'>());
172 devices::gpu::nvidia::maxwell::geforce_gtx_750_ti::add_8B(result, char_to_type<'N'>(), char_to_type<'T'>());
173 devices::gpu::nvidia::fermi::geforce_gtx_470::add_4B(result, char_to_type<'N'>(), char_to_type<'T'>());
174 devices::gpu::nvidia::fermi::geforce_gtx_470::add_8B(result, char_to_type<'N'>(), char_to_type<'T'>());
175 devices::gpu::nvidia::fermi::tesla_c2050::add_4B(result, char_to_type<'N'>(), char_to_type<'T'>());
176 devices::gpu::nvidia::fermi::tesla_c2050::add_8B(result, char_to_type<'N'>(), char_to_type<'T'>());
177 devices::gpu::amd::northern_islands::barts::add_4B(result, char_to_type<'N'>(), char_to_type<'T'>());
178
179 return result;
180 }
181
182 inline database_type<matrix_product_template::parameters_type> init_matrix_product_T_T()
183 {
184 database_type<matrix_product_template::parameters_type> result;
185
186 devices::accelerator::fallback::add_4B(result, char_to_type<'T'>(), char_to_type<'T'>());
187 devices::accelerator::fallback::add_8B(result, char_to_type<'T'>(), char_to_type<'T'>());
188
189 devices::cpu::fallback::add_4B(result, char_to_type<'T'>(), char_to_type<'T'>());
190 devices::cpu::fallback::add_8B(result, char_to_type<'T'>(), char_to_type<'T'>());
191
192 devices::gpu::fallback::add_4B(result, char_to_type<'T'>(), char_to_type<'T'>());
193 devices::gpu::fallback::add_8B(result, char_to_type<'T'>(), char_to_type<'T'>());
194 devices::gpu::amd::evergreen::cedar::add_4B(result, char_to_type<'T'>(), char_to_type<'T'>());
195 devices::gpu::amd::evergreen::cypress::add_4B(result, char_to_type<'T'>(), char_to_type<'T'>());
196 devices::gpu::amd::volcanic_islands::hawaii::add_4B(result, char_to_type<'T'>(), char_to_type<'T'>());
197 devices::gpu::amd::volcanic_islands::hawaii::add_8B(result, char_to_type<'T'>(), char_to_type<'T'>());
198 devices::gpu::nvidia::fermi::geforce_gtx_580::add_4B(result, char_to_type<'T'>(), char_to_type<'T'>());
199 devices::gpu::nvidia::fermi::geforce_gtx_580::add_8B(result, char_to_type<'T'>(), char_to_type<'T'>());
200 devices::gpu::nvidia::kepler::tesla_k20m::add_4B(result, char_to_type<'T'>(), char_to_type<'T'>());
201 devices::gpu::nvidia::kepler::tesla_k20m::add_8B(result, char_to_type<'T'>(), char_to_type<'T'>());
202 devices::gpu::amd::southern_islands::tahiti::add_4B(result, char_to_type<'T'>(), char_to_type<'T'>());
203 devices::gpu::amd::southern_islands::tahiti::add_8B(result, char_to_type<'T'>(), char_to_type<'T'>());
204 devices::gpu::amd::northern_islands::devastator::add_4B(result, char_to_type<'T'>(), char_to_type<'T'>());
205 devices::gpu::nvidia::tesla::geforce_gtx_260::add_4B(result, char_to_type<'T'>(), char_to_type<'T'>());
206 devices::gpu::amd::northern_islands::scrapper::add_4B(result, char_to_type<'T'>(), char_to_type<'T'>());
207 devices::gpu::nvidia::maxwell::geforce_gtx_750_ti::add_4B(result, char_to_type<'T'>(), char_to_type<'T'>());
208 devices::gpu::nvidia::maxwell::geforce_gtx_750_ti::add_8B(result, char_to_type<'T'>(), char_to_type<'T'>());
209 devices::gpu::nvidia::fermi::geforce_gtx_470::add_4B(result, char_to_type<'T'>(), char_to_type<'T'>());
210 devices::gpu::nvidia::fermi::geforce_gtx_470::add_8B(result, char_to_type<'T'>(), char_to_type<'T'>());
211 devices::gpu::nvidia::fermi::tesla_c2050::add_4B(result, char_to_type<'T'>(), char_to_type<'T'>());
212 devices::gpu::nvidia::fermi::tesla_c2050::add_8B(result, char_to_type<'T'>(), char_to_type<'T'>());
213 devices::gpu::amd::northern_islands::barts::add_4B(result, char_to_type<'T'>(), char_to_type<'T'>());
214
215 return result;
216 }
217
218 static database_type<matrix_product_template::parameters_type> matrix_product_N_N = init_matrix_product_N_N();
219 static database_type<matrix_product_template::parameters_type> matrix_product_T_N = init_matrix_product_T_N();
220 static database_type<matrix_product_template::parameters_type> matrix_product_N_T = init_matrix_product_N_T();
221 static database_type<matrix_product_template::parameters_type> matrix_product_T_T = init_matrix_product_T_T();
222
223 template<class NumericT>
224 matrix_product_template::parameters_type const & matrix_product_params(ocl::device const & device, char A_trans, char B_trans)
225 {
226 assert(A_trans=='N' || A_trans=='T');
227 assert(B_trans=='N' || B_trans=='T');
228 database_type<matrix_product_template::parameters_type> * db;
229 if (A_trans=='N' && B_trans=='N')
230 db = &matrix_product_N_N;
231 else if (A_trans=='T' && B_trans=='N')
232 db = &matrix_product_T_N;
233 else if (A_trans=='N' && B_trans=='T')
234 db = &matrix_product_N_T;
235 else
236 db = &matrix_product_T_T;
237 return get_parameters<NumericT>(*db, device);
238 }
239
240
241 }
242 }
243 }
244 #endif
viennacl::device_specific::builtin_database::devices::gpu::amd::evergreen::cypress::add_4B
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: cypress.hpp:36
viennacl::device_specific::builtin_database::devices::gpu::amd::northern_islands::barts::add_4B
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: barts.hpp:35
geforce_gtx_750_ti.hpp
geforce_gt_540m.hpp
viennacl::device_specific::builtin_database::init_matrix_product_T_N
database_type< matrix_product_template::parameters_type > init_matrix_product_T_N()
Definition: matrix_product.hpp:105
viennacl::device_specific::builtin_database::devices::gpu::nvidia::fermi::geforce_gtx_470::add_8B
void add_8B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: geforce_gtx_470.hpp:35
viennacl::device_specific::builtin_database::devices::cpu::fallback::add_8B
void add_8B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'N'>, char_to_type<'N'>)
Definition: fallback.hpp:55
cedar.hpp
viennacl::device_specific::builtin_database::devices::gpu::nvidia::fermi::geforce_gt_540m::add_4B
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'N'>)
Definition: geforce_gt_540m.hpp:35
viennacl::device_specific::builtin_database::devices::gpu::amd::southern_islands::tahiti::add_8B
void add_8B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: tahiti.hpp:35
viennacl::ocl::device
A class representing a compute device (e.g. a GPU)
Definition: device.hpp:49
viennacl::device_specific::builtin_database::database_type
Definition: common.hpp:44
viennacl::device_specific::builtin_database::devices::gpu::amd::volcanic_islands::hawaii::add_4B
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: hawaii.hpp:55
fallback.hpp
fallback.hpp
viennacl::device_specific::builtin_database::init_matrix_product_N_N
database_type< matrix_product_template::parameters_type > init_matrix_product_N_N()
Definition: matrix_product.hpp:68
geforce_gtx_580.hpp
viennacl::device_specific::builtin_database::init_matrix_product_N_T
database_type< matrix_product_template::parameters_type > init_matrix_product_N_T()
Definition: matrix_product.hpp:142
scrapper.hpp
fallback.hpp
viennacl::device_specific::builtin_database::devices::gpu::nvidia::tesla::geforce_gtx_260::add_4B
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: geforce_gtx_260.hpp:55
viennacl::device_specific::builtin_database::devices::gpu::amd::northern_islands::scrapper::add_4B
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: scrapper.hpp:35
viennacl::device_specific::builtin_database::devices::gpu::nvidia::kepler::tesla_k20m::add_4B
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: tesla_k20m.hpp:55
geforce_gtx_260.hpp
device_utils.hpp
Various utility implementations for dispatching with respect to the different devices available on th...
viennacl::device_specific::builtin_database::devices::gpu::amd::southern_islands::tahiti::add_4B
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: tahiti.hpp:55
viennacl::device_specific::char_to_type
Definition: forwards.h:260
tahiti.hpp
viennacl::device_specific::builtin_database::devices::cpu::fallback::add_4B
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'N'>, char_to_type<'N'>)
Definition: fallback.hpp:33
forwards.h
Provides the datastructures for dealing with a single statement such as 'x = y + z;'.
devastator.hpp
viennacl::device_specific::builtin_database::devices::gpu::nvidia::fermi::geforce_gtx_580::add_4B
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: geforce_gtx_580.hpp:55
viennacl::device_specific::builtin_database::devices::gpu::nvidia::fermi::tesla_c2050::add_4B
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: tesla_c2050.hpp:55
viennacl::device_specific::builtin_database::devices::gpu::nvidia::fermi::geforce_gtx_470::add_4B
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: geforce_gtx_470.hpp:55
viennacl::device_specific::builtin_database::devices::gpu::fallback::add_8B
void add_8B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'N'>, char_to_type<'N'>)
Definition: fallback.hpp:55
viennacl::device_specific::builtin_database::devices::accelerator::fallback::add_4B
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'N'>, char_to_type<'N'>)
Definition: fallback.hpp:34
viennacl::device_specific::builtin_database::init_matrix_product_T_T
database_type< matrix_product_template::parameters_type > init_matrix_product_T_T()
Definition: matrix_product.hpp:182
hawaii.hpp
viennacl::device_specific::builtin_database::devices::gpu::amd::volcanic_islands::hawaii::add_8B
void add_8B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: hawaii.hpp:35
geforce_gtx_470.hpp
viennacl::device_specific::builtin_database::devices::gpu::nvidia::maxwell::geforce_gtx_750_ti::add_4B
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: geforce_gtx_750_ti.hpp:56
tesla_k20m.hpp
viennacl::device_specific::builtin_database::devices::gpu::fallback::add_4B
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'N'>, char_to_type<'N'>)
Definition: fallback.hpp:34
viennacl::device_specific::builtin_database::devices::gpu::nvidia::fermi::geforce_gtx_580::add_8B
void add_8B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: geforce_gtx_580.hpp:35
cypress.hpp
barts.hpp
viennacl::device_specific::builtin_database::devices::gpu::nvidia::maxwell::geforce_gtx_750_ti::add_8B
void add_8B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: geforce_gtx_750_ti.hpp:36
viennacl::device_specific::builtin_database::devices::gpu::amd::northern_islands::devastator::add_4B
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: devastator.hpp:35
viennacl::device_specific::builtin_database::devices::gpu::nvidia::kepler::tesla_k20m::add_8B
void add_8B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: tesla_k20m.hpp:35
viennacl::device_specific::builtin_database::devices::gpu::amd::evergreen::cedar::add_4B
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: cedar.hpp:35
viennacl::device_specific::template_base::parameters_type
Definition: template_base.hpp:57
viennacl::device_specific::builtin_database::devices::gpu::nvidia::fermi::tesla_c2050::add_8B
void add_8B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: tesla_c2050.hpp:35
viennacl::device_specific::builtin_database::matrix_product_params
matrix_product_template::parameters_type const & matrix_product_params(ocl::device const &device, char A_trans, char B_trans)
Definition: matrix_product.hpp:224
viennacl::device_specific::builtin_database::devices::accelerator::fallback::add_8B
void add_8B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'N'>, char_to_type<'N'>)
Definition: fallback.hpp:56
tesla_c2050.hpp