IT Essentials

New Student IT Essentials – Setup & Troubleshooting

By: Nihal Kabir and Dylan Mack

Introduction

Although incoming Georgia Tech students likely have strong technical backgrounds, accessing essential IT resources on campus can be tricky and not all students can be expected to know everything they may find useful in a timely manner. We aim to help new students access PACE compute resources through a step-by step process of setting up Duo authentication, Georgia Tech VPN, and Eduroam Wifi. All GT students must feel comfortable using Duo as it’s a mandatory authentication step for accessing Buzzport and Canvas. This guide includes a tutorial for enrolling in two-factor authentication, and connecting GT account to the Duo mobile app. Upon successfully setting up Duo, students can use the Georgia Tech VPN, essential for accessing the VIP and Employee portals, which may be of great interest to students. Our tutorial gives an explanation of VPNs at Georgia Tech and step-by-step guides for setting up on different devices. GT also provides access to Eduroam (a free, secure, and reliable wifi on campus). To help students living on campus, we have provided guides for using Eduroam on computers and mobile devices. Finally, we wish to help students access and utilize PACE compute resources, which are essential for AI/ML classes and scientific research. Although new students may not be interested in such resources in their first semester, it can help with future-planning knowing that Georgia Tech provides powerful computers to students for free. We provide a walk-through for 1) Getting a PACE account, 2) Accessing PACE clusters via SSH, 3) Optimizing storage, 4) Loading required software, 5) Submitting compute jobs via SLURM, and 6) alternatively accessing through a web browser.

Table of Contents

  1. Understand What PACE Is
    1. Overview
    2. Compute Clusters
    3. Request Access
  2. Decide Whether You Need PACE
  3. Duo Setup
  4. VPN Setup
    1. What is a Virtual Private Network (VPN)?
    2. What is GlobalProtect?
    3. Usage Guidelines
    4. Step-by-Step Setup Guides
  5. Eduroam Setup
    1. Computer Setup
    2. Mobile Setup
  6. PACE Setup
    1. Confirm Access
    2. Access Through Command Line (SSH)
    3. Optimize Storage
    4. Load Required Software
    5. Submit Jobs via SLURM
    6. Alternative: Access Through Browser
    7. Check Documentation
  7. Troubleshooting
    1. Issues with Duo
    2. Issues with VPN
    3. Issues with Eduroam
  8. Next Steps

1. Understand What PACE Is

i. Overview

The Partnership for an Advanced Computing Environment (PACE) provides High Performance Computing (HPC) resources for the Georgia Tech community. PACE resources can be used by researcher teams and their collaborators, academic classes, independent student research projects, and more. The PACE team provides compute and storage infrastructure for four compute clusters, technical support services, a variety of software, workshops, and weekly consultation sessions.

ii. Compute Clusters

PACE maintains several computing clusters for Georgia Tech’s faculty, students, and staff. Each cluster has a different purpose to allow PACE to better support the needs of the Georgia Tech community:

Phoenix
Research Computing Cluster
Research cluster open to GT/GTRI faculty (academic & research). Free-tier and paid-account options available. Faculty can add students, staff, and collaborators to their accounts.
ICE
Instructional/Educational Cluster
Educational cluster for courses teaching high-performance computing concepts.
Firebird
Export Controlled & CUI/ITAR Secure Computing Cluster
Research cluster for Controlled Unclassified Information (CUI), International Traffic in Arms Regulations (ITAR), and export controlled data.

iii. Request Access

To request access to one or more of PACE’s clusters:

For Research


Faculty, Graduate Students, Postdocs, & Undergraduate Students with a Faculty Mentor: Faculty advisors should apply for PACE access on behalf of their students, staff, and other individuals in their research group.

Undergraduate Students without a Faculty Advisor: if you would like to use our resources but do not have a faculty advisor, you can apply to the EVPR-PACE Student HPC Innovation Program (PACESHIP) program.

For Academic Classes & Other Events


2. Decide Whether You Need PACE

AttributePACE (Phoenix Cluster)ICE Cluster (AI Makerspace)
Primary FocusTraditional HPC, big data engineering, and multi-node deep learning.Applied AI/ML prototyping, fine-tuning, and interactive deployment.
Typical Project TypesComputational physics, genomics sequencing, climate modeling, and aerospace simulations.Training custom LLMs, building computer vision pipelines, and generating synthetic data.
Workflow StyleNon-interactive Batch Jobs: Code is queued via Slurm to run unattended for days.Interactive Sandboxing: Live coding via web gateways (like Jupyter/Open OnDemand) with immediate feedback.
Core Software & FrameworksMATLAB, R, Ansys, Fluent, OpenMP, MPI, and custom C++/Fortran binaries.PyTorch, TensorFlow, Hugging Face, NVIDIA Omniverse, and CUDA-accelerated Python libraries.
Hardware StrengthsThousands of CPU cores, massive system RAM (up to 768GB+), and various GPU nodes (e.g. A100s, H200s).Top-tier AI accelerators (NVIDIA H100s and H200s) split into agile virtual GPU slices.

