Barrier (computer science)とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > Barrier (computer science)の意味・解説 

バリア (計算機科学)

(Barrier (computer science) から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/01/06 15:49 UTC 版)

並列コンピューティングにおけるバリア: barrier)とは、スレッド間やプロセス間の同期方法の一つ。まず、ソースコード中にバリアという場所を設定する。そこを通る複数のスレッドプロセスが在る場合、その全てのスレッドやプロセスのプログラムカウンタがそこへ到達するまで待ち続ける仕組みである。

並列計算のライブラリや、命令による並列言語では、暗黙のうちにバリアが使用されることが多い。たとえばOpenMPを使用したFORTRANにおける並列のdoループは、ループ処理の最後の繰り返しが完了するまで次に進まない。これは、プログラムがループの結果に依存しているという例である。メッセージ・パッシングでは、大域的な通信(reductionやscatter)が、暗黙のバリアとなっている場合がある。

CUDA C/C++OpenCL C/C++、HLSLGLSLのようなGPGPU向けの並列プログラミング言語にも、GPU上で動作するスレッド同期のための組み込みのバリア関数が用意されている[1][2][3][4]。デバイスコードやコンピュートシェーダーを記述する際に利用される。並列処理する個々の入出力データ間に依存性がなく、すべてのスレッドが完全に独立して動作できる場合は明示的なバリアは不要だが、スレッドグループの共有メモリ(OpenCLの場合はローカルメモリと呼ばれる)に途中の演算結果を一時的に格納してスレッド間でデータを交換・利用する場合には明示的なバリアによる同期が必要となる。

脚注

関連項目




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Barrier (computer science)」の関連用語

Barrier (computer science)のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Barrier (computer science)のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのバリア (計算機科学) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS