Przejdź do treści

Maszyny obliczeniowe w ICM

Poniżej przedstawiamy zestawienie i krótką charakterystykę maszyn obliczeniowych ICM. Po zalogowaniu się przez ssh na węzeł dostępowy (hpc.icm.edu.pl) można ponownie użyć ssh do zalogowania się na kolejną maszynę (np. Okeanos, Rysy), niedostępna zza firewalla. Po zalogowaniu na węzeł dostępowy hpc.icm.edu.pl może występować on pod nazwą hpc.

Info

Zlecanie zadań na system topola możliwe jest bezpośrednio z węzła dostępowego hpc.icm.edu.pl. W przypadku pozostałych systemów możliwy/wymagany jest dodatkowy krok logowania wykonany z komputera hpc.icm.edu.pl, np. ssh rysy, ssh okeanos.

Nazwa Typ Architektura Liczba i nazwa węzłów obliczeniowych Parametry węzła obliczeniowego
Okeanos Superkomputer Intel Haswell Cray XC40 1084 24 rdzenie, 128 GB pamięci RAM
Topola Klaster HPC, Klaster PL-Grid Intel Haswell Huawei E9000 223 28 rdzeni, 64 lub 128 GB pamięci RAM
Rysy/GPU Klaster GPU, Intel Skylake, NVIDIA Volta 6 36 rdzenie, 380 GB pamięci RAM, 4x GPU V100 32GB
Rysy/GPU Klaster GPU, Intel Skylake, NVIDIA Volta 1 48 rdzeni, 1500 GB pamięci RAM, 8x GPU V100 16GB
Rysy/GPU Klaster GPU, Intel Haswell, NVIDIA Titan X (Pascal) 1 24 rdzeni, 760 GB pamięci RAM, 8x GPU Titan X (Pascal) 12GB
Rysy/PBaran Komputer wektorowy, NEC Aurora A300-8 Intel Skylake, NEC SX-Aurora Tsubasa 1 24 rdzenie, 192 GB RAM / 8 x 8 rdzeni, 8 x 48 GB RAM

Superkomputer Okeanos

Z początkiem lipca 2016 roku ICM UW udostępnił naukowcom superkomputer Okeanos – system wielkoskalowego przetwarzania Cray XC40. Okeanos zbudowany jest z ponad 1000 węzłów obliczeniowych, z których każdy zawiera dwa 12-rdzeniowe procesory Intel Xeon Haswell oraz 128 GB pamięci RAM. Wszystkie węzły systemu połączone są ultraskalowalną siecią Cray Aries o topologii Dragonfly.

Odpowiadając na wymagania technologiczne ICM, firma Cray Inc. zbudowała system będący unikatowym rozwiązaniem w dziedzinie HPC w skali kraju. System wyróżnia wysoka moc i skalowalność obliczeniowa, a także wysoka wydajność przetwarzania danych grafowych. Okeanos najlepiej sprawdza się w obliczeniach wielkoskalowych, które w pojedynczym przebiegu wymagają zastosowania kilku tysięcy rdzeni obliczeniowych oraz kilkudziesięciu terabajtów pamięci operacyjnej. Realizacja tego typu obliczeń jest jego głównym przeznaczeniem.

System Okeanos razem z systemami analityki i przechowywania dużych danych to główne części składowe infrastruktury Centrum Kompetencji OCEAN, zainstalowanej w nowej serwerowni ICM na warszawskiej Białołęce.

Okeanos

Szczegółowy opis superkomputera Okeanos

Instalacja:                   Cray XC40
Nazwa:                        Okeanos
Typ procesora:                Intel Xeon E5-2690 v3
Architektura:                 x86_64
Reprezencja danych:           little-endian
Częstotliwość taktowania:     2.6 GHz
Liczba procesorów w węźle:    2 x 12 rdzenie (Hyperthreading x2)
Sockets - Cores - Threads:    2-12-2
Ilość pamięci w węźle:        128 GB
System plików:                Lustre (rozproszony system plików)
System operacyjny:            SUSE Linux Enterprise Server 15
System kolejkowy:             slurm 20.11.9

Superkomputer Topola

