Accounts & Preferences
- How do I get a CHPC Account?
- How do I add someone to my CHPC group?
- How do I change my shell (to bash or tcsh)?
- How can I unsubscribe from CHPC email messages?
- What happens to my CHPC account after my course ends?
- Is your question not on this list?
How do I get a CHPC account?
If you are a PI and do not yet have a CHPC account, you can request a new account here. Once your account is approved, you can add people to your group, request a compute allocation, and/or request additional storage.
If you are not a PI (e.g. student or researcher), you can receive a CHPC account by accepting an invitation to join your PI's group. All invitations are sent via email.
If you do NOT have an active University of Utah uNID, please contact the CHPC at helpdesk@chpc.utah.edu so that we can request one for you.
How do I add someone to my CHPC group?
You can invite new members to join your CHPC group using the invitation form. The invitee will get an email with an invitation code and a web link to follow, which creates their CHPC account.
| Only PIs and delegates can request that a user be added or removed from a CHPC group. |
Being added to your CHPC group will allow the user to:
- Access your group's Slurm account and any allocated core hours you may have
- Access any group storage resources that your group may have
How do I change my shell (to bash or tcsh)?
You can change your shell by editing your profile on the CHPC Portal. This change should take effect within fifteen minutes. You will need to re-login on any resources you were using for the change to take effect - that includes terminating all FastX sessions you may have running.
If you only need to use a different shell temporarily and don't want to fully change your own shell, you can initiate a new shell by invoking
it (e.g. with the tcsh or bash command, followed by pressing 'Enter'). Alternatively, you can pass commands as arguments
to the shell language (e.g. tcsh -c "echo hello").
How can I unsubscribe from CHPC email messages?
If you no longer work on any CHPC resources, you can unsubscribe by editing your profile on the CHPC Portal.
However, if you currently work on CHPC resources, please note that e-mail announcements are essential in updating the CHPC user base to changes in our systems and services, and we strongly recommend staying subscribed. We try to keep e-mails to a minimum, at most a couple a week, unless there is a computer downtime or other critical issue.
For ease of e-mail navigation and deletion, we have adopted four standard headlines for all of our messages:
- CHPC DOWNTIME - for announcements related to planned or unplanned computer downtimes
- CHPC PRESENTATION - for CHPC lectures and presentations
- CHPC ALLOCATIONS - for announcements regarding the CHPC resource allocation
- CHPC INFORMATION - for announcements different than the three above
What happens to my CHPC account after my course ends?
To maintain system security and resource availability, student accounts created for a course are subject to cleanup at the end of each semester and may be locked or permanently deleted.
To preserve data or maintain access beyond the semester:
- Back up your files to a personal storage device or permanent archive before the semester concludes.
- Coordinate with your PI or instructor to determine if your account should be transitioned to a research-based account. If this is possible, your instructor or PI can add you to their non-class group.
Is your question not on this list?
If you need further assistance with your account, group membership, or preferences, please reach out to the CHPC User Services team at helpdesk@chpc.utah.edu. Be sure to include your uID, a detailed description of your issue, and any relevant error messages to help us resolve your request quickly.
Login, Access, and Connections
- How do I connect to the CHPC clusters?
- Why can't I log in to a CHPC cluster?
- Why am I unable to log in to the Redwood cluster?
- SSH Warning Message - "POSSIBLE DNS SPOOFING DETECTED"
- Why am I getting the message "Disk quota exceeded" when logging in?
- Why can't I access certain websites even with a campus VPN?
- Is your question not on this list?
How do I connect to the CHPC clusters?
There are several options for connecting to CHPC systems:
- SSH directly to the cluster (addresses listed here, by cluster).
- Open OnDemand
- FastX
- Windows remote desktop: One Windows system in the General Environment and another Windows system in the Protected Environment, for work with protected data.
A full list of methods for connecting to CHPC systems is detailed here.
Why can't I log in to a CHPC cluster?
There are multiple possibilities for a failure to log in to CHPC systems:
This is either due to planned or unplanned downtime or a localized failure of the login server.
In the case of a localized failure of the login node (e.g. the node you are immediately connected to when accessing CHPC systems), please attempt to connect to another CHPC node (e.g. notchpeak2 instead of notchpeak1, or a different cluster altogether). If the error persists, please make us aware by contacting us at helpdesk@chpc.utah.edu.
If you are attempting to connect to CHPC systems through the FastX software or through Open OnDemand, and your login attempts are failing, the most likely culprit is your home directory being over quota- both FastX and Open OnDemand write to your home directory.
To fix this, you need to SSH to CHPC clusters (without FastX) and clean your home directory.
With this, your lockout could be initiated by CHPC systems OR the UofU campus.
In the case of lockout from CHPC systems:
These time parameters are not made public for security reasons and vary between CHPC environments and the campus authentication, but, in general, the period of disablement is an hour or less from the last failed login attempt.
The best approach to deal with this is to try to log into a different machine (e.g., kingspeak2 instead of kingspeak1, or a different cluster altogether) or wait until login is enabled again on the login node/cluster you were first attempting to access. It is counter-productive to try to log in again to the same login node, even with the correct password, as the disablement timer will reset.
In the case of lockout from UofU campus:
To check if campus authentication works, try any of the CIS logins. If you cannot successfully log in to CIS, contact the campus help desk and inform them of the AD SSH lockout and ask them to unlock you.
If none of the above solutions work:
Contact the CHPC and make them aware of your login issues at helpdesk@chpc.utah.edu.
Why am I unable to log in to the CHPC Protected Environment?
If you are unable to access the CHPC Protected Environment, please check the following:
- Protected Environment (PE) Access: You must have access to a specific project hosted within the PE to be able to access the PE. If you do not yet have access to a project, please ask the project PI to invite you.
- VPN Connection: You must be connected to the UofU VPN to gain access to the Protected Environment.
- Login Credentials: Use your uNID only as your username; do not include @umail.utah.edu.
- Authentication: Ensure your device is ready for Duo two-factor authentication after entering your password.
Visit our Connecting to the PE page for documentation on the different methods of access.
SSH Warning Message - "POSSIBLE DNS SPOOFING DETECTED"
While this message looks scary, this error is usually benign. It occurs when the SSH keys on the machine you are trying to connect to change, most commonly with an OS upgrade on CHPC systems.

