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.

Note

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.