2  Getting Started

2.1 Account Setup

  1. Request access from your PI or supervisor
  2. Read and understand the Acceptable Use Policy
  3. Obtain your UnityID and ensure VPN access if working off-campus

2.2 Logging In

There are multiple ways to log onto Hazel:

Web browser (OnDemand): https://servood.hpc.ncsu.edu

  1. Select NC State University from the drop down menu
  2. Once logged on, use the tabs at the top to access files, submit jobs, use apps, etc.

To open up a terminal session, use the clusters tab and select >_ Hazel Cluster Shell Access

Note

Using OnDemand may be especially useful if you have a windows machine, as terminal access may be challenging based on your setup.

Terminal (SSH):

$ ssh [UnityID]@login.hpc.ncsu.edu

To enable GUI applications via X11 forwarding (macOS requires XQuartz):

$ ssh -X [UnityID]@login.hpc.ncsu.edu

VS Code:

While accessing Hazel through VS Code is possible, we recommend using either OnDemand or via SSH as these option are more user-friendly.

See the HPC VSCode guide

2.3 Your Spaces on Hazel

Once logged in, you have access to several distinct file locations. Each is sized and tuned for a different stage of your work — using the right one keeps your jobs fast and your group’s quota healthy.

Note

You may notice below that some words below have a dollar sign in front of them. These represent varibles. When code is executed these placeholder variables will be replaced with the real data that they represent. For example $USER will be replaced with your unityid. You can confirm this by typing in the terminal echo $USER and pressing enter. Read more about variables in Command Line Basics.

Location Path Quota Best for
Home /home/$USER 1 GB/user Shell config, small scripts, SSH keys
Scratch /share/$GROUP/$USER 20 TB/group Active job working directory and pipeline intermediates
Applications /usr/local/usrapps/$GROUP Varies Conda environments, containers, shared software
RS1 /rs1/researchers/... 40 TB/project Raw data, final results, anything you need to keep

2.3.1 Home (/home/$USER)

Your personal landing spot when you log in. The 1 GB quota is small on purpose — home is for configuration, not data. Keep your .bashrc, SSH keys, and a handful of small scripts here. Don’t run jobs out of home or write large outputs to it; you will fill the quota and your shell will start failing in confusing ways.

2.3.2 Scratch (/share/$GROUP/$USER)

Your working directory for active jobs. Scratch is fast, large, and shared with your group. Submit jobs from here, write intermediate files here, and use it for anything you can regenerate.

Warning

Files on scratch are automatically deleted after 30 days. Never leave anything on scratch that you can’t reproduce — copy results you want to keep back to RS1 as soon as the job finishes.

2.3.3 Applications (/usr/local/usrapps/$GROUP)

Where your group installs shared software: conda environments, Apptainer containers, custom builds. Anyone in the group can load these in their job scripts, so you don’t each need your own copy.

Note

Applications storage is read-only from compute nodes. Install or update software from a login node; jobs can only read from it.

2.3.4 RS1 (/rs1/researchers/...)

Long-term project storage. RS1 is where raw data lives and where final results go to rest. It’s slower than scratch but durable and not auto-deleted. Treat it as the canonical home for anything you’d be upset to lose.

Tip

Recommended workflow: Keep raw inputs in RS1 → stage them into scratch and run jobs there → copy final outputs back to RS1 → let scratch’s 30-day cleanup handle the intermediates.

2.4 Useful Commands

2.4.1 System and User Info

$ sinfo                          # available partitions and nodes
$ groups                         # groups you belong to
$ hostname                       # which node you are on

2.4.2 Storage

$ du -sh .                       # size of current directory
$ du -sh /path/to/dir/*          # size of each item in a directory
$ quota                          # home directory usage
$ quota -s -g [group_name]       # group quota
$ ls -lrt                        # list files by modification time (newest last)

2.4.3 Software

$ module avail                   # list available modules
$ module load [name]             # load a module
$ which [executable]             # path to an executable

2.5 First Week Checklist

Before you start:

Getting connected:

2.6 Resources