Stan Math Library  2.20.0
reverse mode automatic differentiation
zeros.hpp
Go to the documentation of this file.
1 #ifndef STAN_MATH_OPENCL_KERNELS_ZEROS_HPP
2 #define STAN_MATH_OPENCL_KERNELS_ZEROS_HPP
3 #ifdef STAN_OPENCL
4 
7 
8 namespace stan {
9 namespace math {
10 namespace opencl_kernels {
11 // \cond
12 static const char* zeros_kernel_code = STRINGIFY(
13  // \endcond
31  __kernel void zeros(__global double* A, unsigned int rows,
32  unsigned int cols, unsigned int part) {
33  int i = get_global_id(0);
34  int j = get_global_id(1);
35  if (i < rows && j < cols) {
36  if (part == LOWER && j < i) {
37  A(i, j) = 0;
38  } else if (part == UPPER && j > i) {
39  A(i, j) = 0;
40  } else if (part == ENTIRE) {
41  A(i, j) = 0;
42  }
43  }
44  }
45  // \cond
46 );
47 // \endcond
48 
53  "zeros", {indexing_helpers, zeros_kernel_code});
54 
55 } // namespace opencl_kernels
56 } // namespace math
57 } // namespace stan
58 #endif
59 #endif
int rows(const Eigen::Matrix< T, R, C > &m)
Return the number of rows in the specified matrix, vector, or row vector.
Definition: rows.hpp:20
#define STRINGIFY(src)
Definition: kernel_cl.hpp:22
static const char * indexing_helpers
Definition: helpers.hpp:14
int cols(const Eigen::Matrix< T, R, C > &m)
Return the number of columns in the specified matrix, vector, or row vector.
Definition: cols.hpp:20
Creates functor for kernels.
Definition: kernel_cl.hpp:201
const kernel_cl< out_buffer, int, int, TriangularViewCL > zeros("zeros", {indexing_helpers, zeros_kernel_code})
See the docs for zeros() .

     [ Stan Home Page ] © 2011–2018, Stan Development Team.