Altifigence Academy

20 / 24 · Теория

Расписания, хвосты и двойная буферизация

При K=10,четырёх выходах,трёх PE и одном дополнительном такте на выход вычислите моделируемые такты и загрузку только MAC.

Превратите нижнюю границу в расписание

Вычислительная граница предполагает заполнение каждого полезного места PE. Расписание должно разместить загрузки, инициализацию, MAC, преобразование, запись и завершение. Разделение оси свёртки по PE создаёт частичные суммы для объединения. Разделение выходных осей может избежать объединения, но оставляет простаивающие PE на хвостах выходов. Задавайте распараллеленную ось.

Разобранный хвост свёртки

Одному выходу нужны K=9 MAC, два PE выполняют два члена за такт. Нужны ceil(9/2)=5 тактов MAC с одним недостоверным местом в последнем. Четыре последовательно обработанных выхода используют двадцать тактов MAC и сорок доступных мест. Тридцать шесть полезных MAC дают 90% загрузки мест MAC. Предположите дополнительный такт объединения/записи на выход без перекрытия: всего 24 такта.

Эта накладная стоимость — допущение модели, а не проверенная задержка RTL. Реальные деревья суммирования, зависимости и выходные порты могут различаться. Относительно всех мест PE за 24 такта загрузка — 36/(2×24)=75%. Этот знаменатель отличается от 90% только MAC. Итоговый проект подписывает допущения.

Разобранное перекрытие двойных буферов

Пусть каждому блоку нужны шесть тактов загрузки, десять вычисления и два записи. Три полностью последовательных блока требуют 54 такта. С отдельными ресурсами загрузки/вычисления, двойными буферами входов и весов и неконфликтующими записями загружайте первый блок шесть тактов, затем вычисляйте три блока по десять тактов с предварительной загрузкой следующих. Добавьте последние два такта записи: 38 тактов. Предполагается перекрытие ранних записей со следующим вычислением.

Если вычисление занимает четыре такта, а загрузка всё ещё шесть, загрузчик отстаёт. Два буфера не создают полосу пропускания. Нарисуйте переходы владения, чтобы новая загрузка не перезаписала активный вычислительный буфер. Если загрузки и записи делят шину, пересчитайте идеальное расписание.

Приём последнего входа не заканчивает операцию. Завершите MAC,преобразование,активацию,пулинг и приём последнего результата. Задавайте условия запуска/остановки счётчиков. Программные оценки,симуляция RTL,синтезированная частота и измерения устройства — разные свидетельства; курс предоставляет числовое выполнение и явную оценку расписания.

Расписание одного выхода
  1. Инициализация: Один раз загрузить bias в единицах аккумулятора
  2. Пять тактов MAC: Два PE обрабатывают девять полезных членов
  3. Объединить и сохранить: Один дополнительный моделируемый такт на выход
  4. Опустошение: Завершить только после приёма последнего результата

Попробуйте сами

При K=10,четырёх выходах,трёх PE и одном дополнительном такте на выход вычислите моделируемые такты и загрузку только MAC.

Прочитать объяснение

Каждый выход требует четырёх тактов MAC. Всего 4×(4+1)=20 тактов. Имеется 48 мест MAC и 40 полезных MAC, то есть 83.33%.

Выбор действует в этом браузере. Его можно изменить внизу страницы.