2017-04-14 5 views
1

どのようにして行うのですか?boost::mpi 1.53? (これはCentOS 7のバージョン)boost :: mpi 1.53 in place all_reduce

ブースト1.61はboost::mpi::inplace_tdoc)ですが、ブースト1.53は(doc)ではありません。

1.61のために、私が使用することができます。

boost::mpi::all_reduce(
    comm, 
    boost::mpi::inplace_t<int*>(ptr_int_array), 
    n_elements, 
    op); 

答えて

1

あなたが関数の値を返すように設定することにより、in_valueを上書きすることができますout_valueの余分なフィールドを持ってしたくない場合。

#include <boost/mpi.hpp> 

int main() 
{ 
    boost::mpi::environment env; 
    boost::mpi::communicator comm;  

    // set in_value to whatever you want. 
    int in_value = comm.rank() 
    // overwrite. 
    in_value = all_reduce(comm, in_value, std::plus<double>()); 

    return 0; 
} 
関連する問題