Проектирование на Versal AI Engine #3: Программирование кернела и оптимизация
 Записаться на обучение
Сложный
2 дня
В классе / Онлайн

Как проходят занятия в классе?
Занятия в классе состоят из лекций, обсуждения вопросов и лабораторных работ. Занимаемся полный рабочий день. Начинаем в 10:00 и заканчиваем около 18:00.

Как проходят занятия онлайн?
Занятия онлайн максимально приближены к занятиям в классе. Для лекций и обсуждения вопросов используем Yandex Telemost, Google Meet или подобные платформы. Для выполнения лабораторных работ нужно будет подключиться к лабораторным ПК по VPN. Работаете в режиме удаленного рабочего стола через программу RealVNC Viewer.

Требования к ПК:
• Быстрый интернет
• Два монитора, один из которых с разрешением не менее 1920х1080
• Гарнитура (наушники с микрофоном)

Проектирование на Versal AI Engine #3: Программирование кернела и оптимизация

57 990 ₽

Описание курса
Этот курс охватывает доплнительные функции Versal ACAP AI Engine, включая отладку приложения на унифицированной программной платформе Vitis, использование встроенных функций, аппаратную реализацию системного дизайна и оптимизацию программы кернела AI Engine.

В этом курсе основное внимание уделяется:
• Описанию расширенных возможностей архитектуры Versal ACAP AI Engine
• Отладке приложений с использованием единой программной платформы Vitis
• Использованию встроенных функций AI Engine и программированию КИХ-фильтров с использованием этих функций
• Аппаратной реализации системного дизайна
• Оптимизации кернелов AI Engine с помощью директив компиляции, стиля программирования и эффективного перемещения данных

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

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

Что нужно знать заранее?
• Комфортное программирование на C/C++
• Процесс разработки программного обеспечения
• Программное обеспечение Vitis для ускорения приложения
• Материалы тренингов Проектирование с Versal AI Engine, часть 1 и 2

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

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

По завершении курса приобретете необходимые навыки для того,чтобы:
• Отлаживать приложения, применяя методологию проверки и трейсинга событий
• Выявлять и устранять различные проблемы, возникающих при разработке приложений.
• Использовать различные методы оптимизации кернела AI Engine, такие как директивы компиляции, программная конвейеризация, кодирование для повышения производительности и использование ресурсов ядра
• Применять рекомендованный стиль кодирования C для повышения производительности, включая встраивание функций, ограничение указателей и перетасовку кода.
• Реализовывать кернел AI Engine, используя встроенные функции mul4_sym и mac4_sym для симметричного КИХ-фильтра
• Реализовывать кернел AI Engine, используя встроенные функции mul4_nc и mac4_nc для несимметричного КИХ-фильтра
• Разрабатывать и генерировать кернел AI Engine с помощью Model Composer

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

День 1

Введение в архитектуру AI Engine (обзор)
Делается введение в архитектуру AI Engine и описываются доступные интерфейсы AI Engine. (Лекция)

Versal AI Engine и перемещение данных
Описывается архитектура модуля памяти для AI Engine и способы доступа к ней. (Лекция)

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

Отладка приложений AI Engine, часть 2 (сценарии применения)
Рассматриваются различные варианты возникающих проблем, такие как конфликты памяти и анализ блокировок. Также делается анализ производительности (профилирование). (Лекция)

Обзор оптимизации ядра AI Engine
Объясняются различные методы оптимизации ядра AI Engine, такие как директивы компиляции, программная конвейеризация, стиль кодирования и использование ресурсов ядра. (Лекция)

Оптимизация ядра AI Engine - Директивы компиляции
Описывается использование директив компиляции для развертывания цикла, выравнивания цикла и программной конвейеризации. (Лекция)

Оптимизация ядра AI Engine - стиль кодирования
Даются рекомендации по кодированию C для повышения производительности, включая встраивание функций, ограничение указателей и перетасовку кода. (Лекция)

Оптимизация ядра AI Engine
Иллюстрируются методы оптимизации ядра, такие как ключевое слово restrict, настраиваемые прагмы и реструктуризация кода. Также рассматривается использование дополнительных аккумуляторов для улучшенного планирования и расчета использования ядра AI Engine. (Лабораторная работа)

День 2

Программирование кернела на C++
Дается обзор функциональных возможностей шаблонов C++ и различных типов состояний экземпляров кернела с использованием классов C++. Также рассматриваются состояния экземпляра кернела со скалярными параметрами и с параметрами массива в конструкторе. (Лекция, Лабораторная работа)

