Проектирование на Versal AI Engine #2: Программирование графа с кернелами AI Engine

51 990 ₽

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

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

В этом курсе основное внимание уделяется:
– Реализации процесса проектирования на системном уровне (PS + PL + AIE) и симуляции
– Способу перемещения данных между PL и AI Engine
– Использованию встроенных функций MAC для реализации фильтров
– Использованию библиотеки AI Engine для ускорения разработки
– Применению расширенных функций для оптимизации дизайна на уровне системы

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

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

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

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

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

По завершении курса приобретете необходимые навыки для того,чтобы:
– Понимать процесс проектирования на системном уровне, который включает PS + PL + AIE (SW-HW-SW).
– Знать поддерживаемые режимы эмуляции проекта на системном уровне.
– Перемещать данные между PS, PL и AI.
– Имплементировать AI Engine и программируемую логику
– Имплементировать дизайн на системном уровне с помощью среды Vitis
– Использовать встроенный синтаксис MAC и встроенные функции для таких приложений, как DDS и FFT
– Использовать библиотеку AI Engine DSP для более быстрой разработки
– Применять ограничения по местоположению для кернелов и буферов в массиве AI Engine.
– Применять параметры времени выполнения для изменения поведения приложения
– Отлаживать проект на системном уровне

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

День 1
Структуризация приложения на Versal ACAP, часть 1 (Обзор)
Вспоминаем, что такое разбиение приложения на части и как приложение может быть ускорено с помощью различных вычислительных блоков Versal ACAP. Показывается, как различные модели вычислений (последовательные, параллельные и функциональные) могут быть сопоставлены с вычислителями платформы Versal ACAP. (Лекция)
Структуризация приложений на Versal ACAP, часть 2
Объясняется, как обработка изображений и видео может быть реализована на Versal ACAP с использованием различных вычислителей (Scalar Engine, Adaptable Engine и Intelligent Engine). Также описывается процесс разработки вычислителя AI. (Лекция)
Передача данных ACAP, часть 1
Описывается реализация AI Engine и кернелов на программируемой логике (PL) и способы имплементации функций AI Engine, позволяющие снизить энергопотребление. (Лекция)
Передача данных ACAP, часть 2
Описывается модель программирования для реализации потоковых интерфейсов для кернелов AI Engine и программируемой логики. Перечисляются потоковые типы данных, поддерживаемые кернелами AI Engine и программируемой логики. (Лекция)
Системное проектирование
Демонстрируется маршрут компиляции в Vitis для интеграции скомпилированного графа дизайна AI Engine (libadf.a) с дополнительными кернелами, реализованными в PL (включая кернелы HLS и RTL), и их линковка. Затем эти скомпилированные аппаратные функции могут вызываться из главной программы, запущенной во встроенном процессоре Arm® или на внешнем процессоре x86. (Лекция, Лабораторная работа)
Введение во встроенные функции
Описывается реализация фильтров с использованием встроенных функций, таких как несимметричные FIR, симметричные FIR или полуполосные дециматоры. (Лекция)

День 2
Обзор библиотеки Versal AI Engine DSP
Делается обзор библиотеки DSP, которая обеспечивает более быструю разработку. Примеры проектов, входящие в Vitis, помогают понять использование библиотек и инструментов. (Лекция, Лабораторная работа)
Спецификации расширенного ввода графа, часть 1
Изуются дополнительные свойства, такие как использование функций инициализации, прямая запись с использованием потоков из AI Engine, каскадный поток, ограничения местоположения кернела и буфера. (Лекция)
Технические характеристики расширенного ввода графа, часть 2
Описывается, как реализовать параметризацию среды выполнения, которая может использоваться в качестве адаптивной обратной связи и для динамического переключения функций. (Лекция, Лабораторная работа)
Отладка и трейсинг приложения Versal AI Engine
Показывается, как отлаживать приложение AI Engine, работающее в ОС Linux, и как выполнять отладку с помощью аппаратной эмуляции. (Лекция)

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