Developer Guide for Intel® Data Analytics Acceleration Library 2018 Update 3

Engines

Random number engines are used for uniformly distributed random numbers generation by using a seed - the initial value that allows to select a particular random number sequence. Initialization is an engine-specific procedure.

Algorithm Input

Engines accept the input described below. Pass the Input ID as a parameter to the methods that provide input for your algorithm. For more details, see Algorithms.

Input ID

Input

tableToFill

Pointer to the numeric table of size nxp.

This input can be an object of any class derived from NumericTable except CSRNumericTable, PackedSymmetricMatrix, PackedTriangularMatrix, and MergedNumericTable when it holds one of the above table types.

Algorithm Output

Engines calculate the result described below. Pass the Result ID as a parameter to the methods that access the results of your algorithm. For more details, see Algorithms.

Result ID

Result

randomNumbers

Pointer to the nxp numeric table with generated random floating-point values of single or double precision. In Intel DAAL, engines are in-place, which means that the algorithm does not allocate memory for the distribution result, but returns pointer to the filled input.

Note

In the current version of the library, engines are used for random number generation only as a parameter of another algorithm.

Subsequence selection methods

There are two methods used for random numbers generation across different computational nodes. They help to split the original random sequence into non-overlapping subsequences.

Method

Description

skipAhead (nskip)

Skips nskip elements of the original random sequence.

leapfrog (threadIdx, nThreads)

Generates random numbers with a stride ofnThreads. threadIdx is an index of the current computational node.

Subsequence selection methods are members of classes that represent functionality described in the Engines section. See API References for details.

Note

Support of these methods is engine-specific.