sobol32_engine< DefaultNumDimensions > Class Template Reference#
|
API library
|
Sobol's quasi-random sequence generator. More...
#include <rocrand.hpp>
Public Types | |
| typedef unsigned int | result_type |
| typedef rocrand_ordering | order_type |
| typedef unsigned long long | offset_type |
| typedef unsigned int | dimensions_num_type |
Public Member Functions | |
| sobol32_engine (dimensions_num_type num_of_dimensions=DefaultNumDimensions, offset_type offset_value=0, order_type order_value=ROCRAND_ORDERING_QUASI_DEFAULT) | |
| Constructs the pseudo-random number engine. More... | |
| sobol32_engine (rocrand_generator &generator) | |
| Constructs the pseudo-random number engine. More... | |
| sobol32_engine (const sobol32_engine &)=delete | |
| sobol32_engine & | operator= (const sobol32_engine &)=delete |
| sobol32_engine (sobol32_engine &&rhs) noexcept | |
| Move construct from an other engine, moving the state over. More... | |
| sobol32_engine & | operator= (sobol32_engine &&rhs) noexcept |
| Move assign from an other engine, moving the state over. More... | |
| ~sobol32_engine () noexcept(false) | |
| void | stream (hipStream_t value) |
Sets the random number engine's hipStream for kernel launches. More... | |
| void | order (order_type value) |
| Sets the order of a random number engine. More... | |
| void | offset (offset_type value) |
| Sets the offset of a random number engine. More... | |
| void | dimensions (dimensions_num_type value) |
| Set the number of dimensions of a quasi-random number generator. More... | |
| template<class Generator > | |
| void | operator() (result_type *output, size_t size) |
Fills output with uniformly distributed random integer values. More... | |
| result_type | min () const |
| Returns the smallest possible value that can be generated by the engine. More... | |
| result_type | max () const |
| Returns the largest possible value that can be generated by the engine. More... | |
Static Public Member Functions | |
| static constexpr rocrand_rng_type | type () |
| Returns type of the rocRAND pseudo-random number generator associated with the engine. More... | |
Static Public Attributes | |
| static constexpr dimensions_num_type | default_num_dimensions = DefaultNumDimensions |
The default number of dimenstions, equal to DefaultNumDimensions. | |
Detailed Description
template<unsigned int DefaultNumDimensions = 1>
class rocrand_cpp::sobol32_engine< DefaultNumDimensions >
Sobol's quasi-random sequence generator.
sobol32_engine is quasi-random number engine which produced Sobol sequences. This implementation supports generating sequences in up to 20,000 dimensions. The engine produces random unsigned integers on the interval [0, 2^32 - 1].
Member Typedef Documentation
◆ dimensions_num_type
| rocrand_cpp::sobol32_engine< DefaultNumDimensions >::dimensions_num_type |
Quasi-random number engine type for number of dimensions.
See also dimensions()
◆ offset_type
| typedef unsigned long long rocrand_cpp::sobol32_engine< DefaultNumDimensions >::offset_type |
Pseudo-random number engine offset type. Offset represents a number of the random number engine's states that should be skipped before first value is generated.
See also: offset()
◆ order_type
| typedef rocrand_ordering rocrand_cpp::sobol32_engine< DefaultNumDimensions >::order_type |
Pseudo-random number engine ordering type. Represents the ordering of the results of a random number engine.
See also: order()
◆ result_type
| typedef unsigned int rocrand_cpp::sobol32_engine< DefaultNumDimensions >::result_type |
Type of values generated by the random number engine.
Constructor & Destructor Documentation
◆ sobol32_engine() [1/3]
|
inline |
Constructs the pseudo-random number engine.
- Parameters
-
num_of_dimensions - number of dimensions to use in the initialization of the internal state, see also dimensions() offset_value - number of internal states that should be skipped, see also offset() order_value - ordering of the sequences generated by the engine, see also order()
See also: rocrand_create_generator()
◆ sobol32_engine() [2/3]
|
inlineexplicit |
Constructs the pseudo-random number engine.
The pseudo-random number engine will be created using generator. The constructed engine take ownership over generator, and sets passed reference to NULL. The lifetime of generator is now bound to the lifetime of the engine.
- Parameters
-
generator - rocRAND generator
◆ sobol32_engine() [3/3]
|
inlinenoexcept |
Move construct from an other engine, moving the state over.
- Parameters
-
rhs the engine to move-from
- The moved-from engine is safe to assign to or destroy, but otherwise cannot be used.
- This engine will continue the sequence generated by
rhs.
◆ ~sobol32_engine()
|
inlinenoexcept |
Destructs the engine.
See also: rocrand_destroy_generator()
Member Function Documentation
◆ dimensions()
|
inline |
Set the number of dimensions of a quasi-random number generator.
Supported values of dimensions are 1 to 20000.
- This operation resets the generator's internal state.
- This operation does not change the generator's offset.
- Parameters
-
value - Number of dimensions
◆ max()
|
inline |
Returns the largest possible value that can be generated by the engine.
◆ min()
|
inline |
Returns the smallest possible value that can be generated by the engine.
◆ offset()
|
inline |
Sets the offset of a random number engine.
Offset represents a number of the random number engine's states that should be skipped before first value is generated.
- This operation resets the engine's internal state.
- This operation does not change the engine's seed or the number of dimensions.
- Parameters
-
value - New absolute offset
See also: rocrand_set_offset()
◆ operator()()
|
inline |
Fills output with uniformly distributed random integer values.
Generates size random integer values uniformly distributed on the interval [0, 2^32 - 1], and stores them into the device memory referenced by output pointer.
- Parameters
-
output - Pointer to device memory to store results size - Number of values to generate
Requirements:
- The device memory pointed by
outputmust have been previously allocated and be large enough to store at leastsizevalues ofIntTypetype. sizemust be a multiple of the engine's number of dimensions.
See also: rocrand_generate()
◆ operator=()
|
inlinenoexcept |
Move assign from an other engine, moving the state over.
- Parameters
-
rhs the engine to move-from
- The moved-from engine is safe to assign to or destroy, but otherwise cannot be used.
- This engine will continue the sequence generated by
rhs.
◆ order()
|
inline |
Sets the order of a random number engine.
The order refers to the ordering of the sequences generated by the engine.
- This operation resets the engine's internal state.
- This operation does not change the engine's seed.
- Parameters
-
value - New ordering
See also: rocrand_set_ordering()
◆ stream()
|
inline |
Sets the random number engine's hipStream for kernel launches.
- Parameters
-
value - new hipStreamto use
◆ type()
|
inlinestaticconstexpr |
Returns type of the rocRAND pseudo-random number generator associated with the engine.
The documentation for this class was generated from the following file:
- /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-rocrand/checkouts/docs-6.1.5/library/include/rocrand/rocrand.hpp
Generated by