<div dir="ltr">It looks like from the  log files that the simulation is only using ~400 total blocks. The HYPRE solvers scale better when there are a larger number of blocks/(mpi rank) and with 5 blocks/rank in the 2 node case it's not surprising that there is a performance degradation in the radiation solver. <div><br></div><div>You can get better scaling of the radTrans unit by using <a href="https://flash.rochester.edu/site/flashcode/user_support/flash4_ug_4p62/node147.html#SECTION061212000000000000000">mesh replication</a>. This only scales the radiation unit and you can get speedup until you're spending as much time in  radiation as one of the other units.</div><br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div dir="ltr" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">*************************************************************************</div><div dir="ltr" style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Adam Reyes<div><img src="https://flash.rochester.edu/site/common/images/email_signature/FLASH.jpg"><br></div><div>Code Group Leader, Flash Center for Computational Science <span> </span><br></div><div>Research Scientist, Dept. of Physics and Astronomy</div><div>University of Rochester</div><div>River Campus: Bausch and Lomb Hall, 369 <span> </span><br></div><div>500 Wilson Blvd. PO Box 270171, Rochester, NY 14627</div><div dir="ltr">Email<span> </span><a href="mailto:adam.reyes@rochester.edu" target="_blank">adam.reyes@rochester.edu</a></div><div>Web<span> </span><a href="https://flash.rochester.edu/" target="_blank">https://flash.rochester.edu</a><br></div><div> (he / him / his)</div><div><img src="https://flash.rochester.edu/site/common/images/email_signature/FLASH-pride-sml.png"><br></div>*************************************************************************</div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jun 17, 2022 at 3:26 PM Hansen, Eddie <<a href="mailto:ehansen@pas.rochester.edu">ehansen@pas.rochester.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">



<div>
<div style="color:rgb(33,33,33);background-color:rgb(255,255,255)" dir="auto">
Hello,</div>
<div style="color:rgb(33,33,33);background-color:rgb(255,255,255)" dir="auto">
<br>
</div>
<div style="color:rgb(33,33,33);background-color:rgb(255,255,255)" dir="auto">
Just to add to Ryan's very helpful insights, the Grid_advanceDiffusion routine is the main routine for all implicit diffusion solves (thermal conduction and radiation transport). FLASH effectively just sets up or defines the diffusion problems and the HYPRE
 library does all the hard work. </div>
<div style="color:rgb(33,33,33);background-color:rgb(255,255,255)" dir="auto">
<br>
</div>
<div style="color:rgb(33,33,33);background-color:rgb(255,255,255)" dir="auto">
It's not surprising that with 20 radiation groups, the code spends a lot of time here. But with more cores taking longer, it does seem like the version of HYPRE you have might not be parallelized.<span></span></div>
<div id="gmail-m_-2787092800141653767ms-outlook-mobile-signature" dir="auto">
<div><br>
</div>
<div dir="auto">--</div>
<div dir="auto">Eddie Hansen | <span style="font-size:12pt">Research Scientist</span></div>
<div dir="auto">Flash Center for Computational Science</div>
<div dir="auto">Dept. of Physics and Astronomy</div>
<div dir="auto">University of Rochester, Rochester, NY</div>
<div dir="auto">Cell 607-341-6126 | <a href="http://flash.rochester.edu" target="_blank">flash.rochester.edu</a></div>
<div dir="auto">(he / him / his)</div>
</div>
<hr style="display:inline-block;width:98%">
<div id="gmail-m_-2787092800141653767divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> flash-users <<a href="mailto:flash-users-bounces@flash.rochester.edu" target="_blank">flash-users-bounces@flash.rochester.edu</a>> on behalf of Ryan Farber <<a href="mailto:rjfarber@umich.edu" target="_blank">rjfarber@umich.edu</a>><br>
<b>Sent:</b> Friday, June 17, 2022 3:12:30 PM<br>
<b>To:</b> 赵旭 <<a href="mailto:xuzhao1994@sjtu.edu.cn" target="_blank">xuzhao1994@sjtu.edu.cn</a>><br>
<b>Cc:</b> flash-users <<a href="mailto:flash-users@flash.rochester.edu" target="_blank">flash-users@flash.rochester.edu</a>><br>
<b>Subject:</b> Re: [FLASH-USERS] MORE nodes MORE time on HPC</font>
<div> </div>
</div>
<div>
<div dir="ltr">Hi Zhao,
<div><br>
</div>
<div>I'll admit I haven't used the modules you're using so I can't say much on the performance you've observing vs expected. My guess is that there are versions of HYPRE with and without parallel support and possibly yours is operating without parallel support?<br>
<br>
If you check towards the end of the log files it specifies the percentage of time different routines took up. For the one node case, 47% of the evolution time is spent in "RadTrans" most of which occurs in "Grid_advanceDiffusion" of which most of that time
 is spent in gr_hypre_solve (~27% of total walltime) next most expensive is sourceTerms (37% total walltime) most of which is spent in EnergyDeposition -> Transport Rays.<br>
<br>
In the two node case, the logfile shows that 74% of the simulation time is spent in RadTrans, mostly (again) in "Grid_advanceDiffusion" and (again) most of which is spent in gr_hypreSolve (~66%). Given that about twice the amount of time is spent there compared
 to the one node case, there's likely some MPI_BCAST or MPI_ALLREDUCE or other parallel inefficiencies occurring there. Possibly related to the code not handling well cylindrical geometry (just speculating).</div>
<div><br>
</div>
<div>Looking into those routines may provide future elucidation but I'd start by exploring your hypre package. Best of luck!</div>
<div><br>
</div>
<div>Best,<br clear="all">
<div>
<div dir="ltr">
<div dir="ltr">
<div>
<div dir="ltr">
<div dir="ltr">--------
<div>Ryan</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
</div>
</div>
<br>
<div>
<div dir="ltr">On Fri, Jun 17, 2022 at 3:27 PM 赵旭 <<a href="mailto:xuzhao1994@sjtu.edu.cn" target="_blank">xuzhao1994@sjtu.edu.cn</a>> wrote:<br>
</div>
<blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Hi Ryan,<br>
<br>
Thank you for you reply.<br>
<br>
Please find attached log file for case 1) - 1node.log and case 2) - 2nodes.log.<br>
<br>
The setup flag is <br>
<br>
./setup -auto $SM_dir -2d +cylindrical -nxb=16 -nyb=16 -maxblocks=1000 +hdf5typeio species=Cham,Fuel,Cone +mtmmmt +laser +pm4dev +uhd3t +mgd mgd_meshgroups=20 -objdir=~/zx/FLASH4.6.2/data/$Data_dir -parfile=$par_dir<br>
<br>
and the .par is also attached <br>
<br>
is is the AMR mesh caused the problem?    <br>
<br>
> "(e.g., if you've written a lot of MPI_BCAST or MPI_ALL_REDUCE calls) "<br>
<br>
I dont write anything to the source code, I only changed run parameters for targets and lasers, etc.<br>
<br>
Best,<br>
<br>
Zhao Xu<br>
<br>
----- 原始邮件 -----<br>
发件人: "Ryan Farber" <<a href="mailto:rjfarber@umich.edu" target="_blank">rjfarber@umich.edu</a>><br>
收件人: "赵旭" <<a href="mailto:xuzhao1994@sjtu.edu.cn" target="_blank">xuzhao1994@sjtu.edu.cn</a>><br>
抄送: "flash-users" <<a href="mailto:flash-users@flash.rochester.edu" target="_blank">flash-users@flash.rochester.edu</a>><br>
发送时间: 星期五, 2022年 6 月 17日 下午 5:31:46<br>
主题: Re: [FLASH-USERS] MORE nodes MORE time on HPC<br>
<br>
Hi Zhao,<br>
<br>
I'm having some trouble understanding exactly the cases you're comparing.<br>
If you attach logfiles for each case, that should clear things up.<br>
<br>
More generally, using more than one node / more processors increases the<br>
communication time so if your problem doesn't scale well (e.g., if you've<br>
written a lot of MPI_BCAST or MPI_ALL_REDUCE calls) then using more<br>
processors can result in a slower solution time.<br>
<br>
Best,<br>
--------<br>
Ryan<br>
<br>
<br>
On Fri, Jun 17, 2022 at 7:19 AM 赵旭 <<a href="mailto:xuzhao1994@sjtu.edu.cn" target="_blank">xuzhao1994@sjtu.edu.cn</a>> wrote:<br>
<br>
> Dear all,<br>
><br>
> sorry about the typo,<br>
><br>
> '' the results show that in case 2) it takes double or even more time than<br>
> 1) ''<br>
><br>
> that is when i use more than 1 node, it spends more time.<br>
><br>
><br>
> ----- 原始邮件 -----<br>
> 发件人: "赵旭" <<a href="mailto:xuzhao1994@sjtu.edu.cn" target="_blank">xuzhao1994@sjtu.edu.cn</a>><br>
> 收件人: "flash-users" <<a href="mailto:flash-users@flash.rochester.edu" target="_blank">flash-users@flash.rochester.edu</a>><br>
> 发送时间: 星期五, 2022年 6 月 17日 上午 11:39:48<br>
> 主题: [FLASH-USERS] MORE nodes MORE time on HPC<br>
><br>
> Dear FLASH user & developers,<br>
><br>
> I have a question about running FLASH code on HPC. I am running a modified<br>
> laserslab case (changed .par and  initBlock.F90 for laser and target) from<br>
> the default one. I tried that<br>
> 1) running on 1 nodes with 40 cores  (1 nodes contains 40 cores) and<br>
> 2) running on 2 nodes with 80 cores with the same setup and parameters in<br>
> 1)<br>
><br>
> the results show that in case 1) it takes double or even more time than<br>
> 1), and this seems counter intuitive. Because if I run a case with larger<br>
> simulation box or with fine resolution I have to using more cores.<br>
><br>
> I tried two HPC, as a) 1 nodes = 40 cores with total 192G memory, and b) 1<br>
> nodes = 64 cores total 512G memory. It takes 2 times in 2 nodes in a) and<br>
> nearly 5 times in 2 nodes in b)<br>
><br>
> I dont know if this problem comes from the setting related to HPC (like<br>
> mpi and hypre version , or job systerm) or setting related to FLASH<br>
> code(like in some source code files)<br>
><br>
> I use gcc 7.5, python3.8, mpich 3.3.2, hypre 2.11.2, hdf5 1.10.5.<br>
><br>
> both HPCs use slurm job systerm and like below<br>
><br>
>   #!/bin/bash<br>
><br>
>   #SBATCH --job-name=         # Name<br>
>   #SBATCH --partition=64c512g               # cpu<br>
>   #SBATCH -n 128                       # total cpu<br>
>   #SBATCH --ntasks-per-node=64          # cpu/node<br>
>   #SBATCH --output=%j.out<br>
>   #SBATCH --error=%j.err<br>
><br>
>   mpirun ./flash4 >laser_slab.log<br>
><br>
> I would appreciate any help.<br>
><br>
> Thanks !<br>
><br>
> --<br>
> Zhao Xu<br>
> Laboratory for Laser Plasmas (MoE)<br>
> Shanghai Jiao Tong University<br>
> 800 Dongchuan Rd, Shanghai 200240<br>
> _______________________________________________<br>
> flash-users mailing list<br>
> <a href="mailto:flash-users@flash.rochester.edu" target="_blank">flash-users@flash.rochester.edu</a><br>
><br>
> For list info, including unsubscribe:<br>
> <a href="https://flash.rochester.edu/mailman/listinfo/flash-users" rel="noreferrer" target="_blank">
https://flash.rochester.edu/mailman/listinfo/flash-users</a><br>
> --<br>
> Zhao Xu<br>
> Laboratory for Laser Plasmas (MoE)<br>
> Shanghai Jiao Tong University<br>
> 800 Dongchuan Rd, Shanghai 200240<br>
> _______________________________________________<br>
> flash-users mailing list<br>
> <a href="mailto:flash-users@flash.rochester.edu" target="_blank">flash-users@flash.rochester.edu</a><br>
><br>
> For list info, including unsubscribe:<br>
> <a href="https://flash.rochester.edu/mailman/listinfo/flash-users" rel="noreferrer" target="_blank">
https://flash.rochester.edu/mailman/listinfo/flash-users</a><br>
><br>
-- <br>
Zhao Xu<br>
Laboratory for Laser Plasmas (MoE)<br>
Shanghai Jiao Tong University<br>
800 Dongchuan Rd, Shanghai 200240<br>
</blockquote>
</div>
</div>
</div>

_______________________________________________<br>
flash-users mailing list<br>
<a href="mailto:flash-users@flash.rochester.edu" target="_blank">flash-users@flash.rochester.edu</a><br>
<br>
For list info, including unsubscribe:<br>
<a href="https://flash.rochester.edu/mailman/listinfo/flash-users" rel="noreferrer" target="_blank">https://flash.rochester.edu/mailman/listinfo/flash-users</a><br>
</blockquote></div>