Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 7 additions & 8 deletions doxygen/doxygen.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ ALWAYS_DETAILED_SEC = NO
# operators of the base classes will not be shown.
# The default value is: NO.

INLINE_INHERITED_MEMB = NO
INLINE_INHERITED_MEMB = YES

# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path
# before files name in the file list and in the header files. If set to NO the
Expand Down Expand Up @@ -341,14 +341,14 @@ IDL_PROPERTY_SUPPORT = YES
# all members of a group must be documented explicitly.
# The default value is: NO.

DISTRIBUTE_GROUP_DOC = NO
DISTRIBUTE_GROUP_DOC = YES

# If one adds a struct or class to a group and this option is enabled, then also
# any nested class or struct is added to the same group. By default this option
# is disabled and one has to add nested compounds explicitly via \ingroup.
# The default value is: NO.

GROUP_NESTED_COMPOUNDS = NO
GROUP_NESTED_COMPOUNDS = YES

# Set the SUBGROUPING tag to YES to allow class member groups of the same type
# (for instance a group of public functions) to be put as a subgroup of that
Expand Down Expand Up @@ -378,7 +378,7 @@ INLINE_GROUPED_CLASSES = NO
# Man pages) or section (for LaTeX and RTF).
# The default value is: NO.

INLINE_SIMPLE_STRUCTS = NO
INLINE_SIMPLE_STRUCTS = YES

# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
# enum is documented as struct, union, or enum with the name of the typedef. So
Expand Down Expand Up @@ -422,7 +422,7 @@ EXTRACT_ALL = YES
# be included in the documentation.
# The default value is: NO.

EXTRACT_PRIVATE = NO
EXTRACT_PRIVATE = YES

# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
# scope will be included in the documentation.
Expand Down Expand Up @@ -743,7 +743,7 @@ WARN_NO_PARAMDOC = NO
# a warning is encountered.
# The default value is: NO.

WARN_AS_ERROR = NO
WARN_AS_ERROR = YES

# The WARN_FORMAT tag determines the format of the warning messages that doxygen
# can produce. The string should contain the $file, $line, and $text tags, which
Expand Down Expand Up @@ -845,8 +845,7 @@ EXCLUDE_PATTERNS =
# Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories use the pattern */test/*

EXCLUDE_SYMBOLS = std::* \
Eigen::*
EXCLUDE_SYMBOLS =

