Random Number Generators Device Routines

The main purpose of Device routines is to make them callable from your DPC++ kernels; however, there are no limitations to be called from the Host. For example:

sycl::queue queue;

queue.submit([&](sycl::handler& cgh) {
  cgh.parallel_for(range,[=](…) {
     mkl::rng::device::routine(...); // calling routine from user’s kernel code
  });
});

mkl::rng::device::routine(...); // calling routine from host

RNG Device APIs Structure

RNG Device API Structure

RNG Device API Structure