1 #ifndef PARALUTION_OCL_KERNELS_DENSE_HPP_
2 #define PARALUTION_OCL_KERNELS_DENSE_HPP_
7 "__kernel void kernel_dense_spmv(const int nrow, const int ncol, __global const ValueType *val,\n"
8 " __global const ValueType *in, __global ValueType *out) {\n"
10 " int ai = get_global_id(0);\n"
14 " ValueType sum = (ValueType)(0.0);\n"
16 " for (int aj=0; aj<ncol; ++aj)\n"
17 " sum += val[ai+aj*nrow] * in[aj];\n"
26 "__kernel void kernel_dense_replace_column_vector(__global const ValueType *vec, const int idx, const int nrow,\n"
27 " __global ValueType *mat) {\n"
29 " int ai = get_global_id(0);\n"
32 " mat[ai+idx*nrow] = vec[ai];\n"
37 "__kernel void kernel_dense_replace_row_vector(__global const ValueType *vec, const int idx, const int nrow,\n"
38 " const int ncol, __global ValueType *mat) {\n"
40 " int aj = get_global_id(0);\n"
43 " mat[idx+aj*nrow] = vec[aj];\n"
48 "__kernel void kernel_dense_extract_column_vector(__global ValueType *vec, const int idx, const int nrow,\n"
49 " __global const ValueType *mat) {\n"
51 " int ai = get_global_id(0);\n"
54 " vec[ai] = mat[ai+idx*nrow];\n"
59 "__kernel void kernel_dense_extract_row_vector(__global ValueType *vec, const int idx, const int nrow,\n"
60 " const int ncol, __global const ValueType *mat) {\n"
62 " int aj = get_global_id(0);\n"
65 " vec[aj] = mat[idx+aj*nrow];\n"
72 #endif // PARALUTION_OCL_KERNELS_DENSE_HPP_
const char * ocl_kernels_dense
Definition: ocl_kernels_dense.hpp:6
Definition: backend_manager.cpp:43