Начните статью со страницы мотивации

Автор: KeisN13

Дата: 30.07.2021 08:56

Категория:

301

0

Мысли на тему эволюции ПЛИС, которые я нашел в одном из блогов на просторах интернета

Тензорные секции относятся к машинному обучению так же, как секции DSP относятся к цифровой обработке сигналов.

Когда появились ПЛИС, они были очень однородными. Они содержали логические блоки, соединенные через матрицу маршрутизации. Однако в какой-то момент стало понятно, что существует много общих операций (таких как умножение и MAC), которые присутствуют в приложениях, для которых использовались ПЛИС. Это было особенно верно для приложений ЦОС, которые были и являются очень распространенным вариантом использования ПЛИС.

Итак, блоки умножения и умножения с накоплением MAC были добавлены в структуру FPGA. Они были названы "аппаратными / жесткими / hard" блоками, потому что они выполняют только несколько конкретных задач, и выполняют их хорошо (в отличие от логических блоков, которые называются "мягкими / soft" блоками, потому что они могут реализовать практически любую цифровую логику). Блоки оперативной памяти также были добавлены структуру FPGA для хранения данных (хотя я думаю, что это произошло до добавления секций DSP). ПЛИС постепенно становились все более и более неоднородными за счет добавления в их структуру все более разнообразных  "аппаратных" блоков.

С преобладанием направлений ИИ, таких как глубокое и машинное обучение (DL/ML) ПЛИС снова находятся на интересном этапе развития. ПЛИС используются для очень многих приложений DL, как в облаке, так и на периферии (edge). В таких приложениях  тензорные/матричные операции являются сердцем DL. Таким образом, кажется логичным, что добавление жестких аппаратных блоков, специализирующихся на тензорных/матричных операциях, в ПЛИС может помочь сделать ПЛИС более эффективными в ускорении приложений DL.

Мы предложили добавить в ПЛИС блоки, называемые тензорными секциями. Эти блоки поддерживают матричное умножение и поэлементное сложение, вычитание и умножение матриц для различных размеров и точности (в частности, 4x4 fp16 и 8x8 int8). Секции имеют в своей основе массив элементов систолической обработки, как показано на изображении слева. Добавление тензорных секций увеличивает плотность вычислений ПЛИС (больше TMAC/секунду/площадь).

Мы наблюдали увеличение средней частоты в 2,45 раза, уменьшение средней площади до 0,4 раза и уменьшение средней длины проводов маршрутизации до 0,4 раза в нескольких тестах ML. Мы не наблюдали заметного снижения производительности тестов, не связанных с ML (для случаев, когда мы тратили до 10% площади ПЛИС на тензорные секции).

Интересной частью этого исследования было то, как выполнить оценку архитектуры FPGA (Особая благодарность доктору Вону Бетцу из Университета Торонто за его руководство). Мы попытались довольно хорошо объяснить это в статье. Он использует в основном инструменты с открытым исходным кодом! Прочитайте статью, если вас интересует этот аспект (ссылка в следующем параграфе).

Наши первоначальные исследования в этой области начались еще в 2019 году, когда мы впервые предложили добавить блоки матричных умножителей в ПЛИС. Эта работа была выбрана в качестве плаката в ISFPGA'20 и была опубликована в качестве статьи под названием Hamamu на ASAP'20. Мы внесли множество улучшений и новых функции в Тензорные секции и переработали стратегию оценки, - и эта работа была опубликована в качестве статьи под названием " Tensor Slices" на ISFPGA'21.

Intel недавно (в июле 2020 года) представила новую ПЛИС под названием Stratix NX. Эти ПЛИС имеют блок, называемый тензорным блоком. Эти блоки очень похожи на Тензорный секции, хотя они имеют меньшую вычислительную пропускную способность (30 int 8 MAC вместо 64 для тензорной секции). Большим преимуществом этих блоков является то, что они были заменой секций DSP и не нарушали структуру маршрутизации базового устройства Stratix. Intel, выпустившая эти блоки примерно в то же время, когда мы работали над предложением добавить тензорные секции, убеждает нас в том, что наши исследования находятся на правильном пути. Я надеюсь, что пользователи воспользуются преимуществами тензорных блоков для ускорения приложений DL.

 

Материал опубликован с разрешения автора Aman Arora - Research assistant at The University of Texas at Austin Ссылка на оригинал и персональный сайт автора 

 

Всего комментариев : 0
avatar

Последние статьи нашего сообщества

Познавательное

Вычисление двоичного логарифма итерационным методом на ПЛИС

Подробнее

Познавательное

Искусство отладки FPGA: как сократить срок тестирования за счет грамотной разработки

Подробнее

Прочее

Быстрый старт: поднимаем PCIe (xdma)

Подробнее

Среды разработки

Применение System Generator для моделирования HDL-блоков на примере системы автоматической регулировки усиления

Подробнее

Верификация

UVM общие сведения и организация методологии

Подробнее

ЦОС

Реализация базовых компонентов ЦОС : Комплексный умножитель

Подробнее

Познавательное

Асинхронный и синхронный сброс: Методы проектирования - часть вторая (раздел 5)

Подробнее

Общее

Асинхронный и синхронный сброс: Методы проектирования - часть вторая (раздел 4)

Подробнее

Общее

Асинхронный и синхронный сброс: Методы проектирования - часть вторая (разделы 1, 2, 3)

Подробнее
Все статьи

Календарь актуальных событий и мероприятий

Вебинар (состоится )

Портирование свёрточных нейронных сетей на платформу Xilinx Zynq Ultrascale Plus и ускорение их работы

Подробнее

Вебинар (состоится )

Двухдневный семинар по Xilinx Versal от Doulos 15-16.09 или 29-30.09 без оплаты.

Подробнее

Мероприятия (состоится )

Конкурс от Xlinix "Adaptive Computing Challenge 2021"

Подробнее

Мероприятия (состоится 14-16 сен 2021)

Сколковская школа синтеза цифровых схем снова открывает свои двери!

Подробнее

Вебинар (состоится 2 сен 2021)

Что нового в OSVVM?

Подробнее

Вебинар (состоится 7-сен-2021)

SoM-модули Kria – ускорение и удешевление разработки устройств с машинным зрением и ИИ. Теория и практика.

Подробнее

Мероприятия (состоится )

Российский Форум Микроэлектроника-2021, 3–9 октября 2021 года, Алушта

Подробнее

Мероприятия (состоится )

Synopsys Verification Day 2021

Подробнее

Мероприятия (состоится )

Серия бесплатных тренингов по FPGA от Microchip

Подробнее

Мероприятия (состоится )

Конференция FPGA Verification Day 2021

Подробнее
Все предстоящие события

FPGA-Systems – это живое, постоянно обновляемое и растущее сообщество.
Хочешь быть в курсе всех новостей и актуальных событий в области?
Подпишись на рассылку