NEC SX-Aurora TSUBASA
NEC SX-Aurora TSUBASA — векторный процессор семейства NEC SX[1][2]. В отличие от предыдущих суперкомпьютеров этого семейства, SX-Aurora TSUBASA поставляется в виде карты PCIe, называемой NEC «Vector Engine» (VE)[2][3]. Восемь карт Vector Engine можно вставить в векторный хост (VH), который обычно представляет собой сервер x86-64 под управлением операционной системы Linux[2].
О продукте было объявлено в пресс-релизе 25 октября 2017 года, а начало продаж состоялось в феврале 2018 года[4].
Модель NEC SX-Aurora TSUBASA пришла на смену SX-ACE.
Оборудование[править | править код]
SX-Aurora TSUBASA является преемником серий NEC SX и SUPER-UX, векторных компьютерных систем, на которых основан суперкомпьютер Earth Simulator.
Его аппаратное обеспечение состоит из хостов Linux x86 с векторными движками (VE), подключенными через соединение PCI Express (PCIe)[5].
Высокая пропускная способность памяти (0,75–1,2 ТБ/с) обеспечивается за счет восьми ядер и шести модулей памяти HBM2, объединённых на кремниевом интерпозере, оформленном в форм-факторе карты PCIe полной длины, полной высоты и двойной ширины[6]. Функциональность операционной системы для VE переносится на VH и обрабатывается в основном демонами пользовательского пространства, на которых работает VEOS[7].
В зависимости от тактовой частоты (1,4 или 1,6 ГГц) каждый процессор VE имеет восемь ядер и пиковую производительность 2,15 или 2,45 терафлопс при вычислениях с двойной точностью[1][2][8]. Процессор впервые в мире оснащен шестью модулями HBM2 на кремниевом интерпозере с общим объемом памяти 24 или 48 ГБ с высокой пропускной способностью.
На сервере, поставляемом NEC может размещаться до восьми VE, кластеры VH могут масштабироваться до произвольного количества узлов.
Версии Vector Engine[править | править код]
По состоянию на 2023 год были разработаны и выпущены на рынок следующие версии TSUBASA:
SKU | 10A | 10B | 10C | 10AE | 10BE | 10CE |
---|---|---|---|---|---|---|
Частота процессора Ггц | 1.6 | 1.4 | 1.4 | 1.584 | 1.408 | 1.400 |
Число векторных ядер в процессоре | 8 | 8 | 8 | 8 | 8 | 8 |
Пиковая производительность ядра
(double precision GFLOPS) |
307.2 | 268.8 | 268.8 | 304 | 270 | 268 |
Пиковая производительность ядра
(single precision GFLOPS) |
537 | 608 | 540 | 537 | ||
Пиковая производительность процессора
(double precision TFLOPS) |
2.45 | 2.15 | 2.15 | 2.43 | 2.16 | 2.15 |
Пиковая производительность процессора
(single precision TFLOPS) |
4.9 | 4.3 | 4.3 | 4.86 | 4.32 | 4.30 |
Пропускная способность памяти (ТБ/с) | 1.2 | 1.2 | 0.75 | 1.35 | 1.35 | 1.00 |
Ёмкость памяти (Гб) | 48 | 48 | 24 | 48 | 48 | 24 |
Ёмкость кэш-памяти (Мб) | 16 | 16 | 16 | 16 | 16 | 16 |
Версия 1.0 Vector Engine была произведена по 16-нм техпроцессу FinFET (от TSMC) и выпущена в трех основных версиях продукта (в доработанных версиях добавляется буква E в конце)[9]:
По состоянию на ноябрь 2023 года из перечисленных моделей поставляются только модели 10AE и 10CE.
SKU | 20A | 20B |
---|---|---|
Частота процессора Ггц | 1.6 | 1.6 |
Число векторных ядер в процессоре | 10 | 8 |
Пиковая производительность ядра
(double precision GFLOPS) |
307 | 307 |
Пиковая производительность ядра
(single precision GFLOPS) |
614 | 614 |
Пиковая производительность процессора
(double precision TFLOPS) |
3.07 | 2.45 |
Пиковая производительность процессора
(single precision TFLOPS) |
6.14 | 4.91 |
Пропускная способность памяти (ТБ/с) | 1.53 | 1.53 |
Ёмкость памяти (Гб) | 48 | 48 |
Ёмкость кэш-памяти (Мб) | 16 | 16 |
SKU | 30A |
---|---|
Частота процессора Ггц | 1.6 |
Число векторных ядер в процессоре | 16 |
Пиковая производительность ядра
(double precision GFLOPS) |
307 |
Пиковая производительность ядра
(single precision GFLOPS) |
614 |
Пиковая производительность процессора
(double precision TFLOPS) |
4.91 |
Пиковая производительность процессора
(single precision TFLOPS) |
9,82 |
Пропускная способность памяти (ТБ/с) | 2.45 |
Ёмкость памяти (Гб) | 96 |
Ёмкость кэш-памяти (Мб) | 64 |
Архитектура процессора[править | править код]
Каждое из ядер Aurora имеет 64 логических векторных регистра[11]. Регистры имеют глубину 256, т.е. каждому логическому регистру соответствует 256 ячеек, в которых хранятся значения, используемые последовательно выполняемыми операциями. Конструкция регистра представляет собой гибрид обычного для векторных процессоров пайплайна и элементов памяти, предназначенных для SIMD-обработки, объединённых по 32. Процессор может выполнять с ними как векторную команду, так и SIMD-инструкцию. Регистры подключены к трём блоками умножения и сложения (FMA) с плавающей запятой, которые могут работать параллельно, двум арифметико-логических блокам ALU, обрабатывающих операции с фиксированной запятой, а также конвейру деления и квадратного корня.
Используя только блоки FMA и их 32-кратный SIMD-параллелизм, векторное ядро способно выполнять 192 операции двойной точности за цикл[10].
В «упакованных» векторных операциях, когда два значения одинарной точности загружаются в пространство одного слота двойной точности в векторных регистрах, векторный модуль выполняет вдвое больше операций за такт по сравнению с двойной точностью. Скалярное процессорное устройство (SPU) обрабатывает невекторные инструкции на каждом из ядер.
Память и кэш[править | править код]
Память процессора SX-Aurora TSUBASA состоит из шести высокоскоростных модулей памяти HBM2, реализованных в том же корпусе, что и центральный процессор, с помощью технологии Chip-on-Wafer-on-Substrate. В зависимости от модели процессора модули HBM2 представляют собой 4 или 8[12] 3D-модулей с емкостью 4 или 8 ГБ каждый. Таким образом, процессоры SX-Aurora имеют память HBM2 объемом 24, 48 или 96 ГБ. Модели, оснащенные большими модулями HBM2, имеют пропускную способность памяти 1,2 ТБ/с[13]. Ядра векторного движка первого и второго поколения совместно используют 16 МБ кэша последнего уровня (LLC) - кэша обратной записи, напрямую подключенного к векторным регистрам, и кэша L2 SPU. Размер строки кэша LLC составляет 128 байт. Приоритет хранения данных в LLC можно в некоторой степени контролировать программно, что позволяет программисту указать, какие переменные или массивы должны сохраняться в кеше, что сравнимо с функцией Advanced Data Buffer (ADB) NEC SX-ACE. В третьем поколении системы ёмкость этого кэша увеличена до 64Мб.
Поставляемые платформы[править | править код]
NEC продавала векторный движок SX-Aurora TSUBASA, интегрированный в разные виды платформ, часть из которых, впоследствии, была снята с продаж по мере устаревания:
- A111-1: ПК в корпусе Tower с одной картой VE типа 10B.
- A101-1: ПК в корпусе Tower с одной картой VE типа 10CE.
- A311-4: масштабируемый сервер Xeon высотой 1U для установки в шкаф 19 дюймов с двумя сокетами, монтируемый в стойку, оснащенный до четырех карт VE типа BE.
- A311-8: масштабируемый сервер Xeon высотой 4U для установки в шкаф 19 дюймов с двумя сокетами и возможностью установки до восьми карт VE типа BE[14].
- А511-64: 19-дюймовая стойка, оснащенная 64 ВЭ типа АЕ. Это - конфигурация, которая явно позиционировалась как суперкомпьютер[14].
- 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 Vector Engine типа 10A или 10B.
- B401-8: сервер с процессором AMD EPYC высотой 2U для установки в шкаф 19 дюймов с двумя сокетами, монтируемый в стойку, оснащенный 8 картами VE типа 20A или 20B[14].
Перечисленные устройства не исчерпывают всю номенклатуру устройств, поставляемых NEC.
Все устройства, кроме серии A500 имеют исключительно воздушное охлаждение, A500, также, используется водяное.
Внутри узла VH виртуальные устройства могут взаимодействовать друг с другом через PCIe. Большие параллельные системы, построенные с помощью SX-Aurora, используют Infiniband в режиме PeerDirect в качестве межхостового соединения.
Программное обеспечение[править | править код]
Операционная система[править | править код]
Операционная система Vector Engine (VE) называется «VEOS» и выполняется полностью на хост-системе (Vector Host, VH).
VEOS состоит из модулей ядра и демонов пользовательского пространства, которые:
- управляют процессами VE и их планированием на VE
- управляют адресными пространствами виртуальной памяти процессов VE
- обрабатывают обмен между памятью VH и VE с помощью механизмов VE DMA
- обрабатывают прерывания и исключения процессов VE, а также их системные вызовы[15].
VEOS поддерживает многозадачность в VE, и почти все системные вызовы Linux поддерживаются в библиотеке VE libc[15].
Выгрузка служб операционной системы на хост устраняет джиттер процессов на Vector Engine за счет относительно небольшого увеличения задержек при обмене данными[15]. Это является критичным для многочисленных задач численного моделирования, использующих, в частности, интерфейс MPI, OpenMP и аналогичные.
Все пакеты, связанные с операционной системой VE, лицензируются по лицензии GNU General Public License и опубликованы в репозитории GitHub.
Разработка ПО[править | править код]
Для разработчиков и клиентов компания NEC предлагает SDK. Он включает коммерческие продукты и должен быть приобретен у NEC.
SDK содержит:
- Компиляторы C, C++ и Fortran, поддерживающие автоматическую векторизацию и автоматическое распараллеливание, а также OpenMP.[16]
- Инструменты оптимизации производительности: ftraceviewer, veperf и NEC Parallel debugger[17].
- Библиотеки численных расчётов, оптимизированные для VE и объединённые под названием NEC Numeric Library Collection (NLC): BLAS, SBLAS, LAPACK, SCALAPACK, ASL, Heterosolver и ряд других[18][19].
NEC MPI также является собственной реализацией Message Passing Interface от NEC и соответствует спецификации стандарта MPI-3.1[20].
Могут быть созданы гибридные программы, которые используют VE в качестве ускорителя для определенных функций ядра хоста, используя специализированную библиотеку вызовов, совместимую с языком С для выгрузки задач на Vector Engine[21].
В некоторой степени интерфейс выгрузки задач (Vector Engine Offloading) на VE сравним с OpenCL и CUDA, но обеспечивает более простой API и позволяет вести разработку ПО на обычном C, C++ или Fortran, используя при этом практически любой системный вызов в VE.
Доступны биндинги Python к VEO.
Прикладное программное обеспечение[править | править код]
Ряд прикладных расчётных пакетов портирован на платформу. Среди них можно назвать:
Пакеты компьютерной химии:
- VASP (Vienna Ab initio Simulation Package)
- QuantumESPRESSO
Анализ методом конечных элементов
Специализированная библиотека для решения линейных уравнений
- VINAS Super Matrix Solver
Перспективы развития[править | править код]
NEC в декабре 2022 года анонсировала дальнейшее развитие платформы - были более-менее твёрдо показаны характеристики четвёртого поколения Vector Engine, на представленном в презентации roadmap присутствовали пятое и шестое. Однако, в марте 2023 года распространились слухи, что компания отказалась от дальнейшего развития системы, оценивая как бесперспективную конкуренцию с ускорителями AMD Instinct и NVidia. После нескольких запросов к официальным лицам компании, те, не приводя подробности, ответили, что отказ от развития относится только к энерегоэффективной версии своих ускорителей, разрабатывавшихся совместно с Japan’s New Energy and Industrial Technology Development Organization’s (NEDO) Green Innovation Fund, а развитие SX-Aurora будет продолжено[22].
Aurora TSUBASA в России[править | править код]
В России инсталляция данной системы имеется в НИВЦ МГУ. Также в конце 2021 года осуществлялась закупка для Университета Иннополис, но её судьба не известна.
Примечания[править | править код]
- ↑ 1,0 1,1 NEC SX-Aurora TSUBASA - Vector Engine
- ↑ 2,0 2,1 2,2 2,3 Can Vector Supercomputing Be Revived?
- ↑ Imai, Teruyuki (2019), Gerofi, Balazs; Ishikawa, Yutaka; Riesen, Rolf; Wisniewski, Robert W. (eds.), "NEC Earth Simulator and the SX-Aurora TSUBASA", Operating Systems for Supercomputers and High Performance Computing, High-Performance Computing Series, Singapore: Springer, vol. 1, pp. 139–160. doi:10.1007/978-981-13-6624-6_9, ISBN 978-981-13-6624-6, S2CID 204811906
- ↑ NEC releases new high-end HPC product line, SX-Aurora TSUBASA
- ↑ Imai, Teruyuki (2019), Gerofi, Balazs; Ishikawa, Yutaka; Riesen, Rolf; Wisniewski, Robert W. (eds.), "NEC Earth Simulator and the SX-Aurora TSUBASA", Operating Systems for Supercomputers and High Performance Computing, High-Performance Computing Series, vol. 1, Singapore: Springer, pp. 139–160, doi:10.1007/978-981-13-6624-6_9, ISBN 978-981-13-6624-6, S2CID 204811906
- ↑ Morgan, Timothy Prickett (2017-11-22). "A Deep Dive Into NEC's Aurora Vector Engine". The Next Platform. Дата обращения: 2 июля 2020.
- ↑ Focht, Erich. "First steps with the SX-Aurora TSUBASA vector engine". sx-aurora.github.io. Дата обращения: 2 июля 2020.
- ↑ SX-Aurora TSUBASA Brochure
- ↑ "SX-Aurora TSUBASA" (PDF). NEC Corporation. February 2020.
- ↑ 10,0 10,1 "NEC Vector Engine Models". www.nec.com. Дата обращения: 15 сентября 2020.
- ↑ "NEC SX-Aurora TSUBASA Architecture". www.nec.com. Дата обращения: 20 марта 2018.
- ↑ Относительно третьего поколения VE не известно, увеличилось ли вдвое число модулей, или емкость каждого из них. В любом случае, общая ёмкость памяти HBM2 в них удвоена.
- ↑ "SX-Aurora - Microarchitectures - NEC - WikiChip". en.wikichip.org. Дата обращения: 2 июля 2020.
- ↑ 14,0 14,1 14,2 В продаже по состоянию на январь 2024
- ↑ 15,0 15,1 15,2 "A Look at NEC's Latest Vector Processor, the SX-Aurora". WikiChip Fuse. 2018-12-09. Дата обращения: 27 августа 2020.
- ↑ "NEC SX Aurora TSUBASA — VSC documentation 1.0 documentation". vlaams-supercomputing-centrum-vscdocumentation.readthedocs-hosted.com. Дата обращения: 27 августа 2020.
- ↑ "NEC SX-Aurora TSUBASA Documentation".
- ↑ "NEC SX-Aurora TSUBASA Vector System". Rechenzentrum der CAU. Дата обращения: 27 августа 2020.
- ↑ Руководство по NEC NLC.
- ↑ "NEC MPI User's Guide".
- ↑ "SX-Aurora/veoffload". GitHub.
- ↑ Is This The End Of The Line For NEC Vector Supercomputers? Timothy Prickett Morgan. 23.02.2022. The Next Platform.