The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Самообучающаяся система для оптимизации GCC на мобильных платформах

03.07.2008 13:36

На саммите разработчиков GCC был представлен проект Milepost (MachIne Learning for Embedded PrOgramS opTimization) , в рамках которого разрабатывается технология оптимизации приложений для портативных устройств, с использованием элементов искусственного интеллекта и самообучения с целью выбора наиболее подходящего метода оптимизации для любой мобильной платформы.

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

В качестве демонстрации эффективности Milepost, был проведен эксперимент: после самообучения системы в течение нескольких недель, удалось добиться повышения производительности тестового комплекта MiBench на 11%, по сравнению с первоначальным запуском.

Проект разрабатывается при участии IBM, университета Эдинбурга, Исследовательского института Франции и организации INRIA. Релиз проекта Milepost намечен на июнь 2009 года, после чего код будет готов для включения в состав GCC.

Принципы работы Milepost изложены в докладе, прозвучавшем на саммите разработчиков GCC.

  1. Главная ссылка к новости (http://online.wsj.com/public/a...)
  2. OpenNews: Набор компиляторов GCC планируют переписать на языке C++
  3. OpenNews: Открытый, расширяемый инструмент проверки правил кодирования может стать частью GCC.
  4. OpenNews: Релиз GCC 4.3.0
  5. OpenNews: Набор компиляторов GCC переходит на лицензию GPL v3.
  6. OpenNews: Стартовал проект GlobalGCC. Поддержка prelink для процессоров MIPS
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/16790-gcc
Ключевые слова: gcc, optimization, speed, mobile
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (10) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, pavlinux (ok), 18:53, 03/07/2008 [ответить]  
  • +/
    Milepost - MachIne Learning for Embedded PrOgramS opTimization,а кто бы мог подумать. :)


     
  • 1.2, pavlinux (ok), 18:55, 03/07/2008 [ответить]  
  • +/
    Какая вкусная штучка.
    Теперь Генту будет компилятся несколько недель. =)
     
  • 1.3, darkk (?), 21:06, 03/07/2008 [ответить]  
  • +/
    Спасибо за ссылку - весьма интересная статья.
     
  • 1.4, Аноним (-), 21:23, 03/07/2008 [ответить]  
  • +/
    > осле самообучения системы в течение нескольких недель

    И нихренасе :))) скоро еще и уговаривать придется :) "скомпиль мне пожалуйста вон ту програмку, да пооптимальнее, я тебе тогда оперативочки куплю" :)))

     
  • 1.5, Аноним (-), 21:25, 03/07/2008 [ответить]  
  • +/
    (в сторону) за несколько недель я пожалуй и сам обучусь и перефигачу проблематичный кусок на оптимизнутом по самые небалуйся асме, всяко сделав компилер в нужном месте :)
     
     
  • 2.7, uldus (ok), 00:08, 04/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >(в сторону) за несколько недель я пожалуй и сам обучусь и перефигачу

    И так для каждой модели телефона/КПК ?

    >проблематичный кусок на оптимизнутом по самые небалуйся асме, всяко сделав компилер
    >в нужном месте :)

    На асме ??? :-))) RISC это вам не CISC :-)

     
     
  • 3.8, Тот самый (?), 15:14, 04/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    А в чем проблема с RISC ассемблером?
    Я в свое время дофига всего понаписал под SPARC v8 и PA-RISC.
     
  • 3.10, Аноним (-), 23:57, 04/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >И так для каждой модели телефона/КПК ?

    А там 1 хрен везде ARM как правило.Посему критичный код скорее всего хватит переписать один раз на асме и далее нагло реюзать.Такого кода то в нормальных проектах если и должно быть то - с гулькин нос.И за НЕСКОЛЬКО НЕДЕЛЬ вполне реально выучить асм и сносно на нем налабать критичные куски.Если конечно мозг не совсем атрофировался.А аккуратно оптимизнутый ассемблер черта с два какой либо компилер переплюнет на конкретном мелком кусочке кода.Посему там где скорость опупительно важна (например, аудио и видео кодеки) - кусочки на асме норма вещей.Достаточно на xvid, x264 и прочих посмотреть.Кстати тривиальный и доступный любому дятлу "бенчмарк" (компилим чисто сишную версию xvid и asm-optimized верисю, сравниваем скорость работы) очень недвусмысленно показывает НАСКОЛЬКО можно уделать компилер, заменив невнятную туфту нагенеренную компилером на аккуратно вылизанный асм.

    >На асме ??? :-))) RISC это вам не CISC :-)

    Ну я умею программить на асме под несколько разных RISC-ов, как то Atmel AVR, Infineon 80C166 и ARM.Сложности в чем?У RISC кстати набор команд - скромный, регистровые файлы - большие и потому программить на асме под них *кардинально* *приятнее* чем под х86 уродца (в х64 небольшой шажок в нужную сторону сделали таки).Компилеру кстати тоже проще - когда большая пачка регистров есть, меньше бесполезного push и pop в плане работы со стеком требуется :)

     

  • 1.6, Аноним (6), 23:46, 03/07/2008 [ответить]  
  • +/
    осталось научить вшивать свой код туда и скайнет готов :)
     
  • 1.9, Аноним (9), 18:17, 04/07/2008 [ответить]  
  • +/
    эх, опять какие-то незнакомые мне люди мою идею начали реализовывать... Время - как песок сквозь пальцы.
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру