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(...); }); });