SuperMUC Phase 2

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
SuperMUC Phase 2
Виробник Lenovo/IBM
Власник Leibniz-Rechenzentrum
Розміщення Garching, Germany
Архітектура Intel Xeon CPUs
Процесор Xeon E5-2697v3 14C 2.6GHz
К-ть ядер 86 016
Операційна система SUSE Linux Enterprise Server
Пам'ять 192 TB
Швидкість 2 813.62 TFlop/s
Ранг TOP500: #45, November 2017
Вебсайт www.lrz.de/services/compute/supermuc/best_practice_guide_phase2/

SuperMUC Phase 2 — суперкомп'ютер, власником якого є Leibniz Supercomputing Centre[1] (LRZ) of the Bavarian Academy of Sciences. Він розміщений в LRZ's дата-центрі в Гархінг-бай-Мюнхен.

Історія

[ред. | ред. код]
SuperMUC

Навесні 2015 року Суперкомп'ютерний центр Лейбніца (Leibniz-Rechenzentrum, LRZ) встановив нову Peta-Scale System[2] SuperMUC Phase2. Було вибрано групу користувачів, які були запрошені на 28-денну екстремальну операцію масштабування, під час якої їм дозволялось повністю використовувати систему для своїх програм. Наступні проекти брали участь у екстремальному масштабному семінарі: BQCD (квантова фізика), SeisSol (геофізика, сейсміка), GPI-2 / GASPI (Toolkit для HPC), Hydro (Астрофізика) семи ліг, ILBDC (Lattice Boltzmann CFD), «Iphigenie» (молекулярна динаміка), FLASH (астрофізика), GADGET (космологічна динаміка), PSC (фізика плазми), waLBerla (Lattice Boltzmann CFD), Musubi (Lattice Boltzmann CFD), Vertex3D (Stellar Astrophysics), CIAO (Combustion CFD) і LS1-Mardyn (матеріалознавство). Проектам було дозволено використовувати машину виключно протягом 28 днів, що відповідає загальним обсягам 63,4 млн ядерних годин, з яких 43,8 млн ядерних годин було використано додатками, в результаті чого було використано 69 % можливостей суперкомп'ютера. Перші 3 користувачі використовували 15,2, 6,4 та 4,7 мільйона ядерних годин відповідно.

Доступ до вузлів SuperMUC Phase 2

[ред. | ред. код]

Вхідні SuperMUC Phase 2 базуються на розподілі операційної системи SUSE Linux Enterprise Server 11.3 (SLES11.3)][3]. Встановлене програмне забезпечення включає в себе широкий вибір пакетів та бібліотек, які дозволяють скомпілювати програми.

SuperMUC Phase 2 має окремий вузол входу, і доступ до нього можна отримати лише за допомогою захищеної оболонки (SSH). Щоб отримати доступ, необхідно виконати наступну команду з терміналу UNIX:

ssh-y xxyyzz@hw.supermuc.lrz.de.

Середовище SuperMUC Phase 2

[ред. | ред. код]

Середовище SuperMUC Phase 2 дозволяє користувач писати і компілювати власні програмні коди. Перш ніж скласти свій код або запустити виконуваний файл, необхідно відобразити та перевірти завантажені модульні файли за допомогою команди[4]:

module list

В середовищі SuperMUC Phase 2 є багато інших корисних команд для роботи з модулями, всі вони описані в системному модулі середовища LRZ.

Використання MPI

[ред. | ред. код]

Всі паралельні компілятори SuperMUC Phase 2 отримують доступ через обгортки LRZ: mpicc, mpiCC або mpif90, де mpicc запускає компілятор C та пов'язує наявно завантажені бібліотеки MPI, а також для mpiCC (компілятора C++ та mpif90 (компілятора Fortran.

Компілятор Intel

Для досягнення максимальної продуктивності з процесорів Haswell для програм, написаних на C, C ++ або Fortran, використовуйте такі специфічні прапори оптимізації:

icc -O3 -xCORE-AVX2 program.c 
 icpc -c program.cpp -xHost -O3 -xCORE-AVX2 
 ifort program.f90  -O3 -xCORE-AVX2

Gnu компілятор

Офіційно додано прапор avx2 з GCC4.8[5], а на експериментальному 4.7: -march = core-avx2. Для підтримки асемблера та відладчика потрібен binutil 2,22, Приклад:

module unload fortran/intel ccomp/intel 
 module load gcc/4.8 
gcc -c program.c -march=core-avx2

Спільна пам'ять (OpenMP)

Спільна пам'ять (OpenMP) дає змогу здійснювати зв'язок між внутрішніми вузлами та забезпечує ефективне використання систем SMP із загальною пам'яттю. Кожен обчислювальний вузол SuperMUC Phase 2 містить 2 процесори Haswell, кожен з яких має 14 ядер на сокеті (28 ядер на вузол) з Hyper-Threading до 56 ядер на вузол.

Щоб скомпілювати код OpenMP, необхідно використати такі прапори:

-openmp з компілятором Intel

-fopenmp з використанням gnu compiler

Гібридний код (MPI + OpenMP) полегшує програмування з використанням спільної пам'яті (OpenMP) у межах SMP-вузлів та зв'язку MPI між вузлами.

Переробка коду в гібридний, незалежно від того, чи спочатку він використовує зв'язок OpenMP або MPI, є ідеальною ситуацією для SuperMUC Phase 2, хоча це не завжди можливо або бажано.

Примітки

[ред. | ред. код]