Приблизительный расчет - Approximate computing

Приблизительный расчет - это метод вычислений, который возвращает возможно неточный результат, а не гарантированно точный результат, и может использоваться в приложениях, где для его цели достаточно приблизительного результата.[1][2] Одним из примеров такой ситуации является поисковая машина, где не может существовать точного ответа на определенный поисковый запрос, и, следовательно, многие ответы могут быть приемлемыми. Точно так же случайное падение некоторых кадры в видеоприложении может остаться незамеченным из-за ограничений человеческого восприятия. Приближенные вычисления основаны на наблюдении, что во многих сценариях выполнение точных вычислений требует большого количества ресурсов, что позволяет ограниченное приближение может обеспечить непропорциональный прирост производительности и энергии при сохранении приемлемой точности результатов.[требуется разъяснение ] Например, в k-средства кластеризации алгоритм, допускающий потерю только 5% точности классификации, может обеспечить экономию энергии в 50 раз по сравнению с полностью точной классификацией.[1]

Ключевым требованием в приближенных вычислениях является то, что аппроксимация может быть введена только в некритических данных, поскольку аппроксимация критических данных (например, операций управления) может привести к катастрофическим последствиям, таким как сбой программы или ошибочный вывод.

Стратегии

Для выполнения приблизительных вычислений можно использовать несколько стратегий.

Примерные схемы
Приблизительный сумматоры,[3][4] множители[5] и другие логические схемы может снизить накладные расходы на оборудование.[6][7][8] Например, приблизительный многобитовый сумматор может игнорировать нести цепь и, таким образом, разрешить всем его вспомогательным сумматорам выполнять операцию сложения параллельно.
Примерное хранение
Вместо хранение данных значения точно, их можно сохранить приблизительно, например, усечение младшие биты в плавающая точка данные. Другой способ - использовать менее надежную память. Для этого в DRAM[9] и eDRAM, Частота обновления можно опускать или контролировать.[10] В SRAM, напряжение питания можно снизить[11] или под контролем.[12] Приблизительное хранилище может применяться для уменьшения MRAM высокое потребление энергии записи.[13] В общем, любой обнаружение и исправление ошибок механизмы должны быть отключены.
Аппроксимация на программном уровне
Есть несколько способов приблизиться на программном уровне. Мемоизация может быть применено. Немного итерации из петли можно пропустить (обозначается как петля перфорация ), чтобы быстрее добиться результата. Некоторые задачи также можно пропустить, например, когда условие времени выполнения предполагает, что эти задачи не будут полезными (пропуск задачи ). Алгоритмы Монте-Карло и Рандомизированные алгоритмы правильность сделки для гарантии времени исполнения.[14] Вычисления можно переформулировать в соответствии с парадигмами, которые позволяют легко выполнять ускорение на специализированном оборудовании, например блок нейронной обработки.[15]
Примерная система
В приблизительной системе[16] различные подсистемы системы, такие как процессор, память, сенсор и коммуникационные модули, синергетически аппроксимируются для получения гораздо лучшей кривой компромисса Q-E на уровне системы по сравнению с индивидуальными приближениями для каждой из подсистем.

Области применения

Приближенные вычисления использовались в различных областях, где приложения допускают ошибки, например в мультимедиа обработка, машинное обучение, обработка сигналов, научные вычисления и т. д. Google использует этот подход в своих Блоки тензорной обработки (TPU, кастомный ASIC).

Производные парадигмы

Основная проблема в приближенных вычислениях - это идентификация раздела приложения, который может быть приближен. В случае крупномасштабных приложений очень часто можно встретить людей, обладающих знаниями в области приблизительных вычислительных технологий, но не обладающих достаточным опытом в области приложения (и наоборот). Чтобы решить эту проблему, парадигмы программирования[17][18] Были предложены. Их всех объединяет четкое разделение ролей между приложениями. программист и приложение эксперт в предметной области. Эти подходы позволяют распространять наиболее распространенные оптимизации и приблизительные вычислительные техники.

Смотрите также

