Narval/en: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
(Created page with "Unfortunately, Narval's AMD processors are ''incompatible'' with the [https://en.wikipedia.org/wiki/AVX-512 AVX512] instruction set (from https://en.wikipedia.org/wiki/Skylake...")
(Created page with "==Intel compilers== The Intel compilers can very well compile applications for Narval's AMD processors with the less recent AVX2 instruction sets. To do so, use the <tt>-march...")
Line 79: Line 79:
</div>
</div>


==Compilation avec le compilateur Intel==
==Intel compilers==
Les compilateurs Intel peuvent très bien compiler des applications pour les processeurs AMD de Narval, et ce, en se limitant aux ensembles d'instructions AVX2 et les plus anciens. Pour ce faire, il faut utiliser l'option <tt>-march=core-avx2</tt> du compilateur Intel, ce qui permet d'obtenir des exécutables qui sont compatibles à la fois avec les processeurs Intel et AMD.
The Intel compilers can very well compile applications for Narval's AMD processors with the less recent AVX2 instruction sets. To do so, use the <tt>-march=core-avx2</tt> option to produce executables which are compatible with both Intel and AMD processors.


Par contre, si vous avez compilé un code sur un système utilisant des processeurs Intel et que vous avez utilisé une ou des options <tt>-xXXXX</tt>, telle que <tt>-xCORE-AVX2</tt>, les applications compilées ne fonctionneront pas sur Narval, car les compilateurs Intel ajoutent des instructions supplémentaires pour vérifier que le processeur utilisé est un produit Intel. Cela étant dit, sur Narval, l'option <tt>-xHOST</tt> devient équivalente à <tt>-march=core-avx2</tt>.
Par contre, si vous avez compilé un code sur un système utilisant des processeurs Intel et que vous avez utilisé une ou des options <tt>-xXXXX</tt>, telle que <tt>-xCORE-AVX2</tt>, les applications compilées ne fonctionneront pas sur Narval, car les compilateurs Intel ajoutent des instructions supplémentaires pour vérifier que le processeur utilisé est un produit Intel. Cela étant dit, sur Narval, l'option <tt>-xHOST</tt> devient équivalente à <tt>-march=core-avx2</tt>.

Revision as of 18:23, 18 October 2021

Other languages:
Availability: October, 2021
Login node: To be announced
Globus endpoint: To be announced
Data transfer node (rsync, scp, sftp,...): To be announced

Narval is a general purpose cluster designed for a variety of workloads; it is located at the École de technologie supérieure in Montreal. The cluster is named in honour of the narwhal, a species of whale which has occasionally been observed in the Gulf of St. Lawrence.

Site-specific policies

By policy, Narval's compute nodes cannot access the internet. If you need an exception to this rule, contact technical support with information about the IP address, port number(s) and protocol(s) needed as well as the duration and a contact person.

Crontab is not offered on Narval.

Each job on Narval should have a duration of at least one hour (five minutes for test jobs) and you cannot have more than 1000 jobs, running and queued, at any given moment. The maximum duration for a job on Narval is 7 days (168 hours).

Storage

HOME
Lustre filesystem, ~100 TB of space
  • Location of home directories, each of which has a small fixed quota.
  • You should use the project space for larger storage needs.
  • 50 GB of space and 500K files per user.
  • There is a daily backup of the home directories.
SCRATCH
Lustre filesystem, ~5 PB of space
  • Large space for storing temporary files during computations.
  • No backup system in place.
  • 20 TB of space and 1M files per user.
PROJECT
Lustre filesystem, ~15 PB of space
  • This space is designed for sharing data among the members of a research group and for storing large amounts of data.
  • 1 TB of space and 500K of files per group.
  • There is a daily backup of the project space.

For transferring data via Globus, you should use the endpoint specified on top of the actual page, while for tools like rsync and scp you can use a login node.

High-performance interconnect

The InfiniBand Mellanox HDR network links together all of the nodes of the cluster. Each hub of 40 HDR ports (200 Gb/s) can connect up to 66 nodes with HDR100 (100 Gb/s) with 33 HDR links divided in two (2) by special cables. The seven (7) remaining HDR links allow the hub to be connected to a rack containing the seven (7) cental HDR InfiniBand hubs. The islands of nodes are therefore connected by a maximum blocking factor of 33:7 (4.7:1). In contrast, the storage servers are connected by a much lower blocking factor in order to maximize the performance.

In practice the Narval racks contain islands of 48 or 56 regular CPU nodes. It is therefore possible to run parallel jobs using up to 3584 cores with a non-blocking network. For larger jobs or ones which are distributed in a fragmented manner across the network, the blocking factor is 4.7:1. The inter-connect remains a high-performance one nonetheless.

Node Characteristics

nodes cores available memory CPU storage GPU
1109 64 ~256G 2 x AMD Rome 7532 @ 2.40 GHz 256M cache L3 1 x 960G SSD -
33 ~2048G
158 48 ~512G 2 x AMD Milan 7413 @ 2.65 GHz 128M cache L3 1 x SSD of 3.84 TB 4 x NVidia A100 (40 GB memory)

AMD processors

Supported instructions sets

Narval is equiped with 2nd and 3rd generation AMD EPYC processors which support AVX2 instructions. This instruction set is identical to the one used by INTEL processors on the Béluga, Cedar, Graham et Niagara nodes. The Narval AMD processors and the Intel processors of the Haswell generation are both restricted to the older AVX2 instructions. As such, applications compiled on a Cedar or Graham Broadwell node should function on Narval, otherwise you will need to recompile with the appropriate architecture parameters (see Intel processors below).

Unfortunately, Narval's AMD processors are incompatible with the AVX512 instruction set (from https://en.wikipedia.org/wiki/Skylake Skylake] onwards) on the Béluga and Niagara nodes, as well as the more recent nodes on Cedar and Graham. Consequently, the applications compiled on those relatively recent Intel nodes will probably not function on Narval and recompiling will certainly be necessary (see Intel compilers below).

Intel compilers

The Intel compilers can very well compile applications for Narval's AMD processors with the less recent AVX2 instruction sets. To do so, use the -march=core-avx2 option to produce executables which are compatible with both Intel and AMD processors.

Par contre, si vous avez compilé un code sur un système utilisant des processeurs Intel et que vous avez utilisé une ou des options -xXXXX, telle que -xCORE-AVX2, les applications compilées ne fonctionneront pas sur Narval, car les compilateurs Intel ajoutent des instructions supplémentaires pour vérifier que le processeur utilisé est un produit Intel. Cela étant dit, sur Narval, l'option -xHOST devient équivalente à -march=core-avx2.

Software environments

StdEnv/2020 is the standard software environment on Narval; previous versions have been blocked intentionally. If you need an application only available with an older standard environment, please write to Technical support.

BLAS and LAPACK libraries

The Intel MKL library works with AMD processors, although not in an optimal way. We are presently examining the option of using the FlexiBLAS library when installing the next software versions; this would automatically load the appropriate library, depending on the processor's provider. If you think that your code is espacially sensitive to the performance of BLAS or LAPACK, please report this to Technical support.