Szczegółowy opis superkomputera Topola

Instalacja:                   Klaster
Nazwa:                        Topola
Typ procesora:                Intel(R) Xeon(R) CPU E5-2650 v3
Architektura:                 x86_64
Reprezencja danych:           little-endian
Częstotliwość taktowania:     2.0 - 3.1GHz
Liczba procesorów w węźle:    28 rdzeni
Sockets - Cores - Threads:    2-14-1
Ilość pamięci w węźle:        64/128 GB
System plików:                NFS/lustre/ext4
System operacyjny:            CentOS 7
System kolejkowy:             slurm 20.11.9

Opis węzłów klastra Topola

Model CPU Taktowanie CPU Sockets: Cores: Threads RAM Liczba węzłów Nazwa
Intel(R) Xeon(R) CPU E5-2697 v3 2.1GHz - 3.0GHz 2:14:1 128 GB 60 t1-[1-12], t[13-15]-[1-16]
Intel(R) Xeon(R) CPU E5-2697 v3 2.1GHz - 3.0GHz 2:14:1 64 GB 163 t1-[13-16], t[2-12]-[1-16]

Węzły topoli różnią się tylko wielkością pamięci RAM. System kolejkowy automatycznie dobierze typ węzła w zależności od zapotrzebowania na pamięć podaną przez użytkownika

Superkomputer Rysy

Szczegółowy opis superkomputera Rysy

Instalacja:                   Klaster
Nazwa:                        Rysy
Typ procesora:                Intel(R) Xeon(R) Gold 6154/6252 CPU
Architektura:                 x86_64
Reprezencja danych:           little-endian
Częstotliwość taktowania:     2.1/3.0 - 3.7GHz
Liczba procesorów w węźle:    36 rdzeni
Sockets - Cores - Threads:    2-18-1
Ilość pamięci w węźle:        380/1500 GB
System plików:                lustre/NVMe-oF
GPU:                          NVIDIA Tesla V100 16/32GB
System operacyjny:            CentOS 7
System kolejkowy:             slurm 23.02.2

Opis węzłów klastra Rysy

Model CPU Taktowanie CPU Sockets: Cores: Threads RAM GPU Liczba węzłów Nazwa
Intel(R) Xeon(R) Gold 6252 3.0GHz - 3.7GHz 2:18:1 380 GB 4x NVIDIA Tesla V100 32GB 6 rysy-n[1-6]
Intel(R) Xeon(R) Gold 6154 2.1GHz - 3.7GHz 2:24:1 1500 GB 8x NVIDIA Tesla V100 16GB 1 rysy-n7
Intel(R) Xeon(R) E5-2670 v3 2.3GHz - 3.1GHz 2:12:1 760 GB 8x NVIDIA TITAN X (Pascal) 12GB 1 rysy-n9
Intel(R) Xeon(R) Gold 6126 2.6GHz - 3.7GHz 2:12:1 192 GB 8x NEC Vector Engine Type 10B 48GB 1 pbaran

Jak uruchomić zadanie na konkretnym węźle?

sinfo -o "%20N  %10c  %10m  %25f  %50G"
NODELIST              CPUS        MEMORY      AVAIL_FEATURES             GRES                                              
rysy-n5               36          380000      skylake,volta,volta32G     gpu:volta:3(S:0-1),nvme:3500                      
rysy-n9               24          760000      haswell,titan              gpu:titan:8(S:0),cpuonly:12(S:1)                  
rysy-n7               48          1500000     cascadelake,volta,volta16  gpu:volta:8(S:0),cpuonly:24(S:1),nvme:6100        
rysy-n[1-4,6]         36          380000      skylake,volta,volta32G     gpu:volta:4(S:0-1),nvme:3500                      
pbaran                24          190000      skylake,vector             ve:vector:8(S:0)                                  
nextsilicon-n3        16          120000      nextsilicon                (null)                                            
nextsilicon-n[1-2]    24          120000      nextsiliconHW              (null)  

Aby uruchomić zadania na węźle spełniającym określone kryteria można:

  • podać jawnie nazwę węzła, np --nodelist=rysy-n7
  • podać wymagania jakie musi spełniać węzeł na którym chcemy uruchomić zadanie, np --constraint=volta32G

