1 #ifndef PARALUTION_OCL_KERNELS_MCSR_HPP_
2 #define PARALUTION_OCL_KERNELS_MCSR_HPP_
7 "__kernel void kernel_mcsr_spmv_scalar(const int nrow, __global const int *row_offset, \n"
8 " __global const int *col, __global const ValueType *val, \n"
9 " __global const ValueType *in, __global ValueType *out) {\n"
11 " int ai = get_global_id(0);\n"
16 " ValueType sum = val[ai] * in[ai];\n"
18 " for (aj=row_offset[ai]; aj<row_offset[ai+1]; ++aj)\n"
19 " sum += val[aj] * in[col[aj]];\n"
27 "__kernel void kernel_mcsr_add_spmv_scalar(const int nrow, __global const int *row_offset, \n"
28 " __global const int *col, __global const ValueType *val, \n"
29 " const ValueType scalar, __global const ValueType *in,\n"
30 " __global ValueType *out) {\n"
32 " int ai = get_global_id(0);\n"
37 " out[ai] += scalar * val[ai] * in[ai];\n"
39 " for (aj=row_offset[ai]; aj<row_offset[ai+1]; ++aj)\n"
40 " out[ai] += scalar * val[aj] * in[col[aj]];\n"
50 #endif // PARALUTION_OCL_KERNELS_MCSR_HPP_
const char * ocl_kernels_mcsr
Definition: ocl_kernels_mcsr.hpp:6
Definition: backend_manager.cpp:43