Ваш город Дублин?
Да
Нет, выбрать свой
Дублин
Корзина

Последовательно продвигая свою новую 7нм. серию адаптивных вычислительных платформ (ACAP) Versal, Xilinx отметила новый 2021 год выпуском первых серийных чипов серий Versal Prime и Versal AI. Одновременно с выпуском чипов, поступили в продажу и отладочные платы для этих кристаллов – VMK180 и VCK190. Эти отладки различаются только установленными на них кристаллами Versal, а во всем остальном они одинаковы. Мы остановимся на самой “продвинутой” серии Versal AI и отладочной плате для нее VCK190. Отметим, что как отдельные чипы, так и отладочные платы уже доступны для заказа, в том числе и в РФ. В данной короткой статье мы сделаем обзор самих кристаллов, отладочной платы VCK190 и средств разработки.

Чипы серии Versal имеют в своем составе процессорные ядра ARM (2xCortex-A72 +2xCortex-R5) с богатой периферией, программируемую логику: программируемые логические ячейки (LUT), распределенную, блочную и Ultra память, блоки DSP, высокоскоростные трансиверы и аппаратные ядра их использующие (PCI, Ethernet), а так же аппаратные контроллеры динамической памяти. В серии Versal RF, так же присутствуют высокоскоростные ЦАП/АЦП гигагерцового диапазона. Наряду с этими, стандартными структурными элементами систем на кристаллах, в серии Versal, появились и ранее не встречавшиеся архитектурные новинки – внутри кристальная коммуникационная сеть, блоки искусственного интеллекта (AI Engines, в серии VersalAI).

7нм от Xilinx

Как видно из рисунка, Versal является чрезвычайно мощной вычислительной платформой для самого широкого спектра новейших применений, в том числе в системах ADAS, 5G и подобных. Отладочная плата VCK190 на основе чипа XCVC1902-2MSEVSVA2197, так же имеет очень солидный внешний вид:

Отладочная плата VCK190 на основе чипа XCVC1902-2MSEVSVA2197

У любого разработчика, хоть раз взглянувшего на всю эту красоту, первым делом возникает вопрос – как со всем этим работать, как создавать готовые устройства, использующие всю мощь уникальной архитектуры Versal? Ответ на этот вопрос – работать с такими системами одновременно и легко и … сложно, но всегда очень интересно. Сложной работу делает наличие многочисленных средств разработки, которые требуется изучать и осваивать, но после этого работа становится легкой и приятной, и небольшая команда или даже один опытный разработчик, могут создавать устройства, которые еще лет 10 назад были бы не под силу и большим коллективам.

Xilinx традиционно уделяет огромное внимание как средствам разработки (не побоимся назвать их лучшими в отрасли), так и методикам проектирования, следуя которым можно свести к минимуму риск неудачи, сопровождающий любой новый проект и получить гарантированный результат.

Вести разработку на платформе Versal удобнее всего методом “сверху вниз”, т.е. сначала создать общий облик системы, а затем углубляться в детальную проработку. У Xilinx существует такое понятие как “платформа”, т.е. система, содержащая в себе набор некоторых “стандартных” компонентов, которую затем можно кастомизировать под конкретные требования заказчика. Поэтому начинать следует с первичной вычислительной платформы и конфигурирования для нее ОС Linux. Для этого можно воспользоваться каким-либо стандартным референс-дизайном Xilinx, уже содержащим близкую по функциональности платформу и программное обеспечение для нее, включая сконфигурированный Linux, и в дальнейшем развивать ее в требуемом направлении как в аппаратной, так и в программной части. Найти такие платформы можно, например здесь:

https://github.com/Xilinx/vck190-base-trd

Структура одной из доступных платформ приведена на рисунке ниже:

Структура VCK190

