NEC SX-Aurora TSUBASA: различия между версиями
(не показано 47 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
− | NEC SX-Aurora TSUBASA — векторный процессор семейства [[NEC SX]]<ref name="nec- | + | NEC SX-Aurora TSUBASA — векторный процессор семейства [[NEC SX]]<ref name=":0">[https://www.nec.com/en/global/solutions/hpc/sx/vector_engine.html NEC SX-Aurora TSUBASA - Vector Engine]</ref><ref name=":1">[https://www.nextplatform.com/2017/10/26/can-vector-supercomputing-revived/ Can Vector Supercomputing Be Revived?]</ref>. В отличие от предыдущих суперкомпьютеров этого семейства, SX-Aurora TSUBASA поставляется в виде карты [[PCIe]], называемой NEC «Vector Engine» (VE)<ref name=":1" /><ref>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</ref>. Восемь карт Vector Engine можно вставить в векторный хост (VH), который обычно представляет собой сервер [[x86-64]] под управлением операционной системы [[Linux]]<ref name=":1" />. |
− | О продукте было объявлено в пресс-релизе 25 октября 2017 года, а начало продаж состоялось в феврале 2018 года. | + | О продукте было объявлено в пресс-релизе 25 октября 2017 года, а начало продаж состоялось в феврале 2018 года<ref>[https://www.nec.com/en/press/201710/global_20171025_01.html NEC releases new high-end HPC product line, SX-Aurora TSUBASA]</ref>. |
Модель NEC SX-Aurora TSUBASA пришла на смену [[SX-ACE]]. | Модель NEC SX-Aurora TSUBASA пришла на смену [[SX-ACE]]. | ||
Строка 8: | Строка 8: | ||
SX-Aurora TSUBASA является преемником серий NEC SX и SUPER-UX, векторных компьютерных систем, на которых основан суперкомпьютер [[Earth Simulator]]. | SX-Aurora TSUBASA является преемником серий NEC SX и SUPER-UX, векторных компьютерных систем, на которых основан суперкомпьютер [[Earth Simulator]]. | ||
− | Его аппаратное обеспечение состоит из хостов Linux x86 с векторными движками (VE), подключенными через соединение [[PCI Express]] (PCIe). | + | Его аппаратное обеспечение состоит из хостов Linux x86 с векторными движками (VE), подключенными через соединение [[PCI Express]] (PCIe)<ref>{{Citation|last=Imai|editor4-last=Wisniewski|editor3-first=Rolf|editor3-last=Riesen|editor2-first=Yutaka|editor2-last=Ishikawa|s2cid=204811906|isbn=978-981-13-6624-6|doi=10.1007/978-981-13-6624-6_9|publisher=Springer|first=Teruyuki|place=Singapore|volume=1|series=High-Performance Computing Series|editor-first=Balazs|editor-last=Gerofi|pages=139–160|work=Operating Systems for Supercomputers and High Performance Computing|date=2019|title=NEC Earth Simulator and the SX-Aurora TSUBASA|editor4-first=Robert W.}}</ref>. |
− | Высокая пропускная способность памяти (0,75–1,2 ТБ/с) обеспечивается за счет восьми ядер и шести модулей памяти [[HBM2]], объединённых на кремниевом [[Интерпозер|интерпозере]], оформленном в [[Форм-фактор|форм-факторе]] карты PCIe полной длины, полной высоты и двойной ширины. Функциональность операционной системы для VE переносится на VH и обрабатывается в основном демонами пользовательского пространства, на которых работает [[VEOS]]. | + | Высокая пропускная способность памяти (0,75–1,2 ТБ/с) обеспечивается за счет восьми ядер и шести модулей памяти [[HBM2]], объединённых на кремниевом [[Интерпозер|интерпозере]], оформленном в [[Форм-фактор|форм-факторе]] карты PCIe полной длины, полной высоты и двойной ширины<ref>{{Cite web|last=Morgan|first=Timothy Prickett|date=2017-11-22|title=A Deep Dive Into NEC's Aurora Vector Engine|url=https://www.nextplatform.com/2017/11/22/deep-dive-necs-aurora-vector-engine/|access-date=2020-07-02|website=The Next Platform}}</ref>. Функциональность операционной системы для VE переносится на VH и обрабатывается в основном демонами пользовательского пространства, на которых работает [[VEOS]]<ref>{{Cite web|last=Focht|first=Erich|title=First steps with the SX-Aurora TSUBASA vector engine|url=https://sx-aurora.github.io/posts/VE-first-steps/|access-date=2020-07-02|website=sx-aurora.github.io}}</ref>. |
− | В зависимости от тактовой частоты (1,4 или 1,6 ГГц) каждый процессор VE имеет восемь ядер и пиковую производительность 2,15 или 2,45 [[терафлопс]] при вычислениях с двойной точностью. Процессор впервые в мире оснащен шестью модулями HBM2 на кремниевом интерпозере с общим объемом памяти 24 или 48 ГБ с высокой пропускной способностью. | + | В зависимости от тактовой частоты (1,4 или 1,6 ГГц) каждый процессор VE имеет восемь ядер и пиковую производительность 2,15 или 2,45 [[терафлопс]] при вычислениях с двойной точностью<ref name=":0" /><ref name=":1" /><ref>[https://www.nec.com/en/global/solutions/hpc/sx/docs/SX-Aurora_e.pdf SX-Aurora TSUBASA Brochure]</ref>. Процессор впервые в мире оснащен шестью модулями HBM2 на кремниевом интерпозере с общим объемом памяти 24 или 48 ГБ с высокой пропускной способностью. |
На сервере, поставляемом NEC может размещаться до восьми VE, кластеры VH могут масштабироваться до произвольного количества узлов. | На сервере, поставляемом NEC может размещаться до восьми VE, кластеры VH могут масштабироваться до произвольного количества узлов. | ||
+ | |||
+ | === Версии Vector Engine === | ||
+ | По состоянию на 2023 год были разработаны и выпущены на рынок следующие версии TSUBASA: | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |+ | ||
+ | '''Version 1 Vector Engine''' | ||
+ | !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 в конце)<ref name="auto">{{cite web|url=https://www.nec.com/en/global/solutions/hpc/sx/docs/SX-Aurora_eng_202002.pdf|title=SX-Aurora TSUBASA|website=NEC Corporation|date=February 2020}}</ref>: | ||
+ | |||
+ | По состоянию на ноябрь 2023 года из перечисленных моделей поставляются только модели 10AE и 10CE. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |+ | ||
+ | '''Version 2 Vector Engine<ref name=":2">{{cite web|url=https://www.nec.com/en/global/solutions/hpc/sx/vector_engine.html|website=www.nec.com|accessdate=15 September 2020|title=NEC Vector Engine Models}}</ref>''' | ||
+ | !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 | ||
+ | |} | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |+ | ||
+ | '''Version 3 Vector Engine''' | ||
+ | !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 логических векторных регистра<ref name="nec-architecture">{{Cite web|url=https://www.nec.com/en/global/solutions/hpc/sx/architecture.html |title=NEC SX-Aurora TSUBASA Architecture|website=www.nec.com|access-date=2018-03-20}}</ref>. Регистры имеют глубину 256, т.е. каждому логическому регистру соответствует 256 ячеек, в которых хранятся значения, используемые последовательно выполняемыми операциями. Конструкция регистра представляет собой гибрид обычного для [[Векторный процессор|векторных процессоров]] пайплайна и элементов памяти, предназначенных для [[SIMD]]-обработки, объединённых по 32. Процессор может выполнять с ними как векторную команду, так и SIMD-инструкцию. Регистры подключены к трём блоками умножения и сложения (FMA) с плавающей запятой, которые могут работать параллельно, двум арифметико-логических блокам ALU, обрабатывающих операции с фиксированной запятой, а также конвейру деления и квадратного корня. | ||
+ | |||
+ | Используя только блоки FMA и их 32-кратный SIMD-параллелизм, векторное ядро способно выполнять 192 операции двойной точности за цикл<ref name=":2" />. | ||
+ | |||
+ | В «упакованных» векторных операциях, когда два значения одинарной точности загружаются в пространство одного слота двойной точности в векторных регистрах, векторный модуль выполняет вдвое больше операций за такт по сравнению с двойной точностью. Скалярное процессорное устройство (SPU) обрабатывает невекторные инструкции на каждом из ядер. | ||
+ | |||
+ | === Память и кэш === | ||
+ | Память процессора SX-Aurora TSUBASA состоит из шести высокоскоростных модулей памяти [[HBM2]], реализованных в том же корпусе, что и центральный процессор, с помощью технологии Chip-on-Wafer-on-Substrate. В зависимости от модели процессора модули HBM2 представляют собой 4 или 8<ref>Относительно третьего поколения VE не известно, увеличилось ли вдвое число модулей, или емкость каждого из них. В любом случае, общая ёмкость памяти HBM2 в них удвоена.</ref> 3D-модулей с емкостью 4 или 8 ГБ каждый. Таким образом, процессоры SX-Aurora имеют память HBM2 объемом 24, 48 или 96 ГБ. Модели, оснащенные большими модулями HBM2, имеют пропускную способность памяти 1,2 ТБ/с<ref>{{Cite web|title=SX-Aurora - Microarchitectures - NEC - WikiChip|url=https://en.wikichip.org/wiki/nec/microarchitectures/sx-aurora|access-date=2020-07-02|website=en.wikichip.org}}</ref>. Ядра векторного движка первого и второго поколения совместно используют 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<ref name=":3">В продаже по состоянию на январь 2024</ref>. | ||
+ | * А511-64: 19-дюймовая стойка, оснащенная 64 ВЭ типа АЕ. Это - конфигурация, которая явно позиционировалась как суперкомпьютер<ref name=":3" />. | ||
+ | |||
+ | * 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<ref name=":3" />. | ||
+ | |||
+ | Перечисленные устройства не исчерпывают всю номенклатуру устройств, поставляемых NEC. | ||
+ | |||
+ | Все устройства, кроме серии A500 имеют исключительно воздушное охлаждение, A500, также, используется водяное. | ||
+ | |||
+ | Внутри узла VH виртуальные устройства могут взаимодействовать друг с другом через [[PCIe]]. Большие параллельные системы, построенные с помощью SX-Aurora, используют [[Infiniband]] в режиме PeerDirect в качестве межхостового соединения. | ||
+ | |||
+ | == Программное обеспечение == | ||
+ | |||
+ | === Операционная система === | ||
+ | Операционная система Vector Engine (VE) называется «[[VEOS]]» и выполняется полностью на хост-системе (Vector Host, VH). | ||
+ | |||
+ | VEOS состоит из модулей ядра и демонов пользовательского пространства, которые: | ||
+ | |||
+ | * управляют процессами VE и их планированием на VE | ||
+ | * управляют адресными пространствами виртуальной памяти процессов VE | ||
+ | * обрабатывают обмен между памятью VH и VE с помощью механизмов [[DMA|VE DMA]] | ||
+ | * обрабатывают прерывания и исключения процессов VE, а также их системные вызовы<ref name="fuse.wikichip.org">{{Cite web|date=2018-12-09|title=A Look at NEC's Latest Vector Processor, the SX-Aurora|url=https://fuse.wikichip.org/news/1833/a-look-at-necs-latest-vector-processor-the-sx-aurora/|access-date=2020-08-27|website=WikiChip Fuse}}</ref>. | ||
+ | |||
+ | VEOS поддерживает многозадачность в VE, и почти все системные вызовы Linux поддерживаются в библиотеке VE libc<ref name="fuse.wikichip.org" />. | ||
+ | |||
+ | Выгрузка служб операционной системы на хост устраняет джиттер процессов на Vector Engine за счет относительно небольшого увеличения задержек при обмене данными<ref name="fuse.wikichip.org" />. Это является критичным для многочисленных задач численного моделирования, использующих, в частности, интерфейс [[Message Passing Interface|MPI]], [[OpenMP]] и аналогичные. | ||
+ | |||
+ | Все пакеты, связанные с операционной системой VE, лицензируются по лицензии [[GNU General Public License]] и опубликованы в репозитории [https://github.com/veos-sxarr-nec GitHub]. | ||
+ | |||
+ | === Разработка ПО === | ||
+ | Для разработчиков и клиентов компания NEC предлагает [[SDK]]. Он включает коммерческие продукты и должен быть приобретен у NEC. | ||
+ | |||
+ | SDK содержит: | ||
+ | |||
+ | * Компиляторы [[C (язык программирования)|C]], [[C++]] и [[Fortran]], поддерживающие автоматическую векторизацию и автоматическое распараллеливание, а также [[OpenMP.]]<ref>{{Cite web|title=NEC SX Aurora TSUBASA — VSC documentation 1.0 documentation|url=https://vlaams-supercomputing-centrum-vscdocumentation.readthedocs-hosted.com/en/latest/antwerp/uantwerp_SX_Aurara_TSUBASA.html|access-date=2020-08-27|website=vlaams-supercomputing-centrum-vscdocumentation.readthedocs-hosted.com}}</ref> | ||
+ | |||
+ | * Инструменты оптимизации производительности: ftraceviewer, veperf и NEC Parallel debugger<ref>{{Cite web|last=|first=|date=|title=NEC SX-Aurora TSUBASA Documentation|url=https://www.hpc.nec/documentation|archive-url=|archive-date=|access-date=|website=}}</ref>. | ||
+ | * Библиотеки численных расчётов, оптимизированные для VE и объединённые под названием NEC Numeric Library Collection (NLC): [[BLAS]], [[SBLAS]], [[LAPACK]], [[SCALAPACK]], [[ASL]], [[Heterosolver]] и ряд других<ref>{{Cite web|title=NEC SX-Aurora TSUBASA Vector System|url=https://www.rz.uni-kiel.de/en/our-portfolio/hiperf/nec-sx-aurora-tsubasa-vector-system|access-date=2020-08-27|website=Rechenzentrum der CAU}}</ref><ref>[https://sxauroratsubasa.sakura.ne.jp/documents/sdk/SDK_NLC/UsersGuide/main/en/index.html Руководство по NEC NLC].</ref>. | ||
+ | |||
+ | NEC MPI также является собственной реализацией Message Passing Interface от NEC и соответствует спецификации стандарта [[Message Passing Interface|MPI-3.1]]<ref>{{Cite web|last=|first=|date=|title=NEC MPI User's Guide|url=https://www.hpc.nec/documents/mpi/NEC_MPI_User_Guide_en/chap1.html|archive-url=|archive-date=|access-date=|website=}}</ref>. | ||
+ | |||
+ | Могут быть созданы гибридные программы, которые используют VE в качестве ускорителя для определенных функций ядра хоста, используя специализированную библиотеку вызовов, совместимую с языком С для выгрузки задач на Vector Engine<ref>{{Cite web|url=https://github.com/SX-Aurora/veoffload|title=SX-Aurora/veoffload|website=GitHub}}</ref>. | ||
+ | |||
+ | В некоторой степени интерфейс выгрузки задач (Vector Engine Offloading) на VE сравним с [[OpenCL]] и [[CUDA]], но обеспечивает более простой API и позволяет вести разработку ПО на обычном C, C++ или Fortran, используя при этом практически любой системный вызов в VE. | ||
+ | |||
+ | [https://github.com/SX-Aurora/py-veo Доступны биндинги Python к VEO]. | ||
+ | |||
+ | === Прикладное программное обеспечение === | ||
+ | Ряд прикладных расчётных пакетов портирован на платформу. Среди них можно назвать: | ||
+ | |||
+ | Пакеты [[Компьютерная химия|компьютерной химии]]: | ||
+ | |||
+ | * [[VASP]] (Vienna Ab initio Simulation Package) | ||
+ | * [[QuantumESPRESSO]] | ||
+ | |||
+ | Анализ методом конечных элементов | ||
+ | |||
+ | * [[CalculiX]] | ||
+ | |||
+ | Специализированная библиотека для решения линейных уравнений | ||
+ | |||
+ | * 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 будет продолжено<ref>[https://www.nextplatform.com/2023/03/23/is-this-the-end-of-the-line-for-nec-vector-supercomputers/ Is This The End Of The Line For NEC Vector Supercomputers?] Timothy Prickett Morgan. 23.02.2022. The Next Platform.</ref>. | ||
+ | |||
+ | == Aurora TSUBASA в России == | ||
+ | В России инсталляция данной системы имеется в [[НИВЦ МГУ]]. Также в конце 2021 года осуществлялась закупка для [[Университет Иннополис|Университета Иннополис]], но её судьба не известна. | ||
== Примечания == | == Примечания == | ||
+ | <references /> | ||
+ | [[Категория:Векторные суперкомпьютеры]] | ||
+ | [[Категория:NEC SX]] |
Текущая версия от 01:50, 23 сентября 2024
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. A Deep Dive Into NEC's Aurora Vector Engine . The Next Platform (22 ноября 2017). Дата обращения: 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 . NEC Corporation (февраль 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 (9 декабря 2018). Дата обращения: 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.