<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>