40 #ifndef INDEX_MATRIX_H_
41 #define INDEX_MATRIX_H_
49 #include "detail/DeviceList.h"
50 #include "detail/skelclDll.h"
112 detail::Sizes sizes()
const;
159 detail::Distribution<Matrix<IndexPoint>>& distribution()
const;
168 template <
typename U>
169 void setDistribution(
const detail::Distribution<
Matrix<U>>& distribution)
179 template <
typename U>
180 void setDistribution(
const std::unique_ptr<detail::Distribution<
Matrix<U>>>&
181 newDistribution)
const;
190 void setDistribution(std::unique_ptr<
202 static std::string deviceFunctions();
210 const detail::DeviceBuffer& deviceBuffer(
const detail::Device&
device)
const;
218 std::vector<IndexPoint>& hostBuffer()
const;
226 void dataOnDeviceModified()
const;
234 void dataOnHostModified()
const;
243 std::string getInfo()
const;
245 std::string getDebugInfo()
const;
249 std::unique_ptr<detail::Distribution<Matrix<IndexPoint>>> _distribution;
254 #include "detail/IndexMatrixDef.h"
256 #endif // INDEX_MATRIX_H_
The Matrix class is a two dimensional container which makes its data accessible on the host as well a...
SKELCL_DLL detail::DeviceID device(size_t dID)
Creates an OpenCL device ID to be used as parameter of the init(detail::PlatformID, detail::DeviceID) function.
IndexPoint value_type
Defines the type of the elements in the Matrix.
This class defines a two dimensional size for a Matrix.
This class defines an two-dimensional IndexPoint, i.e. a pair of unsigned integers representing a val...
const Matrix< IndexPoint > IndexMatrix
An simple to use alias for the Matrix class.
skelcl::MatrixSize size_type
Defines the type used to denote size of the Matrix.
The IndexMatrix (a.k.a. Matrix) class is a special implementation of a Matrix with Elemen...