<div dir="ltr"><div><div>Solved, it was my error..<br>int block_lengths[] = { 4, 2 };<br></div>should be:<br>int block_lengths[] = { 4, 1 };<br><br></div>Did not read man carefully.<br><div><br>There was overflow all the time. On MPICH it caused error, on openmpi and BGP it was silent.<br>

</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jun 3, 2014 at 1:15 AM, Jakub Łuczyński <span dir="ltr"><<a href="mailto:doubleloop@o2.pl" target="_blank">doubleloop@o2.pl</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>P.S.<br></div>for clarity<br><br>typedef long long m_entry_t;<br></div><div class="HOEnZb"><div class="h5">

<div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jun 3, 2014 at 1:09 AM, Jakub Łuczyński <span dir="ltr"><<a href="mailto:doubleloop@o2.pl" target="_blank">doubleloop@o2.pl</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">After installation of current version (3.1)<br><div><br>$ mpiexec -n 2 ~/tmp/opencl/msp-par.exe 10 10 1<br>


Fatal error in PMPI_Reduce: Internal MPI error!, error stack:<br>PMPI_Reduce(1259)........: MPI_Reduce(sbuf=0x7fff40ad30c8, rbuf=0x7fff40ad30e0, count=1, dtype=USER<struct>, op=0x98000000, root=0, MPI_COMM_WORLD) failed<br>



MPIR_Reduce_impl(1071)...: <br>MPIR_Reduce_intra(822)...: <br>MPIR_Reduce_impl(1071)...: <br>MPIR_Reduce_intra(877)...: <br>MPIR_Reduce_binomial(130): <br>MPIR_Localcopy(123)......: memcpy arguments alias each other, dst=0x7fff40ad30e0 src=0x7fff40ad30c8 len=32<br>



MPIR_Reduce_intra(842)...: <br>MPIR_Reduce_impl(1071)...: <br>MPIR_Reduce_intra(877)...: <br>MPIR_Reduce_binomial(246): Failure during collective<br></div></div><div><div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Tue, Jun 3, 2014 at 12:25 AM, Gus Correa <span dir="ltr"><<a href="mailto:gus@ldeo.columbia.edu" target="_blank">gus@ldeo.columbia.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This is an old version of mpich.<br>
Is it perhaps still using the mpd ring?<br>
[If so, you need to start the mpd ring, if not already set,<br>
before you launch the job. But that method was phased out.]<br>
It may be worth updating to the latest mpich stable<br>
and use the current mpiexec (hydra) to launch the job.<br>
<br>
<a href="http://www.mpich.org/downloads/" target="_blank">http://www.mpich.org/<u></u>downloads/</a><br>
<a href="http://www.mpich.org/documentation/guides/" target="_blank">http://www.mpich.org/<u></u>documentation/guides/</a><br>
<a href="http://wiki.mpich.org/mpich/index.php/Using_the_Hydra_Process_Manager" target="_blank">http://wiki.mpich.org/mpich/<u></u>index.php/Using_the_Hydra_<u></u>Process_Manager</a><div><div><br>

<br>
<br>
On 06/02/2014 06:03 PM, Lu, Huiwei wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Kuba,<br>
<br>
Since it works with both Open MPI and BGP, it is most likely a problem of your MPICH installation or your platform.<br>
<br>
We have stopped supporting the Windows platform a while ago due to lack of developer resources. Please refer to our FAQ for more information:<br>
<a href="http://wiki.mpich.org/mpich/index.php/Frequently_Asked_Questions#Q:_Why_can.27t_I_build_MPICH_on_Windows_anymore.3F" target="_blank">http://wiki.mpich.org/mpich/<u></u>index.php/Frequently_Asked_<u></u>Questions#Q:_Why_can.27t_I_<u></u>build_MPICH_on_Windows_<u></u>anymore.3F</a><br>




<br>
If it is on windows platform, we recommend you use Microsoft MPI, which can be found here: <a href="http://msdn.microsoft.com/en-us/library/bb524831(v=vs.85).aspx" target="_blank">http://msdn.microsoft.com/en-<u></u>us/library/bb524831(v=vs.85).<u></u>aspx</a><br>




<br>
We also encourage you to use the latest MPICH on Linux or OSX platforms, which can be downloaded here: <a href="http://www.mpich.org/downloads/" target="_blank">http://www.mpich.org/<u></u>downloads/</a><br>
<br>
—<br>
Huiwei<br>
<br>
On Jun 2, 2014, at 4:49 PM, Jakub Łuczyński <<a href="mailto:doubleloop@o2.pl" target="_blank">doubleloop@o2.pl</a>> wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I wrote my assignment using MPI, and tested it both locally on Open MPI (1.6.5) and on IBM Blue Gene/P (with mpi implementation provided by IBM). Everything worked fine. Turns out that our solutions are tested also in our labs where MPICH, is installed:<br>




