StarLife
System Overview
StarLife is a cluster based on Intel Xeon Gold processors from the Skylake generation with a Linux Operating System and an Infiniband interconnection network.
It has the following configuration:
- 2 login node and 48 compute nodes, each of them:
- Dual socket Intel Xeon Gold 6138 CPU with 20 cores each @ 2.00GHz for a total of 40 cores per node
- 160GB of main memory 4 GB/core (16 nodes fat memory, 8GB/core)
- SSD 120GB as local storage
- 2.4 PB of GPFS disk storage
- Dual 10 Gbit Ethernet
- Intel Omni-Path network. Full fat tree topology.
- GPFS via Intel Omni-Path
The operating system is SUSE Linux Enterprise Server 12 SP3.
The processors support well-known vectorization instructions such as SSE, AVX up to AVX-512.
Compilation for the architecture
To generate code that is optimized for the target architecture and the supported features such as SSE, MMX, AVX instruction sets you will have to use the corresponding compile flags. For compilations of MPI applications an MPI installation needs to be loaded in your session as well. For example Intel MPI via module load impi
Intel Compilers
The latest Intel compilers provide the best possible optimizations for the Xeon Gold architecture. By default, when starting a new session on the system the basic modules for the Intel suite will be automatically loaded. That is the compilers (intel/2018.3), the Intel MPI software stack (impi/2018.3) and the math kernel libraries MKL (mkl/2018.3) in their latest versions. We highly recommend linking against MKL where supported to achieve the best performance results.
To separately load the Intel compilers please use
module load intel
The corresponding optimization flags for icc are CFLAGS="-xCORE-AVX512 -mtune=skylake". As the login nodes are of the exact same architecture as the compute node you can also use the flag -xHost which enables all possible optimizations available on the compile host.
GCC
The GCC provided by the system is version 4.8.5. For better support of new hardware features we recommend to use the latest version that can be loaded via the provided modules. Currently the latest version available in StarLife is GCC 8.1.0
module load gcc/8.1.0
The corresponding flags are CFLAGS="-march=skylake-avx512"
Login Nodes
You can connect to StarLife using two public login nodes. Please note that only incoming connections are allowed in the whole cluster. The logins are:
sl1.bsc.es
sl2.bsc.es