問題タブ [barrier]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
771 参照

synchronization - glsl計算シェーダーでのピンポン伝播は1回の呼び出しで可能ですか?

glsl 計算シェーダーを使用して 32x32x32 の 3D テクスチャの伝播スキームを実装しようとしています。シェーダーを 1 回実行するだけで x 回の反復を実行できれば非常に便利です。

3 つのテクスチャがあります。1 つはソース、1 つはターゲット、3 つ目はすべてを蓄積します。ソースとターゲットは、反復ごとに交換する必要があります。擬似コードは OpenGL のようになります。

GLSL:

問題は、テクスチャのサイズが原因で、1 つのワークグループでこれらすべてを実行できないことです。1 つのワークグループ内であれば、barrier() を使用するだけで問題ありません。テクスチャの交換のため、次のイテレーションから再度読み取る前に、すべての値を更新する必要があります。これが何らかの形で可能かどうか、誰かに考えがありますか?

ありがとうマルク

0 投票する
1 に答える
462 参照

c - スレッドを同期する C のソース コードを監視する

次の方法に従って、C で n 個のスレッドを同期するモニターを作成します。各スレッドは、barrier_synch() メソッドを呼び出します。このメソッドを呼び出す最初の n-1 スレッドはスリープします。n 番目のスレッドがこのメソッドを呼び出すと、スリープ中のすべてのスレッドが起動し、すべてのスレッドが実行を継続しますが、バリアは初期状態に戻ります。これは私が見つけた解決策です:

このコードは正しいですか? 誰かがこのメカニズムがどのように機能するかを簡単な言葉で説明できますか?

0 投票する
2 に答える
3877 参照

c++ - バリアはメッセージパッシングシステムにどのように実装されていますか?

私が理解しているのは、1 つのマスター プロセスが他のすべてのプロセスにメッセージを送信するということです。他のすべてのプロセスは、代わりにメッセージをマスター プロセスに送信します。障壁が機能するにはこれで十分でしょうか? そうでない場合、さらに何が必要ですか?

0 投票する
0 に答える
162 参照

c - cの構造体でmemalignを正しく使用するには?

次のコードを書いて、10 個の構造体 barrier_t にメモリのチャンクを割り当てましたが、エラーが発生し続けます。それはどういう意味ですか?それを修正する方法は? どうもありがとう!

test2.c:19:16: エラー: '(' トークンの前に宣言指定子または '...' が必要ですtest2.c:19:36: エラー: 数値定数 test2.c
の前に宣言指定子または '...' が必要です:
19:40: エラー: '(' トークンの前に宣言指定子または '...' が必要です

0 投票する
1 に答える
627 参照

c - Open MPI (C プログラム) でバリア呼び出しがスタックする

Open MPIメッセージ通信を使ってバリア越しの同期を練習しています。コンテナーと呼ばれる構造体の配列を作成しました。各コンテナは右側の隣接するコンテナにリンクされ、両端の 2 つの要素もリンクされて円を形成します。

main() テスト クライアントで、複数のプロセス (mpiexec -n 5 ./a.out) で MPI を実行し、barrier() 関数を呼び出すことでそれらを同期することになっていますが、私のコードは最後にスタックします。処理する。デバッグのヘルプを探しています。以下の私のコードを見てください: