Unity
Unity
About
News
Events
Docs
Contact Us
code
search
login
Unity
Unity
About
News
Events
Docs
Contact Us
dark_mode
light_mode
code login
search

Documentation

  • Requesting An Account
  • Quick Start
  • Cluster Specifications
    • Node Features (Constraints)
      • NVLink and NVSwitch
    • Node List
    • Partition List
      • Gypsum
    • Storage
  • Frequently Asked Questions
  • Connecting to Unity
    • SSH
    • Unity OnDemand
    • Connecting to Desktop VS Code
  • Managing Files
    • Command Line Interface (CLI)
    • Disk Quotas
    • FileZilla
    • Globus
    • Scratch: HPC Workspace
    • Unity OnDemand File Browser
  • Submitting Jobs
    • Batch Jobs
      • Array Batch Jobs
      • Large Job Counts
      • Monitor a batch job
    • Helper Scripts
    • Interactive CLI Jobs
    • Unity OnDemand
    • Message Passing Interface (MPI)
    • Slurm cheat sheet
  • Software Management
    • Conda
    • Modules
      • Module Usage
    • Renv
    • Unity OnDemand
      • JupyterLab OnDemand
    • Venv
  • Tools & Software
    • ColabFold
    • R
      • R Parallelization
    • Unity GPUs
  • Datasets
    • AI and ML
      • AlpacaFarm
      • audioset
      • biomed_clip
      • blip_2
      • blip_2
      • coco
      • Code Llama
      • DeepAccident
      • DeepSeek
      • DINO v2
      • epic-kitchens
      • florence
      • gemma
      • gpt
      • gte-Qwen2
      • ibm-granite
      • Idefics2
      • Imagenet 1K
      • inaturalist
      • infly
      • instruct-blip
      • intfloat
      • LAION
      • linq
      • llama
      • Llama2
      • llama3
      • llama4
      • Llava_OneVision
      • Lumina
      • mixtral
      • msmarco
      • natural-questions
      • objaverse
      • openai-whisper
      • pythia
      • qwen
      • R1-1776
      • rag-sequence-nq
      • red-pajama-v2
      • s1-32B
      • satlas_pretrain
      • SlimPajama
      • t5
      • Tulu
      • V2X
      • video-MAE
      • videoMAE-v2
      • vit
      • wildchat
    • Bioinformatics
      • AlphaFold3 Databases
      • BFD/MGnify
      • Big Fantastic Database
      • checkm
      • ColabFoldDB
      • dfam
      • EggNOG
      • EggNOG
      • gmap
      • GTDB
      • igenomes
      • Kraken2
      • MGnify
      • NCBI BLAST databases
      • NCBI RefSeq database
      • params
      • PDB70
      • PDB70 for ColabFold
      • PINDER
      • PLINDER
      • Protein Data Bank
      • Protein Data Bank database in mmCIF format
      • Protein Data Bank database in SEQRES records
      • Tara Oceans 18S amplicon
      • Tara Oceans MATOU gene catalog
      • Tara Oceans MGT transcriptomes
      • Uniclust30
      • UniProtKB
      • UniRef100
      • UniRef30
      • UniRef90
  • HPC Resources

Documentation

  • Requesting An Account
  • Quick Start
  • Cluster Specifications
    • Node Features (Constraints)
      • NVLink and NVSwitch
    • Node List
    • Partition List
      • Gypsum
    • Storage
  • Frequently Asked Questions
  • Connecting to Unity
    • SSH
    • Unity OnDemand
    • Connecting to Desktop VS Code
  • Managing Files
    • Command Line Interface (CLI)
    • Disk Quotas
    • FileZilla
    • Globus
    • Scratch: HPC Workspace
    • Unity OnDemand File Browser
  • Submitting Jobs
    • Batch Jobs
      • Array Batch Jobs
      • Large Job Counts
      • Monitor a batch job
    • Helper Scripts
    • Interactive CLI Jobs
    • Unity OnDemand
    • Message Passing Interface (MPI)
    • Slurm cheat sheet
  • Software Management
    • Conda
    • Modules
      • Module Usage
    • Renv
    • Unity OnDemand
      • JupyterLab OnDemand
    • Venv
  • Tools & Software
    • ColabFold
    • R
      • R Parallelization
    • Unity GPUs
  • Datasets
    • AI and ML
      • AlpacaFarm
      • audioset
      • biomed_clip
      • blip_2
      • blip_2
      • coco
      • Code Llama
      • DeepAccident
      • DeepSeek
      • DINO v2
      • epic-kitchens
      • florence
      • gemma
      • gpt
      • gte-Qwen2
      • ibm-granite
      • Idefics2
      • Imagenet 1K
      • inaturalist
      • infly
      • instruct-blip
      • intfloat
      • LAION
      • linq
      • llama
      • Llama2
      • llama3
      • llama4
      • Llava_OneVision
      • Lumina
      • mixtral
      • msmarco
      • natural-questions
      • objaverse
      • openai-whisper
      • pythia
      • qwen
      • R1-1776
      • rag-sequence-nq
      • red-pajama-v2
      • s1-32B
      • satlas_pretrain
      • SlimPajama
      • t5
      • Tulu
      • V2X
      • video-MAE
      • videoMAE-v2
      • vit
      • wildchat
    • Bioinformatics
      • AlphaFold3 Databases
      • BFD/MGnify
      • Big Fantastic Database
      • checkm
      • ColabFoldDB
      • dfam
      • EggNOG
      • EggNOG
      • gmap
      • GTDB
      • igenomes
      • Kraken2
      • MGnify
      • NCBI BLAST databases
      • NCBI RefSeq database
      • params
      • PDB70
      • PDB70 for ColabFold
      • PINDER
      • PLINDER
      • Protein Data Bank
      • Protein Data Bank database in mmCIF format
      • Protein Data Bank database in SEQRES records
      • Tara Oceans 18S amplicon
      • Tara Oceans MATOU gene catalog
      • Tara Oceans MGT transcriptomes
      • Uniclust30
      • UniProtKB
      • UniRef100
      • UniRef30
      • UniRef90
  • HPC Resources

