NEC SX-Aurora TSUBASA - NEC SX-Aurora TSUBASA

Сервер NEC SX-Aurora TSUBASA A300-8 с восемью векторными двигателями на стенде NEC на SC'17 в Денвере

В NEC SX-Aurora TSUBASA это векторный процессор из Архитектура NEC SX семья.[1][2] В отличие от предыдущих суперкомпьютеров SX, SX-Aurora TSUBASA предоставляется в виде карты PCIe, которую NEC называет «векторным движком» (VE).[2] Восемь карт VE могут быть вставлены в векторный хост (VH), который обычно x86-64 сервер под управлением операционной системы Linux.[2] О продукте было объявлено в пресс-релизе 25 октября 2017 года, а продажи NEC начались в феврале 2018 года.[3] Продукт успешен SX-ACE.

Аппаратное обеспечение

SX-Aurora TSUBASA является преемником NEC SX серии и SUPER-UX, которые представляют собой векторные компьютерные системы, на которых Симулятор Земли суперкомпьютер. Его оборудование состоит из x86 хосты Linux с векторными двигателями (VE), подключенными через PCI Express (PCIe) межсоединение.[4]

Высокая пропускная способность памяти (0,75–1,2 ТБ / с) обеспечивается восемью ядрами и шестью ядрами. HBM2 модули памяти на кремниевом переходнике, выполненном в форм-факторе карты PCIe.[5] Функциональные возможности операционной системы для VE выгружаются на VH и обрабатываются в основном демонами пользовательского пространства, на которых запущена VEOS.[6]

В зависимости от тактовой частоты (1,4 или 1,6 ГГц) каждый VE ЦПУ имеет восемь ядер и максимальную производительность 2,15 или 2,45TFLOPS с двойной точностью. В процессоре впервые в мире реализовано шесть модулей HBM2 на промежуточном устройстве Silicon с общим объемом памяти 24 или 48 ГБ с высокой пропускной способностью. Он интегрирован в форм-фактор стандартной карты PCIe полной длины, полной высоты и двойной ширины, которая размещается на сервере x86_64, Vector Host (VH). Сервер может содержать до восьми виртуальных машин, кластеры виртуальных машин могут масштабироваться до произвольного количества узлов.[1][7][2]

Релизы продуктов

Версия 2 Vector Engine[8]

SKU20А20B
Тактовая частота (в ГГц)1.61.6
Количество ядер108
Пиковая производительность ядра

(GFLOPS двойной точности)

307307
Пиковая производительность ядра

(одинарная точность GFLOPS)

614614
Пиковая производительность процессора

(TFLOPS двойной точности)

3.072.45
Пиковая производительность процессора

(одинарная точность TFLOPS)

6.144.91
Пропускная способность памяти (ТБ / с)1.531.53
Объем памяти (ГБ)4848

Векторный движок версии 1

Версия 1.0 Vector Engine была произведена в 16 нм FinFET процесс (от TSMC ) и выпущен в трех SKU (в последующих версиях в конце добавляется буква E):[9]

SKU10А10B10C10 AE10BE10CE
Тактовая частота (в ГГц)1.61.41.41.5841.4081.400
Количество ядер888888
Пиковая производительность ядра

(GFLOPS двойной точности)

307.2268.8268.8304270268
Пиковая производительность ядра

(одинарная точность GFLOPS)

537608540537
Пиковая производительность процессора

(TFLOPS двойной точности)

2.452.152.152.432.162.15
Пиковая производительность процессора

(одинарная точность TFLOPS)

4.94.34.34.864.324.30
Пропускная способность памяти (ТБ / с)1.21.20.751.351.351.00
Объем памяти (ГБ)484824484824

Функциональные блоки

Каждое из восьми ядер SX-Aurora имеет 64 логических векторных регистра.[10] Они имеют длину 256 x 64 бита, реализованную как смесь конвейерных и 32-кратных параллельных модулей SIMD. Регистры подключены к трем модулям умножения и сложения с плавающей запятой FMA, которые могут работать параллельно, а также к двум арифметическим логическим модулям ALU, обрабатывающим операции с фиксированной запятой, и конвейеру деления и извлечения квадратного корня.[10] Учитывая только блоки FMA и их 32-кратный параллелизм SIMD, векторное ядро ​​способно выполнять 192 операции двойной точности за цикл.[10] В «упакованных» векторных операциях, когда два значения одинарной точности загружаются в пространство одного слота двойной точности в векторных регистрах, векторный блок выполняет в два раза больше операций за такт по сравнению с двойной точностью.

