|
データ並列性(英: Data parallelism)(あるいは ループレベル並列性,loop-level parallelism) は、複数のプロセッサを用いて演算を行う並列コンピューティングの形態の一つである。データ並列性は、異なる並列計算ノードにデータを分配することに焦点を置いている。並列性の別の形態であるタスク並列性と対照をなす。 ==詳細== 一つの SIMD 命令セットを実行するマルチプロセッサのシステムにおいて、データ並列性は、各プロセッサが同じタスクを分配されたデータの別の部分を処理することによって得られる。 ある状況では、一つの実行スレッドがすべてのデータの演算を制御し、またある状況では、複数のスレッドが演算を制御するが、すべて同じコードを実行している。 たとえば、ここで、2 プロセッサシステム (CPU A と B)上でコードを実行する場合、並列計算環境で、あるデータ D 上の CPU A に、D のある部分を実行させ、CPU B に残りの部分を同時に実行させて、実行時間を削減することができる。データは下記に示すような If文で割り当てることができる。 より具体的な例として、二つの行列の加算を考える。データ並列性を実現するためには、CPU A は行列の前半のすべての要素を加算し、CPU B は行列の後半のすべての要素を加算する。二つのプロセッサが並列に動作するため、行列の加算は単一の CPU で同じ処理を実行する場合の半分の時間で完了する。 データ並列性は、データの処理(タスク並列性)ではなくデータの分散した(並列化された)性質に焦点を置く。実際のプログラムのほとんどはタスク並列性とデータ並列性の間のどこかに落ち着く。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「データ並列性」の詳細全文を読む スポンサード リンク
|