NEC SX-Аврора ЦУБАСА - NEC SX-Aurora TSUBASA
NEC SX-Aurora TSUBASA является векторным процессором на архитектуре NEC SX семейства. В отличие от предыдущих суперкомпьютеров SX , SX-Aurora TSUBASA предоставляется в виде карты PCIe, которую NEC называет «векторным движком» (VE). Восемь карт VE могут быть вставлены в векторный хост (VH), который обычно представляет собой сервер x86-64 под управлением операционной системы Linux. О продукте было объявлено в пресс-релизе от 25 октября 2017 года, и NEC начала его продажи в феврале 2018 года. Продукт пришел на смену SX-ACE .
Аппаратное обеспечение
SX-Aurora TSUBASA является преемником серии NEC SX и SUPER-UX , векторных компьютерных систем, на которых основан суперкомпьютер Earth Simulator . Его оборудование состоит из хостов Linux x86 с векторными механизмами (VE), подключенными через соединение PCI Express (PCIe).
Высокая пропускная способность памяти (0,75–1,2 ТБ / с) обеспечивается восемью ядрами и шестью модулями памяти HBM2 на кремниевом переходнике, реализованном в форм-факторе карты PCIe. Функциональные возможности операционной системы для VE выгружаются на VH и обрабатываются в основном демонами пользовательского пространства, работающими с VEOS.
В зависимости от тактовой частоты (1,4 или 1,6 ГГц) каждый ЦП VE имеет восемь ядер и максимальную производительность 2,15 или 2,45 терафлопс при двойной точности. В процессоре впервые в мире реализовано шесть модулей HBM2 на промежуточном устройстве Silicon с общим объемом памяти 24 или 48 ГБ с высокой пропускной способностью. Он интегрирован в форм-фактор стандартной карты PCIe полной длины, полной высоты и двойной ширины, которая размещается на сервере x86_64, Vector Host (VH). Сервер может содержать до восьми виртуальных машин, кластеры виртуальных машин могут масштабироваться до произвольного количества узлов.
Релизы продуктов
Версия 2 Векторный движок
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):
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 логических векторных регистра. Они имеют длину 256 x 64 бита, реализованную как смесь конвейерных и 32-кратных параллельных модулей SIMD. Регистры подключены к трем модулям умножения и сложения с плавающей запятой FMA, которые могут работать параллельно, а также к двум арифметическим логическим модулям ALU, обрабатывающим операции с фиксированной запятой, и конвейеру деления и извлечения квадратного корня. Учитывая только блоки FMA и их 32-кратный параллелизм SIMD, векторное ядро способно выполнять 192 операции двойной точности за цикл. В «упакованных» векторных операциях, когда два значения одинарной точности загружаются в пространство одного слота двойной точности в векторных регистрах, векторный блок выполняет в два раза больше операций за такт по сравнению с двойной точностью.
Скалярный процессор (SPU) обрабатывает не-векторные инструкции на каждом из ядер.
Память и кеши
Память процессора SX-Aurora TSUBASA состоит из шести модулей памяти HBM2 с высокой пропускной способностью второго поколения, реализованных в том же корпусе, что и ЦП, с помощью технологии Chip-on-Wafer-on-Substrate. В зависимости от модели процессора, модули HBM2 представляют собой трехмерные модули с 4 или 8 матрицами емкостью 4 или 8 ГБ каждый. Таким образом, процессоры SX-Aurora имеют 24 ГБ или 48 ГБ памяти HBM2. Модели с большими модулями HBM2 имеют пропускную способность памяти 1,2 ТБ / с.
Ядра векторного механизма совместно используют 16 МБ «кэша последнего уровня» (LLC), кэша обратной записи, напрямую подключенного к векторным регистрам и кэш-памяти L2 SPU. Размер строки кэша LLC составляет 128 байт. Приоритетом хранения данных в LLC можно до некоторой степени управлять с помощью программного обеспечения, позволяя программисту указать, какие из переменных или массивов должны храниться в кеше, функция, сравнимая с функцией Advanced Data Buffer (ADB) NEC. SX-ACE .
Платформы
В настоящее время 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
- 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.
Все типы имеют исключительно воздушное охлаждение, за исключением серии A500, в которой также используется водяное охлаждение.
Программное обеспечение
Операционная система
Операционная система векторной машины (VE) называется «VEOS», и она полностью выгружена на хост-систему, векторный хост (VH). VEOS состоит из модулей ядра и демонов пользовательского пространства, которые:
- управлять процессами VE и их планированием на VE
- управлять адресными пространствами виртуальной памяти процессов VE
- обрабатывать переводы между VH и VE памятью с помощью механизмов VE DMA
- обрабатывать прерывания и исключения процессов VE, а также их системные вызовы.
VEOS поддерживает многозадачность в VE, и почти все системные вызовы Linux поддерживаются в VE libc. Выгрузка сервисов операционной системы на виртуальный виртуальный сервер смещает дрожание ОС от виртуального компьютера за счет увеличения задержек. Все пакеты, относящиеся к операционной системе VE, находятся под лицензией GNU General Public License и опубликованы на github
Позже NEC, похоже, отказалась от VEOS в пользу Red Hat Enterprise Linux или CentOS .
Разработка программного обеспечения
Комплект разработчика программного обеспечения доступен от NEC для разработчиков и клиентов. Он содержит запатентованные продукты и должен быть приобретен у NEC. SDK содержит:
- Компиляторы C, C ++ и Fortran, поддерживающие автоматическую векторизацию и автоматическое распараллеливание, а также OpenMP.
- Инструменты оптимизации производительности: ftraceviewer и veperf.
- Оптимизированные числовые библиотеки для VE: BLAS, SBLAS, LAPACK, SCALAPACK, ASL, Heterosolver.
NEC MPI также является частной реализацией и соответствует стандартной спецификации MPI-3.1.
Гибридные программы могут быть созданы, которые используют VE в качестве ускорителя для определенных функций ядра хоста, используя C-API разгрузки VE. В некоторой степени разгрузка VE сравнима с OpenCL и CUDA, но обеспечивает более простой API и позволяет разрабатывать ядра на обычном C, C ++ или Fortran и использовать практически любой системный вызов в VE. Привязки Python к VEO доступны на github
использованная литература
внешние ссылки
- Новости и статьи для SX-Aurora Vector Engine.
- Форум NEC Aurora
- Веб-форум NEC Aurora
- NEC Aurora VEOS
- Тренинг по векторизации NEC Aurora
- Сборник инструментов и проектов