Interactive VSCode IDE/Editor
Opening VSCode IDE Form
-
The first step is to select the
Interactive apps
and then click theVSCode IDE/Editor
in the Open OnDemand dashboard. -
Then you will see a form which needs to be filled to launch the VS Code Editor.

Partition
-
Partitions are work queues that has computational nodes in it to run the jobs. The partitions available in Discovery are
interactive
,normal
,gpu
,backfill
,class
,epscor
,iiplab
,cfdlab
, so on. -
However, you will see only the list of authorized partitions available for your Discovery account and hence, you won’t see the partitions which you don’t have authorization in the select dropdown.
-
Select one of the partitions where you want to submit your job. Refer to the page → Partitions in Discovery to select the ideal partition for your job.
-
By Default, partition is set to
interactive
.
Walltime(Hours)
-
Sets the Walltime for your job. The job gets killed if the Walltime you set gets elapsed.
Parameter #Hours Min Limit
1 hour
Max Limit
24 hours
Default
1 hour
CPUs(Threads)
-
Sets the Number of CPUs(Threads) for the job. The below table shows the maximum limit for CPU threads for each partition. The default and minimum value is 1 CPU thread.
Partition Max Limit interactive
16
normal
44
gpu
28
epscor
124
iiplab
52
cfdlab
52
class
60
Memory (GB/Gigabytes)
-
Sets the memory for the job in terms of GB. The memory you select is available to all assigned threads for the job. The below table shows the maximum memory limit for each partition which can be requested for the job. The default and minimum value is 1 GB.
Partition | Max Memory Limit(GB) |
---|---|
interactive |
64 |
normal |
240 |
gpu |
50 |
epscor |
3000 |
iiplab |
175 |
cfdlab |
175 |
class |
490 |
GPUs
-
To enable the GPU selection, you need to choose one of the following partitions:
interactive
,class
,gpu
,epscor
,iiplab
,cfdlab
. Only these partitions have GPUs and if you select any of the partitions, you can see theGPUs
dropdown enabled.Parameter #GPU Min Limit
0
Max Limit
2
Partition normal don’t have GPUs. |
Email Address
-
If you want to get notified via email when the job starts/fails/ends, enter the email address associated with the Discovery account.
-
You can leave the text field
blank
if you don’t want job notifications.
Working Directory

If left empty, the working directory points to your /home directory by default. To switch to scratch/project directories, click the Select Project Directory button.

Select the desired directory you want to work with. After you make the selection, the Working Directory for the interactive job gets updated.

Setup Commands(bash syntax)
If you want to load additional modules or you want to run any setup commands before launching the VSCode Editor, use the text box.
To load additional modules, use the module load command to load into your working environment.
module load <software-name>
For more information about module load command , refer to the page → Module Load in Discovery.
You can also source a bash script which will read and execute commands from the file specified as its argument. Create a bash script called setup-env.sh
#!/usr/bin/env bash
module load anaconda
conda activate <env-name>
To run the bash script file setup-env.sh
using the source
command, run the following command,
source setup-env.sh
Output
(<env-name>) [<username>@discovery-l2 sample-scripts]$
From the above output, we can infer that, it first executed the module load anaconda command by loading the anaconda module to your environment and then activated the custom environment in it.
After you have the bash script ready with the commands, enter the source command followed by path to script file in the text entry box.
Syntax
source <path to bash script file>
Example
source "$HOME/project_a/setup-env.sh"
Launching the Interactive Session
-
Once all the form fields are set, you can click the
Launch
button. The interactive session will be launched and you will see the below output

-
The above output shows that the interactive session has been launched successfully. You will see the Connect to VS Code button only if the resources you have requested becomes available. Else, you might need to wait for some more minutes for the resources allocation and then the Connect to VS Code button appears.
-
Click the Connect to VS Code button after it appears.
The interactive session won’t be launched if you try to submit your job to the partition that you don’t have access to. You will get the following error message → Batch job submission failed: User’s group not permitted to use this partition. Also, the page gets reloaded and you need to select the value for the form fields again since the form gets reset. |
Opening VSCode IDE
The VSCode IDE opens up in a new tab.

To open the terminal, click the nav icon and then select View→Terminal or you can use the keyboard shortcut Ctrl + `. To check the modules loaded along with the VSCode Editor, run module list command from the terminal.
$ module list
Currently Loaded Modules:
1) git/2.31.0-gcc-9.3.0-tf6yu4s 2) code-server/3.9.1-gcc-9.3.0-lzcr4al
Modules Git and Code-Server are loaded by default. The VSCode Editor uses code-server to launch interactive session on the compute nodes .On the left bottom, is shows the Hostname of the compute node highlighted in green color.
Killing the Interactive Session
After the code changes are done in VSCode, it’s important to kill the session. Go to My Interactive sessions
tab and select the Delete
button of the current interactive session.

A confirmation pop-up will appear and press Confirm
to delete the session.
Whenever you are done with the work, it’s always recommended to kill/delete the interactive session running on the compute nodes and free the resources. |