Developer Reference


Device Support

Data Parallel C++ supports several types of devices:
  • Host device: Performs computations directly on the current CPU
  • CPU device: Performs computations on a CPU using OpenCL™
  • GPU device: Performs computations on a GPU
All Data Parallel C++ routines of oneMKL RNG support at least the Host and CPU devices. GPU devices are supported for the following engines:
  • oneapi::mkl::rng::mcg31m1
  • oneapi::mkl::rng::mcg59
  • oneapi::mkl::rng::mrg32k3a
  • oneapi::mkl::rng::mt19937
  • oneapi::mkl::rng::mt2203
  • oneapi::mkl::rng::philox4x32x10
  • oneapi::mkl::rng::sobol
GPU devices are supported for all distributions.
Some of the distributions use double precision inside the implementations, so not all GPUs are supported for them.
Refer to Engines and Distributions for more detailed descriptions of each routine.

Product and Performance Information


Performance varies by use, configuration and other factors. Learn more at