Скалярный процессор (SPU) обрабатывает не-векторные инструкции на каждом из ядер.

Память и кеши

Память процессора SX-Aurora TSUBASA состоит из шести HBM2 Модули памяти с высокой пропускной способностью второго поколения, реализованные в том же корпусе, что и ЦП, с помощью технологии Chip-on-Wafer-on-Substrate. В зависимости от модели процессора, модули HBM2 представляют собой трехмерные модули с 4 или 8 матрицами емкостью 4 или 8 ГБ каждый. Таким образом, процессоры SX-Aurora имеют 24 ГБ или 48 ГБ памяти HBM2. Модели с большими модулями HBM2 имеют пропускную способность памяти 1,2 ТБ / с.[11]

Ядра векторного механизма совместно используют 16 МБ «кэша последнего уровня» (LLC), кэша с обратной записью, напрямую подключенного к векторным регистрам и кэш-памяти L2 SPU. Размер строки кэша LLC составляет 128 байт. Приоритетом хранения данных в LLC можно до некоторой степени управлять с помощью программного обеспечения, позволяя программисту указывать, какие из переменных или массивов должны храниться в кеше, функция, сопоставимая с функцией Advanced Data Buffer (ADB) в системе. NEC SX-ACE.

Платформы

В настоящее время NEC продает векторный движок SX-Aurora TSUBASA, интегрированный в четыре платформы:[12][9]

  • A111-1: ПК в корпусе Tower с одной картой VE типа 10B
  • A101-1: ПК в корпусе Tower с одной картой VE типа 10CE
  • A311-4: масштабируемый сервер Xeon с двумя разъемами 1U, 19 дюймов, монтируемый в стойку, с возможностью установки до четырех плат VE типа BE
  • A311-8: масштабируемый сервер Xeon с двумя разъемами 4U, 19 дюймов, монтируемый в стойку, с восемью картами VE типа BE
  • A511-64: 19-дюймовая стойка, оснащенная 64 VE типа AE. Это единственная конфигурация, которая явно продается как суперкомпьютер.

Внутри узла VH виртуальные машины могут связываться друг с другом через PCIe. Большие параллельные системы, построенные с использованием SX-Aurora Infiniband в настройке PeerDirect как межсоединение.

NEC также продавала векторный движок SX-Aurora TSUBASA, интегрированный в пять платформ:

  • A100-1: ПК в корпусе Tower с одной картой VE типа 10C.
  • A300-2: монтируемый в стойку сервер Skylake высотой 1U с одним разъемом, оснащенный двумя картами VE типа 10B или 10C.
  • A300-4: монтируемый в стойку сервер Skylake высотой 1U с двумя разъемами, оснащенный до четырех плат VE типа 10B или 10C.
  • A300-8: монтируемый в стойку сервер Skylake высотой 4U с двумя разъемами и до восьми плат VE типа 10B или 10C.
  • A500-64: стойка, оснащенная процессорами семейства Intel Xeon Silver 4100 или Intel Xeon Gold 6100 и 32, 48 или 64 виртуальными средами типа 10A или 10B.[13]


Все типы имеют исключительно воздушное охлаждение, за исключением серии A500, в которой также используется водяное охлаждение.

Программного обеспечения

Операционная система

Операционная система векторной машины (VE) называется «VEOS» и полностью выгружена на хост-систему, векторный хост (VH).[14] VEOS состоит из модулей ядра и демонов пользовательского пространства, которые:

  • управлять процессами VE и их планированием на VE
  • управлять адресными пространствами виртуальной памяти процессов VE
  • обрабатывать передачи между VH и памятью VE с помощью механизмов VE DMA
  • обрабатывать прерывания и исключения процессов VE, а также их системные вызовы.[15]

VEOS поддерживает многозадачность в VE, и почти все системные вызовы Linux поддерживаются в VE libc.[16] Выгрузка сервисов операционной системы на виртуальный виртуальный сервер смещает дрожание ОС от виртуального компьютера за счет увеличения задержек.[17] Все пакеты, относящиеся к операционной системе VE, находятся под лицензией Стандартная общественная лицензия GNU и были опубликованы на github.com/ veos-sxarr-nec.

Позже NEC, похоже, отказалась от VEOS в пользу Red Hat Enterprise Linux или же CentOS.

Разработка программного обеспечения

