Map (parallel pattern) とは

マップは、パラレルコンピューティングのイディオムで、シンプルな操作がシーケンスのすべての要素に適用される可能性があります。これは厄介な並列問題を解決するために使用されます。独立したサブタスクに分解され、最後に結合またはバリア以外のサブタスク間の通信/同期化を必要としない問題。
マップパターンを適用すると、問題の一部を表すデータ項目に対して実行される操作を取得し、その後、この要素関数を1つ以上の実行スレッド、ハイパースレッド、SIMDレーンまたは複数のスレッドに適用する要素関数を定式化しますコンピュータ。
OpenMPやCilkなどの一部の並列プログラミングシステムでは、並列forループの形式でマップパターンの言語サポートが提供されています。 OpenCLやCUDAなどの言語は、言語レベルで要素関数(「カーネル」として)をサポートしています。マップパターンは、通常、他のパラレルデザインパターンと組み合わせられます。たとえば、マップをカテゴリの縮小と組み合わせると、MapReduceパターンが得られます。