Проектирование на Versal AI Engine #1: Архитектура и маршрут проектирования

51 990 ₽

Сложность: легкий
Продолжительность: 2 дня
Формат участия: в классе/онлайн
Расписание: по согласованию

Описание курса
В этом курсе описывается архитектура Versal  AI Engine, как программировать AI Engine (программирование с одним ядром и программирование с несколькими ядрами с использованием графов потока данных), обмен данными между PL и AI Engine, и анализ программы кернела с помощью различных отладчиков.

В этом курсе основное внимание уделяется:
– Архитектуре AI Engine
– Разработке одного кернела AI Engine с использованием унифицированной программной платформы Vitis
– Разработке нескольких кернелов AI с использованием графов потоков данных в Vitis IDE
– Анализу перемещения данных между AI Engine напрямую, между AI Engine через память и DMA, между AI Engine и программируемой логикой (PL)
– Анализ и отладка производительности кернела

Продолжительность
2 дня

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

Что нужно знать заранее?
– Комфортное программирование на C/C++
– Процесс разработки программного обеспечения
– Программное обеспечение Vitis для ускорения приложения

Программное обеспечение
Унифицированная программная платформа Vitis

Аппаратная платформа
Архитектура: Xilinx Versal ACAPs

По завершении курса приобретете необходимые навыки для того,чтобы:
– Описывать архитектуру Versal ACAP на высоком уровне
– Описывать различные вычислители в устройстве Versal ACAP и преимущества AI Engine.
– Описывать архитектуру AI Engine
– Описывать структуру доступа к памяти для AI Engine.
– Описывать весь процесс ускорения приложения с помощью инструмента Vitis
– Перечислять набор инструментов для программирования Versal AI Engine
– Объяснять, что такое внутренние функции
– Программировать один кернел AI Engine с помощью инструмента Vitis IDE.
– Программировать несколько кернелов AI Engine, используя графы Adaptive Data Flow (ADF)

Структура курса

День 1
Обзор архитектуры Versal ACAP
Дается обзор архитектуры Versal . Описываются различные вычислители, такие как на Scalar Engines (PS), Adaptable Engines (FPGA), and Intelligent Engines (AI). Так же показывается применение AI Engines в динамически развивающемся рынке. (Лекция)
Введение в архитектуру Versal AI Engine
Рассматривается архитектура AI Engine и описываются доступные интерфейсы AI Engine, а также память, блокировка, отладка ядра, каскадный потоковый и AXI-Stream интерфейсы. (Лекция)
Память Versal AI Engine и перемещение данных
Описывается архитектура модуля памяти AI Engine и способы доступа к ней. (Лекция)
Маршрут проектирования Versal ACAP
Анализируется маршрут проектирования Vitis для AI Engine и демонстрируется полный цикл разработки ускорения приложений для платформы Vitis. (Лекция, Лабораторная работа)
Структуризация приложений на Versal ACAP, часть 1
Разбираемся, что такое структуризация (разбиение приложения на функциональные части) приложения и как приложение может быть ускорено с помощью различных вычислителей в Versal ACAP. Также описывается, как различные модели вычислений (последовательные, параллельные и функциональные) могут быть сопоставлены с платформой Versal ACAP. (Лекция)
Скалярные и векторные типы данных
Делается функциональный обзор AI Engine. Определяются поддерживаемые векторных типы данных и регистры большой ширины, позволяющие выполнить одну инструкцию с несколькими данными (SIMD). (Лекция)
Встроенные функции
Описывает, что такое встроенные функции. Существует три типа операций управления векторами с использованием встроенных функций (загрузка и сохранение, преобразование элемента и вставка/извлечение), функции умножения и функции, специфичные для приложения. (Лекция)

День 2
Оконный и потоковый API
Описывается оконный и потоковый API. Рассматриваются различные оконные операции для кернелов. Также обсуждается использование перекрывающихся данных и различные варианты использования перемещения данных. (Лекция)
Анализатор Vitis
Описываются различные отчеты, создаваемые инструментом, и способы просмотра отчетов, которые помогают оптимизировать и отлаживать кернелы AI Engine с помощью инструмента Vitis Analyzer. (Лекция)
Модель программирования: один кернел
Обзор процесса программирования одного кернела AI Engine. Также показаны шаги по созданию, компиляции, моделированию и отладке программы с одним кернелом в Vitis IDE. (Лекция, Лабораторная работа)
Модель программирования: один кернел с использованием векторных типов данных
Подробно иллюстрируется программирование кернела Versal AI Engine. Рассматривается код скалярного кернела и сравнивается с кодом векторного кернела, который использует встроенные функции и векторные типы данных. (Лаборатоная работа)
Модель программирования: введение в граф адаптивного потока данных (ADF)
Объясняются основы графа потока данных и спецификации входные данные графа для программирования AI Engine. (Лекция)
Модель программирования: несколько кернелов с использованием графов
Подробно описывается граф ADF и демонстрируются шаги для создания графа, установки соотношения времени выполнения и API управления графом из основной прикладной программы. (Лекция, Лабораторная работа)

записаться на обучение