mrg32k3a#
説明#
複合多重再帰擬似乱数生成器 MRG32k3a [L’Ecuyer99a]。
API#
構文#
namespace oneapi::mkl::rng {
class mrg32k3a {
public:
static constexpr std::uint32_t default_seed = 1;
mrg32k3a(sycl::queue queue, std::uint32_t seed = default_seed);
mrg32k3a(sycl::queue queue, std::uint32_t seed, mrg32k3a_mode::optimal mode);
mrg32k3a(sycl::queue queue, std::uint32_t seed, mrg32k3a_mode::custom mode);
mrg32k3a(sycl::queue queue, std::initializer_list<std::uint32_t> seed);
mrg32k3a(sycl::queue queue, std::initializer_list<std::uint32_t> seed,
mrg32k3a_mode::optimal mode);
mrg32k3a(sycl::queue queue, std::initializer_list<std::uint32_t> seed,
mrg32k3a_mode::custom mode);
mrg32k3a(const mrg32k3a& other);
mrg32k3a(mrg32k3a&& other);
mrg32k3a& operator=(const mrg32k3a& other);
mrg32k3a& operator=(mrg32k3a&& other);
~mrg32k3a();
};
}サポートされるデバイス: CPU と GPU。
インクルード・ファイル#
oneapi/mkl/rng.hpp
入力パラメーター#
名前 |
タイプ |
説明 |
|---|---|---|
queue |
|
有効な |
seed |
|
生成器状態またはエンジン状態の初期条件。 |
mode |
|
生成器状態またはエンジン状態の初期条件。 |
注
サブシーケンスの並列化 [L’Ecuyer02] は、
modeパラメーターを介してサポートされます。mrg32k3a_mode::optimalは最適な数のサブストリームを使用し、mrg32k3a_mode::customはユーザーが定義した数のサブストリームを渡すことを可能にします (例:mrg32k3a_mode::custom my_mode{123})。最適モード用のヘルパー構造テンプレートmrg32k3a_mode::optimal_vもあります。使用方法の詳細については、対応する例を参照してください。現在、サブシーケンスの並列化は、GPU デバイス上の均一分布とガウス分布でのみサポートされています。
この詳細については VS ノートを参照してください。