71    static sycl::queue &get_queue()
 
   73        auto &be = backend_sycl::get();
 
   77    static mkl_rng::mt19937 &get_rng_engine()
 
   79        auto &be = backend_sycl::get();
 
   80        return be.rng_mt19937_engine_;
 
   83    static mkl_rng::mcg59 &get_rng_mcg59_engine()
 
   85        auto &be = backend_sycl::get();
 
   86        return be.rng_mcg59_engine_;
 
   89    template <
typename SeedT>
 
   90    void set_rng_engines_seed(
const SeedT &seed)
 
   92        mkl_rng::mt19937 rng_eng_mt19937(queue_, seed);
 
   93        mkl_rng::mcg59 rng_eng_mcg59(queue_, seed);
 
   96        rng_mt19937_engine_ = std::move(rng_eng_mt19937);
 
   97        rng_mcg59_engine_ = std::move(rng_eng_mcg59);
 
  100    bool backend_sycl_is_cpu()
 const 
  102        const auto &dev = queue_.get_device();
 
  107    static constexpr std::size_t default_seed = 1;
 
  110        : queue_{sycl::default_selector_v,
 
  112                     ? sycl::property_list{sycl::property::queue::
 
  114                     : sycl::property_list{}},
 
  115          rng_mt19937_engine_{queue_, default_seed}, rng_mcg59_engine_{
 
  116                                                         queue_, default_seed}
 
  125    mkl_rng::mt19937 rng_mt19937_engine_;
 
  126    mkl_rng::mcg59 rng_mcg59_engine_;