2

all_reduce 関数を使用して各プロセッサからブール値を収集し、ブール値のいずれかが true (つまり、「or」演算子) の場合はそれらを true に削減しようとしています。しかし、これに適した構文を見つけるのに問題があります。私が今持っているのは

all_reduce(world,update,update_sum,or());

これを実行しようとすると、次のコンパイラ エラーが発生します。

time_step_Gear_Verlet.cpp:94: error: expected primary-expression before '||' token
time_step_Gear_Verlet.cpp:94: error: expected primary-expression before ')' token

or() の代わりに ||() を使用してみましたが、それも機能しません。多分私は何かを逃していますか?それとも、私がこれを行うために行かなければならない別の方法はありますか?

4

1 に答える 1

4

を使用する必要がありますstd::logical_orチュートリアル ページには、C MPI から Boost.MPI の対応する操作までの操作の表があります。

于 2012-05-07T17:37:23.930 に答える