Developer Reference

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

vslSSCompute

Computes Summary Statistics estimates.

Syntax

status
=
vslsSSCompute
(
task
,
estimates
,
method
);
status
=
vsldSSCompute
(
task
,
estimates
,
method
);
Include Files
  • mkl.h
Input Parameters
Name
Type
Description
task
VSLSSTaskPtr
Descriptor of the task
estimates
const MKL_INT64
List of statistical estimates to compute
method
const MKL_INT
Method to be used in calculations
Output Parameters
Name
Type
Description
status
int
Current status of the task
Description
The
vslSSCompute
routine calculates statistical estimates passed as the
estimates
parameter using the algorithms passed as the
method
parameter of the routine. The computations are done in the context of the task descriptor that contains pointers to all required and optional, if necessary, properly initialized arrays. In one call of the function, you can compute several estimates using proper methods for their calculation. See Table
"Summary Statistics Estimates Obtained with
Compute
Routine"
for the list of the estimates that you can calculate with the
vslSSCompute
routine. See Table
"Summary Statistics Computation Methods"
for the list of possible values of the
method
parameter.
To initialize single or double precision version task parameters, use the single (
vslssscompute
) or double (
vsldsscompute
) version of the editor, respectively. To initialize parameters of the integer type, use an integer version of the editor (
vslisscompute
).
Requesting a combination of the
VSL_SS_MISSING_VALS
value and any other estimate parameter in the
Compute
function results in processing only the missing values.
Application Notes
Be aware that when computing a correlation matrix, the
vslSSCompute
routine allocates an additional array for each thread which is running the task. If you are running on a large number of threads
vslSSCompute
might consume large amounts of memory.
When calculating covariance, correlation, or cross product, the number of bytes of memory required is at least (
P
*
P
*
T
+
P
*
T
)*
b
, where
P
is the dimension of the task or number of variables,
T
is the number of threads, and
b
is the number of bytes required for each unit of data. If observation is weighted and the method is
VSL_SS_METHOD_FAST
, then the memory required is at least (
P
*
P
*
T
+
P
*
T
+
N
*
P
)*
b
, where
N
is the number of observations.

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