spla
src
opencl
generated
auto_vector_assign.hpp
Go to the documentation of this file.
1
// Copyright (c) 2021 - 2023 SparseLinearAlgebra
3
// Autogenerated file, do not modify
5
6
#pragma once
7
8
static
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
)";
Generated by
1.9.1