<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Dear Erik and Steven,<br></div><div><br></div><div>Thank you so much for the suggestions. We changed the runscript to add -x OMP_NUMTHREADS to the command line and it worked in solving the issue with the total number of threads being 144. Now it sets to 32 (equal to the number of procs).</div><div><br></div><div>Also, the iterations have increased to 132105 for 32 procs (24 hr walltime) compared to just 240 before. Although this is a huge increase, we expected it to be a bit more. For a shorter walltime (30 mins) we received iterations - 2840, 2140, 1216 for procs - 32, 16, 8. Are there any more changes that we can do to improve on this?</div><div><br></div><div>The new runscript and the output file (as a drive link) are attached below (no changes were made to the machine file, option list and the submit script from before).</div><div><br></div><div><a href="https://drive.google.com/file/d/1TpM03UQ6vfxJS2ArxzZuI3MBD6JzrTnP/view?usp=sharing">p32_omp.out</a><br></div></div></div></div><div class="gmail-yj6qo gmail-ajU"></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Dec 15, 2022 at 2:49 PM Spandan Sarma 19306 &lt;<a href="mailto:spandan19@iiserb.ac.in">spandan19@iiserb.ac.in</a>&gt; 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 dir="ltr"><div dir="ltr"><div dir="ltr"><div>Dear Erik and Steven,<br></div><div><br></div><div>Thank you so much for the suggestions. We changed the runscript to add -x OMP_NUMTHREADS to the command line and it worked in solving the issue with the total number of threads being 144. Now it sets to 32 (equal to the number of procs).</div><div><br></div><div>Also, the iterations have increased to 132105 for 32 procs (24 hr walltime) compared to just 240 before. Although this is a huge increase, we expected it to be a bit more. For a shorter walltime (30 mins) we received iterations - 2840, 2140, 1216 for procs - 32, 16, 8. Are there any more changes that we can do to improve on this?</div><div><br></div><div>The new runscript and the output file for 32 procs are attached below (no changes were made to the machine file, option list and the submit script from before).</div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Dec 9, 2022 at 8:13 PM Steven R. Brandt &lt;<a href="mailto:sbrandt@cct.lsu.edu" target="_blank">sbrandt@cct.lsu.edu</a>&gt; 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">It&#39;s not too late to do a check, though, to see if all other nodes have <br>
the same OMP_NUM_THREADS value. Maybe that&#39;s the warning? It sounds like <br>
it should be an error.<br>
<br>
--Steve<br>
<br>
On 12/8/2022 5:23 PM, Erik Schnetter wrote:<br>
&gt; Steve<br>
&gt;<br>
&gt; Code that runs as part of the Cactus executable is running too late<br>
&gt; for this. At that time, OpenMP has already been initialized.<br>
&gt;<br>
&gt; There is the environment variable &quot;CACTUS_NUM_THREADS&quot; which is<br>
&gt; checked at run time, but only if it is set (for backward<br>
&gt; compatibility). Most people do not bother setting it, leaving this<br>
&gt; error undetected. There is a warning output, but these are generally<br>
&gt; ignored.<br>
&gt;<br>
&gt; -erik<br>
&gt;<br>
&gt; On Thu, Dec 8, 2022 at 3:48 PM Steven R. Brandt &lt;<a href="mailto:sbrandt@cct.lsu.edu" target="_blank">sbrandt@cct.lsu.edu</a>&gt; wrote:<br>
&gt;&gt; We could probably add some startup code in which MPI broadcasts the<br>
&gt;&gt; OMP_NUM_THREADS setting to all the other processes and either checks the<br>
&gt;&gt; value of the environment variable or calls omp_set_num_threads() or some<br>
&gt;&gt; such.<br>
&gt;&gt;<br>
&gt;&gt; --Steve<br>
&gt;&gt;<br>
&gt;&gt; On 12/8/2022 9:03 AM, Erik Schnetter wrote:<br>
&gt;&gt;&gt; Spandan<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; The problem is likely that MPI does not automatically forward your<br>
&gt;&gt;&gt; OpenMP setting to the other nodes. You are setting the environment<br>
&gt;&gt;&gt; variable OMP_NUM_THREADS in the run script, and it is likely necessary<br>
&gt;&gt;&gt; to forward this environment variable to the other processes as well.<br>
&gt;&gt;&gt; Your MPI documentation will tell you how to do this. This is likely an<br>
&gt;&gt;&gt; additional option you need to pass when calling &quot;mpirun&quot;.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; -erik<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Thu, Dec 8, 2022 at 2:50 AM Spandan Sarma 19306<br>
&gt;&gt;&gt; &lt;<a href="mailto:spandan19@iiserb.ac.in" target="_blank">spandan19@iiserb.ac.in</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt; Hello,<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; This mail is in continuation to the ticket, “Issue with compiling ET on cluster”, by Shamim.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; So after Roland’s suggestion, we found that using the –prefix &lt;openmpi-directory&gt; command along with hostfile worked successfully in simulating a multiple node simulation in our HPC.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Now we find that the BNSM gallery simulation evolves for only 240 iterations on 2 nodes (16+16 procs, 24 hr walltime), which is very slow with respect to, simulation on 1 node (16 procs, 24 hr walltime) evolved for 120988 iterations. The parallelization process goes well within 1 node, we received iterations - 120988, 67756, 40008 for procs - 16, 8, 4 (24 hr walltime) respectively. We are unable to understand what is causing this issue when openmpi is given 2 nodes (16+16 procs).<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; In the output files we found the following, which may be an indication towards the issue:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; IINFO (Carpet): MPI is enabled<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; INFO (Carpet): Carpet is running on 32 processes<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; INFO (Carpet): This is process 0<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; INFO (Carpet): OpenMP is enabled<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; INFO (Carpet): This process contains 1 threads, this is thread 0<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; INFO (Carpet): There are 144 threads in total<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; INFO (Carpet): There are 4.5 threads per process<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; INFO (Carpet): This process runs on host n129, pid=20823<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; INFO (Carpet): This process runs on 1 core: 0<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; INFO (Carpet): Thread 0 runs on 1 core: 0<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; INFO (Carpet): This simulation is running in 3 dimensions<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; INFO (Carpet): Boundary specification for map 0:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;      nboundaryzones: [[3,3,3],[3,3,3]]<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;      is_internal   : [[0,0,0],[0,0,0]]<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;      is_staggered  : [[0,0,0],[0,0,0]]<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;      shiftout      : [[1,0,1],[0,0,0]]<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; WARNING level 1 from host n131 process 21<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;     in thorn Carpet, file /home2/mallick/ET9/Cactus/arrangements/Carpet/Carpet/src/SetupGH.cc:426:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;     -&gt; The number of threads for this process is larger its number of cores. This may indicate a performance problem.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; This is something that we couldn’t understand as we asked for only 32 procs, with num-threads set to 1. The command that we used to submit our job was:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;    ./simfactory/bin/sim create-submit p32_mpin_npn --procs=32 --ppn=16 --num-threads=1 --ppn-used=16 --num-smt=1 --parfile=par/nsnstohmns1.par --walltime=24:10:00<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; I have attached the out file, runscript, submitscript, optionlist, machine file for reference. Thanks in advance for help.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Sincerely,<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt; Spandan Sarma<br>
&gt;&gt;&gt;&gt; BS-MS&#39; 19<br>
&gt;&gt;&gt;&gt; Department of Physics (4th Year),<br>
&gt;&gt;&gt;&gt; IISER Bhopal<br>
&gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt;&gt; Users mailing list<br>
&gt;&gt;&gt;&gt; <a href="mailto:Users@einsteintoolkit.org" target="_blank">Users@einsteintoolkit.org</a><br>
&gt;&gt;&gt;&gt; <a href="http://lists.einsteintoolkit.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.einsteintoolkit.org/mailman/listinfo/users</a><br>
&gt;&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Users mailing list<br>
&gt;&gt; <a href="mailto:Users@einsteintoolkit.org" target="_blank">Users@einsteintoolkit.org</a><br>
&gt;&gt; <a href="http://lists.einsteintoolkit.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.einsteintoolkit.org/mailman/listinfo/users</a><br>
&gt;<br>
&gt;<br>
_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@einsteintoolkit.org" target="_blank">Users@einsteintoolkit.org</a><br>
<a href="http://lists.einsteintoolkit.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.einsteintoolkit.org/mailman/listinfo/users</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr">Spandan Sarma<br>BS-MS&#39; 19<div>Department of Physics (4th Year),<br>IISER Bhopal</div></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr">Spandan Sarma<br>BS-MS&#39; 19<div>Department of Physics (4th Year),<br>IISER Bhopal</div></div></div>