Типы данных – Обзор
Делается функциональный обзор AI Engine, определяются поддерживаемые типы векторных данных и регистры большой разрядности, позволяющие выполнять инструкции одной команды с несколькими данными (SIMD). (Лекция)

Реализация симметричного фильтра на AI Engine
Описывается расширенный внутренний синтаксис MAC, включая встроенные функции mul4_sym и mac4_sym для симметричной реализации КИХ фильтра. Также приведены рекомендации по выбору встроенных функций с фиксированной точкой для КИХ-фильтра. (Лекция, Лабораторная работа)

Реализация несимметричного фильтра AI Engine
Описываются встроенные функции mul4_nc и mac4_nc для несимметричной реализации КИХ фильтра. Также приводятся рекомендации по выбору встроенных функций для КИХ-фильтра. (Лекция)

Операции с плавающей точкой
Объясняются операции с плавающей точкой: fpmul, fpmac и fpmsc, а также полностью настраиваемая встроенная функция с плавающей точкой fpmac_conf. (Лекция)

Model Composer для разработки AI Engine
Делается знакомство с инструментом Model Composer и как с его помощью  разрабатываются кернелы на AI Engine и выполняется моделирование

Ответы на частые вопросы

Проводите ли вы обучение в связи с санкциями?

Да, работаем в обычном режиме.

Подойдут ли ваши курсы для разработчиков без знаний?

Да, подойдут. Для инженеров без опыта разработки мы предлагаем базовые курсы, которые начинаются с основ и постепенно переходят к более сложным темам.

Выдается ли сертификат?

Да, выдаем сертификат после прохождения обучения.

В каком формате проводится обучение?

В классе либо онлайн.

Как проходят занятия в классе?

Занятия в классе состоят из лекций, обсуждения вопросов и лабораторных работ. Занимаемся полный рабочий день. Начинаем в 10:00 и заканчиваем около 18:00.

Как проходят занятия онлайн?

Занятия онлайн максимально приближены к занятиям в классе. Для лекций и обсуждения вопросов используем Yandex Telemost, Google Meet или подобные платформы. Для выполнения лабораторных работ нужно будет подключиться к лабораторным ПК по VPN. Работаете в режиме удаленного рабочего стола через программу RealVNC Viewer.

Требования к ПК:
• Быстрый интернет
• Два монитора, один из которых с разрешением не менее 1920х1080
• Гарнитура (наушники с микрофоном)

Сколько человек в группе?

Минимум 1, максимум 4.

Нужно ли ждать набора группы?

Нет, не нужно. Мы выбираем удобные для вас даты и занимаемся.

Во сколько начинаются и сколько часов в день длятся занятия?

Обычно мы занимаемся с 10:00 до 18:00.

Предоставляете ли вы отладочную плату и программное обеспечение на время обучения?

Да, учебное место укомплектовано компьютером с двумя мониторами, программным обеспечением и отладочной платой.

Какие материалы останутся на руках после обучения и в каком формате?

1. Презентации
2. Лабораторные работы и архив с исходниками для выполнения лабораторных работ

Где посмотреть расписание занятий?

Занятия согласовываются индивидуально. Выбираем удобные для вас даты и занимаемся.

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

1. Оставляете заявку на сайте
2. Мы с вами связываемся, отвечаем на все вопросы и согласовываем даты занятий
3. Оплачиваете счет (возможна оплата как для физических, так и юридических лиц)
4. Проводим обучение

Где территориально проводятся занятия?

Занятия проводятся в нашем учебном классе по адресу: Москва, пр-т Вернадского, д.78

Есть ли представительство в Санкт-Петербурге?

В Санкт-Петербурге нет, но вы можете пройти обучение онлайн, чтобы не ехать к нам в Москву.

Возможно ли приехать и познакомиться лично до начала обучения?

Да, по предварительной договоренности. Наш учебный класс находится по адресу: Москва, пр-т Вернадского, д.78

Цена указана за одного человека или за группу?

За одного человека.

Как оплатить занятия?

Мы выставляем счет на оплату (возможна оплата как для физических, так и юридических лиц).

Возможна ли оплата частями?

Нет, только 100% предоплата.

Какой порядок оплаты для физ.лица и для юр.лица?

100% предоплата по счету.

Работаете ли вы с юридическими лицами? Возможно ли обучение от организации?

Да, мы работаем с юридическими лицами. Обучение от организации возможно.

Можно ли нанять ваших инженеров для работы над проектом?

Да, оставьте заявку на сайте и мы свяжемся для обсуждения вашего проекта.

Разрабатываем на Xilinx

Референс-дизайны и IP-блоки. Оптимизируем существующие решения.