Interactive Sessions with idev

The idev utility initiates an interactive session on one or more compute nodes so that you can issue commands and run code as if you were doing so on your personal machine. An interactive session is useful for development, as you can quickly compile, run, and validate code. Accessing a single compute node is accomplished by simply executing idev on any of the TACC systems. After going through this module, students should be able to:

  • Use the idev utility to launch an interactive session on a compute node

  • Customize the interactive session using command line options

Initiating an Interactive Session

To learn about the command line options available for idev, use idev --help.

[ls6]$ idev --help

   Usage:  idev [OPTIONS]

   idev creates an Interactive session on a compute node for
   DEVelopment: compiling, and executing serial, openmp-parallel,
   or mpi-parallel code as you would in a batch job.
   Supported systems: frontera, ls6, stampede3, vista.

   Idev, by default,  uses a single node and charges the project stored in $HOME/.idevrc.
   Options can be in any order.

   OPTION   ARGUMENTS          DESCRIPTION

     -A     account_name       sets account name (default:  TACC-SCI)
     -m     minutes            sets time in minutes (default: 30)
     -n     total_tasks        Total number of tasks
     -N     nodes              Number of nodes
     -tpn   tpn                Tasks per node
                               -tasks-per-node|--tasks-per-node   tpn  (-tpn alternate)
                               -ntasks-per-node|--ntasks-per-node tpn  (-tpn alternate)
     -p     partition_name     sets queue to partition name (default: development)
     -R                        Finds a reservation for the user.
     -r     reservation_name   requests use of a specific reservation
     ...

Some of the most useful flags to customize the session include:

  • To change the time limit to something other than the default 30 minutes, use the -m command line option. For example, requesting an interactive session for an hour would use the command line option -m 60.

  • To change the queue to something other than the default development queue, use the -p command line option. For example, to launch an interactive session on one of Lonestar6’s GPU nodes, use the command line option -p gpu-a100 or -p gpu-a100-dev. You can learn more about the different queues of Lonestar6 here.

  • To start a two-hour interactive session on a compute node in the development queue with our OTH24028 allocation:

[ls6]$ idev -m 120 -p development -A OTH24028

If successful, you will see output that includes the following excerpts:

 -> NOTE: "->" are idev statements. "-->" are TACC/SLURM filter statements.
 -> NO RESERVATIONS  found for wallen.
 -> Checking on the status of development queue. OK

 -> Defaults file    : ~/.idevrc
 -> System           : ls6
 -> Queue            : development    (idev  default queue )
 -> Nodes            : 1              (idev  default       )
 -> Tasks per Node   : 128            (Queue default       )
 -> Time (minutes)   : 120            (cmd line: -m        )
 -> Project          : OTH24028       (~/.idevrc           )

-----------------------------------------------------------------
           Welcome to the Lonestar6 Supercomputer
-----------------------------------------------------------------

No reservation for this job
--> Verifying valid submit host (staff)...OK
--> Verifying valid jobname...OK
--> Verifying valid ssh keys...OK
--> Verifying access to desired queue (development)...OK
--> Checking available allocation (OTH24028)...OK
--> Verifying that quota for filesystem /home1/03439/wallen is at 75.08% allocated...OK
--> Verifying that quota for filesystem /work/03439/wallen/ls6 is at 62.13% allocated...OK
Submitted batch job 3085466
...
c307-006.ls6(1000)$

Ultimately the command prompt will change from a login node to a compute node, and you will be able to run commands directly as if you were on your local machine.

EXERCISE

Let’s revisit the job we ran in the previous section. This time, we will be going through each command we entered into job.slurm interactively.

c449-0015(268)$ pwd
/work/03439/wallen/ls6/docking-example/
c449-0015(269)$ ls
configuration_file.txt*  docking-ex.o3083211  ligand.pdbqt*         protein.pdbqt*
docking-ex.e3083211      job.slurm            output_ligands.pdbqt*
c449-0015(270)$ echo "starting at:"
starting at:
c449-0015(271)$ date
Tue Apr 14 12:25:39 CDT 2026
c449-0015(272)$ module list

Currently Loaded Modules:
1) intel/19.1.1    4) python3/3.9.7   7) xalt/3.1
2) impi/19.0.9     5) cmake/4.1.1     8) TACC
3) autotools/1.4   6) pmix/3.2.3      9) tacc-apptainer/1.1.8

c449-0015(273)$ module use /work/03439/wallen/public/modulefiles
c449-0115(275)$ module load autodock_vina/1.2.3
c449-0115(276)$ module list

Currently Loaded Modules:
1) intel/19.1.1    5) pmix/3.2.3             9) python3/3.9.7
2) impi/19.0.9     6) xalt/3.1              10) autodock_vina/1.2.3
3) autotools/1.4   7) TACC
4) cmake/4.1.1     8) tacc-apptainer/1.1.8

c449-0015(278)$ vina --config configuration_file.txt --out ../results/output_ligands.pdbqt
#################################################################
# If you used AutoDock Vina in your work, please cite:          #
#                                                               #
# O. Trott, A. J. Olson,                                        #
# AutoDock Vina: improving the speed and accuracy of docking    #
# with a new scoring function, efficient optimization and       #
# multithreading, Journal of Computational Chemistry 31 (2010)  #
# 455-461                                                       #
#                                                               #
# DOI 10.1002/jcc.21334                                         #
#                                                               #
# Please see http://vina.scripps.edu for more information.      #
#################################################################

Detected 272 CPUs
WARNING: at low exhaustiveness, it may be impossible to utilize all CPUs
Reading input ... done.
Setting up the scoring function ... done.
Analyzing the binding site ... done.
Using random seed: -31156704
Performing search ...
0%   10   20   30   40   50   60   70   80   90   100%
|----|----|----|----|----|----|----|----|----|----|
***************************************************
done.
Refining results ... done.

mode |   affinity | dist from best mode
     | (kcal/mol) | rmsd l.b.| rmsd u.b.
-----+------------+----------+----------
   1        -12.3      0.000      0.000
   2        -11.1      1.223      1.866
   3        -11.0      3.000     12.459
   4        -10.5      2.268     12.434
   5        -10.4      2.272     13.237
   6        -10.3      3.146     13.666
   7        -10.3      3.553     12.345
   8        -10.2      1.827     13.667
   9         -9.8      2.608     12.630
Writing output ... done.

c449-0015(279)$ echo "ending at:"
c449-0015(280)$ date
Tue Apr 14 12:25:56 CDT 2026

To exit an interactive session, you can use the command logout.

EXERCISE

  1. Unload the autodock_vina module (if currently loaded).

  2. Load the tacc-apptainer module and the biocontainers module.

  3. Search for and load an autodock_vina container module, or find and pull an autodock_vina container from DockerHub.

  4. Run the above vina command again using the containerized version of vina.

Additional Resources