![]() |
alpaka
Abstraction Library for Parallel Kernel Acceleration
|
#include <RandPhilox.hpp>
Public Types | |
using | EngineParams = engine::PhiloxParams< 4, 32, 10 > |
using | EngineVariant = engine::PhiloxVector< EngineParams > |
template<typename TScalar > | |
using | ResultContainer = typename EngineVariant::template ResultContainer< TScalar > |
using | ResultInt = std::uint32_t |
using | ResultVec = decltype(std::declval< EngineVariant >()()) |
Public Member Functions | |
ALPAKA_FN_HOST_ACC | Philox4x32x10Vector (std::uint32_t const seed=0, std::uint32_t const subsequence=0, std::uint32_t const offset=0) |
ALPAKA_FN_HOST_ACC constexpr auto | max () -> ResultInt |
ALPAKA_FN_HOST_ACC constexpr auto | min () -> ResultInt |
ALPAKA_FN_HOST_ACC auto | operator() () -> ResultVec |
Most common Philox engine variant, 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 87 of file RandPhilox.hpp.
using alpaka::rand::Philox4x32x10Vector::EngineParams = engine::PhiloxParams<4, 32, 10> |
Definition at line 90 of file RandPhilox.hpp.
Definition at line 91 of file RandPhilox.hpp.
using alpaka::rand::Philox4x32x10Vector::ResultContainer = typename EngineVariant::template ResultContainer<TScalar> |
Definition at line 108 of file RandPhilox.hpp.
using alpaka::rand::Philox4x32x10Vector::ResultInt = std::uint32_t |
Definition at line 110 of file RandPhilox.hpp.
using alpaka::rand::Philox4x32x10Vector::ResultVec = decltype(std::declval<EngineVariant>()()) |
Definition at line 111 of file RandPhilox.hpp.
|
inline |
Initialize a new Philox engine
seed | Set the Philox generator key |
subsequence | Select a subsequence of size 2^64 |
offset | Number of numbers to skip form the start of the subsequence. |
Definition at line 99 of file RandPhilox.hpp.
|
inlineconstexpr |
Definition at line 118 of file RandPhilox.hpp.
|
inlineconstexpr |
Definition at line 113 of file RandPhilox.hpp.
|
inline |
Definition at line 123 of file RandPhilox.hpp.