Instructions for obtaining user accounts are on the Getting an Account page.
There are four login nodes for the Perigrine system: peregrine-login1.nrel.gov, peregrine-login2.nrel.gov, peregrine-login3.nrel.gov and peregrine-login4.nrel.gov.
Access to Peregrine is available only from within the NREL firewall, by the Secure Shell (SSH) protocol 2. Unix/Linux systems typically have SSH built-in. For Windows systems, an SSH client such as PuTTY needs to be installed.
To access Peregrine from outside NREL, follow the instructions on the Connecting to HPC VPN page.
Example commands to access Peregrine from a Linux or Mac OS X system at NREL are:
% ssh -l username peregrine-login[1-4].nrel.gov
% ssh -Y email@example.com
Idle login sessions will be automatically logged out.
Sample first code
Create a file called hello.F90 containing the following code:
end program hello
Compiling first code with the default compiler (Intel)
% ifort -o hello hello.F90
Submitting a job
Peregrine uses Moab for job scheduling and workload management and Torque for resource management. Jobs can be submitted to Torque using qsub.
% qsub <batch_file> -A <project-handle>
The Moab script or batch file may be submitted using the qsub command, as shown above. This file may contain options in PBS/Toque job submission language (which we use in examples provided here) or in LSF or LoadLeveler job submission language. These options, which are preceeded with "#PBS", are used to specify resource limits such as wall clock time, number of nodes, etc. Command line arguments have precedence over script options.
Commonly used options include
-e error_path (location of STDERR stream)
-o output_path (location of STDOUT stream)
-j oe (join STDERR and STDOUT)
-I create interactive job (will be converted to qsub -I request)
-V (export all environment variables from the qsub environment to the batch job)
-l resource_list (defines resources needed by job and establishes limit to amount of resources that can be consumed)
-A project-handle (indicates what project allocation to charge usage to)
Sample Job Script:
#PBS -l walltime=3600 # WALLTIME LIMIT
#PBS -N serialjob # Name of job
For more information and sample batch scripts go to the running jobs on Peregrine page.