Developer Reference

  • 0.10
  • 10/21/2020
  • Public Content
Contents

vslNewStream

Creates and initializes a random stream.

Syntax

status
=
vslNewStream
(
&stream
,
brng
,
seed
);
Include Files
  • mkl.h
Input Parameters
Name
Type
Description
brng
const MKL_INT
Index of the basic generator to initialize the stream.
See Table
Values of
brng
parameter
for specific value.
seed
const MKL_UINT
Initial condition of the stream. In the case of a quasi-random number generator seed parameter is used to set the dimension. If the dimension is greater than the dimension that brng can support or is less than 1, then the dimension is assumed to be equal to 1.
Output Parameters
Name
Type
Description
stream
VSLStreamStatePtr*
Stream state descriptor
Description
For a basic generator with number
brng
, this function creates a new stream and initializes it with a 32-bit seed. The seed is an initial value used to select a particular sequence generated by the basic generator
brng
. The function is also applicable for generators with multiple initial conditions. Use this function to create and initialize a new stream with a 32-bit seed only. If you need to provide multiple initial conditions such as several 32-bit or wider seeds, use the function vslNewStreamEx. See VS Notes for a more detailed description of stream initialization for different basic generators.
This function is not applicable for abstract basic random number generators. Please use
vsl
iNewAbstractStream
,
vsl
sNewAbstractStream
or
vsl
dNewAbstractStream
to utilize integer, single-precision or double-precision external random data respectively.
Optimization Notice
Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.
Notice revision #20110804
This notice covers the following instruction sets: SSE2, SSE4.2, AVX2, AVX-512.
Return Values
VSL_ERROR_OK
,
VSL_STATUS_OK
Indicates no error, execution is successful.
VSL_RNG_ERROR_INVALID_BRNG_INDEX
BRNG index is invalid.
VSL_ERROR_MEM_FAILURE
System cannot allocate memory for
stream
.
VSL_RNG_ERROR_NONDETERMINISTIC_NOT_SUPPORTED
Non-deterministic random number generator is not supported.
VSL_RNG_ERROR_ARS5_NOT_SUPPORTED
ARS-5 random number generator is not supported on the CPU running the application.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804