Рекомендации

  1. ^ а б Миттал, Спарш (май 2016 г.). «Обзор методов приближенных вычислений». ACM Comput. Surv. ACM. 48 (4): 62:1–62:33. Дои:10.1145/2893356.
  2. ^ A. Sampson, et al. "EnerJ: приблизительные типы данных для безопасных вычислений с низким энергопотреблением ", В ACM SIGPLAN Notices, vol. 46, No. 6, 2011.
  3. ^ Дж. Эчаваррия и др. "FAU: Быстрые и оптимизированные по ошибкам приближения сумматоров на ПЛИС на основе LUT", FPT, 2016.
  4. ^ J. Miao, et al. "Моделирование и синтез приближенных сумматоров оптимального качества и энергии ", ICCAD, 2012 г.
  5. ^ Рехман, Семин; Эль-Харуни, Валаа; Шафик, Мухаммед; Кумар, Акаш; Хенкель, Йорг (07.11.2016). Архитектурно-космическое исследование примерных мультипликаторов. ACM. п. 80. Дои:10.1145/2966986.2967005. ISBN  9781450344661.
  6. ^ С. Венкатарамани и др. "SALSA: систематический логический синтез приближенных схем ", ЦАП, 2012.
  7. ^ J. Miao, et al. "Приближенный логический синтез при общей величине ошибки и частотных ограничениях ", ICCAD, 2013 г.
  8. ^ R. Hegde et al. "Энергоэффективная обработка сигналов за счет алгоритмической помехоустойчивости ", ISLPED, 1999.
  9. ^ Raha, A .; Сутар, С .; Jayakumar, H .; Рагхунатан, В. (июль 2017 г.). «Приблизительное качество настраиваемой памяти DRAM». Транзакции IEEE на компьютерах. 66 (7): 1172–1187. Дои:10.1109 / TC.2016.2640296. ISSN  0018-9340.
  10. ^ Ким, Ёнджун; Чой, Вон Хо; Гайот, Кирилл; Кассуто, Юваль (декабрь 2019 г.). «Об оптимальном распределении энергии обновления для энергоэффективных воспоминаний». Конференция по глобальным коммуникациям IEEE 2019 (GLOBECOM). Вайколоа, Гавайи, США: IEEE: 1–6. arXiv:1907.01112. Дои:10.1109 / GLOBECOM38437.2019.9013465. ISBN  978-1-7281-0962-6.
  11. ^ Фрустачи, Фабио; Блаау, Дэвид; Сильвестр, Деннис; Алиото, Массимо (июнь 2016 г.). «Примерные SRAM с динамическим управлением качеством энергии». Транзакции IEEE в системах с очень крупномасштабной интеграцией (СБИС). 24 (6): 2128–2141. Дои:10.1109 / TVLSI.2015.2503733. ISSN  1063-8210.
  12. ^ Ким, Ёнджун; Канг, Мингу; Варшней, Лав Р .; Шанбхаг, Нареш Р. (2018). «Обобщенное заполнение водой для энергоэффективных SRAM с учетом источников». IEEE Transactions on Communications: 1–1. arXiv:1710.07153. Дои:10.1109 / TCOMM.2018.2841406. ISSN  0090-6778.
  13. ^ Ким, Ёнджун; Чон, Ючарн; Гайот, Кирилл; Кассуто, Юваль (июнь 2020 г.). «Оптимизация точности записи MRAM». Международный симпозиум по теории информации (ISIT) 2020 IEEE. Лос-Анджелес, Калифорния, США: IEEE: 792–797. Дои:10.1109 / ISIT44484.2020.9173990. ISBN  978-1-7281-6432-8.
  14. ^ К. Алиппи, Интеллект для встроенных систем: методологический подход, Springer, 2014 г., стр. 283
  15. ^ Эсмаилзаде, Хади; Сэмпсон, Адриан; Сезе, Луис; Бургер, Дуг (2012). Нейронное ускорение для приблизительных программ общего назначения. 45-й ежегодный международный симпозиум IEEE / ACM по микроархитектуре. Ванкувер, Британская Колумбия: IEEE. С. 449–460. Дои:10.1109 / MICRO.2012.48.
  16. ^ Раха, Арнаб; Рагхунатан, Виджай (2017). «На пути к компромиссу между точностью энергопотребления всей системы: пример приблизительной системы интеллектуальной камеры». Материалы 54-й ежегодной конференции по автоматизации проектирования 2017 г.. ЦАП '17. Нью-Йорк, Нью-Йорк, США: ACM: 74: 1–74: 6. Дои:10.1145/3061639.3062333. ISBN  9781450349277.
  17. ^ Нгуен, Дональд; Ленхарт, Эндрю; Пингали, Кешав (2013). «Легкая инфраструктура для графической аналитики». Труды двадцать четвертого симпозиума ACM по принципам операционных систем. ACM: 456–471. Дои:10.1145/2517349.2522739. ISBN  9781450323888.
  18. ^ Сильвано, Кристина; Агоста, Джованни; Керубин, Стефано; Гадиоли, Давиде; Палермо, Джанлука; Бартолини, Андреа; Бенини, Лука; Мартинович, Ян; Палкович, Мартин; Сланинова, Катержина; Биспо, Жуан; Cardoso, João M. P .; Руи, Абреу; Пинто, Педро; Каваццони, Карло; Санна, Нико; Beccari, Andrea R .; Смар, Радим; Роху, Эрвен (2016). «Подход ANTAREX к автонастройке и адаптивности для энергоэффективных систем HPC» (PDF). Труды Международной конференции ACM по компьютерным границам. ACM: 288–293. Дои:10.1145/2903150.2903470. HDL:11585/588256. ISBN  9781450341288.