On this page

  • Configure SSH
  • Start an interactive job
  • Connect VS Code
  • Install additional VS Code extensions remotely
  1. Unity
  2. Documentation
  3. Connecting to Unity
  4. Connecting to Desktop VS Code

Connecting Desktop VS Code

If you prefer to use Visual Studio Code (VS Code) as your editor, you can connect VS Code to Unity and run your Jupyter Notebooks through VS Code. In order to do so, you need to establish an SSH connection to Unity using an SSH client first. If you haven’t already, follow the steps in the SSH Connection guide.

Once you have established an SSH connection to Unity, you need to configure SSH and start an interactive job. Then, you can connect the VS Code Desktop App to Unity. Once connected, you can also install additional VS Code extensions remotely. The following sections will guide you through these processes.

Configure SSH

To connect VS Code to Unity you need to install VS Code’s Remote-SSH extension and configure your ssh client to hop through the login node to a compute node.

To configure your ssh client, add the following lines to your ~/.ssh/config file:

Host unity
Hostname unity.rc.umass.edu
User unity_user_name
ForwardAgent yes
IdentityFile ~/.ssh/id_privkey.key

Host *.unity.rc.umass.edu
User unity_user_name
IdentityFile ~/.ssh/id_privkey.key
ProxyJump unity
stylus_note

Be sure to change:

  • unity_user_name to your own Unity username
  • ~/.ssh/id_privkey.key to the name of the key you are using (which should also be in ~/.ssh)
warning

Windows users using PowerShell SSH only must add MACs hmac-sha2-512-etm@openssh.com to their ~/.ssh/config file, or use the flag option in your SSH command so that it reads ssh -m hmac-sha2-512-etm@openssh.com <rest of the cmd>.

This is necessary due to a known bug in Microsoft’s SSH library which causes problems connecting to newer OpenSSH installs from Microsoft’s SSH client included in PowerShell.

Start an interactive job

After configuring your ssh client, you must start an interactive job with the resources you need. Make note of the hostname since you will need it for the next step.

For example:

$ salloc --gpus=1 --partition=gpu-preempt -q short -t 4:00:00
salloc: Granted job allocation ...
salloc: Waiting for resource configuration
salloc: Nodes gpu001 are ready for job
$ hostname -f
gpu001.unity.rc.umass.edu

In the example above, the hostname is gpu001.unity.rc.umass.edu.

report
The editor will lose its connection to Unity when your job ends

Connect VS Code

Once you have started your interactive job, you can connect VS Code to Unity.

To do so, select Remote-SSH: Connect to host from the command palette and type in the hostname from above (e.g., cpu001.unity.rc.umass.edu).

stylus_note
You must have a job on the node for this to work.

Install additional VS Code extensions remotely

For some extensions to work properly, you must install them on the server even if you already have them installed locally.

  1. In VS Code, choose View and then Extensions from the menu. The Extensions panel appears on the left.

  2. Scroll through your extensions and click buttons that say Install on SSH: …

  3. To run Jupyter Notebooks, install the extensions Jupyter, Jupyter Renderers, and Python on SSH.

Last modified: Tuesday, October 29, 2024 at 7:39 PM. See the commit on GitLab.
University of Massachusetts Amherst University of Massachusetts Amherst University of Rhode Island University of Rhode Island University of Massachusetts Dartmouth University of Massachusetts Dartmouth University of Massachusetts Lowell University of Massachusetts Lowell University of Massachusetts Boston University of Massachusetts Boston Mount Holyoke College Mount Holyoke College
search
close