rocRAND host API C++ Wrapper#
Classes | |
class | rocrand_cpp::error |
A run-time rocRAND error. More... | |
class | rocrand_cpp::uniform_int_distribution< IntType > |
Produces random integer values uniformly distributed on the interval [0, 2^(sizeof(IntType)*8) - 1]. More... | |
class | rocrand_cpp::uniform_real_distribution< RealType > |
Produces random floating-point values uniformly distributed on the interval (0, 1]. More... | |
class | rocrand_cpp::normal_distribution< RealType > |
Produces random numbers according to a normal distribution. More... | |
class | rocrand_cpp::lognormal_distribution< RealType > |
Produces positive random numbers according to a log-normal distribution. More... | |
class | rocrand_cpp::poisson_distribution< IntType > |
Produces random non-negative integer values distributed according to Poisson distribution. More... | |
class | rocrand_cpp::philox4x32_10_engine< DefaultSeed > |
Pseudorandom number engine based Philox algorithm. More... | |
class | rocrand_cpp::xorwow_engine< DefaultSeed > |
Pseudorandom number engine based XORWOW algorithm. More... | |
class | rocrand_cpp::mrg31k3p_engine< DefaultSeed > |
Pseudorandom number engine based MRG31k3p CMRG. More... | |
class | rocrand_cpp::mrg32k3a_engine< DefaultSeed > |
Pseudorandom number engine based MRG32k3a CMRG. More... | |
class | rocrand_cpp::mtgp32_engine< DefaultSeed > |
Random number engine based on the Mersenne Twister for Graphic Processors algorithm. More... | |
class | rocrand_cpp::lfsr113_engine< DefaultSeedX, DefaultSeedY, DefaultSeedZ, DefaultSeedW > |
Random number engine based on the LFSR113 algorithm. More... | |
class | rocrand_cpp::mt19937_engine< DefaultSeed > |
Random number engine based on the Mersenne Twister algorithm. More... | |
class | rocrand_cpp::sobol32_engine< DefaultNumDimensions > |
Sobol's quasi-random sequence generator. More... | |
class | rocrand_cpp::scrambled_sobol32_engine< DefaultNumDimensions > |
Sobol's scrambled quasi-random sequence generator. More... | |
class | rocrand_cpp::sobol64_engine< DefaultNumDimensions > |
Sobol's quasi-random sequence generator. More... | |
class | rocrand_cpp::scrambled_sobol64_engine< DefaultNumDimensions > |
Sobol's scrambled quasi-random sequence generator. More... | |
class | rocrand_cpp::threefry2x32_20_engine< DefaultSeed > |
Pseudorandom number engine based on 2 state ThreeFry. More... | |
class | rocrand_cpp::threefry2x64_20_engine< DefaultSeed > |
Pseudorandom number engine based 2 state ThreeFry. More... | |
class | rocrand_cpp::threefry4x32_20_engine< DefaultSeed > |
Pseudorandom number engine based on 2 state ThreeFry. More... | |
class | rocrand_cpp::threefry4x64_20_engine< DefaultSeed > |
Pseudorandom number engine based 2 state ThreeFry. More... | |
Typedefs | |
typedef philox4x32_10_engine | rocrand_cpp::philox4x32_10 |
Typedef of rocrand_cpp::philox4x32_10_engine PRNG engine with default seed (ROCRAND_PHILOX4x32_DEFAULT_SEED). | |
typedef xorwow_engine | rocrand_cpp::xorwow |
Typedef of rocrand_cpp::xorwow_engine PRNG engine with default seed (ROCRAND_XORWOW_DEFAULT_SEED). | |
typedef mrg31k3p_engine | rocrand_cpp::mrg31k3p |
Typedef of rocrand_cpp::mrg31k3p_engine PRNG engine with default seed (ROCRAND_MRG31K3P_DEFAULT_SEED). | |
typedef mrg32k3a_engine | rocrand_cpp::mrg32k3a |
Typedef of rocrand_cpp::mrg32k3a_engine PRNG engine with default seed (ROCRAND_MRG32K3A_DEFAULT_SEED). | |
typedef mtgp32_engine | rocrand_cpp::mtgp32 |
Typedef of rocrand_cpp::mtgp32_engine PRNG engine with default seed (0). | |
typedef lfsr113_engine | rocrand_cpp::lfsr113 |
Typedef of rocrand_cpp::lfsr113_engine PRNG engine with default seed (ROCRAND_LFSR113_DEFAULT_SEED_X, ROCRAND_LFSR113_DEFAULT_SEED_Y, ROCRAND_LFSR113_DEFAULT_SEED_Z, ROCRAND_LFSR113_DEFAULT_SEED_W). | |
typedef mt19937_engine | rocrand_cpp::mt19937 |
Typedef of rocrand_cpp::mt19937_engine PRNG engine with default seed (0). | |
typedef threefry2x32_20_engine | rocrand_cpp::threefry2x32 |
Typedef of rocrand_cpp::threefry2x32_20_engine PRNG engine with default seed (0). | |
typedef threefry2x64_20_engine | rocrand_cpp::threefry2x64 |
Typedef of rocrand_cpp::threefry2x64_20_engine PRNG engine with default seed (0). | |
typedef threefry4x32_20_engine | rocrand_cpp::threefry4x32 |
Typedef of rocrand_cpp::threefry4x32_20_engine PRNG engine with default seed (0). | |
typedef threefry4x64_20_engine | rocrand_cpp::threefry4x64 |
Typedef of rocrand_cpp::threefry4x64_20_engine PRNG engine with default seed (0). | |
typedef sobol32_engine | rocrand_cpp::sobol32 |
Typedef of rocrand_cpp::sobol32_engine QRNG engine with default number of dimensions (1). | |
typedef scrambled_sobol32_engine | rocrand_cpp::scrambled_sobol32 |
Typedef of rocrand_cpp::scrambled_sobol32_engine QRNG engine with default number of dimensions (1). | |
typedef sobol64_engine | rocrand_cpp::sobol64 |
Typedef of rocrand_cpp::sobol64_engine QRNG engine with default number of dimensions (1). | |
typedef scrambled_sobol64_engine | rocrand_cpp::scrambled_sobol64 |
Typedef of rocrand_cpp::scrambled_sobol64_engine QRNG engine with default number of dimensions (1). | |
typedef xorwow | rocrand_cpp::default_random_engine |
Default random engine. | |
typedef std::random_device | rocrand_cpp::random_device |
A non-deterministic uniform random number generator. | |
Functions | |
int | rocrand_cpp::version () |
Returns rocRAND version. | |
Detailed Description
Typedef Documentation
◆ random_device
A non-deterministic uniform random number generator.
rocrand_cpp::random_device is non-deterministic uniform random number generator, or a pseudo-random number engine if there is no support for non-deterministic random number generation. It's implemented as a typedef of std::random_device.
For practical use rocrand_cpp::random_device is generally only used to seed a PRNG such as rocrand_cpp::mtgp32_engine.
Example:
#include <rocrand/rocrand.hpp>
int main()
{
const size_t size = 8192;
float * output;
hipMalloc(&output, size * sizeof(float));
rocrand_cpp::mtgp32 engine(rd()); // seed engine with a real random value, if available
rocrand_cpp::normal_distribution<float> dist(0.0, 1.5);
dist(engine, output, size);
}
Random number engine based on the Mersenne Twister for Graphic Processors algorithm.
Definition rocrand.hpp:1675
Produces random numbers according to a normal distribution.
Definition rocrand.hpp:351
std::random_device random_device
A non-deterministic uniform random number generator.
Definition rocrand.hpp:3767
Function Documentation
◆ version()
|
inline |
Returns rocRAND version.
- Returns
- rocRAND version number as an
int
value.