Приблизительные вычисления
Приближенные вычисления — это новая парадигма энергоэффективного и/или высокопроизводительного проектирования. [1] Он включает в себя множество вычислительных методов, которые возвращают, возможно, неточный результат, а не гарантированно точный результат, и которые можно использовать для приложений, где приближенный результат достаточен для его цели. [2] Одним из примеров такой ситуации является поисковая система, где не может существовать точного ответа на определенный поисковый запрос и, следовательно, многие ответы могут быть приемлемыми. Аналогичным образом, случайное удаление некоторых кадров в видеоприложении может остаться незамеченным из-за ограничений восприятия человека. Приблизительные вычисления основаны на наблюдении, что во многих сценариях, хотя выполнение точных вычислений требует большого количества ресурсов, использование ограниченной аппроксимации может обеспечить непропорциональный выигрыш в производительности и энергопотреблении, при этом обеспечивая приемлемую точность результата. [ нужны разъяснения ] Например, в k алгоритме кластеризации -средних , допускающий потерю точности классификации только на 5%, можно обеспечить 50-кратную экономию энергии по сравнению с полностью точной классификацией.
Ключевое требование при приближенных вычислениях состоит в том, что аппроксимация может быть введена только в некритических данных, поскольку аппроксимация критических данных (например, управляющих операций) может привести к катастрофическим последствиям, таким как сбой программы или ошибочный вывод.
Стратегии [ править ]
Для выполнения приближенных вычислений можно использовать несколько стратегий.
- Примерные схемы
- Примерные арифметические схемы: [3] сумматоры , [4] [5] множители [6] и другие логические схемы могут снизить накладные расходы на оборудование. [7] [8] [9] Например, приблизительный многобитный сумматор может игнорировать цепочку переноса и, таким образом, позволить всем своим подсумматорам выполнять операцию сложения параллельно. [10] [11]
- Приблизительный объем памяти
- Вместо точного хранения значений данных их можно хранить приблизительно, например, путем усечения младших битов данных с плавающей запятой . Другой метод — принять менее надежную память. Для этого в DRAM [12] и eDRAM , назначения частоты обновления можно снижать или контролировать. [13] В SRAM напряжение питания можно понизить [14] или контролируемый. [15] можно использовать приблизительный объем памяти . MRAM Для снижения высокого энергопотребления записи [16] В общем, любые механизмы обнаружения и исправления ошибок должны быть отключены.
- Аппроксимация на программном уровне
- Существует несколько способов аппроксимации на программном уровне. мемоизация или нечеткая мемоизация (использование векторной базы данных для приблизительного извлечения из кэша, т. е. Может применяться нечеткое кэширование). Некоторые итерации циклов ) можно пропустить (это называется перфорацией цикла , чтобы быстрее достичь результата. Некоторые задачи также можно пропустить, например, когда условие выполнения предполагает, что эти задачи бесполезны ( пропуск задач ). Алгоритмы Монте-Карло и рандомизированные алгоритмы обменивают корректность на гарантии времени выполнения. [17] Вычисления можно переформулировать в соответствии с парадигмами, которые позволяют легко ускорить их на специализированном оборудовании, например, на нейронном процессоре. [18]
- Примерная система
- В приближенной системе [19] [20] различные подсистемы системы, такие как процессор, память, датчики и модули связи, синергетически аппроксимируются для получения гораздо лучшей кривой компромисса QE на уровне системы по сравнению с отдельными аппроксимациями для каждой из подсистем.
Области применения [ править ]
Приближенные вычисления использовались в различных областях, где приложения устойчивы к ошибкам, таких как обработка мультимедиа , машинное обучение , обработка сигналов , научные вычисления . Таким образом, приблизительные вычисления в основном выполняются приложениями, которые связаны с человеческим восприятием/познанием и обладают присущей им устойчивостью к ошибкам. Многие из этих приложений основаны на статистических или вероятностных вычислениях, например, для лучшего соответствия желаемым целям можно использовать различные приближения. [21] Одним из примечательных приложений в машинном обучении является то, что Google использует этот подход в своих тензорных процессорах (TPU, специальные ASIC). [22]
парадигмы Производные
Основной проблемой при приближенных вычислениях является определение части приложения, которую можно аппроксимировать. В случае крупномасштабных приложений очень часто можно встретить людей, обладающих знаниями в области приблизительных вычислительных методов, но не имеющих достаточного опыта в области приложений (и наоборот). Для решения этой проблемы используются парадигмы программирования. [23] были предложены. Всех их объединяет четкое разделение ролей между программистом приложения и экспертом в предметной области . Эти подходы позволяют распространять наиболее распространенные оптимизации и методы приближенных вычислений.
См. также [ править ]
Ссылки [ править ]
- ^ Дж. Хан и М. Оршанский, « Приблизительные вычисления: новая парадигма энергоэффективного проектирования », на 18-м европейском испытательном симпозиуме IEEE, стр. 1-6, 2013 г.
- ^ А. Сэмпсон и др. « EnerJ: Приблизительные типы данных для безопасных и общих вычислений с низким энергопотреблением », В уведомлениях ACM SIGPLAN, том. 46, нет. 6, 2011.
- ^ Цзян и др., « Приблизительные арифметические схемы: обзор, характеристика и недавние приложения », Proceedings of IEEE, Vol. 108, № 12, стр. 2108 – 2135, 2020.
- ^ Дж. Эчаваррия и др. «FAU: быстрые и оптимизированные по ошибкам приблизительные сумматоры на ПЛИС на основе LUT», FPT, 2016.
- ^ Дж. Мяо и др. « Моделирование и синтез оптимальных по качеству и энергии приближенных сумматоров », ICCAD, 2012 г.
- ^ Рехман, Семен; Эль-Харуни, Ничего; Шафик, Мухаммед; Кумар, Акаш; Хенкель, Йорг (07.11.2016). Архитектурно-пространственное исследование приближенных мультипликаторов . АКМ. п. 80. дои : 10.1145/2966986.2967005 . ISBN 9781450344661 . S2CID 5326133 .
- ^ С. Венкатарамани и др. « SALSA: систематический логический синтез приближенных схем », ЦАП, 2012.
- ^ Дж. Мяо и др. « Приближенный логический синтез при общих ограничениях по величине и частоте ошибок », ICCAD, 2013 г.
- ^ Р. Хегде и др. « Энергоэффективная обработка сигналов посредством алгоритмической помехоустойчивости », ISLPED, 1999.
- ^ Камю, Винсент; Мэй, Линьян; Энц, Кристиан; Верхелст, Мариан (декабрь 2019 г.). «Обзор и сравнительный анализ прецизионно масштабируемых многократно-накопляемых модульных архитектур для встроенной обработки нейронных сетей» . Журнал IEEE по новым и избранным темам в схемах и системах . 9 (4): 697–711. дои : 10.1109/JETCAS.2019.2950386 . ISSN 2156-3357 .
Реализация, выбранная в этом исследовании, предполагает последовательный умножитель со сдвигом вправо, поскольку для нее требуется сумматор первого каскада меньшего размера, чем для конструкции со сдвигом влево, что предотвращает распространение длинных переносов и расширение знаковых битов.
- ^ Нагорнов Николай Н.; Ляхов Павел А.; Бергерман, Максим В.; Калита, Диана И. (2024). «Современные тенденции улучшения технических характеристик устройств и систем цифровой обработки изображений» . Доступ IEEE . 12 : 44659–44681. дои : 10.1109/ACCESS.2024.3381493 . ISSN 2169-3536 .
Сложение и накопление старших битов не выполняются до тех пор, пока не будет произведено частичное приведение произведения для следующего умножения в предлагаемой архитектуре.
- ^ Раха, А.; Сутар, С.; Джаякумар, Х.; Рагунатан, В. (июль 2017 г.). «Качественная настраиваемая приблизительная DRAM» . Транзакции IEEE на компьютерах . 66 (7): 1172–1187. дои : 10.1109/TC.2016.2640296 . ISSN 0018-9340 .
- ^ Ким, Юнджун; Чхве, Вон Хо; Гайо, Кирилл; Кассуто, Юваль (декабрь 2019 г.). «Об оптимальном распределении мощности обновления для энергоэффективной памяти» . Конференция по глобальным коммуникациям IEEE 2019 (GLOBECOM) . Вайколоа, Гавайи, США: IEEE. стр. 1–6. arXiv : 1907.01112 . дои : 10.1109/GLOBECOM38437.2019.9013465 . ISBN 978-1-7281-0962-6 . S2CID 195776538 .
- ^ Фрустачи, Фабио; Блаау, Дэвид ; Сильвестр, Деннис; Алиото, Массимо (июнь 2016 г.). «Приблизительные SRAM с динамическим управлением качеством энергии» . Транзакции IEEE в системах очень большой интеграции (VLSI) . 24 (6): 2128–2141. дои : 10.1109/TVLSI.2015.2503733 . ISSN 1063-8210 . S2CID 8051173 .
- ^ Ким, Юнджун; Канг, Мингу; Варшней, Лав Р.; Шанбхаг, Нареш Р. (2018). «Общее заполнение водой для энергоэффективных SRAM с учетом источника» . Транзакции IEEE по коммуникациям . 66 (10): 4826–4841. arXiv : 1710.07153 . дои : 10.1109/TCOMM.2018.2841406 . ISSN 0090-6778 . S2CID 24512949 .
- ^ Ким, Юнджун; Чон, Ючарн; Чхве, Хёкджин; Гайо, Кирилл; Кассуто, Юваль (2022). «Оптимизация точности записи MRAM с помощью алгоритма попеременного заполнения водой» . Транзакции IEEE по коммуникациям . 70 (9): 5825–5836. дои : 10.1109/TCOMM.2022.3190868 . ISSN 0090-6778 . S2CID 250565077 .
- ^ К.Алиппи, Интеллект для встраиваемых систем: методологический подход, Springer, 2014, стр. 283.
- ^ Исмаилзаде, Хади; Сэмпсон, Адриан; Сезе, Луис; Бургер, Дуг (2012). Нейронное ускорение для приближенных программ общего назначения . 45-й ежегодный международный симпозиум IEEE/ACM по микроархитектуре. Ванкувер, Британская Колумбия: IEEE. стр. 449–460. дои : 10.1109/MICRO.2012.48 .
- ^ Раха, Арнаб; Рагунатан, Виджай (2017). «На пути к компромиссу между энергетической точностью всей системы». Материалы 54-й ежегодной конференции по автоматизации проектирования 2017 . ДАК '17. Нью-Йорк, штат Нью-Йорк, США: ACM. стр. 74:1–74:6. дои : 10.1145/3061639.3062333 . ISBN 9781450349277 . S2CID 2503638 .
- ^ Гош, Суменду Кумар; Раха, Арнаб; Рагунатан, Виджай (24 июля 2023 г.). «Энергоэффективные системы приближенного вывода края» . Транзакции ACM во встроенных вычислительных системах . 22 (4): 77:1–77:50. дои : 10.1145/3589766 . ISSN 1539-9087 .
- ^ Лю, Вэйцян; Ломбарди, Фабрицио; Шульте, Майкл (декабрь 2020 г.). «Приблизительные вычисления: от схем к приложениям» . Труды IEEE . 108 (12): 2103. doi : 10.1109/JPROC.2020.3033361 .
- ^ Лю, Вэйцян; Ломбарди, Фабрицио; Шульте, Майкл (декабрь 2020 г.). «Приблизительные вычисления: от схем к приложениям» . Труды IEEE . 108 (12): 2104. doi : 10.1109/JPROC.2020.3033361 .
- ^ Нгуен, Дональд; Ленхарт, Эндрю; Пингали, Кешав (2013). «Легкая инфраструктура для графовой аналитики». Материалы двадцать четвертого симпозиума ACM по принципам операционных систем . АКМ. стр. 456–471. дои : 10.1145/2517349.2522739 . ISBN 9781450323888 .