Конфигурирование Linux производится с помощью пакета PetaLinux. При разработке платформы “с нуля” либо ее серьезной модификации, понадобится САПР Xilinx Vivado, но часто можно обойтись и без него, создав недостающие части непосредственно в САПР Vitis. Для работы с нейронными сетями необходимо установить пакет Vitis AI (не путать с обычным Vitis, это разные средства разработки). САПР Vitis версии 2020.2 с поддержкой AI-engines является основным инструментом проектирования для ACAP Versal AI. Ниже приведена структура проекта в Vitis:

Структура проекта в Vitis от Xilinx

Массив AI-Engines

Кратко опишем новую структуру, появившуюся в Versal AI массив AI-Engines, предназначенный для задач вычисления нейросетей, а так же других задач, требующих интенсивных онлайн вычислений, например, формирование диаграммы направленности ФАР-антенн, цифровой фильтрации, БПФ и т.д.

AI-Engines представляют собой систолический (т.е. обладающий регулярной структурой) массив векторных процессоров, каждый из которых может быть запрограммирован индивидуально, и при этом обмениваться данными со своими соседями через общую память. (На текущий момент максимальное количество AI Engines в массиве – 400 шт.)

массив AI-Engines

Как видно, уже отдельная ячейка AI-Engine представляет собой довольно сложное законченное высокопроизводительное вычислительное устройство, а объединение таких устройств в единую структуру многократно повышает вычислительную мощность системы. Но вместе с этим появляется проблема эффективного программирования и использования столь сложной вычислительной системы. Эта проблема решается в рамках САПР Vitis. Имеется возможность индивидуального программирования каждой ячейки AI, но так же можно запрограммировать их совместно в рамках единой вычислительной сети. Такая структура описывается в виде графа и имеет удобное визуальное представление. Так же разработаны специальные библиотечные функции для решения различных задач.

На рисунке ниже приведен процесс разработки программы для AI-engines (слева – для отдельного вычислителя, справа – для нескольких вычислителей, объединенных в единую сеть). Во многих случаях, в ручной работе нет необходимости. Например, программирование массива AI-engines для задач искусственного интеллекта на базе нейросетей – операция полностью автоматизированная.

AI engine programming

Выводы

Серия Versal AI представляет собой уникальную линейку устройств рекордной производительности, обеспечивающих решение самых сложных задач в самых передовых областях применения вычислительной техники. Оборудование и средства разработки доступны, и те, кто освоят их раньше других, получат весомое конкурентное преимущество. 

Автор:

Владимир Викулин - инженер технической поддержки (FAE) компании МакроГрупп

Ссылки
  1. Сайт Xilinx, url: https://www.xilinx.com
  2. Представительство Xilinx на GitHub, url: https://github.com/xilinx
  3. Серия ACAP Versal, url: https://www.xilinx.com/products/silicon-devices/acap/versal.html
  4. VCK190, url: https://www.xilinx.com/products/boards-and-kits/vck190.html
  5. Versal AI Core Series VCK190 Evaluation Kit, url: https://www.xilinx.com/products/boards-and-kits/vck190.html
  6. VCK190 WIKI, url: https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/748617729/Versal+AI+Core+Series+VCK190+Evaluation+Kit
  7. Versal Example Designs, url: https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/487489537/Versal+Example+Designs
  8. САПР Vivado, url: https://www.xilinx.com/products/design-tools/vivado.html
  9. САПР Vitis, url: https://www.xilinx.com/products/design-tools/vitis/vitis-platform.html
  10. Пакет Vitis AI, url:  https://www.xilinx.com/products/design-tools/vitis/vitis-ai.html
  11. Versal ACAP Design Guide, url: https://www.xilinx.com/support/documentation/sw_manuals/xilinx2020_1/ug1273-versal-acap-design.pdf

Для получения дополнительной информации по продукции XIlinx, в том числе по приобретению лицензии на данное программное обеспечение, напишите нам через форму «Задать вопрос» или по телефону 8 (800) 333-06-05.

Макро Групп – официальный партнёр Xilinx в России и странах СНГ.

Упоминаемые производители

Подписка на новости