Developer Reference

Contents

oneapi::mkl::rng::device::philox4x32x10

Description

A Philox4x32-10 counter-based pseudorandom number generator [Salmon11].

API

Syntax
template<std::int32_t VecSize = 1> class philox4x32x10 { public: static constexpr std::uint64_t default_seed = 1; static constexpr std::int32_t vec_size = VecSize; philox4x32x10() : philox4x32x10(default_seed) {} philox4x32x10(std::uint64_t seed, std::uint64_t offset = 0); philox4x32x10(std::initializer_list<std::uint64_t> seed, std::uint64_t offset = 0); philox4x32x10(std::uint64_t seed, std::initializer_list<std::uint64_t> offset); philox4x32x10(std::initializer_list<std::uint64_t> seed, std::initializer_list<std::uint64_t> offset); };
Include Files
  • oneapi/mkl/rng/device.hpp
Template Parameters
Name
Type
Description
VecSize
std::int32_t
Describes the size of vector which will be produced by generate function by this engine. VecSize values may be 1, 2, 3, 4, 8, 16 as
sycl::vec
class size. By default VecSize = 1, for this case single random number is returned by the
oneapi::mkl::rng::device::generate
function.
Constructors Input Parameters
Name
Type
Description
seed
std::uint64_t
std::initializer_list<std::uint64_t>
Initial conditions of the engine state.
offset
std::uint64_t
std::initializer_list<std::uint64_t>
Number of skipped elements, for
initializer_list
offset is calculated as:
num_to_skip
[0]+
num_to_skip
[1]*2
64
+
num_to_skip
[2] * 2
128
+ … +
num_to_skip
[
n
-1]*2
64
* (
n
-1).
See VS Notes for detailed descriptions.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.