1 #ifndef _VIENNACL_MATRIX_SOLVE_COL_ROW_KERNELS_HPP_
2 #define _VIENNACL_MATRIX_SOLVE_COL_ROW_KERNELS_HPP_
16 template<
class TYPE,
unsigned int alignment>
17 struct matrix_solve_col_row;
22 struct matrix_solve_col_row<float, 1>
24 static std::string program_name()
26 return "f_matrix_solve_col_row_1";
31 static std::map<cl_context, bool> init_done;
33 if (!init_done[context_.
handle()])
52 std::string prog_name = program_name();
53 #ifdef VIENNACL_BUILD_INFO
54 std::cout <<
"Creating program " << prog_name << std::endl;
60 prog_.
add_kernel(
"trans_unit_upper_trans_solve");
72 prog_.
add_kernel(
"trans_unit_lower_trans_solve");
74 init_done[context_.
handle()] =
true;
83 struct matrix_solve_col_row<double, 1>
85 static std::string program_name()
87 return "d_matrix_solve_col_row_1";
92 static std::map<cl_context, bool> init_done;
94 if (!init_done[context_.
handle()])
114 std::string prog_name = program_name();
115 #ifdef VIENNACL_BUILD_INFO
116 std::cout <<
"Creating program " << prog_name << std::endl;
122 prog_.
add_kernel(
"trans_unit_upper_trans_solve");
134 prog_.
add_kernel(
"trans_unit_lower_trans_solve");
136 init_done[context_.
handle()] =
true;