There are two methods to get rid of this message and log in:
- Open the file ~/.ssh/known_hosts in a text editor and delete the lines that contain the host name you are connecting to OR
- use the
ssh-keygencommand with a -R flag to remove the SSH keys for the given host
e.g. ssh-keygen -R kingspeak1.chpc.utah.edu
After completing the steps above, your next SSH connection should say something like the message below and let you log in:
Warning: Permanently added 'kingspeak1.chpc.utah.edu,155.101.26.110 (ECDSA) to the list of known hosts
Why am I getting the message "Disk quota exceeded" when logging in?
By default, CHPC home directories provide 50GB of free storage. When the home directory quota is exceeded, CHPC systems prevent additional files being written to the home directory.
To display quota information, you can either run the command below inside a terminal session or visit the CHPC Portal.
mychpc storage
Some access tools like FastX and Open OnDemand rely on storing small files in the user's home directory upon logging in; access to these tools will fail when your home directory is over quota.
- If your storage is over 50GB, delete or move unnecessary files.
- To find what files/directories are taking the most space in your home directory, run
the
ncducommand in your home directory to show disk space used per directory (the largest directory will be at the top).
- To find what files/directories are taking the most space in your home directory, run
the
- If you want to keep your files permanently, explore other storage solutions at CHPC
Why can't I access certain websites even with a campus VPN?
Virtual Private Network (VPN) makes your computer look like it currently resides on the University of Utah campus, even if you are off-site. However, depending on how the campus VPN is set up, you may not be able to access certain off-campus internet resources.
- To map network drives to CHPC file servers
- When using a remote desktop to connect to CHPC machines
- When connecting to the Protected Environment resources
Is your question not on this list?
If you are experiencing persistent login failures not covered in this section, please contact the CHPC User Services team at helpdesk@chpc.utah.edu. When emailing for connection support, please include your uNID, the specific cluster or node you are trying to reach, the exact error message or warning you received, and whether you are connecting from on-campus, off-campus, or via the campus VPN.
Job Scheduling & Slurm Errors
- How do I submit a Slurm job?
- Which cluster should I submit my jobs to?
- What partition should I select for my Slurm job?
- Why won't my Slurm job start?
- Why are my Slurm jobs remaining in a PENDING state for a long time?
- How do I check whether my job is running efficiently?
- Why am I receiving a "Killed" or "OOM" error from Slurm?
- How can I use all processors in a multi-node job with different CPU core counts per node?
- How do I request a GPU for my job?
- How can I extend the time limit (walltime) for a running job that is about to time out?
- Is your question not on this list?
How do I submit a Slurm job?
There are two basic methods for requesting computational resources through Slurm:
- Batch mode, a non-interactive method
- Interactive mode
The method you choose depends on your use case. Please see the documentation above for further information on the two methods. Additionally, we have an instructional video on Slurm.
Visit our Slurm Documentation page for additional information on using Slurm to request computational resources on CHPC systems.
Which cluster should I submit my jobs to?
Does your job belong in the General Environment or Protected Environment? If working with Protected Health Information (PHI) or Personally Identifiable Information (PII), it belongs in the PE on our Redwood cluster. If working with data subject to NIST 800-171 standards, such as controlled-access dbGap data, it belongs in Citadel.
If your job belongs in the General Environment, you can submit to any of our four general environment clusters - Granite, Notchpeak, Kingspeak, or Lonepeak - depending on your allocation. Granite and Notchpeak require an allocation, while Kingspeak and Lonepeak do not require an allocation.
You can view how busy each of our clusters through the mychpc batch command. We recommend submitting your job to the least busy cluster to reduce wait
time.
What partition should I select for my Slurm job?
Selecting the correct partition for your Slurm job submission is one of the first
questions new HPC users ask themselves. The first step is to check what Slurm partitions
that you have access to through the mychpc batch command.
Once you see the partitions that you have access to, answering these three questions can typically narrow down your choice of partition:
- What 'GENERAL' partitions do I have access to? These are partitions with high priority access that are not subject to preemption.
- Do I require CPUs or GPUs for my work?
- Which partition is the most idle right now? This will lessen the potential wait time for your job to begin.
If you are still unsure which partition to choose, please use our handy tool for picking which partition is right for you.
Below details the naming schema for each partition. The naming schema is a quick way to understand 1) the type of resources available on that partition and 2) your level of access to that partition.
Note that, below, <cluster> refers to any of the CHPC clusters (currently Granite, Notchpeak, Kingspeak, Lonepeak, and Redwood).
- Partition: <cluster>
- Only contains CPUs.
- Partition: <cluster>-guest
- Only contains CPUs.
- This partition allows for jobs to be run in 'guest-mode' on owner nodes.
- Jobs run on owner nodes are subject to preemption.
- Partition: <cluster>-gpu
- Contains CPUs and GPUs.
- To use a GPU, add --gres=gpu to your Slurm command.
- Partition: <cluster>-gpu-guest
- Contains CPUs and GPUs.
- This partition allows for jobs to be run in 'guest-mode' on owner nodes.
- Jobs run on owner nodes are subject to preemption.
- Partition: <cluster>-dtn
- This partition is connected to our Data Transfer Nodes and is useful for transferring large amounts of data at fast speeds, high performance, and low latency.
- Do not run computational jobs on the dtn nodes. They are for data transfer only.
- Partition: <cluster>-freecycle
- Your job should run on the freecycle partition only if you ran out of an allocation for the Granite, Notchpeak, or Redwood clusters.
- Freecycle jobs do not require an allocation, but are subject to preemption.
Why won't my Slurm job start?
There are many reasons why your Slurm job may not have begun. Here is a common list of reasons that may have prevented your Slurm job from starting:
This error message can indicate one of three things:
-
-
You supplied the incorrect account name or account/partition information to Slurm.
- Solution: If you suspect that you supplied the incorrect account name or account/partition information
to Slurm, you can check your allocation with the
mychpc batchcommand.
- Solution: If you suspect that you supplied the incorrect account name or account/partition information
to Slurm, you can check your allocation with the
-
You are attempting to run a job on the Notchpeak, Granite, or Redwood general partitions, but your group does not have an allocation or has used all of their allocation for the current quarter.
- Solution: To view your allocation status and see if you have run out of allocation for the current quarter, see your group information on the CHPC Portal. Your group may want to consider completing a small allocation request to supply your group with a small allocation for the remainder of the quarter. Submitting a larger allocation request will automatically grant you a small allocation for the current quarter (if you do not have one) and will put your large request in for the following quarter.
-
The partition you selected is on a cluster different from the cluster you are submitting the job from.
- Solution: Either update the partition, account, and QoS combination requested or use
the -M flag in your sbatch command. e.g., if you are logged into the Notchpeak cluster,
but are using the kingspeak partition, you can submit your Slurm script (called MySlurmScript.sh
in this example) with this command:
sbatch -M kingspeak MySlurmScript.sh
- Solution: Either update the partition, account, and QoS combination requested or use
the -M flag in your sbatch command. e.g., if you are logged into the Notchpeak cluster,
but are using the kingspeak partition, you can submit your Slurm script (called MySlurmScript.sh
in this example) with this command:
-
Your job is requesting more nodes than is permitted per cluster. The request limit is typically about half of the total general nodes available, e.g., 32 on Notchpeak, 24 on Kingspeak, and 106 on Lonepeak. Your job will not start unless an exception is approved via a special reservation or QOS.
This is typically because 1) the node is either down and requires maintenance or 2) your job's requested walltime overlaps with an existing reservation on that node, e.g. for a scheduled downtime. Check the CHPC status page for updates on scheduled downtimes.
While interactive jobs (srun) will fail immediately, batch scripts (sbatch) will enter the queue showing a ReqNodeNotAvail reason code.
Why are my Slurm jobs remaining in a PENDING state for a long time?
Job wait times are determined by the Slurm scheduler based on resource availability and priority. Check your job status using
squeue -u your-username.
- High Resource Requests: Requesting excessive memory, CPU cores, or long wall-times can lower your priority or restrict your job to a few available nodes. Reducing these requests can help your job start sooner.
- Resource Availability: A status of
(Resources)indicates the scheduler is waiting for nodes that meet your specific requirements. Note that general availability charts may not account for node fragmentation. - Queue Priority: A status of
(Priority)means other jobs with higher priority scores are ahead of yours in the queue.
The CHPC sometimes has to perform necessary maintenance on compute nodes to keep them in a health state - for instances such as this, we put reservations in place to prevent jobs from running during maintenance.
As a maintenance window approaches, you may notice that jobs will not be started by the scheduler, Slurm, if they overlap with the reservation window. This is intentional: it serves to ensure that no jobs are running when the clusters are undergoing maintenance, which would cause running jobs to be interrupted and could potentially result in incomplete or corrupt files.
Jobs that will finish before maintenance begins (i.e., jobs that do not overlap with
reservations) will still be started by Slurm, while longer jobs will remain in the
Slurm queue until maintenance is complete and reservations are released. If you see
a message like ReqNodeNotAvail, May be reserved for other job or ReqNodeNotAvail, Reserved for maintenance when submitting or viewing the status of a job, please try shortening the runtime
of the job (if possible for your job) so it does not overlap with a maintenance-related
reservation.
How do I check whether my job is running efficiently?
The simplest method is to check the efficiency of your jobs on https://portal.chpc.utah.edu.
You can also use command-line tools to view performance metrics. If your job is underperforming, one possibility is that you are not utilizing all of the available CPUs that you requested. To find this information, run the following command:
pestat -u $USER
Any information shown in red is a warning sign.
Hostname Partition Node Num_CPU CPUload Memsize Freemem Joblist
State Use/Tot (MB) (MB) JobId User ...
kp016 kingspeak* alloc 16 16 1.00* 64000 55494 7430561 u0123456
kp378 schmidt-kp alloc 28 28 1.00* 256000 250656 7430496 u0123456
Another possibility is that the job is running low on memory, although we now limit
the maximum memory used by the job via Slurm so this is much less common than it used
to be. However, if you notice low free memory along with low CPU utilization, like
in the example below, try to submit on nodes with more memory by using the #SBATCH --mem=xxx option.
Hostname Partition Node Num_CPU CPUload Memsize Freemem Joblist
State Use/Tot (MB) (MB) JobId User ...
kp296 emcore-kp alloc 24 24 1.03* 128000 2166* 7430458 u0123456
Why am I receiving a "Killed" or "OOM" error from Slurm?
If your job terminates prematurely, check your standard output logs for "Killed" or "OOM". This indicates your job exceeded its allocated memory limit and was automatically stopped by the system.
The memory you request enforces strict memory limits on cluster nodes to ensure fair access and stability. In rare cases where Slurm's memory checks fail to catch an over-limit job, excessive memory consumption can degrade node performance or cause it to crash entirely, triggering a system administration warning.
-
Monitor Live Resource Usage: Run the
pestatcommand in your terminal to check the memory load of your active jobs. -
Inspect the Node Directly: If memory consumption appears critically high, SSH directly into the affected compute node and run the
topcommand. Look for high memory utilization alongsidekswapdprocesses consuming CPU time, which indicates that the program is using too much memory. -
Cancel Problematic Jobs: If a runaway job is overwhelming a node, cancel it immediately to prevent crashing the system.
-
Adjust Your Memory Allocation: Modify your submission script to request appropriate memory using the
#SBATCH --mem=xxxdirective, or optimize your code to reduce its memory footprint.
How can I use all processors in a multi-node job with different CPU core counts per node?
In some cases (e.g. when an owner has several generations of nodes) it is desirable to run a multi-node job that spans nodes with different CPU core counts. To utilize all the CPUs on these nodes, instead of defining the job's process count with the SLURM_NTASKS variable provided by Slurm, one has to explicitly specify the total CPU core count on these nodes.
The first step is to specify only --nodes, not--ntasks, in the Slurm #SBATCH parameters. The second step is to calculate how many CPU cores
are available on all the job's nodes. This variable is supplied (e.g., to mpirun)
to specify the number of tasks.
#!/bin/bash
#SBATCH --nodes=12
....
JOB_TASKS=`echo $SLURM_JOB_CPUS_PER_NODE | sed -e 's/[()]//g' -e 's/x/*/g' -e 's/,/+/g'
| bc`
mpirun -np $JOB_TASKS program_to_run
How do I request a GPU for my job?
To request a GPU for your job, you must modify your Slurm parameters to include two changes:
- The partition you request must have 'gpu' in the name, e.g. notchpeak-gpu. These partitions have GPUs available.
- Add --gres=gpu to request that Slurm make use of the GPU. Optionally, you can expand this to --gres=gpu:<gpu-type>-<num-gpus> (e.g. --gres=gpu:a100:1) to request a specific GPU model and a certain number of GPUs.
Access our GPU Documentation page for information on how to request and access GPUs.
How can I extend the time limit (walltime) for a running job that is about to time out?
If a running job requires more time than the standard limit, you can request a manual extension by providing the following information to the CHPC at helpdesk@chpc.utah.edu:
- The Job ID
- The cluster where the job is running
- The desired new runtime or the amount of additional time needed
It is recommended to request an extension after the job has started and you have determined that your job will exceed the time limit. Requesting an excessively long runtime before submission may lower the job’s priority in the queue. Extensions cannot be granted for jobs that have already completed or failed.
Is your question not on this list?
If you are experiencing persistent job queuing delays, allocation issues, or unexpected Slurm errors not covered in this section, please contact the CHPC User Services team at helpdesk@chpc.utah.edu. When emailing for job scheduling support, please include your uNID, the specific cluster or partition you are targeting, your Slurm job ID (if applicable), and the relevant job script or error message to help us diagnose the issue efficiently.
Storage & Files
- Why can I not access my group storage space?
- Why do I keep getting the error message "file cannot be accessed" or "file does not exist"?
- Why can't I access files from my group or scratch spaces in Jupyter or RStudio?
- Why is the Emacs editor very slow upon startup?
- Why is opening a file in Emacs very slow?
- Why does my program crash because /tmp filled up?
- Is your question not on this list?
Why can I not access my group storage space?
We do not keep group spaces mounted permanently. Because of the use of autofs, group spaces may not immediately appear in file browsers or when using tab completion. Instead, group spaces are automatically mounted with autofs immediately upon access.
To auto-mount your group space, either list the contents of your group space or change directories to your group space by using the full name:
cd ~/../my-group1.
ls ~/../my-group1
If the above does not work, please contact us at helpdesk@chpc.utah.edu.
Why do I keep getting the error message "file cannot be accessed" or "file does not exist"?
This error message may have many incarnations, but it may look something like this:
ERROR on proc 0: Cannot open input script in.npt-218K-continue (../lammps.cpp:327)
The most likely reason this error occurs is due to a typo or incorrect path to the file within the script and/or command you are using. It can also (rarely) occur randomly. Please ensure that all file names and paths are typed correctly within your script before checking the solution below.
This error can be a result of the way the file system writes files. For performance reasons, it writes parts of the file into a memory buffer, which gets periodically written to the disk. If another machine tries to access the file before the machine writes the file to the disk, this error occurs. The CHPC uses NFS storage for all our home directories and group spaces; this error is well described here.
There are several ways to deal with this:
- Use the Linux sync command to forcefully flush the memory buffers to the disk. Do this on the machine where the file writing and file reading occurs before the file is accessed. If multiple nodes are requested, add the following line to your Slurm batch script to ensure that all compute nodes in the job sync: "srun -n $SLURM_NNODES --ntasks-per-node=1 sync".
- Sometimes, adding the Linux sleep command can help to provide an extra time window for the syncing to occur.
- Inside the code, use fflush for C/C++ or flush for Fortran. For other languages, such as Python and MATLAB, Google the language with "for flush" to see what options are available.
If none of these options help, please try another file system to see if the error persists (e.g.,/scratch/general/vast or /scratch/local), and then let us know.
Why can't I access files from my group or scratch spaces in Jupyter or RStudio?
Unfortunately, both Jupyter and RStudio Server set your home directory as the root
of their file system, so you can't step "one directory down" and then browse back
up to the group file spaces.
There's a trick to get these portals to access the group space, or a scratch space:
create a symbolic link from that space to your home directory.
To do this, in a terminal window, run one of the following commands to symbolically link your group or scratch spaces to your home directory:
ln -s /uufs/chpc.utah.edu/common/home/my-group1 ~/
ln -s /scratch/general/vast/$USER ~/vast
You can replace my-group1 with the appropriate group space name. You'll then see the my-group1 directory in the root of your home and access it this way.
If using a different scratch space other than the vast, make sure to update the path accordingly.
Why is the Emacs editor very slow upon startup?
Emacs's initialization steps include accessing many files, which can be slow in the network file system. The workaround is to run Emacs in server mode (as a daemon), and start each terminal session using the emacsclient command. The Emacs daemon stays in the background even if one disconnects from that particular system, so it needs to be started only once per system start.
alias emacs emacsclient -a \"\"
Note the escaped double quote characters (\"\"). This will start Emacs as a daemon if it's not started already, and proceed to run in client mode.
Note that by default emacsclient starts in the terminal. To force start Emacs GUI, add the "-c" flag, e.g., (assuming the aforementioned alias is in place)."
emacs -c myfile.txt
Another solution, suggested by a user, is to add this line to your .emacs file in your home directory:
(setq locate-dominating-stop-dir-regexp "\\`\\(?:/uufs/chpc.utah.edu/common/home/[^\\/]+/\\|~/\\)\\'")
Why is opening a file in Emacs very slow?
We have yet to find the root of this problem, but it's likely caused by the number of files in a directory and the type of the file that Emacs is filtering through.
Read the file without any content conversion:
M-x find-file-literally <Enter> filename <Enter>
After opening the file, you can tell Emacs to encode the file accordingly, e.g., to syntax highlight shell scripts:
M-x sh-mode <Enter>
To make this change permanent, open the ~/.emacs file to add:
(global-set-key "\C-c\C-f" 'find-file-literally)
Why does my program crash because /tmp filled up?
Linux defines temporary file systems at /tmp or /var/tmp, where temporary user and system files are stored. CHPC cluster nodes set up temporary
file systems as a RAM disk with limited capacity. All interactive and compute nodes
also have spinning disk local storage at /scratch/local.
If a user program is known to need temporary storage, it is advantageous to set the
environment variable TMPDIR, which defines the location of the temporary storage, and point it to /scratch/local, which has a larger size than /tmp.
Or, even better, create a user-specific directory, /scratch/local/$USER, and set /scratch/local to that as shown in our sample at /uufs/chpc.utah.edu/sys/modulefiles/templates/custom.[csh,sh] .
Is your question not on this list?
If you are experiencing persistent file access errors, missing file errors, or storage quota issues not covered in this FAQ, please contact the CHPC User Services team at helpdesk@chpc.utah.edu. When emailing for storage support, please include your uNID, the specific file path or directory in question (such as group space or scratch), and any exact error messages you encountered to help us trace and resolve the issue quickly.
Allocations & Policy
- What is a compute allocation?
- How do I get a compute allocation?
- Why am I getting a usage policy violation from Arbiter?
- Is your question not in this list?
What is a compute allocation?
An allocation is a dedicated portion of the CHPC's compute resources that is granted to a specific research group for a defined period of time. Allocations grant researchers dedicated, high-priority access to CHPC compute resources. There is no cost for allocations, though requests require review. Small requests are reviewed internally by CHPC staff, while larger requests are reviewed by a committee of researchers from various academic departments.
Allocations are required to work on CHPC-owned nodes for the following resouces:
- Granite, Notchpeak, and Redwood CPU resources
- Granite GPU resources
How do I get a compute allocation?
An allocation is needed at the CHPC to work on the Granite, Notchpeak, and Redwood clusters. The CHPC awards allocations on our systems based on proposals submitted to a review committee. Allocations can be applied for here. Small allocations (<=30,000 CPU hours and <=300 GPU hours) are automatically granted if you do not yet have an allocation. Please note that allocation requests must be completed by the PI or their designated delegate.
Please refer to our Allocation Documentation and our Allocations Policy for further information on CHPC allocations.
Why am I getting a usage policy violation from Arbiter?
We monitor usage of the CHPC cluster login nodes as they are a shared and limited resource.
Our monitoring system, Arbiter, sends warnings if a user's CPU or memory usage exceeds limits on our login nodes. Even if one does not run time-consuming calculations, sometimes applications such as FastX or VSCode put enough load on the system to trigger these warnings.
In the email you received from Arbiter, there will be a section detailing the high-impact processes that caused Arbiter to trigger. In the example below, you can see that the user was running a Python process that exceeded the limits we place on our login nodes. At this point, it would be appropriate for the user to terminate any Python process running on the login node and start the same job in an interactive session or on a compute node via Slurm.

A high-performance computing (HPC) cluster consists of many computers, known as nodes. Most of the nodes are compute nodes, which can be used for large or long-running computations. Other nodes include the login nodes, a shared resource that allows users to login to the CHPC and edit files, develop and debug software, and request computational nodes for jobs. They are, in effect, the front doors to an HPC cluster; they are not where you should run large calculations.
You are receiving this message because you are running a large or long-running processes on a login node. This can affect the responsiveness of the nodes for other CHPC users. It is required that you use compute nodes for your computations at the CHPC.
To use compute nodes, you will need to interact with the job scheduler, Slurm. Slurm allocates resources by accounting for availability and the size of your job. We have documentation about Slurm on the CHPC website, and we recommend attending our introductory Slurm presentations if you haven’t used an HPC cluster before or would like a review of Slurm.
You will no longer receive emails from Arbiter when you cancel any running processes that are triggering Arbiter. If you are unsure what processes are triggering Arbiter, follow the steps below to identify them:
-
- Log into the Login Node
- Login to the exact node that is listed in the Arbiter email - processes are node-specific and cannot be managed from another machine
- If the warning was triggered by a stray FastX session, log into that specific node via FastX and explicitly terminate the session.
- Identify the processes that are using significant resources
- Use the command below to identify the process ID (PID) of each process that is triggering Arbiter:
ps -Fu $USER
-
Stop the Process
-
Use the kill command followed by the process's ID (PID):
-
Standard stop:
kill <PID>(replace <PID> with your actual PID) -
Force stop: If the process is unresponsive, use
kill -9 <PID>to terminate it immediately (replace <PID> with your actual PID)
-
- Log into the Login Node
Some processes may continue running for some time, even if you’ve logged out of the node and don’t believe you have any processes running. Please see the instructions above for finding and stopping running background processes.
If you are still unsure what is triggering the Arbiter warnings, please contact us at helpdesk@chpc.utah.edu.
Is your question not on this list?
If you have questions regarding compute allocations, project setup, or need help resolving a system usage policy notice from Arbiter that is not covered in this section, please contact the CHPC User Services team at helpdesk@chpc.utah.edu.
Software & OnDemand
- Why does my RStudio Server session not start, or crash on start?
- Why does my Jupyter session immediately go from "Starting" to "Complete"?
- Why is my RStudio or Jupyter session on Open OnDemand not able to save files?
- Why are my calculations running more slowly than expected?
- Why do I keep getting a "No such file or directory" error while loading shared libraries?
- Why do I get a "libc.so.6: version GLIBC_2.33 not found" error when trying to run a program?
- Is your question not on this list?
Why does my RStudio Server session not start, or crash on start?
Sometimes, the RStudio Server session files stored in the user's home directory get corrupted, preventing new RStudio Server sessions from starting. This is especially common if you choose to automatically save the workspace and don't terminate the RStudio Server session before deleting the job that runs it.
Many of these situations can be prevented if you terminate the RStudio session via its menu File - Quit Session, rather than just closing the web browser tab and deleting the job.
First, try to remove the session files by running
rm -rf ~/.local/share/rstudio/sessions/*.
If that does not help, move the whole RStudio settings directory.
mv ~/.local/share/rstudio ~/.local/share/rstudio-old.
Be aware that this will reset some customizations you may have done. If this does not work, move the user settings,
mv ~.config/rstudio ~/.config/rstudio-old.
If none of these steps work, contact our help desk. We have seen cases where the RStudio project files were saved in locations that became corrupted and they had to be removed by a member of the CHPC staff.
Why does my Jupyter session immediately go from "Starting" to "Complete"?
If you start a Jupyter session on Open OnDemand and notice that the session immediately goes from "Starting" to "Completing", the most likely cause is that the python version used in the Jupyter session does not have the jupyter executable installed.
OnDemand saves session files to your home directory. One of these session files is called output.log - this file contains a log of your specific app session. You can inspect the output.log file to understand why your job failed. Follow these steps to inspect your output.log file:
1. Initiate a terminal session. In OnDemand, you can do this by clicking 'Clusters' -> 'Shell Access'
2. Move to the directory that contains the correct output.log file. Replace <SESSION-ID> with the correct OnDemand session, located on the job tile in OnDemand:
cd ~/ondemand/data/sys/dashboard/batch_connect/sys/jupyter_app/output/<SESSION-ID>
3. View the output.log file:
cat output.log
4. Inspect the contents of the output.log file. Typically, if jupyter is missing,
one of the last lines in the file will say something similiar to: "Error: jupyter: command not found".
If you are using a CHPC-installed python module, try changing the python version you are selecting. Some of the newest python versions do not have jupyter installed.
If you are using a custom environment, such as conda, mamba, or pyvenv, you will need to install jupyter into the custom environment.
Why can I not save files on my RStudio or Jupyter session on Open OnDemand?
Why this error occurs: The campus sets a timelimit for authentication to your account - about 2 hours in the General Environment and 30 minutes in the Protected Environment. When logged into Open OnDemand, you may not be able to save files if your campus authentication has timed out.
Follow these steps to restore your connection without losing your current progress:
-
Refresh the Main Page: Go back to your main Open OnDemand tab and reload the page.
-
Re-Authenticate: Log back in with your credentials when prompted.
-
Open Your Dashboard: Navigate to the My Interactive Sessions tab in Open OnDemand.
-
Relaunch the Session: Find your active session in the list and click the blue Launch button. This will open your session in a new browser tab, preserving your current workspace and state.
-
Close the Old Tab: Immediately close the old browser tab.
Important: Do not continue working or trying to save files in the old tab. Because it is unauthenticated, any edits made there will be lost and cannot be saved to the server.
Why are my calculations running more slowly than expected?
If your jobs are taking longer than anticipated, first check your compute node efficiency for clues. Slowdowns generally stem from user configuration choices, parallelization bottlenecks, or occasional hardware/software issues.
- 1. Lack of Parallelization: HPC clusters achieve speed by distributing workloads across multiple processors. If your code runs serially, it won't leverage the hardware. Depending on your workflow, you can parallelize using independent tasks, OpenMP, MPI, or interpreted languages like Python, R, or MATLAB.
Resource: Review our Introduction to Parallel Computing lecture or contact us for guidance.
-
2. Incorrect Task Counts or Hardcoded Values: Failing to supply the correct number of tasks or hardcoding task counts directly into code instead of using dynamic variables leads to poor execution. Always utilize Slurm environment variables like
$SLURM_NTASKSor$SLURM_CPUS_PER_NODEin your Slurm scripts and program input files. -
3. Inefficient Parallelization: Poorly implemented parallel logic (especially with MPI) can create severe communication overhead. If you need help profiling and optimizing your code's parallel performance, please contact us.
-
4. Hardware or Software Cluster Issues: If you have thoroughly ruled out code and configuration errors, the slowdown may stem from cluster-level hardware degradation or software environment bugs.
If you need assistance diagnosing performance issues, contact the CHPC User Services team at helpdesk@chpc.utah.eduwith your uNID, job ID, and job script details.
Why do I keep getting a "No such file or directory" error while loading shared libraries?
This error indicates that your program cannot locate a required shared library dependency
(e.g., error while loading shared libraries: libnetcdf.so.19: cannot open shared object file:
No such file or directory).
1. Inspect Dependencies (ldd): Run the ldd command on your executable to see a full list of required shared libraries and identify
which one is missing:
ldd myprogram
2. Load the Correct Module:
LD_LIBRARY_PATH environment variable so your program can find the necessary files.
rpath When Building from Source:-Wl,-rpath=PATH.
When using the NetCDF library, load your modules (gcc/8.5.0 and netcdf/4.9.0) and include -Wl,-rpath=$NETCDF_ROOT/lib in your link line or with LDFLAGS. The $NETCDF_ROOT variable (defined by the module) automatically points to the correct directory.
Why do I get a "libc.so.6: version GLIBC_2.33 not found" error when trying to run a program?
This error occurs because your program was compiled on a newer operating system than
what the CHPC clusters run. Core C libraries (glibc) are backward-compatible but not forward-compatible, meaning programs built on a newer OS cannot execute on an older one.
If the program supplies binaries for different Linux OSes, try to get one that's close to Rocky Linux 8/RHEL8 that we run. A list of Linux distributions and their respective glibc versions can be found here.
-
The Mismatch: CHPC clusters run Rocky Linux 8, which utilizes
glibc 2.28. An error referencingGLIBC_2.33indicates that your binary requires a newer environment than the cluster currently provides.
These are the possible methods that you can take to resolve this error:
- Choose a Compatible Binary: If the software provides multiple downloads, select a pre-compiled binary built for an OS version closer to RHEL 8 / Rocky Linux 8.
- Run via a Container: If alternative binaries or source builds are impractical, run the program inside a container (such as Apptainer) configured with the specific OS the program was built for.
-
Build from Source: Attempt to compile the program natively on our systems, or use a package manager like Spack to manage and build dependencies correctly.
Is your question not on this list?
If you are experiencing persistent session crashes, environment configuration failures, consistent issues with interactive apps on Open OnDemand, or have shared library errors not covered in this section, please contact the CHPC User Services team at helpdesk@chpc.utah.edu. When emailing for software support, please include your uNID, the specific interactive application or software module you are using, the exact error messages encountered, and the steps to reproduce the issue so we can help you get back up and running.