[mpich-discuss] gather, send
Ryan Crocker
rcrocker at uvm.edu
Wed May 1 19:25:52 CDT 2013
oh, a quck fix to that last email, send_buffer, and gsend_buffer are actually vectors so the print before the long list is:
print*,irank,i,j,k,send_buffer(n),gsend_buffer(n)
Where n is my mapping variable to node designation and it's (i,j,k) placement, i.e.
do k=kmino,kmaxo
do j=jmino,jmaxo
do i=imino,imaxo
counter = counter + 1
nodes_n(i,j,k) = counter
node_index(counter)%node_i = i
node_index(counter)%node_j = j
node_index(counter)%node_k = k
end do
end do
end do
with
do k=kmino,kmaxo
do j=jmino,jmaxo
do i=imino,imaxo
print*,irank,i,j,k,send_buffer(nodes_n(i,j,k) ),gsend_buffer(nodes_n(i,j,k) )
end do
end do
end do
On May 1, 2013, at 5:16 PM, Ryan Crocker wrote:
> i'm just checking just the gather call, and the gsend_buffer from the gather call is still empty:
>
> max_buff is now the largest core domain.
>
> print*,max_buff -> 24750
>
> call MPI_GATHER(send_buffer, max_buff, MPI_REAL, gsend_buffer, max_buff, MPI_REAL, iroot, comm, ierr)
>
> a print out of the send_buffer and the gsend_buffer where it should have non-zero terms.
>
> print*,irank,i,j,k,send_buffer(i,j,k),gsent_buffer(i,j,k) ->
>
> 1 6 50 6 0.0000000000000000 0.0000000000000000
> 1 7 50 6 0.0000000000000000 0.0000000000000000
> 1 8 50 6 0.0000000000000000 0.0000000000000000
> 1 9 50 6 0.0000000000000000 0.0000000000000000
> 1 10 50 6 0.0000000000000000 0.0000000000000000
> 1 11 50 6 0.0000000000000000 0.0000000000000000
> 1 12 50 6 0.0000000000000000 0.0000000000000000
> 1 13 50 6 0.0000000000000000 0.0000000000000000
> 1 14 50 6 0.0000000000000000 0.0000000000000000
> 1 15 50 6 0.0000000000000000 0.0000000000000000
> 1 16 50 6 0.0000000000000000 0.0000000000000000
> 1 17 50 6 0.0000000000000000 0.0000000000000000
> 1 18 50 6 0.0000000000000000 0.0000000000000000
> 1 19 50 6 0.0000000000000000 0.0000000000000000
> 1 20 50 6 0.0000000000000000 0.0000000000000000
> 1 21 50 6 0.0000000000000000 0.0000000000000000
> 1 22 50 6 0.0000000000000000 0.0000000000000000
> 1 23 50 6 0.0000000000000000 0.0000000000000000
> 1 24 50 6 0.0000000000000000 0.0000000000000000
> 1 25 50 6 0.0000000000000000 0.0000000000000000
> 1 6 51 6 1.0000000000000000 0.0000000000000000
> 1 7 51 6 1.0000000000000000 0.0000000000000000
> 1 8 51 6 1.0000000000000000 0.0000000000000000
> 1 9 51 6 1.0000000000000000 0.0000000000000000
> 1 10 51 6 1.0000000000000000 0.0000000000000000
> 1 11 51 6 1.0000000000000000 0.0000000000000000
> 1 12 51 6 1.0000000000000000 0.0000000000000000
> 1 13 51 6 1.0000000000000000 0.0000000000000000
> 1 14 51 6 1.0000000000000000 0.0000000000000000
> 1 15 51 6 1.0000000000000000 0.0000000000000000
> 1 16 51 6 1.0000000000000000 0.0000000000000000
> 1 17 51 6 1.0000000000000000 0.0000000000000000
> 1 18 51 6 1.0000000000000000 0.0000000000000000
> 1 19 51 6 1.0000000000000000 0.0000000000000000
> 1 20 51 6 1.0000000000000000 0.0000000000000000
> 1 21 51 6 1.0000000000000000 0.0000000000000000
> 1 22 51 6 1.0000000000000000 0.0000000000000000
> 1 23 51 6 1.0000000000000000 0.0000000000000000
> 1 24 51 6 1.0000000000000000 0.0000000000000000
> 1 25 51 6 1.0000000000000000 0.0000000000000000
> 1 6 52 6 0.0000000000000000 0.0000000000000000
> 1 7 52 6 0.0000000000000000 0.0000000000000000
> 1 8 52 6 0.0000000000000000 0.0000000000000000
> 1 9 52 6 0.0000000000000000 0.0000000000000000
> 1 10 52 6 0.0000000000000000 0.0000000000000000
> 1 11 52 6 0.0000000000000000 0.0000000000000000
> 1 12 52 6 0.0000000000000000 0.0000000000000000
> 1 13 52 6 0.0000000000000000 0.0000000000000000
> 1 14 52 6 0.0000000000000000 0.0000000000000000
> 1 15 52 6 0.0000000000000000 0.0000000000000000
> 1 16 52 6 0.0000000000000000 0.0000000000000000
> 1 17 52 6 0.0000000000000000 0.0000000000000000
> 1 18 52 6 0.0000000000000000 0.0000000000000000
> 1 19 52 6 0.0000000000000000 0.0000000000000000
> 1 20 52 6 0.0000000000000000 0.0000000000000000
> 1 21 52 6 0.0000000000000000 0.0000000000000000
> 1 22 51 6 1.0000000000000000 0.0000000000000000
> 1 23 51 6 1.0000000000000000 0.0000000000000000
> 1 24 51 6 1.0000000000000000 0.0000000000000000
> 1 25 51 6 1.0000000000000000 0.0000000000000000
> 1 6 52 6 0.0000000000000000 0.0000000000000000
> 1 7 52 6 0.0000000000000000 0.0000000000000000
> 1 8 52 6 0.0000000000000000 0.0000000000000000
> 1 9 52 6 0.0000000000000000 0.0000000000000000
> 1 10 52 6 0.0000000000000000 0.0000000000000000
> 1 11 52 6 0.0000000000000000 0.0000000000000000
> 1 12 52 6 0.0000000000000000 0.0000000000000000
> 1 13 52 6 0.0000000000000000 0.0000000000000000
> 1 14 52 6 0.0000000000000000 0.0000000000000000
> 1 15 52 6 0.0000000000000000 0.0000000000000000
> 1 16 52 6 0.0000000000000000 0.0000000000000000
> 1 17 52 6 0.0000000000000000 0.0000000000000000
> 1 18 52 6 0.0000000000000000 0.0000000000000000
> 1 19 52 6 0.0000000000000000 0.0000000000000000
> 1 20 52 6 0.0000000000000000 0.0000000000000000
> 1 21 52 6 0.0000000000000000 0.0000000000000000
> 1 22 52 6 0.0000000000000000 0.0000000000000000
> 1 23 52 6 0.0000000000000000 0.0000000000000000
> 1 24 52 6 0.0000000000000000 0.0000000000000000
> 1 25 52 6 0.0000000000000000 0.0000000000000000
>
>
> On May 1, 2013, at 5:06 PM, Rajeev Thakur wrote:
>
>> Just before the call to gather, check the value of send_count and check that send_buffer is not all zeros.
>>
>> send_count has to be the same on all ranks. Otherwise you have to use Gatherv.
>>
>> On May 1, 2013, at 7:03 PM, Ryan Crocker wrote:
>>
>>> that's where i checked it with and it's min and max are still zero. I just amended it so that each send buffer from the different cores are the same size and when i check it on the root gsend_buffer is still incorrect.
>>>
>>> On May 1, 2013, at 5:00 PM, Rajeev Thakur wrote:
>>>
>>>> gsend_buffer will be valid only on the root.
>>>>
>>>> On May 1, 2013, at 6:55 PM, Ryan Crocker wrote:
>>>>
>>>>> I just looked at the gsend_buffer, that's actually all zeros as well, and each send_buffer is not. So i think my problem is there.
>>>>>
>>>>> On May 1, 2013, at 4:47 PM, Rajeev Thakur wrote:
>>>>>
>>>>>> The count passed to MPI_Scatter should be the local size, i.e., the amount that gets sent to each process. Looks like what is being passed is the global size.
>>>>>>
>>>>>> On May 1, 2013, at 6:21 PM, Ryan Crocker wrote:
>>>>>>
>>>>>>> Hi all,
>>>>>>>
>>>>>>> So i don't know what the issue with this code snippet is but i cannot get the scatter call to work. When i print out the recieve_buffer it comes out as all zeros. The counters without the underscore are the core domains, with the o, the global domains.
>>>>>>>
>>>>>>> rec_count = (imaxo-imino+1)*(jmaxo-jmino+1)*(kmaxo-kmino+1)
>>>>>>> send_count = (imax_-imin_+1)*(jmax_-jmin_+1)*(kmax_-kmin_+1)
>>>>>>>
>>>>>>> call MPI_GATHER (send_buffer, send_count, MPI_REAL, gsend_buffer, send_count, MPI_REAL, iroot, comm, ierr)
>>>>>>>
>>>>>>> rec_count = (imaxo-imino+1)*(jmaxo-jmino+1)*(kmaxo-kmino+1)
>>>>>>> send_count = (imaxo-imino+1)*(jmaxo-jmino+1)*(kmaxo-kmino+1)
>>>>>>>
>>>>>>> call MPI_SCATTER (gsend_buffer, send_count, MPI_REAL, recieve_buffer, rec_count, MPI_REAL, iroot, comm, ierr)
>>>>>>>
>>>>>>> thanks for the help.
>>>>>>>
>>>>>>> Ryan Crocker
>>>>>>> University of Vermont, School of Engineering
>>>>>>> Mechanical Engineering Department
>>>>>>> rcrocker at uvm.edu
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> discuss mailing list discuss at mpich.org
>>>>>>> To manage subscription options or unsubscribe:
>>>>>>> https://lists.mpich.org/mailman/listinfo/discuss
>>>>>>
>>>>>> _______________________________________________
>>>>>> discuss mailing list discuss at mpich.org
>>>>>> To manage subscription options or unsubscribe:
>>>>>> https://lists.mpich.org/mailman/listinfo/discuss
>>>>>
>>>>> Ryan Crocker
>>>>> University of Vermont, School of Engineering
>>>>> Mechanical Engineering Department
>>>>> rcrocker at uvm.edu
>>>>> 315-212-7331
>>>>>
>>>>> _______________________________________________
>>>>> discuss mailing list discuss at mpich.org
>>>>> To manage subscription options or unsubscribe:
>>>>> https://lists.mpich.org/mailman/listinfo/discuss
>>>>
>>>> _______________________________________________
>>>> discuss mailing list discuss at mpich.org
>>>> To manage subscription options or unsubscribe:
>>>> https://lists.mpich.org/mailman/listinfo/discuss
>>>
>>> Ryan Crocker
>>> University of Vermont, School of Engineering
>>> Mechanical Engineering Department
>>> rcrocker at uvm.edu
>>> 315-212-7331
>>>
>>> _______________________________________________
>>> discuss mailing list discuss at mpich.org
>>> To manage subscription options or unsubscribe:
>>> https://lists.mpich.org/mailman/listinfo/discuss
>>
>> _______________________________________________
>> discuss mailing list discuss at mpich.org
>> To manage subscription options or unsubscribe:
>> https://lists.mpich.org/mailman/listinfo/discuss
>
> Ryan Crocker
> University of Vermont, School of Engineering
> Mechanical Engineering Department
> rcrocker at uvm.edu
> 315-212-7331
>
> _______________________________________________
> discuss mailing list discuss at mpich.org
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss
Ryan Crocker
University of Vermont, School of Engineering
Mechanical Engineering Department
rcrocker at uvm.edu
315-212-7331
More information about the discuss
mailing list