![]() |
alpaka
Abstraction Library for Parallel Kernel Acceleration
|
#include <RandPhiloxStateless.hpp>
Public Types | |
using | EngineParams = engine::PhiloxParams< 4, 32, 10 > |
![]() | |
using | Constants = PhiloxConstants< engine::PhiloxParams< 4, 32, 10 > > |
using | Counter = alpaka::Vec< alpaka::DimInt< TParams::counterSize >, std::uint32_t > |
using | Key = alpaka::Vec< alpaka::DimInt< TParams::counterSize/2 >, std::uint32_t > |
Additional Inherited Members | |
![]() | |
static ALPAKA_FN_HOST_ACC auto | generate (Counter const &counter, Key const &key) -> Counter |
![]() | |
static constexpr std::uint32_t | MULTIPLITER_4x32_0 () |
First Philox S-box multiplier. | |
static constexpr std::uint32_t | MULTIPLITER_4x32_1 () |
Second Philox S-box multiplier. | |
static constexpr std::uint32_t | WEYL_32_0 () |
1st Weyl sequence parameter, 32 bits | |
static constexpr std::uint32_t | WEYL_32_1 () |
2nd Weyl sequence parameter, 32 bits | |
static constexpr std::uint64_t | WEYL_64_0 () |
First Weyl sequence parameter: the golden ratio. | |
static constexpr std::uint64_t | WEYL_64_1 () |
Second Weyl sequence parameter: ![]() | |
![]() | |
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) |
Most common Philox engine variant, stateless, outputs a 4-vector of floats
This is a variant of the Philox engine generator which outputs a vector containing 4 floats. The counter size is
Ref.: J. K. Salmon, M. A. Moraes, R. O. Dror and D. E. Shaw, "Parallel random numbers: As easy as 1, 2, 3," SC '11: Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis, 2011, pp. 1-12, doi: 10.1145/2063384.2063405.
Definition at line 23 of file RandPhiloxStateless.hpp.
using alpaka::rand::PhiloxStateless4x32x10Vector::EngineParams = engine::PhiloxParams<4, 32, 10> |
Definition at line 28 of file RandPhiloxStateless.hpp.