ViennaCL - The Vienna Computing Library  1.2.0
matrix_prod_col_row_row_kernels.h
Go to the documentation of this file.
1 #ifndef _VIENNACL_MATRIX_PROD_COL_ROW_ROW_KERNELS_HPP_
2 #define _VIENNACL_MATRIX_PROD_COL_ROW_ROW_KERNELS_HPP_
6 #include "viennacl/ocl/utils.hpp"
8 
9 //Automatically generated file from aux-directory, do not edit manually!
10 namespace viennacl
11 {
12  namespace linalg
13  {
14  namespace kernels
15  {
16  template<class TYPE, unsigned int alignment>
17  struct matrix_prod_col_row_row;
18 
19 
21  template <>
22  struct matrix_prod_col_row_row<float, 1>
23  {
24  static std::string program_name()
25  {
26  return "f_matrix_prod_col_row_row_1";
27  }
28  static void init()
29  {
31  static std::map<cl_context, bool> init_done;
33  if (!init_done[context_.handle()])
34  {
35  std::string source;
40  std::string prog_name = program_name();
41  #ifdef VIENNACL_BUILD_INFO
42  std::cout << "Creating program " << prog_name << std::endl;
43  #endif
44  context_.add_program(source, prog_name);
45  viennacl::ocl::program & prog_ = context_.get_program(prog_name);
46  prog_.add_kernel("prod_TT");
47  prog_.add_kernel("prod_TA");
48  prog_.add_kernel("prod_AA");
49  prog_.add_kernel("prod_AT");
50  init_done[context_.handle()] = true;
51  } //if
52  } //init
53  }; // struct
54 
55 
56 
58  template <>
59  struct matrix_prod_col_row_row<double, 1>
60  {
61  static std::string program_name()
62  {
63  return "d_matrix_prod_col_row_row_1";
64  }
65  static void init()
66  {
68  static std::map<cl_context, bool> init_done;
70  if (!init_done[context_.handle()])
71  {
72  std::string source;
78  std::string prog_name = program_name();
79  #ifdef VIENNACL_BUILD_INFO
80  std::cout << "Creating program " << prog_name << std::endl;
81  #endif
82  context_.add_program(source, prog_name);
83  viennacl::ocl::program & prog_ = context_.get_program(prog_name);
84  prog_.add_kernel("prod_TT");
85  prog_.add_kernel("prod_TA");
86  prog_.add_kernel("prod_AA");
87  prog_.add_kernel("prod_AT");
88  init_done[context_.handle()] = true;
89  } //if
90  } //init
91  }; // struct
92 
93 
94  } //namespace kernels
95  } //namespace linalg
96 } //namespace viennacl
97 #endif