Launch Positron on Alpine, the University of Colorado Boulder's HPC cluster.
This SLURM batch script allocates a compute node on Alpine and provides SSH connection instructions for remote development with Positron. The script uses a ProxyJump SSH configuration to connect through Alpine's login node to your allocated compute node.
- Access to Alpine HPC cluster
- Positron installed on your local machine
- SSH key configured for Alpine access
Add your local machine's SSH key to Alpine:
If you haven't already, you need to add your local machine's public SSH key to Alpine's authorized_keys file.
-
On your local machine, copy your public key:
cat ~/.ssh/id_rsa.pubOr if you use a different key:
cat ~/.ssh/id_ed25519.pub -
Log into Alpine and add the key to authorized_keys:
ssh <your-username>@login.rc.colorado.edu
-
On Alpine, add your public key:
mkdir -p ~/.ssh chmod 700 ~/.ssh echo "your-public-key-content" >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
Replace
your-public-key-contentwith the output from step 1.
This allows your local machine to authenticate with Alpine compute nodes via the ProxyJump connection.
-
Submit the job to Alpine:
sbatch alpine-positron.sh
-
Check job status:
squeue -u $USER -
View connection instructions:
cat logs/positron-<JOB_ID>.out
Replace
<JOB_ID>with your actual job ID fromsqueue. -
Add SSH config to your local machine:
Copy the SSH config block from the log file and add it to your
~/.ssh/configon your local machine. It will look like:Host positron-<JOB_ID> HostName <compute-node> User <your-username> ProxyJump <your-username>@login-ci.rc.colorado.edu -
Connect from Positron:
- Open Positron on your local machine
- Press
Cmd+Shift+P(Mac) orCtrl+Shift+P(Windows/Linux) - Select "Remote-SSH: Connect to Host"
- Choose
positron-<JOB_ID>from the list - Positron will install itself on the remote node automatically
-
When finished:
scancel <JOB_ID>
The script allocates resources via SLURM directives in alpine-positron.sh:
--time=08:00:00- Maximum job duration (8 hours)--mem=20gb- Memory allocation (20 GB)--partition=amilan- Alpine partition for general compute--qos=normal- Quality of service tier
Adjust these parameters based on your computational requirements. See Alpine documentation for available options.
Job won't start:
- Check queue status:
squeue -u $USER - Check available resources:
sinfo - Verify your account has hours:
curc-quota
Can't connect via SSH:
- Ensure SSH config was added to your local
~/.ssh/config(not on Alpine) - Verify job is running:
squeue -u $USER - Check log file for correct hostname and job ID
- Verify your local SSH public key is in Alpine's
~/.ssh/authorized_keys(see Setup section)
Connection drops:
- SSH connection may timeout if idle. The job itself will continue running.
- Reconnect using the same SSH host entry.
- The compute node allocation will run for the full time requested or until you cancel it
- Always remember to
scancelyour job when done to free resources - Log files are stored in the
logs/directory with the patternpositron-<JOB_ID>.out