Developer Guide

Contents

Distributed Processing

This mode assumes that the data set is split into
nblocks
blocks across computation nodes.

Algorithm Parameters

The correlation and variance-covariance matrices algorithm in the distributed processing mode has the following parameters:
Parameter
Default Value
Description
computeStep
Not applicable
The parameter required to initialize the algorithm. Can be:
  • step1Local
    - the first step, performed on local nodes
  • step2Master
    - the second step, performed on a master node
algorithmFPType
float
The floating-point type that the algorithm uses for intermediate computations. Can be
float
or
double
.
method
defaultDense
Available methods for computation of correlation and variance-covariance matrices:
  • defaultDense
    - default performance-oriented method
  • singlePassDense
    - implementation of the single-pass algorithm proposed by D.H.D. West
  • sumDense
    - implementation of the algorithm in the cases where the basic statistics associated with the numeric table are pre-computed sums; returns an error if pre-computed sums are not defined
  • fastCSR
    - performance-oriented method for CSR numeric tables
  • singlePassCSR
    - implementation of the single-pass algorithm proposed by D.H.D. West; optimized for CSR numeric tables
  • sumCSR
    - implementation of the algorithm in the cases where the basic statistics associated with the numeric table are pre-computed sums; optimized for CSR numeric tables; returns an error if pre-computed sums are not defined
outputMatrixType
covarianceMatrix
The type of the output matrix. Can be:
  • covarianceMatrix
    - variance-covariance matrix
  • correlationMatrix
    - correlation matrix
Computation of correlation and variance-covariance matrices follows the general schema described in Algorithms:

Step 1 - on Local Nodes

In this step, the correlation and variance-covariance matrices algorithm accepts 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
data
Pointer to the
n
i
x
p
numeric table that represents the
i
-th data block on the local node.
While the input for
defaultDense
,
singlePassDense
, or
sumDense
method can be an object of any class derived from
NumericTable
, the input for
fastCSR
,
singlePassCSR
, or
sumCSR
method can only be an object of the
CSRNumericTable
class.
In this step, the correlation and variance-covariance matrices algorithm calculates the results 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
nObservations
Pointer to the 1 x 1 numeric table that contains the number of observations processed so far on the local node. By default, this result is an object of the
HomogenNumericTable
class, but you can define the result as an object of any class derived from
NumericTable
except
CSRNumericTable
.
crossProduct
Pointer to the
p
x
p
numeric table with the cross-product matrix computed so far on the local node. By default, this table is an object of the
HomogenNumericTable
class, but you can define the result as an object of any class derived from
NumericTable
except
CSRNumericTable
.
sum
Pointer to the 1 x
p
numeric table with partial sums computed so far on the local node. By default, this table is an object of the
HomogenNumericTable
class, but you can define the result as an object of any class derived from
NumericTable
except
PackedSymmetricMatrix
,
PackedTriangularMatrix
, and
CSRNumericTable
.

Step 2 - on Master Node

In this step, the correlation and variance-covariance matrices algorithm accepts 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
partialResults
A collection that contains results computed in Step 1 on local nodes (
nObservations
,
crossProduct
, and
sum
). The collection can contain objects of any class derived from the
NumericTable
class except
PackedSymmetricMatrix
and
PackedTriangularMatrix
.
In this step, the correlation and variance-covariance matrices algorithm calculates the results described in the following table. 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
covariance
Use when
outputMatrixType
=
covarianceMatrix
. Pointer to the numeric table with the
p
x
p
variance-covariance matrix. By default, this result is an object of the
HomogenNumericTable
class, but you can define the result as an object of any class derived from
NumericTable
except
PackedTriangularMatrix
and
CSRNumericTable
.
correlation
Use when
outputMatrixType
=
correlationMatrix
. Pointer to the numeric table with the
p
x
p
correlation matrix. By default, this result is an object of the
HomogenNumericTable
class, but you can define the result as an object of any class derived from
NumericTable
except
PackedTriangularMatrix
and
CSRNumericTable
.
mean
Pointer to the 1 x
p
numeric table with means. By default, this result is an object of the
HomogenNumericTable
class, but you can define the result as an object of any class derived from
NumericTable
except
PackedTriangularMatrix
,
PackedSymmetricMatrix
, and
CSRNumericTable
.
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

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