Look at the documentation of MPI_MAX_LOC. The datatype of to be reduced needs to be a pair, consisting of value and index. You can do the same with your custom function.
On 14 Oct 2013, at 11:02, MM <finjulhich@gmail.com> wrote:
> That will give me the optimum value of f(x1, ..., xn) but not _which_ (x1,....xn) gives that optimum evaluation of f.
>
> MM
>
>
> On 14 October 2013 09:57, Matthias Troyer <troyer@phys.ethz.ch> wrote:
>
> On 14 Oct 2013, at 10:53, MM <finjulhich@gmail.com> wrote:
>
>> Hello
>> In a problem of getting the maximum of a multi-variable function, I would use mpi::reduce and provide it with a function object that compares the evaluations of this function.
>>
>> Each process evaluates a part of the space, ie a number of n-tuples of the n-dimension space.
>>
>> How do I get the n-tuple that yields the max of f(), given that MPI_MAXLOC is not available in boost mpi?
>>
>> Thanks
>>
>> MM
>
>
> Hi MM,
>
> you can just provide your own function object to the boost::mpi::reduce function
>
> Matthias
>
>
> _______________________________________________
> Boost-mpi mailing list
> Boost-mpi@lists.boost.org
> http://lists.boost.org/mailman/listinfo.cgi/boost-mpi
>
>
> _______________________________________________
> Boost-mpi mailing list
> Boost-mpi@lists.boost.org
> http://lists.boost.org/mailman/listinfo.cgi/boost-mpi
_______________________________________________
Boost-mpi mailing list
Boost-mpi@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-mpi