ViennaCL - The Vienna Computing Library  1.7.0
Free open-source GPU-accelerated linear algebra and solver library.
row_wise_reduction.hpp
Go to the documentation of this file.
1 #ifndef VIENNACL_DEVICE_SPECIFIC_BUILTIN_DATABASE_ROW_WISE_REDUCTION_HPP_
2 #define VIENNACL_DEVICE_SPECIFIC_BUILTIN_DATABASE_ROW_WISE_REDUCTION_HPP_
3 
4 /* =========================================================================
5  Copyright (c) 2010-2015, 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 
22 
24 
26 
28 
30 
32 
35 
38 
40 
43 
44 
46 
47 
49 
51 
55 
61 namespace viennacl
62 {
63 namespace device_specific
64 {
65 namespace builtin_database
66 {
67 
69 {
71 
74 
77 
104 
105  return result;
106 }
107 
109 {
111 
114 
117 
143 
144  return result;
145 }
146 
147 static database_type<row_wise_reduction_template::parameters_type> row_wise_reduction_N = init_row_wise_reduction_N();
148 static database_type<row_wise_reduction_template::parameters_type> row_wise_reduction_T = init_row_wise_reduction_T();
149 
150 template<class NumericT>
152 {
153  assert(A_trans=='N' || A_trans=='T');
155  if (A_trans=='T')
156  db = &row_wise_reduction_T;
157  else
158  db = &row_wise_reduction_N;
159  return get_parameters<NumericT>(*db, device);
160 }
161 
162 
163 }
164 }
165 }
166 
167 #endif
device_specific::row_wise_reduction_template::parameters_type const & row_wise_reduction_params(ocl::device const &device, char A_trans)
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: barts.hpp:43
void add_8B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
void add_4B(database_type< reduction_template::parameters_type > &db)
Definition: cypress.hpp:48
void add_8B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
void add_8B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: tahiti.hpp:43
A class representing a compute device (e.g. a GPU)
Definition: device.hpp:49
void add_8B(database_type< vector_axpy_template::parameters_type > &db)
Definition: fallback.hpp:83
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: hawaii.hpp:63
void add_8B(database_type< row_wise_reduction_template::parameters_type > &db, char_to_type<'T'>)
void add_8B(database_type< vector_axpy_template::parameters_type > &db)
Definition: fallback.hpp:83
Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
Definition: cpu_ram.hpp:34
void add_4B(database_type< reduction_template::parameters_type > &db)
Definition: cedar.hpp:43
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: scrapper.hpp:43
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: tesla_k20m.hpp:63
void add_4B(database_type< vector_axpy_template::parameters_type > &db)
Definition: fallback.hpp:37
Various utility implementations for dispatching with respect to the different devices available on th...
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: tahiti.hpp:63
Provides the datastructures for dealing with a single statement such as 'x = y + z;'.
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: tesla_c2050.hpp:63
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
void add_8B(database_type< reduction_template::parameters_type > &db)
Definition: cypress.hpp:43
database_type< row_wise_reduction_template::parameters_type > init_row_wise_reduction_T()
void add_8B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: hawaii.hpp:43
void add_4B(database_type< vector_axpy_template::parameters_type > &db)
Definition: fallback.hpp:37
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
void add_8B(database_type< vector_axpy_template::parameters_type > &db)
Definition: fallback.hpp:84
void add_8B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
void add_8B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
database_type< row_wise_reduction_template::parameters_type > init_row_wise_reduction_N()
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: devastator.hpp:43
void add_8B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: tesla_k20m.hpp:43
void add_4B(database_type< vector_axpy_template::parameters_type > &db)
void add_8B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: tesla_c2050.hpp:43
void add_4B(database_type< vector_axpy_template::parameters_type > &db)
Definition: fallback.hpp:37