Код компилятора c, оптимизировать для низкого энергопотребления

Я хочу сделать компиляцию встроенного кода "C", в которой можно выполнить программу с минимальным энергопотреблением, обычные компиляторы оптимизируют по скорости или размеру. Это будет означать, что компилятор оптимизирует количество логических переключателей как на адресной линии, так и на линиях данных, поскольку каждый переключатель заряжает энергию.

2 ответа

Это похвальная цель и практическая, в зависимости от того, насколько свежее ваше оборудование. Я не думаю, что вы можете многое сделать для старого оборудования. Я также не думаю, что оптимизация логических переключателей (чтобы минимизировать ток утечки?) Принесет вам много пользы, если ваша программа не очень очень проста и не очень мала. Проводили ли вы какие-либо эксперименты, подтверждающие, что вы можете получить значительные выгоды?

Если вы используете более современное аппаратное обеспечение, с точки зрения процессора и периферийных устройств, вы можете создать компилятор, который может оптимизировать энергопотребление. Современные процессоры и периферия имеют энергосберегающие состояния. Вы можете переписать код, чтобы воспользоваться этими состояниями и получить заметное сокращение потребления энергии. Кроме того, вы должны учитывать вашу среду. Процессор является основным источником энергии, хотя мобильные процессоры, ориентированные на рынок встраиваемых систем, такие как сотовые телефоны, добились больших успехов в снижении энергопотребления процессора во время простоя.

Я делаю презентацию на тему того, как писать свои программные приложения для повышения энергоэффективности. Я не могу передать его вам, потому что он еще не опубликован. Я надеюсь написать серию блогов на ту же тему в течение следующих нескольких месяцев. Я написал другие статьи о программном обеспечении и энергосбережении, если вы хотите найти меня на веб-сайте программного обеспечения Intel. В качестве предостережения, большая часть моей работы, связанной с энергией, была связана с процессорами Intel GP и HPC. Эти принципы по-прежнему применимы к процессорам Intel для мобильных ПК и другим современным процессорам, предназначенным для мобильных устройств и рынков с низким энергопотреблением.

Удачи в достижении этой цели (разработки собственного компилятора C, оптимизирующего энергию; вам нужно получить степень доктора наук для этого). Возможно, вы можете попробовать использовать MELT для настройки GCC для этой цели.

Смотрите также проект MAGEEC; но я думаю, вы не должны ожидать, что в скором времени найдете компилятор волшебным и автоматически оптимизирующим для низкого энергопотребления. Это должна быть целая программа оптимизации. (вам может потребоваться некоторая помощь, полуавтоматическая оптимизация).

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

Другие вопросы по тегам