106"void custom_inner_prod(__local const float* A, __global float* v, unsigned int col_ind, unsigned int row_num, unsigned int start_ind, float* res){\n"
107" for(unsigned int i = start_ind; i < row_num; ++i){\n"
108" *res += A[col_ind*row_num + i]*v[i]; \n"
109" }\n"
110"}\n"
111"// \n"
112"void apply_householder_reflection(__local float* A, unsigned int row_n, unsigned int col_n, unsigned int iter_cnt, __global float* v, float b){\n"
113" float in_prod_res;\n"
114" for(unsigned int i= iter_cnt + get_local_id(0); i < col_n; i+=get_local_size(0)){\n"
115" in_prod_res = 0.0;\n"
116" custom_inner_prod(A, v, i, row_n, iter_cnt, &in_prod_res);\n"
117" for(unsigned int j = iter_cnt; j < row_n; ++j){\n"
118" A[ i*row_n + j] -= b*in_prod_res* v[j];\n"
119" }\n"
120" }\n"
121" \n"
122"}\n"
123"void store_householder_vector(__local float* A, unsigned int ind, unsigned int n, __global float* v){\n"