データ並列性
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/01/13 22:30 UTC 版)
データ並列性(英: data parallelism)は、複数のプロセッサを用いて演算を行う並列コンピューティングの形態の一つである。データ並列性は、異なる並列計算ノードにデータを分配することに焦点を置いている。並列性の別の形態であるタスク並列性と対照をなす。ループレベル並列性 (loop-level parallelism) とも。
|
- 1 データ並列性とは
- 2 データ並列性の概要
- 3 参考文献
データ並列性
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/25 13:20 UTC 版)
詳細は「データ並列性」を参照 データ並列性はプログラムのループが本質的に備えている並列性であり、ループの各周回が各ノードで並列に処理されるようデータを配布する部分が中心となる。並列化されるループは、大きなデータ構造の各要素について似たような処理を行うものである。科学技術計算にはデータ並列性があることが多い。 ループ伝搬依存(loop-carried dependency)とは、ループにおいて以前の周回の結果に依存して新たな周回の計算が行われる性質をいう。ループ伝搬依存があると、ループの並列化はできない。例えば、以下のフィボナッチ数の一部を計算する擬似コードを考えてみよう。 1: prev := 02: cur := 13: do:4: PREV := CUR5: CUR := CUR + PREV6: while (CUR < 10) このループでは、CUR が以前の CUR の値と PREV に依存しており、その値は周回ごとに再計算されるため、並列化できない。つまり、ある周回での計算は、それ以前の周回の計算結果に依存しているため、周回ごとに並列化することはできないのである。 問題が大きくなるほど、可能なデータ並列性も多くなる傾向がある。
※この「データ並列性」の解説は、「並列計算」の解説の一部です。
「データ並列性」を含む「並列計算」の記事については、「並列計算」の概要を参照ください。
データ並列性と同じ種類の言葉
固有名詞の分類
- データ並列性のページへのリンク