Summary: The AI Makerspace is a shared digital sandbox built to democratize machine learning for everyday student creation. It is mainly used for deep learning, generative AI, and computer vision prototyping. The Phoenix cluster is an enterprise scientific supercomputer reserved exclusively for rigorous academic discovery. It is optimized for diverse, long-running, multi-disciplinary scientific simulation and heavy data pipelines.

3. Duo Setup

4. VPN Setup

i. What is a Virtual Private Network (VPN)?

A virtual private network, or VPN, encrypts your connection to the Georgia Tech network so you can securely reach certain internal GT systems from off campus.

ii. What is GlobalProtect?

GlobalProtect is Georgia Tech’s secure remote access solution provided by Palo Alto Networks. This high-capacity, high-performance VPN solution is designed to support the needs of students, faculty, and staff with two ways to connect:

  • Clientless VPN (Web Portal):
    Ideal for users who only need quick access to specific web-based campus applications (e.g., Canvas, BuzzPort, DegreeWorks). This option does not require installing software.
  • VPN Client:
    Recommended when you need full access to campus resources or applications that cannot be reached through the clientless portal.

How GlobalProtect Works


GlobalProtect provides secure remote access through two components:

1. Clientless VPN Portal

  • Accessed through your web browser
  • Provides a dashboard with tiles (direct links) to popular campus web applications and lets you enter your own URL
  • No software installation required
  • Also provides download links for the full GlobalProtect app

2. GlobalProtect App (VPN Client)

  • Installed on your computer or mobile device
  • Accessed from the Windows taskbar or macOS menu bar
  • Initiates connection to portal and prompts you to authenticate with your GT credentials + Duo
  • Connects you securely to one of Georgia Tech’s VPN gateways hosted in our data centers

iii. Usage Guidelines

To ensure the best performance and avoid unnecessary network congestion between campus and your off-campus location, please adhere to the following usage guidelines:

  • No VPN:
    Use for any service (such as email, collaboration, cloud storage, and video conferencing) which can be accessed without a VPN.
  • VPN client:
    Use for any service that cannot be accessed with no VPN or with the clientless option.

iv. Step-by-Step Setup Guides

Choose the guide that matches your device and connection type:

Once you have the VPN set up, you are ready to connect to access PACE from off-campus, and can skip the Eduroam setup.

5. Eduroam Setup

i. Computer Setup

ii. Mobile Setup

6. PACE Setup

i. Confirm Access

Now that you have Duo, VPN, and Eduroam set up, you’re ready to start using PACE. If you haven’t already done so, reach out to your research advisor/PI or AI/ML class instructor to confirm access. The system should automatically create an account for you.

ii. Access Through Command Line (SSH)

Command Line Method: Open your terminal and enter ssh <your_gt_username>@login-phoenix-slurm.pace.gatech.edu (for the standard research cluster, Phoenix) or ssh <your_gt_username>@login-ice.pace.gatech.edu (for the instructional ICE cluster).

iii. Optimize Storage

Next, optimize your storage to avoid hitting strict quotas. Your personal home directory (terminal abbreviation: ~) on PACE has a very small storage quota (typically 10GB to 20GB). Large package managers and model downloads will quickly fill this up and lock your account. Immediately route your heavy caches and conda to your high-capacity (but temporary) scratch directory.

Enter line-by-line in terminal:

mkdir -p ~/scratch/.conda (if .conda folder does NOT already exist in home directory)

mv ~/.conda ~/scratch/.conda (if .conda folder already exists in home directory)

ln -s ~/scratch/.conda ~/.conda

Then enter:

mkdir -p ~/scratch/.cache (if .cache folder does NOT already exists in home directory)

mv ~/.cache ~/scratch/.cache (if .cache folder already exists in home directory)

ln -s ~/scratch/.cache ~/.cache

Note that scratch storage is typically wiped at the end of each semester, so back up important data (e.g. by saving to GitHub or GitLab).

In general, the structure for using rsync is as such:

rsync -a --progress <SOURCE COMPUTER>:<SOURCE FILES/FOLDER> <DESTINATION COMPUTER>:<DESTINATION FOLDER>

To check PACE storage and money left in account, enter pace-quota in the terminal.

iv. Load Required Software

PACE uses environment modules to manage software to prevent dependency conflicts. You don’t “install” standard frameworks globally; you load them into your current session.

To see all available software, enter module avail in the terminal. Alternatively, search for a specific software (e.g. module avail torch).

To load specific modules: enter module load followed by the name of the module (e.g. module load anaconda3). When possible, always include the module’s version number (e.g. module load python/3.11 and module load cuda/11.8) to ensure reproducibility in research.

To check loaded items: enter module list to see what is currently active in your session.

Only load the exact modules required for your current workflow. If you end up with a cluttered or broken environment, wipe your loaded modules completely by entering module purge. Alternatively, unload a specific module that is causing trouble (e.g. module unload python/3.11).

As login nodes restrict software loading, modules should only be loaded in bash scripts, which are described below in substep v.

v. Submit Jobs via Slurm

