PLSSVM - Parallel Least Squares Support Vector Machine  2.0.0
A Least Squares Support Vector Machine implementation using different backends.
Public Member Functions | Public Attributes | List of all members
plssvm::detail::execution_range Class Reference

Class specifying a backend independent execution range. More...

#include <execution_range.hpp>

Public Member Functions

 execution_range (std::initializer_list< std::size_t > grid, std::initializer_list< std::size_t > block)
 Initialize the grid and block sizes using std::initializer_lists. More...
 
template<std::size_t I, std::size_t J, PLSSVM_REQUIRES((0< I &&I<=3 &&0< J &&J<=3)) >
 execution_range (const std::array< std::size_t, I > &p_grid, const std::array< std::size_t, J > &p_block)
 Initialize the grid and block sizes using std::arrays. Only available if the number of values specified for the grid and block sizes are greater than zero and less or equal than three. More...
 

Public Attributes

std::array< std::size_t, 3 > grid = { 1, 1, 1 }
 The grid sizes (using the CUDA definition).
 
std::array< std::size_t, 3 > block = { 1, 1, 1 }
 The block sizes (using the CUDA definition).
 

Detailed Description

Class specifying a backend independent execution range.

Holds two members: grid specifying the grid size and block specifying the block size using the CUDA definition. Both grid and block must specify at least a one dimensional and at most a three dimensional value used in the kernel invocation.

Constructor & Destructor Documentation

◆ execution_range() [1/2]

plssvm::detail::execution_range::execution_range ( std::initializer_list< std::size_t >  grid,
std::initializer_list< std::size_t >  block 
)

Initialize the grid and block sizes using std::initializer_lists.

If less than three values are specified, fills the missing values with ones. Uses the CUDA definition.

Parameters
[in]gridspecifies the grid sizes
[in]blockspecifies the block sizes

◆ execution_range() [2/2]

template<std::size_t I, std::size_t J, PLSSVM_REQUIRES((0< I &&I<=3 &&0< J &&J<=3)) >
plssvm::detail::execution_range::execution_range ( const std::array< std::size_t, I > &  p_grid,
const std::array< std::size_t, J > &  p_block 
)
inline

Initialize the grid and block sizes using std::arrays. Only available if the number of values specified for the grid and block sizes are greater than zero and less or equal than three.

If less than three values are specified, fills the missing values with ones. Uses the CUDA definition.

Parameters
[in]p_gridspecifies the grid sizes
[in]p_blockspecifies the block sizes

The documentation for this class was generated from the following file: