Difference between revisions of "PowerIDE User Guide"

From HPC Guide
Jump to navigation Jump to search
(Created page with "= PowerIDE User Guide = PowerIDE provides interactive access to the HPC cluster through a web browser. You can run Jupyter notebooks and VS Code directly on compute nodes wit...")
 
 
Line 1: Line 1:
 
= PowerIDE User Guide =
 
= PowerIDE User Guide =
  
PowerIDE provides interactive access to the HPC cluster through a web browser. You can run Jupyter notebooks and VS Code directly on compute nodes without needing SSH access.
+
PowerIDE provides interactive access to the HPC cluster through a web browser. You can run Jupyter notebooks, VS Code, and RStudio directly on compute nodes without needing SSH access.
  
 
---
 
---
Line 86: Line 86:
 
=== CPUs per task ===
 
=== CPUs per task ===
  
Number of CPU cores for your session. Default is `1`.
+
Number of CPU cores for your session. Default is `2`.
  
 
Increase this if you're running multi-threaded code.
 
Increase this if you're running multi-threaded code.
Line 92: Line 92:
 
=== Memory ===
 
=== Memory ===
  
Amount of RAM to allocate. Default is `1G`.
+
Amount of RAM to allocate. Default is `4G`.
  
 
Examples:
 
Examples:
* `2G` - 2 gigabytes
+
* `4G` - 4 gigabytes
* `8G` - 8 gigabytes
+
* `16G` - 16 gigabytes
* `500M` - 500 megabytes
+
* `64G` - 64 gigabytes
  
 
'''Tip:''' Start with less and increase if needed. Over-requesting resources may delay job start.
 
'''Tip:''' Start with less and increase if needed. Over-requesting resources may delay job start.
Line 103: Line 103:
 
=== Working directory ===
 
=== Working directory ===
  
Default: Your LDAP home directory (e.g., `/a/home/cc/staff/yourusername`)
+
Default: Your home directory.
  
This is where your Jupyter session starts.
+
'''Recommendation:''' Change this to your project directory to save navigation time after launch. For example:
 
 
'''Recommendation:''' If you're working on a specific project located elsewhere, '''change this to your project directory'''. For example:
 
 
* `/a/home/cc/students/yourgroup/project1`
 
* `/a/home/cc/students/yourgroup/project1`
 
* `/scratch/yourusername/analysis`
 
* `/scratch/yourusername/analysis`
  
This saves time navigating to your files after launch.
+
=== Stdout / Stderr directory ===
 
 
=== Stdout directory ===
 
 
 
Where to write job output logs. Default: your home directory.
 
  
'''Recommendation:''' Usually fine to leave as default, but you can change it to organize logs better (e.g., `~/logs/` or your project directory).
+
Where to write job output and error logs. Default: your home directory.
  
=== Stderr directory ===
+
Usually fine to leave as default.
 
 
Where to write job error logs. Default: your home directory.
 
 
 
'''Recommendation:''' Same as stdout - usually fine to keep default.
 
  
 
---
 
---
Line 129: Line 119:
 
== Starting Your Session ==
 
== Starting Your Session ==
  
After filling out the form, click the orange '''Start''' button at the bottom.
+
After filling out the form, click the '''Start''' button at the bottom.
  
 
What happens next:
 
What happens next:
Line 138: Line 128:
 
# Once started, you'll automatically be redirected to JupyterLab
 
# Once started, you'll automatically be redirected to JupyterLab
  
'''Note:''' If the cluster is busy, it may take longer. You can close the browser and come back - your session will start when resources are available.
+
'''Note:''' If the cluster is busy, it may take longer. You can close the browser and come back your session will start when resources are available.
  
 
---
 
---
Line 144: Line 134:
 
== Using JupyterLab ==
 
== Using JupyterLab ==
  
Once your server starts, you'll land in '''JupyterLab''' - a web-based development environment.
+
Once your server starts, you'll land in '''JupyterLab''' a web-based development environment.
  
 
=== JupyterLab Interface ===
 
=== JupyterLab Interface ===
Line 170: Line 160:
 
'''Download files:'''
 
'''Download files:'''
 
* Right-click file → Download
 
* Right-click file → Download
 +
 +
=== Stopping JupyterLab ===
 +
 +
'''Always stop your server when you're done to free up resources for others!'''
 +
 +
* From JupyterLab: '''File → Hub Control Panel''' → click '''Stop My Server'''
 +
* From the hub home page: [https://poweride.tau.ac.il/jupyter/hub/home https://poweride.tau.ac.il/jupyter/hub/home] → click '''Stop My Server'''
  
 
---
 
---
Line 175: Line 172:
 
== Using VS Code ==
 
== Using VS Code ==
  
PowerIDE includes '''VS Code''' (Visual Studio Code) running in your browser!
+
VS Code runs as a '''separate service''' with its own Slurm job, independent of JupyterLab.
  
 
=== Starting VS Code ===
 
=== Starting VS Code ===
  
# From JupyterLab, click the '''+''' button to open the launcher
+
# Go to '''[https://poweride.tau.ac.il/jupyter/services/vscode/ https://poweride.tau.ac.il/jupyter/services/vscode/]'''
# Look for the '''VS Code''' icon in the launcher
+
# Log in if prompted
# Click it - VS Code will open in a new tab/window
+
# Fill in the launch form and click '''Launch VS Code'''
  
You now have a full VS Code environment running on the compute node with all your files accessible.
+
The button will spin while your job is being submitted. Once the job starts on a compute node you'll be redirected automatically.
  
=== VS Code Features ===
+
=== Launch form fields ===
  
* Full code editor with syntax highlighting
+
Same resource fields as JupyterLab (Partition, QOS, CPUs, Memory, Time, GPUs), plus:
* Integrated terminal
 
* Extensions support
 
* Git integration
 
* File explorer
 
  
'''Tip:''' VS Code runs in the same job as JupyterLab, so it has access to all the same resources (CPUs, memory, GPUs) you requested.
+
{| class="wikitable"
 +
! Field !! What it does
 +
|-
 +
| '''Working directory''' || Directory VS Code opens in (default: home)
 +
|-
 +
| '''VS Code data dir''' || Where extensions and settings are stored (default: home). '''Tip:''' set to `/scratch/username` if your home directory is slow or has limited quota.
 +
|-
 +
| '''Node constraint''' || Require specific hardware (e.g. `intel`, `amd`)
 +
|-
 +
| '''Specific node''' || Pin job to one node (e.g. `compute-0-5`)
 +
|}
 +
 
 +
=== Stopping VS Code ===
 +
 
 +
'''To free cluster resources, always stop your session when done.'''
 +
 
 +
{| class="wikitable"
 +
! Method !! How
 +
|-
 +
| Top bar button || Click '''⏹ Stop current job''' → confirm
 +
|-
 +
| URL || Navigate to `https://poweride.tau.ac.il/jupyter/services/vscode/stop`
 +
|-
 +
| Terminal || `scancel --name=vscode-<yourusername>`
 +
|}
 +
 
 +
'''Note:''' Closing the browser tab does '''not''' stop the job. It keeps running until the time limit.
 +
 
 +
=== Reconnecting ===
 +
 
 +
Go to the same URL. If your job is still running you'll be taken straight back in.
 +
 
 +
---
 +
 
 +
== Using RStudio ==
 +
 
 +
RStudio runs as a '''separate service''' with its own Slurm job, independent of JupyterLab and VS Code.
 +
 
 +
=== Starting RStudio ===
 +
 
 +
# Go to '''[https://poweride.tau.ac.il/jupyter/services/rstudio/ https://poweride.tau.ac.il/jupyter/services/rstudio/]'''
 +
# Log in if prompted
 +
# Choose your '''R environment''' and resource settings, then click '''Launch RStudio'''
 +
 
 +
=== Launch form fields ===
 +
 
 +
Same resource fields as the other services, plus:
 +
 
 +
{| class="wikitable"
 +
! Field !! What it does
 +
|-
 +
| '''R environment''' || The R module to load (sets R version and available packages). Contact HPC support if your module is not listed.
 +
|}
 +
 
 +
=== Installing R packages ===
 +
 
 +
Install packages directly from the RStudio console:
 +
 
 +
<pre>
 +
install.packages("ggplot2")
 +
</pre>
 +
 
 +
Packages install to your personal R library (`~/R/…`) and persist across sessions.
 +
 
 +
=== Stopping RStudio ===
 +
 
 +
'''Important:''' "'''File → Quit Session'''" inside RStudio '''only ends the R session''' — it does '''not''' stop your Slurm job. RStudio will reload with a fresh empty session and your job keeps running.
 +
 
 +
'''To fully stop the job:'''
 +
 
 +
{| class="wikitable"
 +
! Method !! How
 +
|-
 +
| Top bar button || Click '''⏹ Stop current job''' → confirm
 +
|-
 +
| URL || Navigate to `https://poweride.tau.ac.il/jupyter/services/rstudio/stop`
 +
|-
 +
| Terminal || `scancel --name=rstudio-<yourusername>`
 +
|}
 +
 
 +
'''Note:''' Closing the browser tab does '''not''' stop the job either.
 +
 
 +
=== Reconnecting ===
 +
 
 +
Go to the same URL while your job is running and you'll be taken straight back in.
  
 
---
 
---
Line 202: Line 279:
  
 
A '''kernel''' is simply a Python interpreter that JupyterLab uses to run your code. When you create a notebook and select "Python 3.12 (Base)", you're choosing which Python environment to use.
 
A '''kernel''' is simply a Python interpreter that JupyterLab uses to run your code. When you create a notebook and select "Python 3.12 (Base)", you're choosing which Python environment to use.
 
Think of it like choosing which Python installation to run: `/usr/bin/python3` vs `/path/to/my-env/bin/python`
 
  
 
=== Default Kernel ===
 
=== Default Kernel ===
Line 216: Line 291:
 
* Install custom packages without affecting others
 
* Install custom packages without affecting others
 
* Have multiple project-specific environments
 
* Have multiple project-specific environments
 
'''Steps to register your own environment:'''
 
 
# Create your conda/mamba environment (wherever you normally keep them)
 
# Activate it and make sure `ipykernel` is installed
 
# Register it as a kernel
 
# Refresh your browser - it will appear in the JupyterLab launcher!
 
  
 
'''Example:'''
 
'''Example:'''
Line 238: Line 306:
 
# Done! Refresh your browser and look for "My Project (Python 3.11)" in the launcher
 
# Done! Refresh your browser and look for "My Project (Python 3.11)" in the launcher
 
</pre>
 
</pre>
 
'''Need help?'''
 
 
If you need assistance:
 
* Installing `ipykernel` in your environment
 
* Registering your kernel
 
* Troubleshooting kernel issues
 
 
Contact us at '''hpc@tauex.tau.ac.il''' - we're happy to help!
 
  
 
'''Important notes:'''
 
'''Important notes:'''
* Kernels are just small config files (~1 KB) - they don't use your disk quota
+
* Kernels are just small config files (~1 KB) they don't use your disk quota
 
* Each user only sees their own kernels (plus system defaults)
 
* Each user only sees their own kernels (plus system defaults)
* You can have as many kernels as you want
 
 
* Remove a kernel: `jupyter kernelspec uninstall kernel-name`
 
* Remove a kernel: `jupyter kernelspec uninstall kernel-name`
  
---
+
Contact '''hpc@tauex.tau.ac.il''' if you need help setting up a kernel.
 
 
== Stopping Your Server ==
 
 
 
'''Important:''' Always stop your server when you're done to free up resources for others!
 
 
 
There are two ways to stop:
 
 
 
=== Method 1: From JupyterLab ===
 
 
 
# Go to '''File → Hub Control Panel'''
 
# Click the red '''Stop My Server''' button
 
 
 
=== Method 2: From PowerIDE home ===
 
 
 
# Navigate to [https://poweride.tau.ac.il/jupyter/hub/home https://poweride.tau.ac.il/jupyter/hub/home]
 
# Click the red '''Stop My Server''' button
 
 
 
Your job will be terminated and the compute node will be freed.
 
  
 
---
 
---
Line 290: Line 330:
 
* '''Save frequently:''' Your session will end when time runs out
 
* '''Save frequently:''' Your session will end when time runs out
 
* '''Large files:''' Store large datasets in scratch space, not your home directory
 
* '''Large files:''' Store large datasets in scratch space, not your home directory
 +
* '''VS Code extensions:''' Store in `/scratch/username` if home quota is limited
  
 
=== Data and Code ===
 
=== Data and Code ===
  
* '''Home directory:''' Your LDAP home directory - personal files, small projects
+
* '''Home directory:''' Personal files, small projects
 
* '''Scratch space:''' Large temporary datasets
 
* '''Scratch space:''' Large temporary datasets
 
* '''Project directories:''' Shared group work (varies by group)
 
* '''Project directories:''' Shared group work (varies by group)
Line 315: Line 356:
 
# Wait 2-3 minutes
 
# Wait 2-3 minutes
 
# If still pending, go to Hub Control Panel and click "Stop My Server"
 
# If still pending, go to Hub Control Panel and click "Stop My Server"
# Try again with fewer resources or different partition
+
# Try again with fewer resources or a different partition
# If QOS dropdown is empty, contact HPC support - you may need Slurm associations configured
+
# If QOS dropdown is empty, contact HPC support
 +
 
 +
=== Stuck on "Starting…" for a long time ===
 +
 
 +
Your job is queued. Check your position:
 +
<pre>
 +
squeue -u $USER
 +
</pre>
 +
If it's been more than 10–15 minutes, try a partition with more availability or reduce resource requests.
 +
 
 +
=== Page shows "Slurm state: NONE" right after submitting ===
 +
 
 +
The job submitted but exited immediately. Check the log file:
 +
<pre>
 +
cat ~/vscode-<jobid>.out
 +
cat ~/rstudio-<jobid>.out
 +
</pre>
 +
 
 +
=== "Service unavailable" / blank page ===
 +
 
 +
The backend is still starting or the job ended. Wait a few seconds and refresh.
 +
If it persists, go back to the service URL — if the job died you'll see the launch form.
  
=== I see "404: Not Found" ===
+
=== I see "404: Not Found" (JupyterLab) ===
  
 
This usually means your job didn't start successfully.
 
This usually means your job didn't start successfully.
  
Check:
+
# Go to your home directory on a login node
# Go to your home directory on a login node (or check via terminal)
+
# Look for files named `jupyterhub-JOBID.err`
# Look for files named `jupyterhub-JOBID.err` (where JOBID is a number)
 
 
# Check the file for error messages
 
# Check the file for error messages
 
# Contact HPC support if you can't resolve it
 
# Contact HPC support if you can't resolve it
 
=== VS Code icon doesn't appear ===
 
 
This is rare - if it happens:
 
# Try refreshing your browser
 
# If still missing, contact HPC support
 
  
 
=== My session was killed ===
 
=== My session was killed ===
Line 342: Line 397:
 
* '''Node failure:''' Rare, but compute nodes can crash
 
* '''Node failure:''' Rare, but compute nodes can crash
  
'''Solution:'''
+
Check the log for details:
* Save your work frequently
+
<pre>
* Request more time/memory next time
+
cat ~/vscode-<jobid>.err
* Check `jupyterhub-JOBID.err` file for clues
+
cat ~/rstudio-<jobid>.out
 +
</pre>
 +
 
 +
=== I accidentally launched two jobs ===
 +
 
 +
Run `scancel --me` in a terminal to cancel all your jobs, or cancel by name:
 +
<pre>
 +
scancel --name=vscode-<yourusername>
 +
scancel --name=rstudio-<yourusername>
 +
</pre>
 +
 
 +
=== R module not in the list? ===
 +
 
 +
R environments are set up by HPC staff and refreshed weekly. If your module is not listed, contact '''hpc@tauex.tau.ac.il'''.
  
 
---
 
---
Line 351: Line 419:
 
== Getting Help ==
 
== Getting Help ==
  
=== Support ===
+
For technical issues, email: '''hpc@tauex.tau.ac.il'''
 
 
For technical issues:
 
 
 
* Email: `hpc@tauex.tau.ac.il`
 
  
 
'''When asking for help, include:'''
 
'''When asking for help, include:'''
Line 361: Line 425:
 
* What you were trying to do
 
* What you were trying to do
 
* Error messages (copy/paste or screenshot)
 
* Error messages (copy/paste or screenshot)
* Job ID if available (from error file name)
+
* Job ID if available
 
 
Email: `hpc@tauex.tau.ac.il`
 
  
 
---
 
---
Line 369: Line 431:
 
== FAQ ==
 
== FAQ ==
  
'''Q: Can I run multiple servers at once?'''
+
'''Q: Can I run multiple services at once?'''
 +
 
 +
A: Yes. Jupyter, VS Code, and RStudio each run as independent Slurm jobs. You can have all three running simultaneously, limited only by your account's resource quota.
 +
 
 +
'''Q: Can I run multiple Jupyter servers at once?'''
  
A: No, you can only have one server running at a time per user.
+
A: No, you can only have one Jupyter server running at a time.
  
 
'''Q: How long can my session run?'''
 
'''Q: How long can my session run?'''
  
A: Varies by partition - most partitions allow up to 7 days maximum.
+
A: Varies by partition most partitions allow up to 7 days maximum.
  
 
'''Q: Can I install Python packages?'''
 
'''Q: Can I install Python packages?'''
  
A: Yes! Create your own conda/mamba environment, install whatever packages you need, and register it as a kernel (see "Python Environments" section). You have full control over your own environments.
+
A: Yes! Create your own conda/mamba environment, install whatever packages you need, and register it as a kernel. See the Python Environments section.
  
 
'''Q: Why is my QOS dropdown empty?'''
 
'''Q: Why is my QOS dropdown empty?'''
  
A: This means you don't have any QOS associations configured in Slurm. Contact HPC support - they need to add you to a Slurm account with appropriate QOS access.
+
A: You don't have any QOS associations configured in Slurm. Contact HPC support they need to add you to a Slurm account with appropriate QOS access.
 
 
'''Q: Do I need to use the terminal for everything?'''
 
 
 
A: No! JupyterLab notebooks are great for interactive work. Use the terminal only when needed.
 
  
 
'''Q: What happens to my files when I stop my server?'''
 
'''Q: What happens to my files when I stop my server?'''
Line 414: Line 476:
 
| Access PowerIDE || [https://poweride.tau.ac.il/jupyter https://poweride.tau.ac.il/jupyter]
 
| Access PowerIDE || [https://poweride.tau.ac.il/jupyter https://poweride.tau.ac.il/jupyter]
 
|-
 
|-
| Start server || Click "Start My Server" → Fill form → Click "Start"
+
| Start Jupyter server || Click "Start My Server" → Fill form → Click "Start"
 
|-
 
|-
 
| Open notebook || Click '''+''' → Choose Python kernel
 
| Open notebook || Click '''+''' → Choose Python kernel
Line 420: Line 482:
 
| Open terminal || Click '''+''' → Click "Terminal"
 
| Open terminal || Click '''+''' → Click "Terminal"
 
|-
 
|-
| Start VS Code || Click '''+''' → Click "VS Code" icon
+
| Stop Jupyter server || File → Hub Control Panel → "Stop My Server"
 +
|-
 +
| Start VS Code || Go to [https://poweride.tau.ac.il/jupyter/services/vscode/ /services/vscode/] → Fill form → Click "Launch VS Code"
 +
|-
 +
| Stop VS Code || Click '''⏹ Stop current job''' in top bar, or `scancel --name=vscode-<username>`
 
|-
 
|-
| Stop server || File Hub Control Panel → "Stop My Server"
+
| Start RStudio || Go to [https://poweride.tau.ac.il/jupyter/services/rstudio/ /services/rstudio/] Select R module Fill form → Click "Launch RStudio"
 
|-
 
|-
| Upload files || Drag & drop into file browser
+
| Stop RStudio || Click '''⏹ Stop current job''' in top bar, or `scancel --name=rstudio-<username>`
 +
|-
 +
| Upload files || Drag & drop into JupyterLab file browser
 
|-
 
|-
 
| Download files || Right-click file → Download
 
| Download files || Right-click file → Download
|-
 
| Request custom environment || Email hpc@tauex.tau.ac.il with requirements
 
 
|-
 
|-
 
| Get help || Email hpc@tauex.tau.ac.il
 
| Get help || Email hpc@tauex.tau.ac.il

Latest revision as of 07:36, 26 May 2026

PowerIDE User Guide

PowerIDE provides interactive access to the HPC cluster through a web browser. You can run Jupyter notebooks, VS Code, and RStudio directly on compute nodes without needing SSH access.

---

Getting Started

1. Access PowerIDE

Open your web browser and navigate to:

https://poweride.tau.ac.il/jupyter

2. Login

Log in with your TAU university credentials:

  • Username: Your TAU username
  • Password: Your TAU password

This is the same login you use for email and other university services.

---

Starting Your Server

After logging in, you'll see a page with a large orange button:

Click "Start My Server"

You will then be presented with a Server Options form where you configure your compute resources.

How It Works

When you start your server, PowerIDE submits a Slurm job to the PowerSlurm cluster. Your Jupyter session runs on a compute node, not on the PowerIDE server itself.

This means:

  • You get dedicated resources (CPUs, memory, GPUs) on a compute node
  • Your job runs through the same Slurm scheduler as other HPC jobs
  • The PowerIDE server is only the web interface - all computation happens on cluster nodes
  • Your session will queue if the cluster is busy (just like regular batch jobs)

---

Configuring Resources

File:Server Options Form.png
Server Options form showing resource selection

The form includes the following fields:

Partition

Select which partition (queue) to run on. The dropdown will only show partitions you have access to based on your Slurm account permissions.

Common partitions:

  • `power-general-shared-pool` - General purpose computing
  • `gpu-general-pool` - GPU-enabled partition (if available)
  • Check with your PI or HPC admin for which partitions you should use

QOS (Quality of Service)

Select the QOS for your job. This controls priority and resource limits.

  • Default (owner) - Usually the best choice (uses your group's default QOS)
  • Other options may be available based on your partition selection

The form will automatically show only valid QOS options for your selected partition.

GPUs

If you select a GPU-enabled partition, a GPUs field will appear. Specify how many GPUs you need (0 if none).

The maximum number of GPUs is automatically limited based on the partition's capabilities.

Time (D-HH:MM:SS)

Specify how long your session should run. Default is `04:00:00` (4 hours).

Formats accepted:

  • `HH:MM:SS` - e.g., `02:30:00` for 2.5 hours
  • `D-HH:MM:SS` - e.g., `1-12:00:00` for 1 day and 12 hours

Important: Your session will be terminated when time runs out. Save your work regularly!

CPUs per task

Number of CPU cores for your session. Default is `2`.

Increase this if you're running multi-threaded code.

Memory

Amount of RAM to allocate. Default is `4G`.

Examples:

  • `4G` - 4 gigabytes
  • `16G` - 16 gigabytes
  • `64G` - 64 gigabytes

Tip: Start with less and increase if needed. Over-requesting resources may delay job start.

Working directory

Default: Your home directory.

Recommendation: Change this to your project directory to save navigation time after launch. For example:

  • `/a/home/cc/students/yourgroup/project1`
  • `/scratch/yourusername/analysis`

Stdout / Stderr directory

Where to write job output and error logs. Default: your home directory.

Usually fine to leave as default.

---

Starting Your Session

After filling out the form, click the Start button at the bottom.

What happens next:

  1. PowerIDE submits a Slurm job with your requested resources
  2. You'll see a progress page saying "Your server is starting up..."
  3. Wait for a compute node to become available (usually 10-60 seconds)
  4. Once started, you'll automatically be redirected to JupyterLab

Note: If the cluster is busy, it may take longer. You can close the browser and come back — your session will start when resources are available.

---

Using JupyterLab

Once your server starts, you'll land in JupyterLab — a web-based development environment.

JupyterLab Interface

  • Left sidebar: File browser, running kernels, extensions
  • Main area: Notebooks, text files, terminals
  • Launcher: Click the + button to see available tools

Common Tasks

Create a new notebook:

  1. Click the + button (or File → New Launcher)
  2. Click on a kernel (e.g., "Python 3")
  3. Start coding!

Open a terminal:

  1. Click the + button
  2. Click "Terminal" in the launcher
  3. You now have a bash shell on the compute node

Upload files:

  • Drag and drop files into the file browser, OR
  • Click the upload button (↑ icon) in the file browser

Download files:

  • Right-click file → Download

Stopping JupyterLab

Always stop your server when you're done to free up resources for others!

---

Using VS Code

VS Code runs as a separate service with its own Slurm job, independent of JupyterLab.

Starting VS Code

  1. Go to https://poweride.tau.ac.il/jupyter/services/vscode/
  2. Log in if prompted
  3. Fill in the launch form and click Launch VS Code

The button will spin while your job is being submitted. Once the job starts on a compute node you'll be redirected automatically.

Launch form fields

Same resource fields as JupyterLab (Partition, QOS, CPUs, Memory, Time, GPUs), plus:

Field What it does
Working directory Directory VS Code opens in (default: home)
VS Code data dir Where extensions and settings are stored (default: home). Tip: set to `/scratch/username` if your home directory is slow or has limited quota.
Node constraint Require specific hardware (e.g. `intel`, `amd`)
Specific node Pin job to one node (e.g. `compute-0-5`)

Stopping VS Code

To free cluster resources, always stop your session when done.

Method How
Top bar button Click ⏹ Stop current job → confirm
URL Navigate to `https://poweride.tau.ac.il/jupyter/services/vscode/stop`
Terminal `scancel --name=vscode-<yourusername>`

Note: Closing the browser tab does not stop the job. It keeps running until the time limit.

Reconnecting

Go to the same URL. If your job is still running you'll be taken straight back in.

---

Using RStudio

RStudio runs as a separate service with its own Slurm job, independent of JupyterLab and VS Code.

Starting RStudio

  1. Go to https://poweride.tau.ac.il/jupyter/services/rstudio/
  2. Log in if prompted
  3. Choose your R environment and resource settings, then click Launch RStudio

Launch form fields

Same resource fields as the other services, plus:

Field What it does
R environment The R module to load (sets R version and available packages). Contact HPC support if your module is not listed.

Installing R packages

Install packages directly from the RStudio console:

install.packages("ggplot2")

Packages install to your personal R library (`~/R/…`) and persist across sessions.

Stopping RStudio

Important: "File → Quit Session" inside RStudio only ends the R session — it does not stop your Slurm job. RStudio will reload with a fresh empty session and your job keeps running.

To fully stop the job:

Method How
Top bar button Click ⏹ Stop current job → confirm
URL Navigate to `https://poweride.tau.ac.il/jupyter/services/rstudio/stop`
Terminal `scancel --name=rstudio-<yourusername>`

Note: Closing the browser tab does not stop the job either.

Reconnecting

Go to the same URL while your job is running and you'll be taken straight back in.

---

Python Environments

What is a Python Kernel?

A kernel is simply a Python interpreter that JupyterLab uses to run your code. When you create a notebook and select "Python 3.12 (Base)", you're choosing which Python environment to use.

Default Kernel

PowerIDE provides one default kernel:

  • Python 3.12 (Base) - Standard Python with JupyterLab and common packages

Creating Your Own Kernels

You can register your own conda/mamba environments as kernels! This lets you:

  • Use different Python versions (3.9, 3.10, 3.11, etc.)
  • Install custom packages without affecting others
  • Have multiple project-specific environments

Example:

# From a JupyterLab terminal (or any cluster node):
module load mamba/mamba-2.1.1
mamba create -n my-project python=3.11 pandas matplotlib
mamba activate my-project
mamba install ipykernel

# Register as kernel (--user means only you will see it)
python -m ipykernel install --user --name my-project --display-name "My Project (Python 3.11)"

# Done! Refresh your browser and look for "My Project (Python 3.11)" in the launcher

Important notes:

  • Kernels are just small config files (~1 KB) — they don't use your disk quota
  • Each user only sees their own kernels (plus system defaults)
  • Remove a kernel: `jupyter kernelspec uninstall kernel-name`

Contact hpc@tauex.tau.ac.il if you need help setting up a kernel.

---

Best Practices

Resource Allocation

  • Start small: Request fewer resources initially. You can always restart with more.
  • Be realistic: Only request what you actually need
  • Time limits: Set a reasonable time limit. You can always restart if you need more time.
  • GPU usage: Only request GPUs if your code actually uses them

File Management

  • Working directory: Set it to your project folder to save navigation time
  • Save frequently: Your session will end when time runs out
  • Large files: Store large datasets in scratch space, not your home directory
  • VS Code extensions: Store in `/scratch/username` if home quota is limited

Data and Code

  • Home directory: Personal files, small projects
  • Scratch space: Large temporary datasets
  • Project directories: Shared group work (varies by group)

Tip: Use Git to version control your code, not for large data files.

---

Troubleshooting

My server won't start

Possible reasons:

  • Cluster is full: Wait a few minutes and try again
  • Invalid partition: Make sure you selected a partition you have access to
  • Too many resources: Try requesting fewer CPUs/memory
  • No QOS access: You may not have any QOS configured for your account

What to do:

  1. Wait 2-3 minutes
  2. If still pending, go to Hub Control Panel and click "Stop My Server"
  3. Try again with fewer resources or a different partition
  4. If QOS dropdown is empty, contact HPC support

Stuck on "Starting…" for a long time

Your job is queued. Check your position:

squeue -u $USER

If it's been more than 10–15 minutes, try a partition with more availability or reduce resource requests.

Page shows "Slurm state: NONE" right after submitting

The job submitted but exited immediately. Check the log file:

cat ~/vscode-<jobid>.out
cat ~/rstudio-<jobid>.out

"Service unavailable" / blank page

The backend is still starting or the job ended. Wait a few seconds and refresh. If it persists, go back to the service URL — if the job died you'll see the launch form.

I see "404: Not Found" (JupyterLab)

This usually means your job didn't start successfully.

  1. Go to your home directory on a login node
  2. Look for files named `jupyterhub-JOBID.err`
  3. Check the file for error messages
  4. Contact HPC support if you can't resolve it

My session was killed

Common reasons:

  • Time limit reached: Your session ran for the full time you requested
  • Out of memory: Your code used more RAM than allocated
  • Node failure: Rare, but compute nodes can crash

Check the log for details:

cat ~/vscode-<jobid>.err
cat ~/rstudio-<jobid>.out

I accidentally launched two jobs

Run `scancel --me` in a terminal to cancel all your jobs, or cancel by name:

scancel --name=vscode-<yourusername>
scancel --name=rstudio-<yourusername>

R module not in the list?

R environments are set up by HPC staff and refreshed weekly. If your module is not listed, contact hpc@tauex.tau.ac.il.

---

Getting Help

For technical issues, email: hpc@tauex.tau.ac.il

When asking for help, include:

  • Your username
  • What you were trying to do
  • Error messages (copy/paste or screenshot)
  • Job ID if available

---

FAQ

Q: Can I run multiple services at once?

A: Yes. Jupyter, VS Code, and RStudio each run as independent Slurm jobs. You can have all three running simultaneously, limited only by your account's resource quota.

Q: Can I run multiple Jupyter servers at once?

A: No, you can only have one Jupyter server running at a time.

Q: How long can my session run?

A: Varies by partition — most partitions allow up to 7 days maximum.

Q: Can I install Python packages?

A: Yes! Create your own conda/mamba environment, install whatever packages you need, and register it as a kernel. See the Python Environments section.

Q: Why is my QOS dropdown empty?

A: You don't have any QOS associations configured in Slurm. Contact HPC support — they need to add you to a Slurm account with appropriate QOS access.

Q: What happens to my files when I stop my server?

A: Your files are safe! Only the running session is terminated. All files in your home directory and project directories remain intact.

Q: Can I share my session with a colleague?

A: No, sessions are personal. However, you can share notebooks and code files through the filesystem or Git.

Q: Is PowerIDE the same as the login nodes?

A: No! PowerIDE runs on compute nodes through the Slurm scheduler, giving you dedicated resources. Login nodes are shared by everyone.

Q: How do I get access to different partitions?

A: Partition access is controlled by Slurm account associations. Contact your PI or HPC admin to request access to specific partitions.

---

Quick Reference Card

Action How-To
Access PowerIDE https://poweride.tau.ac.il/jupyter
Start Jupyter server Click "Start My Server" → Fill form → Click "Start"
Open notebook Click + → Choose Python kernel
Open terminal Click + → Click "Terminal"
Stop Jupyter server File → Hub Control Panel → "Stop My Server"
Start VS Code Go to /services/vscode/ → Fill form → Click "Launch VS Code"
Stop VS Code Click ⏹ Stop current job in top bar, or `scancel --name=vscode-<username>`
Start RStudio Go to /services/rstudio/ → Select R module → Fill form → Click "Launch RStudio"
Stop RStudio Click ⏹ Stop current job in top bar, or `scancel --name=rstudio-<username>`
Upload files Drag & drop into JupyterLab file browser
Download files Right-click file → Download
Get help Email hpc@tauex.tau.ac.il

---

Happy computing! 🚀