1#ifndef STAN_MATH_OPENCL_MULTIPLY_TRANSPOSE_HPP
2#define STAN_MATH_OPENCL_MULTIPLY_TRANSPOSE_HPP
23template <
typename T,
typename = require_arithmetic_t<T>>
38 int Mpad = ((A.
rows() + local - 1) / local) * local;
42 cl::NDRange(local, local / wpt), A, temp,
44 }
catch (cl::Error&
e) {
const matrix_cl_view & view() const
Represents an arithmetic matrix on the OpenCL device.
void check_opencl_error(const char *function, const cl::Error &e)
Throws the domain error with specifying the OpenCL error that occurred.
const kernel_cl< in_buffer, out_buffer, int, int > multiply_transpose("multiply_transpose", {thread_block_helpers, multiply_transpose_kernel_code}, {{"THREAD_BLOCK_SIZE", 32}, {"WORK_PER_THREAD", 4}})
See the docs for add() .
matrix_cl< T > multiply_transpose(const matrix_cl< T > &A)
Computes the product of a square OpenCL matrix with its transpose.
static constexpr double e()
Return the base of the natural logarithm.
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...