# The EXAMPLE_PATH tag can be used to specify one or more files or directories
# that contain example code fragments that are included (see the \include
Expand Down
2 changes: 1 addition & 1 deletion stan/math/memory/stack_alloc.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ class stack_alloc {
* if necessary, and allocates len bytes of memory within that
* block.
*
* @param size_t $len Number of bytes to allocate.
* @param len Number of bytes to allocate.
* @return A pointer to the allocated memory.
*/
char* move_to_next_block(size_t len) {
Expand Down
22 changes: 15 additions & 7 deletions stan/math/opencl/buffer_types.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,26 @@
namespace stan {
namespace math {
namespace opencl_kernels {

// An in_buffer signifies a cl::Buffer argument used as input.
/** \ingroup kernel_executor_opencl
* An in_buffer signifies a cl::Buffer argument used as input.
*/
struct in_buffer {};

// An out_buffer signifies a cl::Buffer argument used as output.
/** \ingroup kernel_executor_opencl
* An out_buffer signifies a cl::Buffer argument used as output.
*/
struct out_buffer {};

// An in_out_buffer signifies a cl::Buffer argument used as both input and
// output.
/** \ingroup kernel_executor_opencl
* An in_out_buffer signifies a cl::Buffer argument used as both input and
* output.
*/
struct in_out_buffer {};

namespace internal {

/** \ingroup opencl
/** kernel_executor_opencl
* @internal
* meta template struct for changing read/write buffer argument types to
* cl::Buffer types.
* @tparam T A template typename that for cases of non-read/write buffers
Expand All @@ -49,7 +55,9 @@ struct to_buffer<in_out_buffer> {
using type = cl::Buffer;
};

// Alias for making const cl::Buffer argument types
/** kernel_executor_opencl
* Alias for making const cl::Buffer argument types
*/
template <typename T>
using to_const_buffer_t = const typename internal::to_buffer<T>::type;
} // namespace internal
Expand Down
1 change: 0 additions & 1 deletion stan/math/opencl/copy.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@ inline matrix_cl<Vec_scalar> to_matrix_cl(Vec&& src) {
* @param src source matrix on the OpenCL device
* @return Eigen matrix with a copy of the data in the source matrix
*/

template <int R = Eigen::Dynamic, int C = Eigen::Dynamic, typename T,
typename = require_arithmetic_t<T>>
inline Eigen::Matrix<T, R, C> from_matrix_cl(const matrix_cl<T>& src) {
Expand Down
2 changes: 1 addition & 1 deletion stan/math/opencl/err/check_diagonal_zeros.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

namespace stan {
namespace math {
/** \ingroup opencl
/** \ingroup error_checks_opencl
* Check if the <code>matrix_cl</code> has zeros on the diagonal
*
* @param function Function name (for error messages)
Expand Down
2 changes: 1 addition & 1 deletion stan/math/opencl/err/check_invalid_matrix_view.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
namespace stan {
namespace math {

/** \ingroup opencl
/** \ingroup error_checks_opencl
* Check if the <code>matrix_cl</code> has an invalid view.
*
* @param function Function name (for error messages)
Expand Down
4 changes: 2 additions & 2 deletions stan/math/opencl/err/check_mat_size_one.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
namespace stan {
namespace math {

/** \ingroup opencl
/** \ingroup error_checks_opencl
* Check if the <code>matrix_cl</code> has a single element.
*
* @param function Function name (for error messages)
Expand All @@ -27,7 +27,7 @@ inline void check_mat_size_one(const char* function, const char* name,
}
}

/** \ingroup opencl
/** \ingroup error_checks_opencl
* Check if the <code>matrix_cl</code> has a single element.
*
* @param function Function name (for error messages)
Expand Down
2 changes: 1 addition & 1 deletion stan/math/opencl/err/check_matching_dims.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

namespace stan {
namespace math {
/** \ingroup opencl
/** \ingroup error_checks_opencl
* Check if two <code>matrix_cl</code>s have the same dimensions.
*
* @param function Function name (for error messages)
Expand Down
2 changes: 1 addition & 1 deletion stan/math/opencl/err/check_nan.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

namespace stan {
namespace math {
/** \ingroup opencl
/** \ingroup error_checks_opencl
* Check if the <code>matrix_cl</code> has NaN values
*
* @param function Function name (for error messages)
Expand Down
2 changes: 1 addition & 1 deletion stan/math/opencl/err/check_opencl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
namespace stan {
namespace math {

/** \ingroup opencl
/** \ingroup error_checks_opencl
* Throws the domain error with specifying the OpenCL error that
* occurred. It outputs the OpenCL errors that are specified
* in OpenCL 2.0. If no matching error number is found,
Expand Down
2 changes: 1 addition & 1 deletion stan/math/opencl/err/check_square.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

namespace stan {
namespace math {
/** \ingroup opencl
/** \ingroup error_checks_opencl
* Check if the <code>matrix_cl</code> is square.
*
* @param function Function name (for error messages)
Expand Down
2 changes: 1 addition & 1 deletion stan/math/opencl/err/check_symmetric.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

namespace stan {
namespace math {
/** \ingroup opencl
/** \ingroup error_checks_opencl
* Check if the <code>matrix_cl</code> is symmetric
*
* @param function Function name (for error messages)
Expand Down
2 changes: 1 addition & 1 deletion stan/math/opencl/err/check_triangular.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
namespace stan {
namespace math {

/** \ingroup opencl
/** \ingroup error_checks_opencl
* Check if the <code>matrix_cl</code> is either upper triangular or lower
* triangular.
*
Expand Down
2 changes: 1 addition & 1 deletion stan/math/opencl/err/check_vector.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
namespace stan {
namespace math {

/** \ingroup opencl
/** \ingroup error_checks_opencl
* Check if the matrix is either a row vector or column vector.
* This function checks the runtime size of the matrix to check
* whether it is a row or column vector.
Expand Down
17 changes: 11 additions & 6 deletions stan/math/opencl/is_matrix_cl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@
namespace stan {

namespace math {
// Dummy class to instantiate matrix_cl to enable for specific types.
/**
* Dummy class to instantiate matrix_cl to enable for specific types.
* @ingroup matrix_cl_group
*/
template <typename T, typename = void>
class matrix_cl {
public:
Expand All @@ -19,13 +22,15 @@ class matrix_cl {

namespace internal {

/** \ingroup opencl
/** \ingroup type_traits
* @internal
* This underlying implementation is used when the type is not an std vector.
*/
template <typename T>
struct is_matrix_cl_impl : std::false_type {};

/** \ingroup opencl
/** \ingroup type_traits
* @internal
* This specialization implementation has a static member named value when the
* template type is an std vector.
*/
Expand All @@ -37,16 +42,16 @@ struct is_matrix_cl_impl<stan::math::matrix_cl<Args...>> : std::true_type {};
template <typename T, typename = void>
struct is_matrix_cl : std::false_type {};

/** \ingroup opencl
/** \ingroup type_traits
* Checks if the decayed type of T is a matrix_cl.
*/
template <typename T>
struct is_matrix_cl<
T, std::enable_if_t<internal::is_matrix_cl_impl<std::decay_t<T>>::value>>
: std::true_type {};

STAN_ADD_REQUIRE_UNARY(matrix_cl, is_matrix_cl, opencl);
STAN_ADD_REQUIRE_CONTAINER(matrix_cl, is_matrix_cl, opencl);
STAN_ADD_REQUIRE_UNARY(matrix_cl, is_matrix_cl, matrix_cl_group);
STAN_ADD_REQUIRE_CONTAINER(matrix_cl, is_matrix_cl, matrix_cl_group);

} // namespace stan
#endif
Expand Down
Loading