Комплект разработчика программного обеспечения доступен от NEC для разработчиков и клиентов. Он содержит запатентованные продукты и должен быть приобретен у NEC. SDK содержит:

  • Компиляторы C, C ++ и Fortran, поддерживающие автоматическую векторизацию и автоматическое распараллеливание, а также OpenMP.[18]
  • Инструменты оптимизации производительности: ftraceviewer и veperf.[19]
  • Оптимизированные числовые библиотеки для VE: BLAS, SBLAS, LAPACK, SCALAPACK, ASL, Heterosolver.[20]

NEC MPI также является частной реализацией и соответствует стандартной спецификации MPI-3.1.[21]

Можно создать гибридные программы, которые используют VE в качестве ускорителя для определенных функций ядра хоста, используя C-API разгрузки VE.[22] В некоторой степени разгрузка VE сравнима с OpenCL и CUDA, но обеспечивает более простой API и позволяет разрабатывать ядра на обычном C, C ++ или Fortran и использовать практически любой системный вызов на VE.[нужна цитата ] Привязки Python к VEO доступны по адресу github.com/ SX-Аврора/ py-veo.

Рекомендации

  1. ^ а б "NEC SX-Aurora TSUBASA - Векторный двигатель". www.nec.com. Получено 2018-03-20.
  2. ^ а б c d Морган, Тимоти Прикетт (27 октября 2017 г.). "Можно ли возродить векторные суперкомпьютеры?". Следующая платформа.
  3. ^ «NEC представляет новую линейку высокопроизводительных продуктов для высокопроизводительных вычислений, SX-Aurora TSUBASA». NEC. Получено 2018-03-21.
  4. ^ Имаи, Теруюки (2019), Герофи, Балаш; Исикава, Ютака; Ризен, Рольф; Вишневски, Роберт В. (ред.), "NEC Earth Simulator и SX-Aurora TSUBASA", Операционные системы для суперкомпьютеров и высокопроизводительных вычислений, Серия высокопроизводительных вычислений, Сингапур: Springer, 1, стр. 139–160, Дои:10.1007/978-981-13-6624-6_9, ISBN  978-981-13-6624-6
  5. ^ Морган, Тимоти Прикетт (22.11.2017). «Глубокое погружение в векторный двигатель NEC Aurora». Следующая платформа. Получено 2020-07-02.
  6. ^ Фохт, Эрих. «Первые шаги с векторным движком SX-Aurora TSUBASA». sx-aurora.github.io. Получено 2020-07-02.
  7. ^ Брошюра SX-Aurora TSUBASA
  8. ^ "Модели векторных двигателей NEC". www.nec.com. Получено 15 сентября 2020.
  9. ^ а б https://www.nec.com/en/global/solutions/hpc/sx/docs/SX-Aurora_eng_202002.pdf
  10. ^ а б c «Архитектура NEC SX-Aurora TSUBASA». www.nec.com. Получено 2018-03-20.
  11. ^ "SX-Aurora - Микроархитектуры - NEC - WikiChip". en.wikichip.org. Получено 2020-07-02.
  12. ^ https://www.nec.com/en/global/solutions/hpc/sx/index.html ?
  13. ^ "NEC SX-Aurora TSUBASA A500-64". www.nec.com.
  14. ^ "NEC SX Aurora TSUBASA - VSC documentation 1.0 документация". vlaams-supercomputing-centrum-vscdocumentation.readthedocs-hosted.com. Получено 2020-07-02.
  15. ^ "Взгляд на новейший векторный процессор NEC, SX-Aurora". WikiChip Fuse. 2018-12-09. Получено 2020-08-27.
  16. ^ "Взгляд на новейший векторный процессор NEC, SX-Aurora". WikiChip Fuse. 2018-12-09. Получено 2020-08-27.
  17. ^ "Взгляд на новейший векторный процессор NEC, SX-Aurora". WikiChip Fuse. 2018-12-09. Получено 2020-08-27.
  18. ^ "NEC SX Aurora TSUBASA - VSC documentation 1.0 документация". vlaams-supercomputing-centrum-vscdocumentation.readthedocs-hosted.com. Получено 2020-08-27.
  19. ^ "Документация NEC SX-Aurora TSUBASA".
  20. ^ "Векторная система NEC SX-Aurora TSUBASA". Rechenzentrum der CAU. Получено 2020-08-27.
  21. ^ «Руководство пользователя NEC MPI».
  22. ^ "SX-Aurora / veoffload". GitHub. Получено 2018-03-21.

внешняя ссылка