Narval/en: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
No edit summary
(Created page with "It is important that you use the allocated resources and to correct your requests when compute resources are less used or not used at all. For example, if you request 4 cores (CPUs) but use only one, you should adjust the script file accordingly.")
 
(46 intermediate revisions by 5 users not shown)
Line 4: Line 4:
| Availability: since October, 2021
| Availability: since October, 2021
|-
|-
| Login node: '''narval.computecanada.ca'''
| Login node: '''narval.alliancecan.ca'''
|-
|-
| Globus Collection: '''Compute Canada - Narval'''
| Globus Collection: '''[https://app.globus.org/file-manager?origin_id=a1713da6-098f-40e6-b3aa-034efe8b6e5b Compute Canada - Narval]'''
|-
|-
| Data transfer node (rsync, scp, sftp,...): '''narval.computecanada.ca'''
| Data transfer node (rsync, scp, sftp,...): '''narval.alliancecan.ca'''
|-
| Portal : https://portail.narval.calculquebec.ca/
|}
|}


Narval is a general purpose cluster designed for a variety of workloads; it is located at the [https://www.etsmtl.ca/en/home École de technologie supérieure] in Montreal. The cluster is named in honour of the [https://en.wikipedia.org/wiki/Narwhal narwhal], a species of whale which has occasionally been observed in the Gulf of St. Lawrence.
Narval is a general purpose cluster designed for a variety of workloads; it is located at the [https://www.etsmtl.ca/en/home École de technologie supérieure] in Montreal. The cluster is named in honour of the [https://en.wikipedia.org/wiki/Narwhal narwhal], a species of whale which has occasionally been observed in the Gulf of St. Lawrence.


= Limitations and known issues =
==Site-specific policies==
As of December 2021, the following features and software are not fully operational:
* Nearline (ETA: February 2022)
* Some software that depend on CUDA [https://github.com/ComputeCanada/software-stack/issues/95 Complete list here].
* Some license servers (contact [[Technical support]])
* Globus access (network configuration problem)
 
Solved problems:
* <s>pytorch</s> (fixed as of Nov. 1st, 2021)
* <s>JupyterHub</s> (fixed as of Nov. 10th 2021)
* <s>Backup copies</s> (fixed as of Nov. 18th 2021)
* <s>gurobi</s> (fixed as of Nov. 9th, 2021)
* <s>Bus error (ld.gold)</s> (fixed as of Jan. 10th, 2022)
 
=Site-specific policies=


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


Crontab is not offered on Narval.
Crontab is not offered on Narval.
Line 35: Line 23:
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 or queued, at any given moment. The maximum duration for a job on Narval is 7 days (168 hours).
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 or queued, at any given moment. The maximum duration for a job on Narval is 7 days (168 hours).


=Storage=
==Storage==
{| class="wikitable sortable"
{| class="wikitable sortable"


Line 43: Line 31:
*Location of home directories, each of which has a small fixed quota.
*Location of home directories, each of which has a small fixed quota.
*You should use the <code>project</code> space for larger storage needs.
*You should use the <code>project</code> space for larger storage needs.
*50 GB of space and 500K files per user.
*Small per user [[Storage_and_file_management#Filesystem_quotas_and_policies| quota]].


*There is a daily backup of the home directories.
*There is a daily backup of the home directories.
Line 53: Line 41:
*No backup system in place.  
*No backup system in place.  


*20 TB of space and 1M files per user.  
*Large [[Storage_and_file_management#Filesystem_quotas_and_policies|quota]] per user.  


*There is an [[Scratch_purging_policy | automated purge]] of older files in this space.
*There is an [[Scratch_purging_policy | automated purge]] of older files in this space.
Line 62: Line 50:
*This space is designed for sharing data among the members of a research group and for storing large amounts of data.  
*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.  
*Large and adjustable per group [[Storage and file management/fr#Quotas_et_politiques|quota]].  


*There is a daily backup of the project space.
*There is a daily backup of the project space.
Line 69: Line 57:
For transferring data via [[Globus]], you should use the endpoint specified at the top of this page, while for tools like [[Transferring_data#Rsync|rsync]] and [[Transferring_data#SCP|scp]] you can use a login node.
For transferring data via [[Globus]], you should use the endpoint specified at the top of this page, while for tools like [[Transferring_data#Rsync|rsync]] and [[Transferring_data#SCP|scp]] you can use a login node.


=High-performance interconnect=
==High-performance interconnect==
The [https://en.wikipedia.org/wiki/InfiniBand InfiniBand] [https://www.nvidia.com/en-us/networking/infiniband/qm8700/ 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) central 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.
The [https://en.wikipedia.org/wiki/InfiniBand InfiniBand] [https://www.nvidia.com/en-us/networking/infiniband/qm8700/ 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) central 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.
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=
==Node characteristics==
{| class="wikitable sortable"
{| class="wikitable sortable"
! nodes !! cores !! available memory !! CPU !! storage !! GPU
! nodes !! cores !! available memory !! CPU !! storage !! GPU
|-
|-
| 1109 || rowspan="2"|64 || 249G or 255000M || rowspan="2"|2 x AMD Rome 7532 @ 2.40 GHz 256M cache L3 || rowspan="2"|1 x 960G SSD || rowspan="2"|-
| 1145 || rowspan="3"|64 || 249G or 255000M || rowspan="2"|2 x AMD Rome 7532 @ 2.40 GHz 256M cache L3 || rowspan="3"|1 x 960G SSD || rowspan="3"|-
|-
|-
|  33 || 2009G or 2057500M
|  33 || 2009G or 2057500M
|-
|-
|  159 || 48 || 498G or 510000M || 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)
|    3 || 4000G or 4096000M || 2 x AMD Rome 7502 @ 2.50 GHz 128M cache L3
|-
|  159 || 48 || 498G or 510000M || 2 x AMD Milan 7413 @ 2.65 GHz 128M cache L3 || 1 x SSD of 3.84 TB || 4 x NVidia A100SXM4 (40 GB memory), connected via NVLink
|}
|}


=AMD processors=
==AMD processors==
== Supported instructions sets ==
=== Supported instructions sets ===
Narval is equipped with 2nd and 3rd generation AMD EPYC processors which support the [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2 AVX2 instruction set]. This instruction set is also supported by all CPUs at [[Béluga/en#Node_characteristics|Béluga]], [[Cedar#Node_characteristics|Cedar]], [[Graham#Node_characteristics|Graham]] and [[Niagara#Node_characteristics|Niagara]].
Narval is equipped with 2nd and 3rd generation AMD EPYC processors which support the [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2 AVX2 instruction set]. This instruction set is the same as that found on the Intel processors on the nodes at [[Béluga/en#Node_characteristics|Béluga]], [[Cedar#Node_characteristics|Cedar]], [[Graham#Node_characteristics|Graham]] and [[Niagara#Node_characteristics|Niagara]].


However, all nodes at Béluga and Niagara and ''some'' nodes at Cedar and Graham also support [https://en.wikipedia.org/wiki/AVX-512 AVX512] instructions, which are ''not'' supported at Narval.
Narval does not however support the [https://en.wikipedia.org/wiki/AVX-512 AVX512] instruction set, in contrast to the nodes of Béluga and Niagara as well as certain nodes of Cedar and Graham.


Nodes containing Intel Broadwell CPUs support AVX2 but not AVX512.
AVX2 is supported on nodes which have Broadwell type CPUs, while both instruction sets (AVX2 and AVX512) are on nodes with CPUs of type [https://en.wikipedia.org/wiki/Skylake Skylake] or [https://en.wikipedia.org/wiki/Cascade_Lake_(microarchitecture Cascade Lake]. Consequently, an application compiled on the Broadwell nodes of Cedar and Graham, including their login nodes, will run on Narval, but it  will not be executable if it is compiled on Béluga or Niagara or on a Skylake or Cascade Lake node of Cedar or Graham. Such an application must be recompiled (see ''Intel compilers'' below)
Nodes containing Intel Skylake or Cascade Lake CPUs support both AVX2 and AVX512.


Consequently, an application compiled on Broadwell nodes at Cedar and Graham, including their login nodes, will run at Narval.
===Intel compilers===
An application compiled at Béluga or Niagara, or on a [https://en.wikipedia.org/wiki/Skylake Skylake] or [https://en.wikipedia.org/wiki/Cascade_Lake_(microarchitecture Cascade Lake] node at Cedar or Graham, will not run at Narval. Such an application must be recompiled (see ''Intel compilers'' below)
Intel compilers can compile applications for Narval's AMD processors with AVX2 and earlier instruction sets. Use the <tt>-march=core-avx2</tt> option to produce executables which are compatible with both Intel and AMD processors.


However, if you have compiled a program on a system which uses Intel processors and you have used one or more options like <tt>-xXXXX</tt>, such as <tt>-xCORE-AVX2</tt>, the compiled program will not work on Narval because the Intel compilers add additional instructions in order to verify that processor used is an Intel product. On Narval, the options <tt>-xHOST</tt> and <tt>-march=native</tt> are equivalent to <tt>-march=pentium</tt> (the old 1993 Pentium) and should <b>not</b> be used.


===Software environments===
[[Standard software environments|StdEnv/2023]] is the standard software environment on Narval; previous versions (2016 and 2018) have been blocked intentionally. If you need an application only available with an older standard environment, please write to [[Technical support]].


==Intel compilers==
===BLAS and LAPACK libraries===
Intel compilers can compile applications for Narval's AMD processors with AVX2 and earlier instruction sets. Use the <tt>-march=core-avx2</tt> option to produce executables which are compatible with both Intel and AMD processors.
The Intel MKL library works with AMD processors, although not in an optimal way. We now favour the use of the FlexiBLAS library. For more details, please consult the page on [[BLAS and LAPACK]].


However, the applications will not operate on Narval if your code was compiled on a system using one or more <tt>-xXXXX</tt> options such as <tt>-xCORE-AVX2</tt> because the Intel compilers add extra instructions to verify that the processor is by Intel. This being said, the <tt>-xHOST</tt> on Narval becomes the same as <tt>-march=core-avx2</tt>.
==Monitoring jobs==
From the [https://portail.narval.calculquebec.ca/ Narval portal], you can monitor your jobs using CPUs and GPUs <b>in reel time</b> or examine jobs that have run in the past. This can help you to optimize resource usage and shorten wait time in the queue.


==Software environments==
You can monitor your usage of
[[Standard 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]].
* compute nodes,
* memory,
* GPU.


<div class="mw-translate-fuzzy">
It is important that you use the allocated resources and to correct your requests when compute resources are less used or not used at all. For example, if you request 4 cores (CPUs) but use only one, you should adjust the script file accordingly.
==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 [https://github.com/mpimd-csc/flexiblas FlexiBLAS] library when installing future software versions; this would automatically load the appropriate library, depending on the processor's manufacturer. If you think that your code is especially sensitive to the performance of BLAS or LAPACK, please report this to [[Technical support]].
</div>

Latest revision as of 19:05, 18 September 2024

Other languages:
Availability: since October, 2021
Login node: narval.alliancecan.ca
Globus Collection: Compute Canada - Narval
Data transfer node (rsync, scp, sftp,...): narval.alliancecan.ca
Portal : https://portail.narval.calculquebec.ca/

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 explaining what you need and why.

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 or queued, at any given moment. The maximum duration for a job on Narval is 7 days (168 hours).

Storage

HOME
Lustre filesystem, 40 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.
  • Small per user quota.
  • There is a daily backup of the home directories.
SCRATCH
Lustre filesystem, 5.5 PB of space
  • Large space for storing temporary files during computations.
  • No backup system in place.
PROJECT
Lustre filesystem, 19 PB of space
  • This space is designed for sharing data among the members of a research group and for storing large amounts of data.
  • Large and adjustable per group quota.
  • There is a daily backup of the project space.

For transferring data via Globus, you should use the endpoint specified at the top of this 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) central 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
1145 64 249G or 255000M 2 x AMD Rome 7532 @ 2.40 GHz 256M cache L3 1 x 960G SSD -
33 2009G or 2057500M
3 4000G or 4096000M 2 x AMD Rome 7502 @ 2.50 GHz 128M cache L3
159 48 498G or 510000M 2 x AMD Milan 7413 @ 2.65 GHz 128M cache L3 1 x SSD of 3.84 TB 4 x NVidia A100SXM4 (40 GB memory), connected via NVLink

AMD processors

Supported instructions sets

Narval is equipped with 2nd and 3rd generation AMD EPYC processors which support the AVX2 instruction set. This instruction set is the same as that found on the Intel processors on the nodes at Béluga, Cedar, Graham and Niagara.

Narval does not however support the AVX512 instruction set, in contrast to the nodes of Béluga and Niagara as well as certain nodes of Cedar and Graham.

AVX2 is supported on nodes which have Broadwell type CPUs, while both instruction sets (AVX2 and AVX512) are on nodes with CPUs of type Skylake or Cascade Lake. Consequently, an application compiled on the Broadwell nodes of Cedar and Graham, including their login nodes, will run on Narval, but it will not be executable if it is compiled on Béluga or Niagara or on a Skylake or Cascade Lake node of Cedar or Graham. Such an application must be recompiled (see Intel compilers below)

Intel compilers

Intel compilers can compile applications for Narval's AMD processors with AVX2 and earlier instruction sets. Use the -march=core-avx2 option to produce executables which are compatible with both Intel and AMD processors.

However, if you have compiled a program on a system which uses Intel processors and you have used one or more options like -xXXXX, such as -xCORE-AVX2, the compiled program will not work on Narval because the Intel compilers add additional instructions in order to verify that processor used is an Intel product. On Narval, the options -xHOST and -march=native are equivalent to -march=pentium (the old 1993 Pentium) and should not be used.

Software environments

StdEnv/2023 is the standard software environment on Narval; previous versions (2016 and 2018) 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 now favour the use of the FlexiBLAS library. For more details, please consult the page on BLAS and LAPACK.

Monitoring jobs

From the Narval portal, you can monitor your jobs using CPUs and GPUs in reel time or examine jobs that have run in the past. This can help you to optimize resource usage and shorten wait time in the queue.

You can monitor your usage of

  • compute nodes,
  • memory,
  • GPU.

It is important that you use the allocated resources and to correct your requests when compute resources are less used or not used at all. For example, if you request 4 cores (CPUs) but use only one, you should adjust the script file accordingly.