<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On 5 Feb 2017, at 18:09, Gwyneth Allwright &lt;<a href="mailto:allgwy001@myuct.ac.za">allgwy001@myuct.ac.za</a>&gt; wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr">Hi Ian and Erik,<div><br></div><div>Thank you very much for all the advice and pointers so far!&nbsp;</div><div><br></div><div>I didn't compile the ET myself; it was done by an HPC engineer. He is unfamiliar with Cactus and started off not using a config file, so he had to troubleshoot his way through the compilation process. We are both scratching our heads about what the issue with mpirun could be.</div><div><br></div><div>I suspect he didn't set&nbsp;MPI_DIR, so I'm going to suggest that he fixes that and see if recompiling takes care of things.<br></div><div><br></div><div>The scheduler automatically terminates jobs that run on too many processors. For my simulation, this appears to happen as soon as TwoPunctures starts generating the initial data. I then get error messages of the form: "Job terminated as it used more cores (17.6) than requested (4)." (I switched from requesting 3 processors to requesting 4.) The number of cores it tries to use appears to differ from run to run.<br></div><br>The parameter file uses Carpet. It generates the following output&nbsp;(when I request 4 processors):<br><br>INFO (Carpet): MPI is enabled<br>INFO (Carpet): Carpet is running on 4 processes<br>INFO (Carpet): This is process 0<br>INFO (Carpet): OpenMP is enabled<br>INFO (Carpet): This process contains 16 threads, this is thread 0<br>INFO (Carpet): There are 64 threads in total<br>INFO (Carpet): There are 16 threads per process</div></blockquote><div><br></div><div>It looks like mpirun has started the 4 processes that you asked for, and each of those processes has started 16 threads. &nbsp;The ET uses OpenMP threads by default. &nbsp;You need to set the environment variable OMP_NUM_THREADS to the number of threads you want per process. &nbsp;If you just want 4 MPI processes, each with one thread, then you can try putting</div><div><br></div><div>export OMP_NUM_THREADS=1</div><div><br></div><div>before your mpirun command. &nbsp;On Linux, OMP_NUM_THREADS defaults to the number of "hardware threads" in the system (which will likely be the number of cores multiplied by 2, if hyperthreading is enabled). &nbsp;So a single process that supports OpenMP will use all the cores available. &nbsp;If you want to have more than one MPI process using OpenMP on the same node, you will have to restrict the number of threads per process.</div><div><br></div><div>Carpet has a couple of environment variables which is uses to cross-check that you have the number of MPI processes and threads that you were expecting. &nbsp;To help with debugging, you can set</div><div><br></div><div>export CACTUS_NUM_THREADS=1</div><div><div>export CACTUS_NUM_PROCS=4</div><div><br></div><div>if you want 4 processes with one thread each. &nbsp;This won't affect the number of threads or processes, but it will allow Carpet to check that what you intended matches reality. &nbsp;In this case, it should abort with an error (or in older versions of Carpet, output a warning), since while you have 4 processes, each one has 16 threads, not 1.</div><div><br></div></div><blockquote type="cite"><div dir="ltr"><div>Mpirun gives me the following information for the node allocation: slots=4, max_slots=0, slots_inuse=0, state=UP.</div><div><br></div><div>The tree view of the processes looks like this:</div><div><br></div><div>PID TTY &nbsp; &nbsp; &nbsp;STAT &nbsp; TIME COMMAND<br></div><div>19503 ? &nbsp; &nbsp; &nbsp; &nbsp;S &nbsp; &nbsp; &nbsp;0:00 sshd: allgwy001@pts/7 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br></div><div>19504 pts/7 &nbsp; &nbsp;Ss &nbsp; &nbsp; 0:00 &nbsp;\_ -bash</div><div>&nbsp;6047 pts/7 &nbsp; &nbsp;R+ &nbsp; &nbsp; 0:00 &nbsp; &nbsp; &nbsp;\_ ps -u allgwy001 f</div></div></blockquote><div><br></div><div>This is not showing the Cactus or mpirun process at all; something is wrong. &nbsp;Was Cactus running when you typed this? &nbsp;Were you logged in to the node that it was running on?</div><div><br></div><blockquote type="cite"><div dir="ltr"><div><div>Adding "cat $PBS_NODEFILE" to my PBS script didn't seem to produce anything, although I could be doing something stupid. I'm very new to the syntax!<br></div></div></div></blockquote><div><br></div><div>That's odd. &nbsp;</div></div><br><div apple-content-edited="true">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>--&nbsp;</div><div>Ian Hinder</div><div><a href="http://members.aei.mpg.de/ianhin">http://members.aei.mpg.de/ianhin</a></div></div></div></div></div>
</div>
<br></body></html>