Getting Started
In order to use the NREL HPC systems, you will need to request a user account. For a guide to accessing our systems, please see our User Basics guide
Below we've collected answers for many of the most frequently asked questions.
Frequently Asked Questions
What is high-performance computing?
Generally speaking, HPC infrastructure is coordinating many discrete units capable
of independent computation to cooperate on portions of a task to complete far more
computation in a given amount of time than any of the units could do individually.
In other words, an HPC system is lots of individual computers working together.
Is NREL HPC related to the Information Technology Services Desk?
HPC Operations and Information Technology Services (ITS) are separate groups with
different responsibilities. ITS will handle issues with your workstation or any other
digital device you are issued by NREL. HPC Operations will assist with issues regarding
HPC systems. Note that your NREL HPC account is a different account from your ITS credentials
that you use to login to your workstation, e-mail, and the many other IT services
provided by the Service Desk.
What are project allocations?
Over the fiscal year, there is a given amount of time each computer in the HPC system(s)
can be expected to be operational and capable of performing computation. HPC project
allocations allocate a portion of the total assumed available computing time. The sum of all awarded project
allocations' compute-time approximates the projected availability of the entire system.
Project allocations are identified by a unique "handle" which doubles as a Linux account
under which you submit HPC jobs related to the project to the job scheduler. Learn
more about requesting an allocation.
How can I access NREL HPC systems?
Begin by requesting an NREL HPC account.
Then, consult our guide on how to connect to NREL HPC systems.
What is a one-time password (OTP) token?
OTP tokens are a means of two-factor authentication by combining a temporary (usually
lasting 60 seconds) token to use along with your account password. Tokens are generated
using the current time stamp and a secure hashing algorithm. Note that you only need an
OTP to access systems outside the NREL firewall, namely if you are an external collaborator.
NREL employees can be on-site or use a VPN to access HPC systems via the *.hpc.nrel.gov domain.
What is a virtual private network (VPN)?
VPNs simulate being within a firewall (which is an aggressive filter on inbound network
traffic) by encapsulating your traffic in a secure channel that funnels through the
NREL network. While connected to a VPN, internal network domains such as *.hpc.nrel.gov
can be accessed without secondary authentication (as the VPN itself counts as a secondary
authentication). NREL employees may use the NREL VPN while external collaborators
may use the NREL HPC VPN using their OTP token. This provides the convenience of not
having to continually type in your current OTP token when accessing multiple systems
in a single session.
What is a "job?"
This is the general term used for any task submitted to the HPC systems to be queued
and wait for available resources to be executed. Jobs vary in how computationally
intensive they are.
What is a "node?"
A node is a complete, independent system with its own operating system and resources,
much like your laptop or desktop. HPC nodes are typically designed to fit snugly in
tight volumes, but in principle you could convert several laptops into a cluster,
and they would then be "nodes."
What are "login" and "compute" nodes?
Login nodes are the immediate systems your session is opened on once you successfully
authenticate. They serve as preparation systems to stage your user environment and
launch jobs. These login nodes are shared resources, and because of that the HPC team
employs a program called Arbiter2 to ensure that these resources aren't being used
inappropriately (see 'What is proper NREL HPC login node etiquette' for more detail).
Compute nodes are where your jobs get computed when submitted to the scheduler.
You gain exclusive access to compute nodes that are executing your jobs, whereas there
are often many users logged into the login nodes at any given time.
What is proper NREL HPC login node etiquette?
As mentioned above, login nodes are a shared resource, and are subject to process
limiting based on usage. If you do computationally intensive work on these systems, it will unfairly
occupy resources and make the system less responsive for other users. Please reserve
your computationally intensive tasks (especially those that will fully utilize CPU
cores) for jobs submitted to compute nodes. Offenders of login node abuse will be
admonished accordingly. For more information please see our policy on what
constitutes inappropriate use.
What is "system time?"
System time is a regularly occurring interval of time during which NREL HPC systems
are taken offline for necessary patches, updates, software installations, and anything
else to keep the systems useful, updated, and secure. You will not be able to access
the system or submit jobs during system times. A reminder announcement is sent out prior to every system time detailing
what changes will take place, and includes an estimate of how long the system time will be.
You can check the system status page if you are ever
unsure if an NREL HPC system is currently down for system time.
How can I more closely emulate a Linux/macOS workflow on my Windows workstation?
As you become familiar with navigating the HPC Linux systems you may come to prefer
to use the same command-line interfaces locally on your workstation to keep your workflow
consistent. There are many terminal emulators that can be used on Windows which provide
the common Linux and macOS command-line interface. The official Linux command-line
emulator for Windows is known as the Windows Subsystem for Linux.
Other recommended terminal applications include: Git Bash, Git for WIndows,
Cmder, and MYSYS2. Note that PuTTY is not a terminal emulator,
it is only an SSH client. The applications listed above implement an ssh
command,
which mirrors the functionality of PuTTY.
What is the secure shell (SSH) protocol?
Stated briefly, the SSH protocol establishes an encrypted channel to share various
kinds of network traffic. Not to be confused with the ssh
terminal command or
SSH clients which are applications that implement the SSH protocol in software to
create secure connections to remote systems.
Why aren't my jobs running?
Good question! There may be hundreds of reasons why. Please contact HPC support
with a message containing as many relevant details as you can provide so we are more
likely to be able to offer useful guidance (such as what software you're using, how
you are submitting your job, what sort of data you are using, how you are setting
up your software environment, etc.).