インテル® DAAL プログラミング・ガイド

分散処理

このモードは、データセットが計算ノードの nblocks ブロックに分割されていると仮定します。

アルゴリズムのパラメーター

分散処理モードの相関行列と分散共分散行列アルゴリズムのパラメーターは次のとおりです。

パラメーター

デフォルト値

説明

computeStep

適用不可

アルゴリズムを初期化するために必要なパラメーターです。次のいずれか。

  • step1Local - 第 1 ステップ、ローカルノードで実行
  • step2Master - 第 2 ステップ、マスターノードで実行

algorithmFPType

double

アルゴリズムが中間計算に使用する浮動小数点の型。float または double を指定できます。

method

defaultDense

相関行列と分散共分散行列の計算に利用可能なメソッド。

  • defaultDense - パフォーマンス指向の計算メソッド、デフォルト

  • singlePassDense - D.H.D. West により提案された単一パス・アルゴリズムの実装

  • sumDense - 事前計算された和によるアルゴリズムの実装

  • fastCSR - CSR 数値テーブルのパフォーマンス指向の計算メソッド

  • singlePassCSR - D.H.D. West により提案された単一パス・アルゴリズムの実装、CSR 数値テーブル用に最適化

  • sumCSR - 事前計算された和によるアルゴリズムの実装、CSR 数値テーブル用に最適化

outputMatrixType

covarianceMatrix

出力行列の型。次のいずれか。

  • covarianceMatrix - 分散共分散行列
  • correlationMatrix - 相関行列

分散処理モードの相関行列と分散共分散行列の計算は、アルゴリズムで説明されている一般的なスキーマに従います。

ステップ 1 - ローカルノード

このステップの相関行列と分散共分散行列アルゴリズムの入力は次のとおりです。入力 ID をパラメーターとして、アルゴリズムの入力を提供するメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

入力 ID

入力

data

ローカルノードの i 番目のデータブロックを表す ni x p 数値テーブルのポインター。

defaultDensesinglePassDensesumDense メソッドの入力は NumericTable の派生クラスのオブジェクトですが、fastCSRsinglePassCSRsumCSR メソッドの入力は CSRNumericTable クラスのオブジェクトのみです。

このステップの相関行列と分散共分散行列アルゴリズムは次の結果を計算します。結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

結果 ID

結果

nObservations

ローカルノードで処理された観測点の数を含む 1 x 1 数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

crossProduct

ローカルノードで計算されたクロス積行列を含む p x p 数値テーブルのポインター。デフォルトでは、このテーブルは HomogenNumericTable クラスのオブジェクトですが、(CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

sum

ローカルノードで計算された部分和を含む 1 x p 数値テーブルのポインター。デフォルトでは、このテーブルは HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrixPackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

ステップ 2 - マスターノード

このステップの相関行列と分散共分散行列アルゴリズムの入力は次のとおりです。入力 ID をパラメーターとして、アルゴリズムの入力を提供するメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

入力 ID

入力

partialResults

ステップ 1 でローカルノードで計算された結果 (nObservationscrossProduct、および sum) を含むコレクション。(PackedSymmetricMatrix および PackedTriangularMatrix を除く) NumericTable の派生クラスのオブジェクトをコレクションに含めることができます。

このステップの相関行列と分散共分散行列アルゴリズムは次の結果を計算します。結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

結果 ID

結果

covariance

outputMatrixType=covarianceMatrix の場合に使用します。p x p 分散共分散行列を含む数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(PackedTriangularMatrix および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

correlation

outputMatrixType=correlationMatrix の場合に使用します。p x p 相関行列を含む数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(PackedTriangularMatrix および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

mean

平均値を含む 1 x p 数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrixPackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

最適化に関する注意事項

インテル® コンパイラーは、互換マイクロプロセッサー向けには、インテル製マイクロプロセッサー向けと同等レベルの最適化が行われない可能性があります。これには、インテル® ストリーミング SIMD 拡張命令 2 (インテル® SSE2)、インテル® ストリーミング SIMD 拡張命令 3 (インテル® SSE3)、ストリーミング SIMD 拡張命令 3 補足命令 (SSSE3) 命令セットに関連する最適化およびその他の最適化が含まれます。インテルでは、インテル製ではないマイクロプロセッサーに対して、最適化の提供、機能、効果を保証していません。本製品のマイクロプロセッサー固有の最適化は、インテル製マイクロプロセッサーでの使用を目的としています。インテル® マイクロアーキテクチャーに非固有の特定の最適化は、インテル製マイクロプロセッサー向けに予約されています。この注意事項の適用対象である特定の命令セットの詳細は、該当する製品のユーザー・リファレンス・ガイドを参照してください。

改訂 #20110804

サンプル

インテル® DAAL ディレクトリーの次のサンプルを参照してください。

C++:

Java*: