<div dir="ltr">Hi Ian,<div><br></div><div>You are right, I have 30 cores not 30 CPUs. </div><div>Indeed they are 30 virtual cores because I am running the simulation in a 10 VM Cluster (with one vCPU with 3 cores each VM)  built with RHEL7 + OpenMPI.</div><div>Many thanks for your suggestion, I am going to try it and see if I can reach 10 M//hr (actual value is 7M/hr).</div><div><br></div><div>Cheers,</div><div>Benja</div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Oct 24, 2018 at 8:02 PM &lt;<a href="mailto:ian.hinder@aei.mpg.de">ian.hinder@aei.mpg.de</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space"><br><div><br><blockquote type="cite"><div>On 23 Oct 2018, at 08:57, Benjamin Chardi Marco &lt;<a href="mailto:bchardim@redhat.com" target="_blank">bchardim@redhat.com</a>&gt; wrote:</div><br class="m_5765417332817999277Apple-interchange-newline"><div><div dir="ltr"><div dir="ltr">Dear friends,<div><br></div><div>We are trying to use the EinsteinToolKit GW150914.rpar binary balckhole merge simulation  as use case to test that our container orchestration product OpenShift can be used for HPC. </div><div>Our test environment only has 30 CPUs so we need to execute that simulation in a reasonable time.</div></div></div></div></blockquote><div><br></div><div>Hi,</div><div><br></div><div>30 CPUs is quite a lot; do you really mean 30 CPUs, or 30 cores?  What CPU are you using, and how many cores does it have?  Also, what is the interconnect between the nodes?  Infiniband, omnipath, gigabit ethernet, etc?</div><div><br></div><blockquote type="cite"><div><div dir="ltr"><div dir="ltr"><div>Please can you tell us how to modify  GW150914.rpar in order to get a less precise simulation executed in a 30 CPUs cluster in a reasonable time (~ few days). </div></div></div></div></blockquote><div><br></div><div><div>You can run a lower resolution by changing the</div><div><br></div><div>  --define N 28</div><div><br></div><div>to something else.  This must be a multiple of 4, and can probably go as low as 20 without the simulation crashing.  [Roland: you mentioned 24 in your email.  Did you try 20 and it crashed?  I seem to remember 20 working at one point.]  This is a measure of the number of grid cells across the black holes, so increasing it gives you more cells, higher resolution, and the run goes more slowly.</div><div><br></div><div>Roland&#39;s suggestions are also good, but I would make a couple of changes to what he recommended.  </div><div><br></div><div>The original boundary condition in GW150914.rpar sets the time derivative (&quot;rhs&quot;) of all fields to 0 on the outer spherical boundary.  This fixes the fields to their initial value, so can be considered a Dirichlet (or &quot;scalar&quot;) boundary condition: ML_BSSN::rhs_boundary_condition     = &quot;scalar&quot;.  This is in general a bad thing to do (you will get almost perfect reflections of all outgoing waves), but the boundary was placed far enough away that it could not influence the waveform.  This is generally very cheap with the spherical outer grid used here, and was done because we had not implemented radiative boundary conditions that worked with the spherical grids in McLachlan at the time.</div><div><br></div><div>The improvement that I believe Roland meant to make was to change the boundary condition to radiative (not Robin), which has now been implemented in the code.  This makes the fields obey an advection-type equation on the outer boundary, assuming that all fields are solutions to outgoing radial wave equations.  In Roland&#39;s parameter file, he set</div><div><br></div><div>NewRad::z_is_radial                 = yes</div><div><br></div><div>but this is a technical change to trick NewRad into working with the spherical grids that we use here.  To change the boundary condition itself, you need to set</div><div><br></div><div>ML_BSSN::rhs_boundary_condition     = &quot;NewRad&quot;</div><div><br></div><div>rather than &quot;scalar&quot;.</div><div><br></div><div>The other change Roland made was to change final_time to half its current value:</div><div><br></div><div><div>final_time = waveform_length + outermost_detector</div><div>-&gt;</div><div><div>final_time = 0.5*(waveform_length + outermost_detector)</div></div><div><br></div><div>This doesn&#39;t seem correct.  It is true that final_time is used to set sphere_outer_radius, but this will not halve the size of the domain.  Further, it will halve the runtime of the simulation, so the simulation will stop before the BHs have merged.  Instead, I would change sphere_outer_radius as follows:</div><div><br></div><div><div>-sphere_outer_radius = int((outermost_detector + final_time)/(i*hr))*i*hr</div><div>+sphere_outer_radius = int((1000)/(i*hr))*i*hr</div></div><div><br></div><div>This might make the waveform noiser, but with the changed boundary condition, it shouldn&#39;t be too bad.</div></div><div><br></div></div><blockquote type="cite"><div><div dir="ltr"><div dir="ltr"><div>Now we can run the simulation  GW150914.rpar using OpenMPI + EinsteinToolKit, but it takes so long to be executed (~ weeks).</div></div></div></div></blockquote><div><br></div><div>This sounds liked quite a long time!  It sounds too long.  On the page describing the simulation, <a href="https://einsteintoolkit.org/gallery/bbh/index.html" target="_blank">https://einsteintoolkit.org/gallery/bbh/index.html</a>, it says that the simulation takes 2.8 days on 128 cores of an Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz (Haswell).  Assuming that you mean you are using 30 cores, and if you are using a similar CPU, then it should take 2.8 * 128/30 = 11.9 days.  Is this about what you see?  What speed is reported?  You can see this in the output file GW150914_*.out:</div><div><br></div><div><div style="margin:0px;font-stretch:normal;line-height:normal;font-family:Menlo;background-color:rgb(255,255,255)"><span style="font-variant-ligatures:no-common-ligatures">----------------------------------------------------------------------------------------------------------</span></div><div style="margin:0px;font-stretch:normal;line-height:normal;font-family:Menlo;background-color:rgb(255,255,255)"><span style="font-variant-ligatures:no-common-ligatures">Iteration      Time | *me_per_hour |              ML_BSSN::phi | *TISTICS::maxrss_mb | *TICS::swap_used_mb</span></div><div style="margin:0px;font-stretch:normal;line-height:normal;font-family:Menlo;background-color:rgb(255,255,255)"><span style="font-variant-ligatures:no-common-ligatures">                    |              |      minimum      maximum |   minimum   maximum |   minimum   maximum</span></div><div style="margin:0px;font-stretch:normal;line-height:normal;font-family:Menlo;background-color:rgb(255,255,255)"><span style="font-variant-ligatures:no-common-ligatures">----------------------------------------------------------------------------------------------------------</span></div><div style="margin:0px;font-stretch:normal;line-height:normal;font-family:Menlo;background-color:rgb(255,255,255)"><span style="font-variant-ligatures:no-common-ligatures">   114640   246.602 |   10.5254966 |    0.0149352    0.9995490 |      3748      5289 |         0         0</span></div><div style="margin:0px;font-stretch:normal;line-height:normal;font-family:Menlo;background-color:rgb(255,255,255)"><span style="font-variant-ligatures:no-common-ligatures">   114644   246.611 |   10.5255173 |    0.0144565    0.9995490 |      3748      5289 |         0         0</span></div><div><span style="font-variant-ligatures:no-common-ligatures"><br></span></div><div><span style="font-variant-ligatures:no-common-ligatures">The third column is the speed of the simulation in coordinate time per hour (it is a truncation of &quot;physical_time_per_hour&quot;).  </span></div></div><div><br></div><div>It&#39;s possible that the OpenMP or MPI configuration is not correct.  Please could you post the standard output file (GW150914_*.out) to <a href="https://pastebin.com" target="_blank">https://pastebin.com</a> so we can take a look at it?</div><div><br></div><blockquote type="cite"><div><div dir="ltr"><div dir="ltr"><div>We believe that  GW150914.rpar EinsteinToolKit is a great use case to test OpenShift for HPC, and of course we will reference to EinsteinToolKit is our final report as a use case for Openshift in HPC mode.</div></div></div></div></blockquote><div><br></div></div><div>Great; it sounds interesting!  There are instructions for the papers which should be cited if you use this parameter file and code at the top of the parameter file:</div><div><pre style="word-wrap:break-word;white-space:pre-wrap"># Copyright Barry Wardell, Ian Hinder, Eloisa Bentivegna

