<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>If you are using a newer slurm, using srun for an interactive
shell is being deprecated. Salloc now defaults to a shell if no
command is specified:</p>
<p><font size="2">DESCRIPTION<br>
salloc is used to allocate a Slurm job allocation, which is a
set of resources (nodes), possibly with some set of constraints
(e.g. number of processors per node). When salloc successfully
obtains the requested allocation, it then runs the command
specified by the user. Finally, when the user specified command
is complete, salloc relinquishes the job allocation.<br>
<br>
The command may be any program the user wishes. Some typical
commands are xterm, a shell script containing srun commands, and
srun (see the EXAMPLES section). <b>If no command is specified,
then salloc runs the user's default shell.</b><br>
</font><br>
Brian Andrus<br>
</p>
On 2/8/2023 7:01 AM, Jeffrey T Frey wrote:<br>
<blockquote type="cite"
cite="mid:7C40FEB6-D60B-4CC3-A95F-9A0996C8DEA5@udel.edu">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
You may need srun to allocate a pty for the command. The
InteractiveStepOptions we use (that are handed to srun when no
explicit command is given to salloc) are:
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<blockquote style="margin: 0 0 0 40px; border: none; padding:
0px;" class="">
<div class="">--interactive --pty --export=TERM</div>
</blockquote>
<div class="">
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">E.g. without those flags a bare srun gives a
promptless session:</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
</div>
<blockquote style="margin: 0 0 0 40px; border: none; padding:
0px;" class="">
<div class="">
<div class=""><b class="">[(it_nss:frey)@login00.darwin ~]$
salloc -p idle srun
/opt/shared/singularity/3.10.0/bin/singularity shell
/opt/shared/singularity/prebuilt/postgresql/13.2.simg</b></div>
</div>
<div class="">
<div class="">salloc: Granted job allocation 3953722</div>
</div>
<div class="">
<div class="">salloc: Waiting for resource configuration</div>
</div>
<div class="">
<div class="">salloc: Nodes r1n00 are ready for job</div>
</div>
<div class="">ls -l<br class="">
total 437343<br class="">
-rw-r--r-- 1 frey it_nss 180419 Oct 26 16:56 amd.cache<br
class="">
-rw-r--r-- 1 frey it_nss 72 Oct 26 16:52 amd.conf<br
class="">
-rw-r--r-- 1 frey everyone 715 Nov 12 23:39
anaconda-activate.sh<br class="">
drwxr-xr-x 2 frey everyone 4 Apr 11 2022 bin</div>
<div class=""> :</div>
</blockquote>
<div class="">
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">With the --pty flag added:</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
</div>
<blockquote style="margin: 0 0 0 40px; border: none; padding:
0px;" class="">
<div class="">
<div class=""><b class="">[(it_nss:frey)@login00.darwin ~]$
salloc -p idle srun --pty
/opt/shared/singularity/3.10.0/bin/singularity shell
/opt/shared/singularity/prebuilt/postgresql/13.2.simg</b></div>
</div>
<div class="">
<div class="">salloc: Granted job allocation 3953723</div>
</div>
<div class="">
<div class="">salloc: Waiting for resource configuration</div>
</div>
<div class="">
<div class="">salloc: Nodes r1n00 are ready for job</div>
</div>
<div class="">
<div class="">Singularity></div>
</div>
</blockquote>
<div class="">
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
<blockquote type="cite" class="">On Feb 8, 2023, at 09:47 ,
Groner, Rob <<a href="mailto:rug262@psu.edu"
class="moz-txt-link-freetext" moz-do-not-send="true">rug262@psu.edu</a>>
wrote:<br class="">
<br class="">
I tried that, and it says the nodes have been allocated, but
it never comes to an apptainer prompt.<br class="">
<br class="">
I then tried doing them in separate steps. Doing salloc
works, I get a prompt on the node that was allocated. I can
then run "singularity shell <sif>" and get the
apptainer prompt. If I prefix that command with "srun",
then it just hangs and I never get the prompt. So that
seems to be the sticking point. I'll have to do some
experiments running singularity with srun.<br class="">
<br class="">
From: slurm-users <<a
href="mailto:slurm-users-bounces@lists.schedmd.com"
class="moz-txt-link-freetext" moz-do-not-send="true">slurm-users-bounces@lists.schedmd.com</a>>
on behalf of Jeffrey T Frey <a class="moz-txt-link-rfc2396E" href="mailto:frey@udel.edu"><frey@udel.edu></a><br
class="">
Sent: Tuesday, February 7, 2023 6:16 PM<br class="">
To: Slurm User Community List
<a class="moz-txt-link-rfc2396E" href="mailto:slurm-users@lists.schedmd.com"><slurm-users@lists.schedmd.com></a><br class="">
Subject: Re: [slurm-users] slurm and singularity<br class="">
<br class="">
You don't often get email from <a class="moz-txt-link-abbreviated" href="mailto:frey@udel.edu">frey@udel.edu</a>. Learn why this
is important<br class="">
<blockquote type="cite" class="">The remaining issue then is
how to put them into an allocation that is actually
running a singularity container. I don't get how what I'm
doing now is resulting in an allocation where I'm in a
container on the submit node still!<br class="">
</blockquote>
<br class="">
Try prefixing the singularity command with "srun" e.g.<br
class="">
<br class="">
<br class="">
salloc <salloc-parameters> srun
<srun-parameters> /usr/bin/singularity shell <path
to sif><br class="">
</blockquote>
<br class="">
</div>
</div>
</blockquote>
</body>
</html>