レデューサーについて

レデューサーは、並列コード内の非ローカル変数へのアクセス問題を解決します。概念的には、レデューサーとは、並列に実行している複数のストランドが安全に使用できる変数です。ランタイムシステムは、各ワーカーが変数のプライベート・コピーにアクセスすることを保証し、ロックを使用せずにデータ競合の可能性を排除します。ストランドが同期するときに、それぞれのレデューサーのコピーは 1 つの変数にマージ (レデュース) されます。ランタイムシステムは必要に応じてコピーを作成するため、オーバーヘッドを最小限に抑えることができます。

レデューサーには、いくつかのメリットがあります。

レデューサーは、ランタイムシステムにインターフェイスを提供する C++ テンプレートで定義されます。

独自のレデューサーを記述する場合は、「上級者向けトピック: 新しいレデューサーの記述方法」に詳細があります。


このヘルプトピックについてのフィードバックを送信