|
Article ID: 652
Last updated: 04 Nov, 2026
The Endeavour supercomputer comprises two nodes, Endeavour3 and Endeavour4. Each of the two systems includes 896 cores and six terabytes (TB) of global shared memory. See Endeavour Configuration Details for more hardware information. Endeavour 3 & 4 are accessible through the PFEs and are served by PBS server pbspl4. They have access to the NAS compute resources home filesystem and NAS Lustre nobackup filesystems. Update to Endeavour Support Model: Due to the age of Endeavour's hardware, we are lowering the priority of those nodes in our monthly patching work. This means that Endeavour may not always be returned to service at the same time as newer systems, and the patch windows may need to be extended to account for additional time needed to bring the nodes online.
Operating SystemEndeavour 3 & 4 are running the Red Hat Enterprise Linux-based Tri-Lab Operating System Stack (TOSS4). Connecting to EndeavourTo access the systems, submit PBS jobs from the PFEs with the server name pbspl4 included in the qsub command line or PBS script. You cannot log directly into Endeavour3 and 4 from the PFEs unless you have a PBS job running there. Accessing Your DataUse your NAS home filesystems (/u/username) and your Lustre filesystem (/nobackup) for Endeavour. For more information on using Lustre filesystems, see Lustre Basics and Lustre Best Practices. Compiling and Running Your CodeThere are no default modules for compilers, Message Passing Interface (MPI) components, or math libraries. To use these modules, you must first load them. OpenMP ApplicationsLoad an Intel compiler module and use the Intel compiler -qopenmp option to build the executable. Since the Cascade Lake processors used in Endeavour3 and 4 support AVX512, you can experiment with different compiler versions and flags for better performance. For example:
or
Set a specific number of OpenMP threads in your PBS job, and use a thread-pinning method to ensure that the threads do not get in the way of each other on the same core or migrate from one core to another. For example:
See Process/Thread Pinning Overview for more information about different pinning methods. Note: The default OMP_STACKSIZE is set to 200 megabytes (MB). If your application experiences segmentation fault (segfault), experiment with increasing the $OMP_STACKSIZE value to see if it helps. Applications that Require Scientific and Math LibrariesThe Intel Math Kernel Library (MKL) is included in Intel compiler modules (versions 11.1 and later). See MKL to learn how to link to MKL libraries. In many cases, the following commands may be sufficient:
Note: By itself, the -mkl option implies -mkl=parallel, which will link to the threaded MKL library. If your application can benefit from using multiple OpenMP threads when the MKL routines are called, you should also set the environment variable OMP_NUM_THREADS, as shown in the OpenMP example in the previous section. If you want to use a non-threaded MKL library, change the -mkl option to -mkl=sequential. MPI ApplicationsHPE's latest Message Passing Toolkit (MPT) library is recommended. Load the library as shown in the following example:
During runtime, load the Intel compiler and the MPT modules and use mpiexec to launch the executable:
Running PBS JobsEach of the Endeavour nodes has 32 sockets, and each socket includes 28 cores and 192 gigabytes (GB) of physical memory. In each socket, PBS has access to 28 cores and 185 GB of memory, which is known as a minimum allocatable unit (MAU). In addition, one of the sockets is set aside for system operations, leaving 31 sockets available for user jobs. PBS does not allow jobs to share resources in the same socket. However, the amount of resources in a socket that a job will receive is restricted to the amount requested. This restriction is enforced by the Linux kernel cgroups feature. For example, if you request one core and 100 GB of memory, one socket will be assigned exclusively for your job, but 27 cores and 85 GB of memory of the socket will not be accessible by your job. When job accounting is enabled, your job will be charged by the number of MAUs assigned exclusively for your job. The maximum amount of resources a job can request is:
Endeavour PBS QueuesThe PBS server pbspl4 manages jobs for Endeavour3 and 4 (:model=cas_end) and the NAS A100 GPU nodes (:model=[mil_a100]). Among the queues listed by the command qstat -Q @pbspl4, you can run jobs on the two systems using the e_normal, e_long, e_vlong, and e_debug queues. You can also find detailed settings of each queue, such as the maximum walltime and the default or minimum ncpus and memory, using the following command line (the e_normal queue is used in the example):
PBS CommandsRun PBS commands (such as qsub, qstat, and qdel, etc.) from the PFEs and specify the PBS server, pbspl4. For example:
If you do not normally run jobs on Aitken and Electra (which also use the PFEs to submit jobs), and your primary workload is on Endeavour3 and Endeavour4, you may want to consider setting the PBS_DEFAULT environment variable to pbspl4. This allows you to simplify the PBS commands, as follows:
Job Submission ExamplesThe following examples demonstrate how PBS allocates resources for your job. Note: If you do not specify a resource attribute (such as ncpus or mem), a default value for that attribute will be assigned to your job.
Job AccountingThe Standard Billing Unit (SBU) rate for using one MAU per hour is 1.31. Your group's HECC SBU allocation is charged for usage on any HECC resources, including Electra, Aitken, and Endeavour. The output from the acct_ytd command does not have separate entries for the different systems. To find Endeavour3 and Endeavour4 usage for your group, use the acct_query command instead. For example, to view the statistics of all of your jobs that ran on Endeavour3 on March 10, 2021, type:
See Job Accounting Utilities to learn more about using the acct_ytd and acct_query tools.
Also read
|