<br>
$ mpich2version<br>
MPICH2 Version:        1.4.1p1<br>
<br>
And when I run my solution there I get this strange error:<br>
$ mpirun -n 2 msp-par.exe 10 10 1<br>
Internal Error: invalid error code 409e10 (Ring ids do not match) in MPIR_Reduce_impl:1087<br>
Fatal error in PMPI_Reduce: Other MPI error, error stack:<br>
PMPI_Reduce(1270).....: MPI_Reduce(sbuf=<u></u>0x7fff693a92e8, rbuf=0x7fff693a9300, count=1, dtype=USER<struct>, op=0x98000000, root=0, MPI_COMM_WORLD) failed<br>
MPIR_Reduce_impl(1087):<br>
<br>
I am literally out of ideas what is wrong!<br>
<br>
Below source code fragments (c++):<br>
<br>
struct msp_solution<br>
{<br>
    int x1, y1, x2, y2;<br>
    m_entry_t max_sum;<br>
    msp_solution();<br>
    msp_solution(const pair<int, int> &c1, const pair<int, int> &c2, int max_sum);<br>
    friend bool operator<(const msp_solution &s1, const msp_solution &s2);<br>
};<br>
<br>
void max_msp_solution(msp_solution *in, msp_solution *inout, int, MPI_Datatype*)<br>
{<br>
     *inout = max(*in, *inout);<br>
}<br>
<br>
// somewhere in code<br>
{<br>
     MPI_Datatype MPI_msp_solution_t;<br>
     MPI_Op max_msp_solution_op;<br>
<br>
     // create MPI struct from msp_solution<br>
     MPI_Datatype types[] = { MPI_INT, MPI_LONG_LONG_INT };<br>
     int block_lengths[] = { 4, 2 };<br>
     MPI_Aint base_addr, x1_addr, max_sum_addr;<br>
     MPI_Get_address(&collected_<u></u>solution, &base_addr);<br>
     MPI_Get_address(&collected_<u></u>solution.x1, &x1_addr);<br>
     MPI_Get_address(&collected_<u></u>solution.max_sum, &max_sum_addr);<br>
<br>
     MPI_Aint displacements[] =<br>
     {<br>
         x1_addr - base_addr,<br>
         max_sum_addr - base_addr<br>
     };<br>
<br>
     MPI_Type_create_struct(2, block_lengths, displacements, types, &MPI_msp_solution_t);<br>
     MPI_Type_commit(&MPI_msp_<u></u>solution_t);<br>
<br>
     // max reduction function<br>
     MPI_Op_create((MPI_User_<u></u>function *) max_msp_solution, 1, &max_msp_solution_op);<br>
<br>
    ...<br>
<br>
     msp_solution solution, received_solution;<br>
     MPI_Comm comm,<br>
     ...<br>
     // comm is created using MPI_Comm_split<br>
     // solution is initialized<br>
     MPI_Reduce(&solution, &received_solution, 1, MPI_msp_solution_t, max_msp_solution_op , 0, MPI_COMM_WORLD);<br>
     // ERROR above!!!<br>
}<br>
<br>
<br>
Is there some error in this? How can I make it run?<br>
P.S. MPI_Send and MPI_Recv on my struct MPI_msp_solution_t seems to work fine<br>
<br>
Thanks in advance!<br>
Best regards,<br>
Kuba<br>
______________________________<u></u>_________________<br>
discuss mailing list     <a href="mailto:discuss@mpich.org" target="_blank">discuss@mpich.org</a><br>
To manage subscription options or unsubscribe:<br>
<a href="https://lists.mpich.org/mailman/listinfo/discuss" target="_blank">https://lists.mpich.org/<u></u>mailman/listinfo/discuss</a><br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
discuss mailing list     <a href="mailto:discuss@mpich.org" target="_blank">discuss@mpich.org</a><br>
To manage subscription options or unsubscribe:<br>
<a href="https://lists.mpich.org/mailman/listinfo/discuss" target="_blank">https://lists.mpich.org/<u></u>mailman/listinfo/discuss</a><br>
<br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
discuss mailing list     <a href="mailto:discuss@mpich.org" target="_blank">discuss@mpich.org</a><br>
To manage subscription options or unsubscribe:<br>
<a href="https://lists.mpich.org/mailman/listinfo/discuss" target="_blank">https://lists.mpich.org/<u></u>mailman/listinfo/discuss</a></div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>