mt2203#

Description#

Set of 6024 Mersenne Twister pseudorandom number generators MT2203 [Matsumoto98], [Matsumoto00]. Each of them generates a sequence of period length equal to \(2^{2203} - 1\). Parameters of the generators provide mutual independence of the corresponding sequences.

API#

Syntax#

namespace oneapi::mkl::rng {
  class mt2203 {
  public:
    static constexpr std::uint32_t default_seed = 1;

    mt2203(sycl::queue queue, std::uint32_t seed = default_seed);
    mt2203(sycl::queue queue, std::uint32_t seed, std::uint32_t engine_idx);
    mt2203(sycl::queue queue, std::initializer_list<std::uint32_t> seed);
    mt2203(sycl::queue queue, std::initializer_list<std::uint32_t> seed, std::uint32_t engine_idx);
    mt2203(const mt2203& other);
    mt2203(mt2203&& other);
    mt2203& operator=(const mt2203& other);
    mt2203& operator=(mt2203&& other);
    ~mt2203()
  };
}

Devices supported: CPU and GPU.

Include Files#

  • oneapi/mkl/rng.hpp

Input Parameters#

Name

Type

Description

queue

sycl::queue

Valid sycl::queue, calls of oneapi::mkl::rng::generate() routine submit kernels in this queue.

seed

std::uint32_t std::initializer_list<std::uint32_t>

Initial conditions of the engine.

engine_idx

std::uint32_t

Index of the engine from the set (set contains 6024 basic generators).

See VS Notes for the detailed descriptions.