spla
Loading...
Searching...
No Matches
auto_vector_assign.hpp
Go to the documentation of this file.
1
2// Copyright (c) 2021 - 2023 SparseLinearAlgebra
3// Autogenerated file, do not modify
5
6#pragma once
7
8static const char source_vector_assign[] = R"(
9
10
11__kernel void assign_dense_to_dense(__global TYPE* g_r,
12 __global const TYPE* g_mask,
13 const TYPE init,
14 const uint n) {
15 uint gid = get_global_id(0);
16 uint gstride = get_global_size(0);
17
18 for (uint i = gid; i < n; i += gstride) {
19 if (OP_SELECT(g_mask[i])) {
20 g_r[i] = OP_BINARY(g_r[i], init);
21 }
22 }
23}
24
25__kernel void assign_sparse_to_dense(__global TYPE* g_r,
26 __global const uint* g_maski,
27 __global const TYPE* g_maskx,
28 const TYPE init,
29 const uint n) {
30 uint gid = get_global_id(0);
31 uint gstride = get_global_size(0);
32
33 for (uint idx = gid; idx < n; idx += gstride) {
34 const TYPE mx = g_maskx[idx];
35 if (OP_SELECT(mx)) {
36 const uint mi = g_maski[idx];
37 g_r[mi] = OP_BINARY(g_r[mi], init);
38 }
39 }
40}
41)";