Przykładowo:

$ srun -N1 -n4 --mem=120G --account=app-installers --gres=gpu:2 --constraint=volta32G --time=01:00:00 --pty /bin/bash
$ hostname
rysy-n1.icm.edu.pl
$ echo $SLURM_MEM_PER_NODE 
122880
$ nvidia-smi
Mon Jul 17 09:27:19 2023       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 530.30.02              Driver Version: 530.30.02    CUDA Version: 12.1     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                  Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf            Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  Tesla V100-PCIE-32GB            Off| 00000000:3B:00.0 Off |                    0 |
| N/A   42C    P0               29W / 250W|      0MiB / 32768MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   1  Tesla V100-PCIE-32GB            Off| 00000000:5E:00.0 Off |                    0 |
| N/A   38C    P0               30W / 250W|      0MiB / 32768MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|  No running processes found                                                           |
+---------------------------------------------------------------------------------------+
deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "Tesla V100-PCIE-32GB"
  CUDA Driver Version / Runtime Version          11.5 / 11.4
  CUDA Capability Major/Minor version number:    7.0
  Total amount of global memory:                 32510 MBytes (34089730048 bytes)
  (080) Multiprocessors, (064) CUDA Cores/MP:    5120 CUDA Cores
  GPU Max Clock rate:                            1380 MHz (1.38 GHz)
  Memory Clock rate:                             877 Mhz
  Memory Bus Width:                              4096-bit
  L2 Cache Size:                                 6291456 bytes
  Maximum Texture Dimension Size (x,y,z)         1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384)
  Maximum Layered 1D Texture Size, (num) layers  1D=(32768), 2048 layers
  Maximum Layered 2D Texture Size, (num) layers  2D=(32768, 32768), 2048 layers
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       49152 bytes
  Total shared memory per multiprocessor:        98304 bytes
  Total number of registers available per block: 65536
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  2048
  Maximum number of threads per block:           1024
  Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
  Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535)
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             512 bytes
  Concurrent copy and kernel execution:          Yes with 7 copy engine(s)
  Run time limit on kernels:                     No
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Enabled
  Device supports Unified Addressing (UVA):      Yes
  Device supports Managed Memory:                Yes
  Device supports Compute Preemption:            Yes
  Supports Cooperative Kernel Launch:            Yes
  Supports MultiDevice Co-op Kernel Launch:      Yes
  Device PCI Domain ID / Bus ID / location ID:   0 / 134 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 11.5, CUDA Runtime Version = 11.4, NumDevs = 1
Result = PASS

Dyski NVMe-oF

Na superkomputerze Rysy, na węzlach z GPU dostepne sa dyski NVMe-oF. Aby z nich skorzystać należy dodać opcje --gres=nvme:SIZE do parametrow zadania. Wtedy slurm utworzy katalog tymczasowy /scratch/${SLURM_JOBID} z quotą SIZE GB. Katalog będzie dostępny z węzła obliczeniowego na którym uruchomione jest zadanie i zostanie usuniety po ukończeniu zadania. Po zakończeniu zadania katalog zostanie usuniety. Możliwa jest (łączna) alokacja do 3500 GB na węzłach rysy-n[1-6] i 6100 GB na węźle rysy-n7.

Informacje o systemie (hardware)

Poniższe komendy slurm'a pozwalają na samodzielne sprawdzenie informacji o systemie:

scontrol show partition <nazwa_partycji>        # właściwości partycji
scontrol show node <nazwa_węzła>                # właściwości węzła

cat /etc/os-release     # informacje o systemie operacyjnym
df -Th                  # informacje o systemie plików

lscpu                   # informacja o architekturze cpu (warto wykonać te komendę na węźle obliczeniowym)
sinfo -l -N             # lista węzłów
sinfo -l -N | awk '{printf ("%1s %15s %15s %15s %10s %10s \n", $1, $2, $3, $5, $6, $7)}' # formatowanie kolumn
smap -i 2               # quasi-graficzna informacja o wykorzystaniu węzłów
Ta strona używa plików cookies.
Polityka Prywatności    AKCEPTUJĘ