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 CPU devices. GPU devices are supported for the following engines:
oneapi::mkl::rng::mcg31m1oneapi::mkl::rng::mcg59oneapi::mkl::rng::mrg32k3aoneapi::mkl::rng::mt19937oneapi::mkl::rng::mt2203oneapi::mkl::rng::philox4x32x10oneapi::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.