<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>It should exist in the user environment as well.</p>
    <p>I would check the users .bashrc and .bash_profile settings to see
      if they are doing anything that will change that.</p>
    <p>Brian Andrus<br>
    </p>
    <div class="moz-cite-prefix">On 3/23/2022 7:42 AM,
      <a class="moz-txt-link-abbreviated" href="mailto:taleintervenor@sjtu.edu.cn">taleintervenor@sjtu.edu.cn</a> wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:2e6f01d83ec4$35880b50$a09821f0$@sjtu.edu.cn">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style>@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        text-align:justify;
        text-justify:inter-ideograph;
        font-size:10.5pt;
        font-family:DengXian;}a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:DengXian;
        color:windowtext;}.MsoChpDefault
        {mso-style-type:export-only;}div.WordSection1
        {page:WordSection1;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span lang="EN-US">Hi, all:<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">We found a problem that
            slurm job with argument such as <b>--gres gpu:1 </b>didn’t
            be restricted with gpu usage, user still can see all gpu
            card on allocated nodes.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Our gpu node has 4 cards
            with their gres.conf to be:<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">> cat
            /etc/slurm/gres.conf<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Name=gpu
            Type=NVlink_A100_40GB File=/dev/nvidia0 CPUs=0-15<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Name=gpu
            Type=NVlink_A100_40GB File=/dev/nvidia1 CPUs=16-31<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Name=gpu
            Type=NVlink_A100_40GB File=/dev/nvidia2 CPUs=32-47<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Name=gpu
            Type=NVlink_A100_40GB File=/dev/nvidia3 CPUs=48-63<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">And for test, we submit
            simple job batch like:<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">#!/bin/bash<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">#SBATCH --job-name=test<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">#SBATCH --partition=a100<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">#SBATCH --nodes=1<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">#SBATCH --ntasks=6<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">#SBATCH --gres=gpu:1<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">#SBATCH
            --reservation="gpu test"<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">hostname<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">nvidia-smi<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">echo end<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Then in the out file the
            nvidia-smi showed all 4 gpu cards. But we expect to see only
            1 allocated gpu card.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Official document of
            slurm said it will set <b>CUDA_VISIBLE_DEVICES </b>env var
            to restrict the gpu card available to user. But we didn’t
            find such variable exists in job environment. We only
            confirmed it do exist in prolog script environment by adding
            debug command “echo $CUDA_VISIBLE_DEVICES” to slurm prolog
            script.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">So how do slurm
            co-operate with nvidia tools to make job user only see its
            allocated gpu card? What is the requirement on nvidia gpu
            drivers, CUDA toolkit or any other part to help slurm
            correctly restrict the gpu usage?<o:p></o:p></span></p>
      </div>
    </blockquote>
  </body>
</html>