<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><div dir="ltr">Antonie is right. You only allocated memory for b on rank 0.  To receive b on other ranks, you need to allocate memory on them as well. </div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><div dir="ltr">--Junchao Zhang</div></div></div>
<br><div class="gmail_quote">On Wed, May 20, 2015 at 5:37 AM, Antoine Rougier <span dir="ltr"><<a href="mailto:rougier@par.tuwien.ac.at" target="_blank">rougier@par.tuwien.ac.at</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
I think your issue comes from b.vect=NULL (according to the used<br>
constructor) which is not a checked value in T Vector<T>::get(int i). By<br>
the way Ncol is no initialized before using it in MPI_Bcast.<br>
<br>
best regards,<br>
<br>
Antoine Rougier<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
On 05/20/2015 11:55 AM, Umesh Shisode wrote:<br>
> Hello Junchao,<br>
><br>
> I initialize vector b, but even then it is not working for broadcasting. It<br>
> gives same error. As the vector class is user defined and also I use<br>
> dynamic memory allocation. This may be the reason for failing. If you know<br>
> about it then please tell.<br>
> I am here attaching the zip file which contains only the vector class and<br>
> main file as well as error I am facing. Please have a look at it. Thanks<br>
> for your time. I am waiting for your reply.<br>
><br>
><br>
> Regards,<br>
><br>
> Umesh Sharad Shisode,<br>
> M.Tech in Modeling and Simulation(2013-15),<br>
> Centre for Modeling and Simulation,<br>
> University of Pune.<br>
><br>
> On Tue, May 19, 2015 at 10:57 PM, Junchao Zhang <<a href="mailto:jczhang@mcs.anl.gov">jczhang@mcs.anl.gov</a>> wrote:<br>
><br>
>> Your code "MPI_Bcast(&b(0), b.get_row(), MPI_DOUBLE, 1, MPI_COMM_WORLD)"<br>
>>  is OK.  You can find manual of MPI_Bcast at<br>
>> <a href="http://mpi.deino.net/mpi_functions/MPI_Bcast.html" target="_blank">http://mpi.deino.net/mpi_functions/MPI_Bcast.html</a><br>
>> Don't forget to initialize the vector b, in other words, allocate memory<br>
>> for it, on ALL ranks.<br>
>><br>
>><br>
>> --Junchao Zhang<br>
>><br>
>> On Tue, May 19, 2015 at 9:27 AM, Umesh Shisode <<a href="mailto:ushisode1@gmail.com">ushisode1@gmail.com</a>><br>
>> wrote:<br>
>><br>
>>> Hi Junchao,<br>
>>><br>
>>> I sort out the problem for MPI_Send() and MPI_Recv(), as I requested in<br>
>>> last mail. Now I have one more difficulty which is how can I broadcast<br>
>>> class object using MPI_Bcast() function. In my case, class is Vector (you<br>
>>> can check it at vect_fun.h header file). I want to broadcast it to all<br>
>>> processes. I have used dynamic memory allocation in the code. Please help<br>
>>> me to solved the issue. I am waiting for your reply. Thanks.<br>
>>><br>
>>><br>
>>> Regards,<br>
>>><br>
>>> Umesh Sharad Shisode,<br>
>>> M.Tech in Modeling and Simulation(2013-15),<br>
>>> Centre for Modeling and Simulation,<br>
>>> University of Pune.<br>
>>><br>
>>> On Tue, May 19, 2015 at 7:51 AM, Umesh Shisode <<a href="mailto:ushisode1@gmail.com">ushisode1@gmail.com</a>><br>
>>> wrote:<br>
>>><br>
>>>> Sorry Junchao,<br>
>>>><br>
>>>> Thanks for your reply. But my problem is with MPICH only. My question is<br>
>>>> how to send part of class object (in my case matrix object) from one<br>
>>>> process to another process using MPI_Send and receive using MPI_Recv<br>
>>>> functions. I tried a lot of way but couldn't do it. I hope you will help<br>
>>>> me. Thanks in advance. I have write a function to get the pointer address<br>
>>>> for first parameter of MPI_Send() function. Waiting for your reply.<br>
>>>><br>
>>>> Regards,<br>
>>>><br>
>>>> Umesh Sharad Shisode,<br>
>>>> M.Tech in Modeling and Simulation(2013-15),<br>
>>>> Centre for Modeling and Simulation,<br>
>>>> University of Pune.<br>
>>>><br>
>>>> On Mon, May 18, 2015 at 7:31 PM, Junchao Zhang <<a href="mailto:jczhang@mcs.anl.gov">jczhang@mcs.anl.gov</a>><br>
>>>> wrote:<br>
>>>><br>
>>>>> Could not reproduce it with the latest MPICH.  If the problem is not<br>
>>>>> specific to MPICH, you'd better move your question to other forums like<br>
>>>>> stackoverflow.<br>
>>>>><br>
>>>>> $mpirun -n 2 ./test<br>
>>>>> Matrix A :<br>
>>>>><br>
>>>>> 1 2 3 4<br>
>>>>> 1 2 3 4<br>
>>>>> 1 2 3 4<br>
>>>>> 1 2 3 4<br>
>>>>><br>
>>>>> Vector b before broadcast:<br>
>>>>>  1.000000,  2.000000,  3.000000,  4.000000<br>
>>>>> Matrix A column : 4<br>
>>>>> after sending:  lLim = 2 uLim = 4  for rank : 1<br>
>>>>> count = 8<br>
>>>>><br>
>>>>> Matrix A column : 0for rank = 1<br>
>>>>> after receive:  lLim = 2 uLim = 4  for rank : 1<br>
>>>>> Ncol after broadcasting = 4<br>
>>>>><br>
>>>>><br>
>>>>> --Junchao Zhang<br>
>>>>><br>
>>>>> On Mon, May 18, 2015 at 6:33 AM, Umesh Shisode <<a href="mailto:ushisode1@gmail.com">ushisode1@gmail.com</a>><br>
>>>>> wrote:<br>
>>>>><br>
>>>>>> Hello Sir / Madam,<br>
>>>>>><br>
>>>>>> This is Umesh Sharad Shisode, pursuing Masters in Modeling and<br>
>>>>>> Simulation, at Centre for Modeling and Simulation, Pune University. I am in<br>
>>>>>> the final stage of my course. My Masters Thesis title is :<br>
>>>>>><br>
>>>>>>     Development of Conjugate Gradient solver in OpenFOAM / CPP using<br>
>>>>>> MPI<br>
>>>>>><br>
>>>>>> I am now doing MPI part of my project and facing some problems with<br>
>>>>>> MPI functions syntax. I am trying to use CPP class object with MPI<br>
>>>>>> functions but it is giving some error. Which I don't understand.<br>
>>>>>><br>
>>>>>> Operating system         : LINUX<br>
>>>>>> Programming Language : CPP<br>
>>>>>><br>
>>>>>> Commands I am using are :<br>
>>>>>><br>
>>>>>>        > mpic++ main.cpp -o result<br>
>>>>>>        > mpirun -np 2 result<br>
>>>>>><br>
>>>>>> Please help me to sort out this issue . I am attaching herewith zip<br>
>>>>>> file containing the code which I want to parallelize with the png file<br>
>>>>>> containing error. Waiting for your reply. Thanks in advance.<br>
>>>>>><br>
>>>>>> Regards,<br>
>>>>>><br>
>>>>>> Umesh Sharad Shisode,<br>
>>>>>> M.Tech in Modeling and Simulation(2013-15),<br>
>>>>>> Centre for Modeling and Simulation,<br>
>>>>>> University of Pune.<br>
>>>>>><br>
>>>>>><br>
>>>>>> _______________________________________________<br>
>>>>>> discuss mailing list     <a href="mailto:discuss@mpich.org">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/mailman/listinfo/discuss</a><br>
>>>>>><br>
>>>>><br>
>>>>><br>
>>>>> _______________________________________________<br>
>>>>> discuss mailing list     <a href="mailto:discuss@mpich.org">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/mailman/listinfo/discuss</a><br>
>>>>><br>
>>>><br>
>>>><br>
>>><br>
>>> _______________________________________________<br>
>>> discuss mailing list     <a href="mailto:discuss@mpich.org">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/mailman/listinfo/discuss</a><br>
>>><br>
>><br>
>><br>
>> _______________________________________________<br>
>> discuss mailing list     <a href="mailto:discuss@mpich.org">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/mailman/listinfo/discuss</a><br>
>><br>
><br>
><br>
><br>
> _______________________________________________<br>
> discuss mailing list     <a href="mailto:discuss@mpich.org">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/mailman/listinfo/discuss</a><br>
><br>
<br>
</div></div><br>_______________________________________________<br>
discuss mailing list     <a href="mailto:discuss@mpich.org">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/mailman/listinfo/discuss</a><br></blockquote></div><br></div>