Never run heavy code on login nodes.

When you log in, you are on a “login node,” which is strictly for file management and script editing. Heavy computation here will be automatically killed after 30 minutes. You must request a compute node using the SLURM scheduler for heavy work. This can be done using interactive sessions or batch jobs. Interactive sessions require you to stay logged in and is limited by Wifi latency and time limits. It requires you to type commands in real time and is best for debugging, testing code, and exploratory data analysis. Batch jobs allow you to close your device and log off while the Slurm script runs in the background. They have higher priority for compute access and is NOT limited by latency. They are best for large-scale and long-running data pipelines.

Here is a visualization for understanding how batch jobs work:

Job Array Visualization
A job array allows a single request to access multiple compute nodes at the same time, drastically improving efficiency and increasing total resources. Credit to Gururaj Deshpande for the design.

For Interactive Sessions: Use salloc to request a node for active development. Before running an interactive session, enter salloc --help in the terminal to learn about the different parameters you can add and adjust. Here is an example usage of salloc:

# Request interactive session
salloc --account=<your_account_name> --nodes=1 --ntasks=1 --cpus-per-task=8 --mem-per-cpu=4G --time=2:00:00 --qos=inferno
# Request GPU node
salloc --account=<your_account_name> --nodes=1 --ntasks=1 --cpus-per-task=4 --mem-per-cpu=4G --gres=gpu:1 --time=1:00:00 --qos=inferno
# Exit interactive session
exit

For Batch Jobs: Write a Slurm script as a plain text file, then submit it with the sbatch command. Any computationally-intensive command should be prefixed with srun for best performance using Slurm. Here is an example:

#!/bin/bash
#SBATCH --job-name=my_job_name
#SBATCH --account=my_account_name
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=8
#SBATCH --mem-per-cpu=4G
#SBATCH --time=4:00:00
#SBATCH --qos=inferno
#SBATCH --output=job-%j.out
#SBATCH --error=job-%j.err
# Load modules
module load python/3.11
module load cuda/11.8
# Activate environment
source ~/.venvs/research-env/bin/activate
# Run your script
python train_model.py --config configs/bert.yaml

Submit it using sbatch my_job_filename.slurm.

SLURM Command Cheatsheet

  • squeue -u <GT_USERNAME – Checks jobs related to a GT username
  • scancel <JOB_ID> – Cancels a job on PACE
  • module load anaconda3 – Loads Anaconda (so you can create your own conda environments)
  • module load uv – Loads uv (so you can create your own Python environments)
  • salloc – Allocates resources for an interactive job. Specify resources with flags like --nodes, --ntasks-per-node, --time, --gpus, --gres, etc.
  • sbatch – Submits a job to the queue. Requires a .sbatch file.

Common SLURM Parameters

# CPU jobs
--nodes=1 # Number of nodes
--ntasks=1 # Number of tasks (usually 1 for Python)
--cpus-per-task=8 # CPU cores per task
--mem-per-cpu=4G # Memory per CPU core
--time=4:00:00 # Wall time (HH:MM:SS)
# GPU jobs
--gres=gpu:1 # Request 1 GPU
--gres=gpu:rtx_6000:1 # Request specific GPU type
--gres=gpu:2 # Request 2 GPUs
# Memory options
--mem=32G # Total memory for job
--mem-per-cpu=4G # Memory per CPU core

vi. Alternative: Access Through Browser

Georgia Tech Open OnDemand Guide
The Open OnDemand Guide by Georgia Tech with display links for the Phoenix and ICE clusters as circled in red.

Then click on the link corresponding to your provisioned cluster (note that the link will only work if your account is actively registered with PACE). You should then see a home page as such (example for Phoenix cluster):

Georgia Tech Phoenix Cluster Home Page
Home page for Open OnDemand if registered with the Phoenix cluster. Note the Phoenix logo and “Welcome to the Phoenix cluster” message. On the top right, it should list your GTID.

From here, you can manage files, run jobs, and use interactive apps (e.g. Jupyter, Matlab, RStudio, Interactive Shell, VSCode IDE/Editor).

vii. Check Documentation

7. Troubleshooting

i. Issues with Duo

ii. Issues with VPN

iii. Issues with Eduroam

Wifi issues are typically out of the control of students, but they should know where to check for maintenance and IT status alerts for known outages and plan accordingly. If none are found, it may be beneficial to restart your device or forget the Eduroam network and reconnect/login.

Next Steps

Hopefully by now you have set up Duo authentication, accessed the Georgia Tech VPN, connected to Eduroam Wifi, and possibly even ran a job on PACE. If not, don’t panic. PACE can seem daunting, especially if you have limited understanding of parallel processing and no prior exposure to command-line scripting. If at this point you don’t feel comfortable with using a shared compute system, we recommend experimenting and breaking stuff on your personal machine. While an interactive browser can act as training wheels for starters, it’s beneficial to understand how each action in the webpage maps to a line/snippet of code in the terminal. We recommend starting simple and following basic templates for filling in the blanks. Checking documentation and using the --help flag is critical for understanding different commands and building independence.