<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
</head>
<body>
<p>Thanks you Michael!</p>
<p>I've tried the following example:</p>
<p> NodeName=gpunode01 Gres=gpu:1 Sockets=2 CoresPerSocket=28
ThreadsPerCore=2 State=UNKNOWN RealMemory=380000<br>
PartitionName=gpu MaxCPUsPerNode=56 MaxMemPerNode=190000
Nodes=gpunode01 Default=NO MaxTime=1-0 State=UP<br>
PartitionName=cpu MaxCPUsPerNode=56 MaxMemPerNode=190000
Nodes=gpunode01 Default=YES MaxTime=1-0 State=UP</p>
<p>1) So when the system is idling, the following "gpu" job will
start immediately ("gpu" partition, 1 GPU, 20 CPUs):</p>
<p> srun -p gpu --gpus=1 -c 20 --pty bash -i</p>
<p>2) If I run the same command again, it will be queued ... this is
normal ("gpu" partition, 1 GPU, 20 CPUs):</p>
<p> srun -p gpu --gpus=1 -c 20 --pty bash -i</p>
<p>3) Then the following "cpu" job will be queued too ("cpu"
partition, 20 x CPUs):</p>
<p> srun -p cpu --gpus=0 -c 20 --pty bash -i</p>
<p>Is there a way to let the "cpu" job run instead of waiting?<br>
</p>
<p>Any suggestions?<br>
</p>
<p>Thanks again,<br>
</p>
<p>Weijun<br>
</p>
<pre class="moz-signature" cols="72">
</pre>
<div class="moz-cite-prefix">On 12/16/2020 2:54 PM, Renfro, Michael
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:BN7PR07MB4241A24CAD7C95124C57AD40A2C50@BN7PR07MB4241.namprd07.prod.outlook.com">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<meta name="Generator" content="Microsoft Word 15 (filtered
medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.EmailStyle19
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}</style>
<div style="font-size: 10pt; font-family: sans-serif; color:
white; font-style: normal; font-weight: bold; padding: .2em;">
<strong><span style="color: #c75000;">EXTERNAL EMAIL:</span></strong></div>
<div>
<div class="WordSection1">
<p class="MsoNormal">We have overlapping partitions for GPU
work and some kinds non-GPU work (both large memory and
regular memory jobs).<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">For 28-core nodes with 2 GPUs, we have:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">PartitionName=gpu MaxCPUsPerNode=16 …
Nodes=gpunode[001-004]<o:p></o:p></p>
<p class="MsoNormal">PartitionName=any-interactive
MaxCPUsPerNode=12 … Nodes=node[001-040],gpunode[001-004]<o:p></o:p></p>
<p class="MsoNormal">PartitionName=bigmem MaxCPUsPerNode=12 …
Nodes=gpunode[001-003]<o:p></o:p></p>
<p class="MsoNormal">PartitionName=hugemem MaxCPUsPerNode=12 …
Nodes=gpunode004<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Worst case, non-GPU jobs could reserve up
to 24 of the 28 cores on a GPU node, but only for a limited
time (our any-interactive partition has a 2 hour time
limit). In practice, it's let us use a lot of otherwise idle
CPU capacity in the GPU nodes for short test runs.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #B5C4DF
1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span
style="font-size:12.0pt;color:black">From:
</span></b><span style="font-size:12.0pt;color:black">slurm-users
<a class="moz-txt-link-rfc2396E" href="mailto:slurm-users-bounces@lists.schedmd.com"><slurm-users-bounces@lists.schedmd.com></a><br>
<b>Date: </b>Wednesday, December 16, 2020 at 1:04 PM<br>
<b>To: </b>Slurm User Community List
<a class="moz-txt-link-rfc2396E" href="mailto:slurm-users@lists.schedmd.com"><slurm-users@lists.schedmd.com></a><br>
<b>Subject: </b>[slurm-users] using resources
effectively?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">External
Email Warning<br>
<br>
This email originated from outside the university. Please
use caution when opening attachments, clicking links, or
responding to requests.<br>
<br>
________________________________<br>
<br>
Hi,<br>
<br>
Say if I have a Slurm node with 1 x GPU and 112 x CPU
cores, and:<br>
<br>
1) there is a job running on the node using the GPU
and 20 x CPU cores<br>
<br>
2) there is a job waiting in the queue asking for 1 x
GPU and 20 x<br>
CPU cores<br>
<br>
Is it possible to a) let a new job asking for 0 x GPU and
20 x CPU cores<br>
(safe for the queued GPU job) start immediately; and b)
let a new job<br>
asking for 0 x GPU and 100 x CPU cores (not safe for the
queued GPU job)<br>
wait in the queue? Or c) is it doable to put the node into
two Slurm<br>
partitions, 56 CPU cores to a "cpu" partition, and 56 CPU
cores to a<br>
"gpu" partition, for example?<br>
<br>
Thank you in advance for any suggestions / tips.<br>
<br>
Best,<br>
<br>
Weijun<br>
<br>
===========<br>
Weijun Gao<br>
Computational Research Support Specialist<br>
Department of Psychology, University of Toronto
Scarborough<br>
1265 Military Trail, Room SW416<br>
Toronto, ON M1C 1M2<br>
E-mail: <a class="moz-txt-link-abbreviated" href="mailto:weijun.gao@utoronto.ca">weijun.gao@utoronto.ca</a><br>
<br>
<o:p></o:p></p>
</div>
</div>
</div>
</blockquote>
</body>
</html>