Developer Guide for Intel® Data Analytics Acceleration Library 2018 Update 3
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.
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. |
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. |
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.