ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

分散配列

分散配列と同時実行を使用してビッグ データセットを並列解析する

Parallel Computing Toolbox™ は、大規模な配列を複数の MATLAB® ワーカー間に分割する分散配列をサポートします。ユーザーは配列全体を単一のエンティティとして操作しますが、ワーカーはそれぞれに割り当てられた配列の部分のみを処理し、必要に応じて自動的にワーカー間でデータを転送します。同時実行は、ワーカー間の通信を容易にする Single Program Multiple Data (spmd) 言語構成でサポートされます。分散対応の行列演算と関数を使用して、これらの配列を追加変更なしで直接処理します。Parallel Computing Toolbox で分散配列を使用して、クラスターの結合メモリを使用するビッグ データ アプリケーションを実行できます。

関数

すべて展開する

distributedクライアント ワークスペースまたはデータ ストアのデータから分散配列を作成
gather分散配列または gpuArray をローカル ワークスペースに転送
spmd並列プールのワーカーでコードを並列実行する
CompositeComposite オブジェクトを作成する
parallel.pool.Constantデータまたは関数ハンドルからの parallel.pool.Constant のビルド
codistributed複製されたローカル データから対話型分散配列を作成する
parpoolクラスターでの並列プールの作成
delete (Pool)並列プールのシャットダウン
redistribute別の分散スキームにより対話型分散配列を再分散する
codistributed.build分散データから対話型分散配列を作成する
for分散範囲に対する for ループ
getLocalPart対話型分散配列のローカル部分
globalIndices対話型分散配列のローカル部分のグローバル インデックス
gop全ワーカーにわたるグローバルな演算
write出力場所への分散データの書き込み

クラス

すべて展開する

distributedクライアントから分散配列要素にアクセスする
codistributed並列プールのワーカーに分散された配列要素にアクセスする
Compositeクライアントから複数のワーカーにある非分散変数にアクセスする
codistributor1d対話型分散配列の 1 次元分散スキーム
codistributor2dbc対話型分散配列の 2 次元ブロック サイクリック分散スキーム
parallel.Pool並列プールへのアクセス

例および操作のヒント

分散配列の作成と使用

データ配列が大きすぎて 1 台のマシンのメモリに収まらない場合は、distributed 配列を作成できる

分散配列を使用した MATLAB 関数の実行

分散配列を扱う MATLAB 関数

並列ワーカーへの配列の分散

datastore または distributed を使用して分散配列を作成し、ワーカー間でデータを分割する

複数のデータセットでの単一プログラムの実行

spmd ステートメントを使用して複数のデータセットで同じコードを実行し、対話型分散配列を制御する

Composite を使用するワーカー変数へのアクセス

MATLAB クライアント セッションの Composite オブジェクトを使用して、ワーカーのデータ値に直接アクセスできます。

gop による MPI_Allreduce 機能の実現

この例では、関数 gop およびそれを利用する関数 gplus および gcat について確認します。

メッセージ パッシングを使った π の数値推定

この例では spmd ステートメント取り扱いの基本と、それがどのような形で並列計算実行の対話型手段となるのかを示します。

概念

並列プールでのコードの実行

並列プールの開始と終了、プールのサイズ、およびクラスターの選択について学習する。

並列設定の指定

設定を指定して自動的に並列プールを作成する。

非分散配列と分散配列

pmode などの通信ジョブで使用されるさまざまなタイプの配列について説明する

対話型分散配列の取り扱い

計算での対話型分散配列の使い方を説明する

分散範囲に対するループ (for-drange)

対話型分散配列を使用して for ループをプログラムする方法について説明する

リモート データの操作 (MATLAB)

Amazon S3™、Microsoft® Azure® Storage Blob、または HDFS™ で、リモート データを操作する。

注目の例