Altifigence Academy

19 / 24 · Теория

Границы полосы пропускания и вычислений

Для 1152 MAC и 224 байт используйте восемь PE, сохранив полосу 0.5 байта/такт. Какова нижняя граница идеального перекрытия?

Питайте арифметику

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

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

Разобранный гипотетический проект

Используйте N=1, C=2, H=W=6, M=4 и свёртку 3×3 без дополнения. Выход — 4×4, работа — 1152 MAC. Пусть каждый тензор загружается один раз без перезагрузок окружающей области и выгрузок частичных сумм. Входы int8 используют 72 байта, веса 72, выходы 64, 32-битные bias 16: всего 224 байта.

Четыре PE дают вычислительную границу 288 тактов. При байте за такт передача требует 224 такта, поэтому граница идеального перекрытия — 288. При половине байта за такт передачи требуют 448 тактов и становятся большей границей. Без перекрытия при байте за такт простая сумма — 512 тактов. Прикрепляйте допущения к каждому числу отчёта.

При этом повторном использовании арифметическая интенсивность — 1152/224≈5.14 MAC на байт. Загрузка обоих операндов каждого MAC вместо этого использует 2304 байта операндов; выходы и bias увеличивают итог до 2384. Работа прежняя; перемещение различается. Здесь намеренно игнорируются кеши, сжатие и выравнивание шины; это не аппаратное измерение.

Записывайте уникальный размер тензора, фактические байты чтений/записей, трафик частичных сумм, полезные операции PE и общие такты. Разделяйте простой по недостатку входов, блокировке выходов, хвостам и управлению. Удвоение PE не делит время пополам, если преобладают передачи. Лучшее повторное использование может требовать больше хранения, поэтому рассматривайте анализ вместе с предыдущим бюджетом блока.

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

Для 1152 MAC и 224 байт используйте восемь PE, сохранив полосу 0.5 байта/такт. Какова нижняя граница идеального перекрытия?

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

Вычислительная граница — 144 такта, граница передачи — 448, поэтому максимум равен 448. Подача операндов остаётся ограничивающей нижней границей.

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