<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-15">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7655.8">
<TITLE>RE: [FLASH-USERS] Flash3 hanging in refinement</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->

<P><FONT SIZE=2>Hi,<BR>
<BR>
I had the exact same error too.<BR>
I think its the problem you already guessed, the problem is the moving of the blocks.<BR>
If you near the Maxblocks limit the swapping space gets small and he cannot redistribute the blocks in the 100 iterations he does for blockredistribution.<BR>
As already suggested before, it helped to increase MAXBLOCKS or number of processors.<BR>
What I also did was change the number of iterations to a bigger number (nit>=10000), so he can do more steps for swapping.<BR>
That didn't take too long since the swapping seems to be quite fast.<BR>
But I think this problem only happens if you are already close to the point where you overstep your overall blocklimit, so the first 2 solutions are probably better.<BR>
<BR>
Best,<BR>
Lars Hunger<BR>
<BR>
<BR>
-----Original Message-----<BR>
From: flash-users-bounces@flash.uchicago.edu on behalf of John ZuHone<BR>
Sent: Mon 5/14/2012 8:35 PM<BR>
To: Dave<BR>
Cc: flash-users@flash.uchicago.edu<BR>
Subject: Re: [FLASH-USERS] Flash3 hanging in refinement<BR>
<BR>
Hi Dave,<BR>
<BR>
Unfortunately the desired behavior in this case (triggering the error message) is not what always happens. MAXBLOCKS is indeed the max number of blocks per processor. I don't always know the reason (and maybe someone else can comment), but I do see "early" crashes like this from time to time for this reason.<BR>
<BR>
Best,<BR>
<BR>
John<BR>
<BR>
On May 14, 2012, at 12:14 PM, Dave wrote:<BR>
<BR>
> Hi,<BR>
><BR>
> I would have thought in that case that it would have triggered the error message and quit, but it's possible it hung while traying to abort. I should be able to support more than 173352 blocks with my settings for MAXBLOCKS & my number of processors, but I guess that number is just the number of blocks that are being moved between threads, not the total number of blocks in the system?<BR>
><BR>
> -David<BR>
><BR>
> On 14/05/2012 12:53 p.m., Seyit Hocuk wrote:<BR>
>> Hi,<BR>
>><BR>
>> It seems like you do not have enough blocks per cpu, i.e., it is reaching the maximum number of blocks. Either increase the number MAXBLOCKS (while compiling, or in the files Makefile & Flash.h and remake the directory), or increase the number of processors you are using.<BR>
>><BR>
>> Best,<BR>
>> Seyit<BR>
>><BR>
>><BR>
>><BR>
>> On 05/14/2012 05:50 PM, Dave wrote:<BR>
>>> Hi,<BR>
>>><BR>
>>> I am finding that FLASH hangs in the refinement step. The final output in the log file is:<BR>
>>><BR>
>>> ----<BR>
>>> [ 05-13-2012  03:56:30.023 ] step: n=2132 t=4.078276E+12 dt=6.783726E+08<BR>
>>> [ 05-13-2012  04:00:08.019 ] [mpi_amr_comm_setup]: buffer_dim_send=1519097, buffer_dim_recv=1485373<BR>
>>> [ 05-13-2012  04:00:38.738 ] [GRID amr_refine_derefine]: initiating refinement<BR>
>>> ----<BR>
>>><BR>
>>> and the final output in the standard dump is:<BR>
>>><BR>
>>> ----<BR>
>>>  iteration, no. not moved =            0      173352<BR>
>>>  iteration, no. not moved =            1      169097<BR>
>>>  iteration, no. not moved =            2      165742<BR>
>>>  iteration, no. not moved =            3      162432<BR>
>>> <etc etc><BR>
>>>  iteration, no. not moved =           98       19621<BR>
>>>  iteration, no. not moved =           99       18939<BR>
>>>  iteration, no. not moved =          100       18282<BR>
>>> ----<BR>
>>><BR>
>>> The code isn't crashing, and it appears that the processors are still running according to qstat etc, but it hasn't produced any output at all in over 24 hours.<BR>
>>><BR>
>>> It looks like it isn't redistributing blocks properly, but I would have assumed that would trigger an error message in mpi_amr_redist_blk.F90 :<BR>
>>><BR>
>>> ----<BR>
>>>      if (nm2_old.eq.nm2.and.nm2.ne.0.and.nit>=100) then<BR>
>>>         if (mype.eq.0) then<BR>
>>>          print *,' ERROR: could not move all blocks in amr_redist_blk'<BR>
>>>          print *,' Try increasing maxblocks or use more processors'<BR>
>>>          print *,' nm2_old, nm2 = ',nm2_old,nm2<BR>
>>>          print *,' ABORTING !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'<BR>
>>>         end if<BR>
>>>         call MPI_ABORT(MPI_COMM_WORLD,errorcode,ierr)<BR>
>>>      end if<BR>
>>> ----<BR>
>>><BR>
>>> Any clues or suggestions?<BR>
>>><BR>
>>> Cheers,<BR>
>>> David Williamson<BR>
>>><BR>
>>> PhD Candidate<BR>
>>> St. Mary's University<BR>
>>> Halifax, NS<BR>
>><BR>
<BR>
<BR>
</FONT>
</P>

</BODY>
</HTML>