[FLASH-USERS] Oddness in results when using uneven number of parallel processors
Seyit Hocuk
seyit at astro.rug.nl
Mon Sep 14 08:18:37 EDT 2009
Hi Community,
I am experiencing somewhat odd results with a newly written unit when I
am running with odd number of processors. Everything seems fine when
using 1 or even number of processors.
By the way, I realise now that it works for 2^x number of processors.
So, with even, I mean 2^x and odd =! 2^x.
The code goes something like this (A is important here):
>>Unit<<
do blockID = 1, blockCount
...
do k = blkLimits(LOW,KAXIS),blkLimits(HIGH,KAXIS)
do j = blkLimits(LOW,JAXIS),blkLimits(HIGH,JAXIS)
do i = blkLimits(LOW,IAXIS),blkLimits(HIGH,IAXIS)
...
do LeafID = 1, blockCount
call subroutine1
...
...
end
>>subroutine1<<
...
call subroutine2
...
end
>>subroutine2<<
do n = blkLimits(LOW,KAXIS),blkLimits(HIGH,KAXIS)
do m = blkLimits(LOW,JAXIS),blkLimits(HIGH,JAXIS)
do l = blkLimits(LOW,IAXIS),blkLimits(HIGH,IAXIS)
...
A = A + x (a summation)
...
end
I was thinking that every processor calculates its own piece of
summation of A, but fails to communicate between eacother so that it is
not the actual sum I am seeing. However, I find it weird that it does
works for certain number of processors more than 1. To solve this, I
used the solnData pointer. That is, instead of A, I have tried
solnData(A,i,j,k) so that the different processors will be connected
through this mediator. No change.
Kind Regards,
Seyit
More information about the flash-users
mailing list