Оценка энергопотребления из числа FLOPS (операций с плавающей запятой)?
Я извлек сколько флопов (операций с плавающей запятой) каждый из моих алгоритмов потребляет,
- Интересно, если я реализую эти алгоритмы на ПЛИС или на процессоре, могу ли я предсказать (примерно, по крайней мере), сколько энергии будет потребляться?
Обе оценки мощности в CPU или ASIC/FPGA хороши для меня. Я ищу что-то вроде формулы. У меня есть этот журнал для процессоров Intel. Он дает энергопотребление на одну инструкцию (не только операции с плавающей запятой, но и все эти инструкции по адресации, управлению и т. Д.), Поэтому мне нужно нечто более общее, чтобы выдавать мощность на основе FLOPS, а не количества команд кода в специальном процессоре.
1 ответ
Re CPU: Это не совсем возможно с современными архитектурами. Давайте предположим, что ваша программа работает на голом железе (т.е. избегает сложностей современных ОС, других приложений, обработки прерываний, оптимизации компиляторов и т. Д.). Схема, которая не используется, современный процессор будет работать на пониженном уровне мощности. Существуют также аппаратные состояния энергосбережения, такие как P (Power) и C (Sleep), которые не зависят от инструкций и будут изменять ваше энергопотребление даже при одной и той же последовательности команд. Даже если мы предположим, что ваше приложение связано с процессором (то есть периодов, достаточных для того, чтобы процессор мог перейти в режим энергосбережения аппаратного обеспечения), мы не можем предсказать потребление энергии, за исключением общего статистического уровня. Потоки инструкций передаются по конвейеру, выводятся из строя, объединяются и т. Д. И это даже не включает иерархию памяти и т. Д.
FPGA: О черт. Мой опыт работы с FPGA настолько стар, что я действительно не хочу говорить, когда. Все, что я могу сказать, это то, что когда назад огромные монстры бродили по земле, вы могли оценить энергопотребление, так как знали схему конструкции и энергопотребление затворов. Я не могу себе представить, что в современные ПЛИС не встроены современные технологии энергосбережения. Тем не менее, из небольшой литературы, которую я отсканировал, следует, что многие технологии питания ПЛИС основаны на априорном анализе и оптимизации. См. Раздел " Методы проектирования для оптимизации питания ПЛИС" и "Управление питанием и преимущества ПЛИС 40 нм". (Кстати, я только что провел быстрый поиск и сканирование документов, поэтому не обращайте слишком много внимания на мой вывод.)