Re: [OMPI devel] Bug report: non-blocking allreduce with user-defined operation gives segfault

2014-04-24 Thread Rupert Nash
Hi George, Having looked again you're correct about the two 2buf reductions being wrong. For now, I've updated my patch of nbc.c to copy buf1 into buf3 and then do buf3 OP= buf2 (see below). Patching ompi_3buff_op_reduce to cope with user-defined operations is certainly possible, but I don't

Re: [OMPI devel] Bug report: non-blocking allreduce with user-defined operation gives segfault

2014-04-23 Thread George Bosilca
Rupert, You are right, the code of any non-blocking reduce is not built with user-level op in mind. However, I'm not sure about your patch. One reason is that ompi_3buff is doing target = source1 op source2 while ompi_2buf is doing target op= source (notice the op=) Thus you can't replace

[OMPI devel] Bug report: non-blocking allreduce with user-defined operation gives segfault

2014-04-23 Thread Rupert Nash
Hello devel list I've been trying to use a non-blocking MPI_Iallreduce in a CFD application I'm working on, but it kept segfaulting on me. I have reduced it to a simple test case - see the gist here for the full code https://gist.github.com/rupertnash/1182 build and run with: