alpaka
Abstraction Library for Parallel Kernel Acceleration
|
#include <PhiloxStatelessKeyedBase.hpp>
Public Types | |
using | Counter = typename PhiloxStateless< TParams >::Counter |
using | Key = typename PhiloxStateless< TParams >::Key |
Public Types inherited from alpaka::rand::engine::PhiloxStateless< TParams > | |
using | Constants = PhiloxConstants< TParams > |
using | Counter = alpaka::Vec< alpaka::DimInt< TParams::counterSize >, std::uint32_t > |
using | Key = alpaka::Vec< alpaka::DimInt< TParams::counterSize/2 >, std::uint32_t > |
Public Member Functions | |
PhiloxStatelessKeyedBase (Key &&key) | |
ALPAKA_FN_HOST_ACC auto | operator() (Counter const &counter) const |
Public Attributes | |
Key const | m_key |
Additional Inherited Members | |
Static Public Member Functions inherited from alpaka::rand::engine::PhiloxStateless< TParams > | |
static ALPAKA_FN_HOST_ACC auto | generate (Counter const &counter, Key const &key) -> Counter |
Static Public Member Functions inherited from alpaka::rand::engine::PhiloxConstants< TParams > | |
static constexpr std::uint32_t | MULTIPLITER_4x32_0 () |
First Philox S-box multiplier. More... | |
static constexpr std::uint32_t | MULTIPLITER_4x32_1 () |
Second Philox S-box multiplier. More... | |
static constexpr std::uint32_t | WEYL_32_0 () |
1st Weyl sequence parameter, 32 bits More... | |
static constexpr std::uint32_t | WEYL_32_1 () |
2nd Weyl sequence parameter, 32 bits More... | |
static constexpr std::uint64_t | WEYL_64_0 () |
First Weyl sequence parameter: the golden ratio. More... | |
static constexpr std::uint64_t | WEYL_64_1 () |
Second Weyl sequence parameter: . More... | |
Static Protected Member Functions inherited from alpaka::rand::engine::PhiloxStateless< TParams > | |
static ALPAKA_FN_HOST_ACC auto | bumpKey (Key const &key) |
static ALPAKA_FN_HOST_ACC auto | nRounds (Counter const &counter_in, Key const &key_in) -> Counter |
static ALPAKA_FN_HOST_ACC auto | singleRound (Counter const &counter, Key const &key) |
Common class for Philox family engines
Checks the validity of passed-in parameters and calls the backend methods to perform N rounds of the Philox shuffle.
TParams | Philox algorithm parameters |
Definition at line 19 of file PhiloxStatelessKeyedBase.hpp.
using alpaka::rand::engine::PhiloxStatelessKeyedBase< TParams >::Counter = typename PhiloxStateless<TParams>::Counter |
Definition at line 22 of file PhiloxStatelessKeyedBase.hpp.
using alpaka::rand::engine::PhiloxStatelessKeyedBase< TParams >::Key = typename PhiloxStateless<TParams>::Key |
Definition at line 23 of file PhiloxStatelessKeyedBase.hpp.
|
inline |
Definition at line 27 of file PhiloxStatelessKeyedBase.hpp.
|
inline |
Definition at line 31 of file PhiloxStatelessKeyedBase.hpp.
Key const alpaka::rand::engine::PhiloxStatelessKeyedBase< TParams >::m_key |
Definition at line 25 of file PhiloxStatelessKeyedBase.hpp.