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.