The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Реализация оптимизации для GCC, учитывающей связь между файл..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"Реализация оптимизации для GCC, учитывающей связь между файл..."  
Сообщение от opennews on 21-Ноя-08, 15:15 
Разработчики компании Google представили (http://google-opensource.blogspot.com/2008/11/whopr-scalable...) начальную реализацию нового механизма оптимизации для набора компиляторов GCC - WHOPR (http://gcc.gnu.org/wiki/whopr) (WHOle Program optimizeR). Традиционная реализация GCC оперирует только единичными файлами, компиляция которых производится независимо друг от друга, после чего производится связывание готовых объектных файлов в единый исполняемый файл. Данный подход имеет преимущество в том, что процесс сборки легко может быть распараллелен в несколько потоков, одновременно могут компилироваться несколько файлов. Но метод раздельной сборки имеет проблемы в плане оптимизации использования функций, которые, в случае определения в другом файле исходных текстов, не могут быть оптимизированы в зависимости от текущих условий их вызова.


Проект WHOPR реализует альтернативную схему LTO (Link-Time Optimization) оптимизации для GCC, не требующую в отличии от LTO...

URL: http://google-opensource.blogspot.com/2008/11/whopr-scalable...
Новость: http://www.opennet.dev/opennews/art.shtml?num=19027

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Реализация оптимизации для GCC, учитывающей связь между файл"  
Сообщение от sndev email on 21-Ноя-08, 15:15 
useful
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Реализация оптимизации для GCC, учитывающей связь между файл..."  
Сообщение от pavlinux (ok) on 21-Ноя-08, 15:23 
Что-то это напоминает :  

1. этап
# gcc -fprofile-generate -o hello hello.c
2. этап
# sh ./hello  

3 этап
# gcc -fprofile-use

:)


И в чём отличие?!


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Реализация оптимизации для GCC, учитывающей связь между файл"  
Сообщение от const email(??) on 21-Ноя-08, 15:55 
На правах бреда:

-fprofile-use не даёт возможности компилятору, например, подставить функцию из другого модуля в место вызова (inline) или "сократить" какие-нибудь ненужные параметры...

LTO в общем виде позволяет это сделать. Например, так делают icc с ключиком -ipo и llvm. Делает ли подобные фокусы gcc с гуглевскими патчами - вопрос. Надо идти по ссылке ;)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Реализация оптимизации для GCC, учитывающей связь между файл"  
Сообщение от pavlinux (ok) on 21-Ноя-08, 16:06 
extern inline int блах-блах-блах(){;}
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Реализация оптимизации для GCC, учитывающей связь между файл"  
Сообщение от Алексей (??) on 21-Ноя-08, 16:19 
И так для всех функций. Прогрессивный подход.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Реализация оптимизации для GCC, учитывающей связь между файл"  
Сообщение от const email(??) on 21-Ноя-08, 16:55 
Правильно, в проекте куча хедеров и один main.c. Только вот тут как раз компилятору будет требоваться куча памяти, а в топике сказано, что вроде как от этого избавились.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Реализация оптимизации для GCC, учитывающей связь между файл"  
Сообщение от pavlinux (ok) on 21-Ноя-08, 18:09 
А Вы пробовали Linpak для Cell собрать
На самом дохлом Cell ( на 5.7GHz и 16Gb RAM) занимает около 12 часов.

http://www.netlib.org/benchmark/hpl/IBM_README.txt
> Note: the "make" takes a *long* time! (e.g. 12 hours)

Сколько время займет на Google GCC, и возможно ли это вообще.  

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Реализация оптимизации для GCC, учитывающей связь между файл"  
Сообщение от Алексей (??) on 21-Ноя-08, 19:04 
Ну возьмите и проверьте :) А то странное какое-то замечание. Вообще я подозреваю, что эту фичу лучше юзать для релизов, а при разработки собирать обычной версией GCC.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Реализация оптимизации для GCC, учитывающей связь между файл"  
Сообщение от const email(??) on 21-Ноя-08, 19:18 
Может, это целл такой волшебный, но у меня на amd64 атлас-3.8 собирается 3 часа, а атлас-3.9 - полчаса. И у него там внутри свои очень суровые оптимизации, так что вряд ли от смены компилятора можно получить выигрыш.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "Реализация оптимизации для GCC, учитывающей связь между файл"  
Сообщение от User294 (??) on 21-Ноя-08, 21:27 
> Может, это целл такой волшебный

Запросто - он как процессор приложений ничего такого крутого из себя не представляет.Если не используются SPE (а gcc когда-то умел ими пользоваться?) - ничего интересного Cell не продемонстрирует.Резонно слив обычным многоядерникам.А вот если софт SPE юзать будет - ну удачи его обогнать, ага.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "Реализация оптимизации для GCC, учитывающей связь между файл"  
Сообщение от pavlinux (ok) on 21-Ноя-08, 23:08 
Обсобенно круть, когда пароли подбирает :)

8 потоков, да на 5.7GHz  \m/

Кстати, кто надумает в компаниях брать, а может и домой :), - действительно распиареная штука,
без полной переделки софта пока бесполезная трата денег.

КПД наверно больше у CUDA + Gforce 8800 GTX

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "Реализация оптимизации для GCC, учитывающей связь между файл"  
Сообщение от vitek (??) on 22-Ноя-08, 19:13 
>КПД наверно больше у CUDA + Gforce 8800 GTX

а тут переделка софта не требуется? :-D
поживём-увидим... как только nvidia "подарит" сии возможности gcc ;-)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "Реализация оптимизации для GCC, учитывающей связь между файл"  
Сообщение от pavlinux (ok) on 22-Ноя-08, 20:15 
>>КПД наверно больше у CUDA + Gforce 8800 GTX
>
>а тут переделка софта не требуется? :-D
>поживём-увидим... как только nvidia "подарит" сии возможности gcc ;-)

Да, но сколько стоит GF8800  и скока Целлка

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "Реализация оптимизации для GCC, учитывающей связь между файл"  
Сообщение от User294 (ok) on 22-Ноя-08, 21:28 
>8 потоков, да на 5.7GHz  \m/

Да, какойнить MD5 на таком брутить - одно удовольствие и никакой 4-ядерник его пожалуй не натянет в этом вопросе.

>без полной переделки софта пока бесполезная трата денег.

Стопроцентно.Но у айбиэма грамотные доки на этот счет есть и софт есть (gcc и для основного ядра и для SPE).Так что в некоторых случаях при способности грамотно накодить - оно очень даже вариант.Скажем я могу себе представить как оно заменит ОДНИМ процом горку Xeon-ов кодировавших\декодировавших\шифровавших\расшифровавших видеопоток например.

>КПД наверно больше у CUDA + Gforce 8800 GTX

Без понятия - мне железки от нвидия неинтересны как класс.Извиняюсь, но закрытый блоб как драйвер для "процессора" - это на мое имхо более чем просто маразм.Может еще интель и амд для работы своих процов закрытые дрова будут делать?Наф-наф-наф такое "счастье" =).Я вообще в последнее время политику нвидии не понимаю.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

17. "Реализация оптимизации для GCC, учитывающей связь между файл"  
Сообщение от izard on 24-Ноя-08, 05:47 
В терминах компилятора Интел - различие между IPO и PGO
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Реализация оптимизации для GCC, учитывающей связь между файл..."  
Сообщение от pavlinux (ok) on 21-Ноя-08, 19:38 
А где скачать-то, не найду никак....
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




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

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