# We ask that if you make use of the parameter file or the example
# data, then please cite

# Simulation of GW150914 binary black hole merger using the
# Einstein Toolkit - <a href="https://doi.org/10.5281/zenodo.155394" target="_blank">https://doi.org/10.5281/zenodo.155394</a>

# as well as the Einstein Toolkit, the Llama multi-block
# infrastructure, the Carpet mesh-refinement driver, the apparent
# horizon finder AHFinderDirect, the TwoPunctures initial data code,
# QuasiLocalMeasures, Cactus, and the McLachlan spacetime evolution
# code, the Kranc code generation package, and the Simulation Factory.

# An appropriate bibtex file, etgw150914.bib, is provided with this
# parameter file.
</pre></div><div>and the bibtex file is at <a href="https://einsteintoolkit.org/gallery/bbh/etgw150914.bib" target="_blank">https://einsteintoolkit.org/gallery/bbh/etgw150914.bib</a>. </div><div><br></div><div><div dir="auto" style="color:rgb(0,0,0);letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;word-wrap:break-word;line-break:after-white-space"><div dir="auto" style="word-wrap:break-word;line-break:after-white-space">-- <br>Ian Hinder<br><a href="https://ianhinder.net" target="_blank">https://ianhinder.net</a><br></div></div>

</div>
<br></div></blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Benjamín Chardí Marco<br>Senior Red Hat Consultant<br>RHCE #<span>100</span>-<span>107</span>-<span>341</span><br><a href="mailto:bchardim@redhat.com" style="color:rgb(17,85,204)" target="_blank">bchardim@redhat.com</a><br>Mobile: 0034 654 344 878<br></div></div>