Developer Reference

  • 0.9
  • 09/09/2020
  • Public Content
Contents

vslLoadStreamM

Creates a new stream and reads stream descriptive data, including stream state, from the memory buffer.

Syntax

errstatus
=
vslLoadStreamM
(
&stream
,
memptr
);
Include Files
  • mkl.h
Input Parameters
Name
Type
Description
memptr
const char*
Memory buffer to load random stream descriptive data from
Output Parameters
Name
Type
Description
stream
VSLStreamStatePtr*
Pointer to a new random stream
errstatus
int
Error status of the operation
Description
The
vslLoadStreamM
function creates a new stream and reads stream descriptive data, including the stream state, from the memory buffer. A new random stream is created using the stream descriptive data from the memory pointer by
memptr
. If the stream cannot be read (for example,
memptr
is invalid),
errstatus
has a non-zero value. To save random stream to the memory, use
vslSaveStreamM
function. Use the service routine
vslGetStreamSize
to determine the amount of memory sufficient to hold the random stream.
Calling
LoadStreamM
with a previously initialized
stream
pointer can have unintended consequences such as a memory leak. To initialize a stream which has been in use until calling
vslLoadStreamM
, you should call the vslDeleteStream function first to deallocate the resources.
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_ERROR_NULL_PTR
memptr
is a
NULL
pointer.
VSL_ERROR_MEM_FAILURE
System cannot allocate memory for internal needs.
VSL_RNG_ERROR_BAD_MEM_FORMAT
Descriptive random stream format is unknown.
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