oneapi::mkl::rng::device::engine_descriptor¶
Host side helper to provide an abstraction over sycl::buffer
to initialize and store engines’ states between DPC++ kernels.
Description¶
engine_descriptor
provides an abstraction over sycl::buffer
to initialize and store engines’ states between SYCL kernels.
Note
The constructor of the engine descriptor submits a parallel_for task to a given queue to initialize engines’ states:
Each engine is initialized as Engine {seed, id * offset}
for scalar offset case, where id is a value from 0 to range.size().
API¶
Syntax¶
template<Engine>
class engine_descriptor {
public:
engine_descriptor(sycl::queue& queue, sycl::range<1> range, std::uint64_t seed, std::uint64_t offset);
template<typename InitEngineFunc>
engine_descriptor(sycl::queue& queue, sycl::range<1> range, InitEngineFunc func);
engine_accessor<Engine> get_access(sycl::handler& cgh);
};
Include Files¶
oneapi/mkl/rng/device.hpp
Template Parameters¶
Type |
Description |
---|---|
|
Specify an engine which state is hold by engine descriptor. |
Constructors Input Parameters¶
Name |
Type |
Description |
---|---|---|
queue |
|
|
range |
|
Describes number of engines which are hold by this en_descriptor object. |
seed |
|
Initial conditions of the engine state. |
offset |
|
Number of skipped elements, for |
func |
InitEngineFunc |
Functor which would be used to initialize engines. This functor should take |