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% предоплата по счету.
Да, мы работаем с юридическими лицами. Обучение от организации возможно.
Да, оставьте заявку на сайте и мы свяжемся для обсуждения вашего проекта.