NEC SX-Aurora TSUBASA - NEC SX-Aurora TSUBASA
В 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]
SKU | 20А | 20B |
---|---|---|
Тактовая частота (в ГГц) | 1.6 | 1.6 |
Количество ядер | 10 | 8 |
Пиковая производительность ядра (GFLOPS двойной точности) | 307 | 307 |
Пиковая производительность ядра (одинарная точность GFLOPS) | 614 | 614 |
Пиковая производительность процессора (TFLOPS двойной точности) | 3.07 | 2.45 |
Пиковая производительность процессора (одинарная точность TFLOPS) | 6.14 | 4.91 |
Пропускная способность памяти (ТБ / с) | 1.53 | 1.53 |
Объем памяти (ГБ) | 48 | 48 |
Векторный движок версии 1
Версия 1.0 Vector Engine была произведена в 16 нм FinFET процесс (от TSMC ) и выпущен в трех SKU (в последующих версиях в конце добавляется буква E):[9]
SKU | 10А | 10B | 10C | 10 AE | 10BE | 10CE |
---|---|---|---|---|---|---|
Тактовая частота (в ГГц) | 1.6 | 1.4 | 1.4 | 1.584 | 1.408 | 1.400 |
Количество ядер | 8 | 8 | 8 | 8 | 8 | 8 |
Пиковая производительность ядра (GFLOPS двойной точности) | 307.2 | 268.8 | 268.8 | 304 | 270 | 268 |
Пиковая производительность ядра (одинарная точность GFLOPS) | 537 | 608 | 540 | 537 | ||
Пиковая производительность процессора (TFLOPS двойной точности) | 2.45 | 2.15 | 2.15 | 2.43 | 2.16 | 2.15 |
Пиковая производительность процессора (одинарная точность 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 |
Функциональные блоки
Каждое из восьми ядер 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
Позже 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
Рекомендации
- ^ а б "NEC SX-Aurora TSUBASA - Векторный двигатель". www.nec.com. Получено 2018-03-20.
- ^ а б c d Морган, Тимоти Прикетт (27 октября 2017 г.). "Можно ли возродить векторные суперкомпьютеры?". Следующая платформа.
- ^ «NEC представляет новую линейку высокопроизводительных продуктов для высокопроизводительных вычислений, SX-Aurora TSUBASA». NEC. Получено 2018-03-21.
- ^ Имаи, Теруюки (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
- ^ Морган, Тимоти Прикетт (22.11.2017). «Глубокое погружение в векторный двигатель NEC Aurora». Следующая платформа. Получено 2020-07-02.
- ^ Фохт, Эрих. «Первые шаги с векторным движком SX-Aurora TSUBASA». sx-aurora.github.io. Получено 2020-07-02.
- ^ Брошюра SX-Aurora TSUBASA
- ^ "Модели векторных двигателей NEC". www.nec.com. Получено 15 сентября 2020.
- ^ а б https://www.nec.com/en/global/solutions/hpc/sx/docs/SX-Aurora_eng_202002.pdf
- ^ а б c «Архитектура NEC SX-Aurora TSUBASA». www.nec.com. Получено 2018-03-20.
- ^ "SX-Aurora - Микроархитектуры - NEC - WikiChip". en.wikichip.org. Получено 2020-07-02.
- ^ https://www.nec.com/en/global/solutions/hpc/sx/index.html ?
- ^ "NEC SX-Aurora TSUBASA A500-64". www.nec.com.
- ^ "NEC SX Aurora TSUBASA - VSC documentation 1.0 документация". vlaams-supercomputing-centrum-vscdocumentation.readthedocs-hosted.com. Получено 2020-07-02.
- ^ "Взгляд на новейший векторный процессор NEC, SX-Aurora". WikiChip Fuse. 2018-12-09. Получено 2020-08-27.
- ^ "Взгляд на новейший векторный процессор NEC, SX-Aurora". WikiChip Fuse. 2018-12-09. Получено 2020-08-27.
- ^ "Взгляд на новейший векторный процессор NEC, SX-Aurora". WikiChip Fuse. 2018-12-09. Получено 2020-08-27.
- ^ "NEC SX Aurora TSUBASA - VSC documentation 1.0 документация". vlaams-supercomputing-centrum-vscdocumentation.readthedocs-hosted.com. Получено 2020-08-27.
- ^ "Документация NEC SX-Aurora TSUBASA".
- ^ "Векторная система NEC SX-Aurora TSUBASA". Rechenzentrum der CAU. Получено 2020-08-27.
- ^ «Руководство пользователя NEC MPI».
- ^ "SX-Aurora / veoffload". GitHub. Получено 2018-03-21.
внешняя ссылка
- Новости и статьи для векторного движка SX-Aurora.
- Форум NEC Aurora
- Веб-форум NEC Aurora
- NEC Aurora VEOS
- Тренинг по векторизации NEC Aurora
- Сборник инструментов и проектов