< 目次

インテル® DAAL 2017 デベロッパー・ガイド

分散処理

このモードは、データセットが計算ノードの 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 で計算された結果 (nObservationscrossProductsum) を含むコレクション。(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 の派生クラスのオブジェクトとして定義できます。

サンプル

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

C++:

Java*:

Python*:

最適化に関する注意事項

インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリーミング SIMD 拡張命令 2、インテル® ストリーミング SIMD 拡張命令 3、インテル® ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロセッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。

注意事項の改訂 #20110804

関連情報