The OpenNET Project / Index page

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

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

"Релиз набора компиляторов GCC 4.5.0"  +/
Сообщение от opennews (ok) on 15-Апр-10, 11:27 
После года разработки вышел (http://gcc.gnu.org/gcc-4.5/)  релиз набора компиляторов GCC 4.5.0 в котором представлен новый оптимизатор на этапе компоновки, реализована экспериментальная поддержка некоторых возможностей стандарта C++0x, продолжена интеграция наработок проекта Graphite (http://gcc.gnu.org/wiki/Graphite) с реализацией поддержки автоматического распараллеливания операций.

Основные изменения (http://gcc.gnu.org/gcc-4.5/changes.html):


-  
Общие нюансы
:


-  Для сборки GCC теперь требуется математическая библиотека MPC (http://www.multiprecision.org/) (multiprecision library) для более точных вычислений на этапе компиляции;
-  Часть старых архитектур была объявлена устаревшей и будет полностью исключена в версии 4.6.0: IRIX до версии 6.5, Solaris 7, Tru64 Unix до версии 5.1, более подробно читайте об этом с списке рассылки (http://gcc.gnu.org/ml/gcc/2010-01/msg00510.html);
-  Убрана (http://gcc.gnu.org/gcc-4.4/changes.html#obsoleted) поддержка систем, объявлен...

URL: http://gcc.gnu.org/gcc-4.5/
Новость: http://www.opennet.ru/opennews/art.shtml?num=26233

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

Оглавление

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


1. "Релиз набора компиляторов GCC 4.5.0"  +/
Сообщение от szh (ok) on 15-Апр-10, 11:27 
> #  Для x86 архитектур код с плавающей точной, генерируемый согласно ужесточенным требованиям стандарта C99, будет работать гораздо медленней, чем в старых версиях GCC. Для решения этой проблемы используйте ключ компиляции -fexcess-precision=fast;
> # GCC now supports handling floating-point excess precision arising from use of the x87 floating-point unit in a way that conforms to ISO C99. This is enabled with -fexcess-precision=standard and with standards conformance options such as -std=c99, and may be disabled using -fexcess-precision=fast.

по ссылке не написано, где про это можно почитать ?

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

2. "Релиз набора компиляторов GCC 4.5.0"  +1 +/
Сообщение от Аноним (??) on 15-Апр-10, 11:32 
Эх, если бы ещё такие вот "новинки" можно было без клизмы вставить в существующую систему!...
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Релиз набора компиляторов GCC 4.5.0"  +1 +/
Сообщение от Serega (??) on 15-Апр-10, 11:55 
Используйте source-based дистрибутив и пересобирайте мир :)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Релиз набора компиляторов GCC 4.5.0"  +1 +/
Сообщение от noname (??) on 15-Апр-10, 15:20 
>Используйте source-based дистрибутив и пересобирайте мир :)

И обломитесь о тучу ошибок сборки и новых багов в "успешно" собранных программах.

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

15. "Релиз набора компиляторов GCC 4.5.0"  +/
Сообщение от rfc.1118 on 15-Апр-10, 18:19 
вы ошибаетесь. нет, правда.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

17. "Релиз набора компиляторов GCC 4.5.0"  +1 +/
Сообщение от User294 (ok) on 15-Апр-10, 21:06 
Ага, наверное именно поэтому у кучи знакомых юзеров source based вечно какие-то глюки которые больше нигде не увидишь :). В общем каждому свое.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

21. "Релиз набора компиляторов GCC 4.5.0"  –1 +/
Сообщение от rfc.1118 on 16-Апр-10, 12:24 
>Ага, наверное именно поэтому у кучи знакомых юзеров source based вечно какие-то
>глюки которые больше нигде не увидишь :). В общем каждому свое.

у меня наоборот кстати.
каждому свое, да.


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

22. "Релиз набора компиляторов GCC 4.5.0"  +1 +/
Сообщение от stranger (??) on 16-Апр-10, 14:54 
Я думаю, что тут проблема не в source-based дистрибутивах, а в том, что ими пользуются те, кто любит поэкспериментировать с системой. Вот поэтому и "глючит".
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

24. "Релиз набора компиляторов GCC 4.5.0"  +/
Сообщение от Adminus on 17-Апр-10, 05:21 
Пять лет использую Source based дистрибутивы. Два раза в жизни реально была проблема
со сборкой.

1. Когда в конфиге не отлючил зависимый модуль от уже отключенного.

2. Сборка новой версии неполностью обновленной из репы.

Вообщем оба раза моя ошибка. Что я делаю не так?

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

25. "Релиз набора компиляторов GCC 4.5.0"  +/
Сообщение от fetisheer (ok) on 17-Апр-10, 08:56 
Пользуешься стандартным софтом или очень редко обновляешься.
Как пример: tigervnc Available versions:  1.0.0-r2 1.0.0-r4 (~)1.0.1_pre20100306-r1
x11-base/xorg-server Available versions:  [M]1.5.3-r6 1.6.5-r1 1.7.6 ~1.8.0
Притом tigervnc 1.0.0-r4 не работает с xorg 1.7.6. При обновлении же возникла блокировка между mesa и xorg )
Точно тоже самое с xorg и ati-driver.

В общем, у генту чрезвычайно несогласованное сообщество: tigervnc и ati-driver должны были стабилизированы перед стабилизацией xorg-server. Это далеко не первый такой пример, за последний год уже пару раз похожие ситуации встречались.

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

10. "Релиз набора компиляторов GCC 4.5.0"  –6 +/
Сообщение от sluge (ok) on 15-Апр-10, 17:01 
ну для gcc это традиия. под новый компайлер надо править свои исходники...
а вот MS, хоть ее и ругают, выпускает компайлеры так что в старых редко что править надо
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

19. "Релиз набора компиляторов GCC 4.5.0"  +/
Сообщение от Michael Shigorin email(ok) on 16-Апр-10, 00:32 
Там предпочитают выдёргивать из-под ног сразу платформу, как вот с VB произошло.
Ну и компайлеры MS -- немного офтопик как бы. :)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Релиз набора компиляторов GCC 4.5.0"  +/
Сообщение от hatewindows (ok) on 15-Апр-10, 13:08 
./configure --happy=on
make
sudo make install
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Релиз набора компиляторов GCC 4.5.0"  –1 +/
Сообщение от Злой on 15-Апр-10, 14:10 
> Для x86 архитектур код с плавающей точкой, генерируемый согласно ужесточенным требованиям стандарта C99, будет работать гораздо медленней, чем в старых версиях GCC. Для решения этой проблемы используйте ключ компиляции -fexcess-precision=fast;

прошу прощения за свою безграмотность - сюда и x86_64 попадает?

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

7. "Релиз набора компиляторов GCC 4.5.0"  +/
Сообщение от anonymous (??) on 15-Апр-10, 14:59 
Да.
Теперь поддерживается более строгая обработка исключений при выполнении команд процессора, работающих с плавающей точкой, а FPU-инструкции (FADD,FMUL,FDIV,FXCH,FCOM,FSQRT etc) в x86-64 такие же, они вроде вообще со времен 387 не менялись - только SIMD-FPU инструкции изменились в x86-64.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "Релиз набора компиляторов GCC 4.5.0"  –1 +/
Сообщение от svn (??) on 15-Апр-10, 16:25 
>в x86-64 такие же

Бред сивой кобылы. В amd64 все операции с плавающей точкой делаются sse инструкциями.

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

26. "Релиз набора компиляторов GCC 4.5.0"  +/
Сообщение от anonymous (??) on 17-Апр-10, 16:19 
Извини, но бредишь тут ты :)
Мы про SIMD или классические FPU-команды?? SSE понятно что можно использовать. Да и gcc не против, укажи -mfpu=sse и получи sse-код. А вот классические 387 команды в x86-64 РОВНО такие же, как и в x86.

И вообще, вот тебе пример когда на x86-64 классический 387 код уделывает sse-вариант. Да здравствует -mfpu=387 на x86-64 :p :p
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19780#c5
Не, я конечно понимаю - ну лажанулись разработчики. Но два раза есть два раза, не?

ЗЫ капча 54387, что как бы намекает. http://img22.imageshack.us/img22/6713/opennet.png

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

11. "Релиз набора компиляторов GCC 4.5.0"  +/
Сообщение от sluge (ok) on 15-Апр-10, 17:04 
вообщето x86 и x86_64 разные архитектуры.
первую обычно обозначают i386 и так далее
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

14. "Релиз набора компиляторов GCC 4.5.0"  +/
Сообщение от funky_dennis email on 15-Апр-10, 18:13 
<cite>Улучшен код функций, генерируемый для уровней -O2 и -Os: если встречаются прототипы функции, параметры которых затем нигде не используются то тогда эти параметры не передаются, а аргументы передаваемые по указателю передаются по значению.</cite>

Жесть, я думал такое есть с самого начала...

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

16. "Релиз набора компиляторов GCC 4.5.0"  +/
Сообщение от gegMOPO4 (ok) on 15-Апр-10, 18:56 
А почему не упомянули о бинарных плагинах?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

18. "Релиз набора компиляторов GCC 4.5.0"  –1 +/
Сообщение от alex789 on 15-Апр-10, 23:32 
>> а аргументы передаваемые по указателю передаются по значению.

[с сарказмом]
O_o  да вот ЭТО действительно классно

[серьезно]
или я что-то пропустил и теперь это такой стандарт?

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

20. "Релиз набора компиляторов GCC 4.5.0"  +/
Сообщение от funky_dennis email on 16-Апр-10, 07:11 
Это оптимизация, невидимая программисту, и это правильно. Если в теле функции указатель является указателем на базовый тип, и не меняет своего содержимого, то зачем засовывать в стек адрес ячейки? Чтобы потом вытащить со стека адрес, сходить по этому адресу и опять засунуть в стек содержимое? Это быдло-подход, я не понимаю, почему раньше такого не сделали. Можно же сразу засунуть в стек содержимое.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

23. "в оригинале  -'по ссылке', если это играет роль"  +/
Сообщение от Вова on 16-Апр-10, 17:13 
turn arguments passed by reference to arguments passed by value when possible.

видимо, под "when possible" имеются в виду константные объекты малого размера.

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

27. "Релиз набора компиляторов GCC 4.5.0"  +/
Сообщение от solardiz on 29-Апр-10, 07:56 
Написал тут пошаговую инструкцию по сборке и использованию gcc 4.5.0 под пользователем (без root-доступа), включая сборку и "установку" требуемых им библиотек. В том числе - вариант сборки с Graphite (авто-параллелизация). Далее поигрался с авто-параллелизацией и с поддержкой OpenMP. Все это см. на wiki (ссылка ниже), включая команды шелла, примеры программ, сравнение производительности (для разных сборок примеров программ), встреченные проблемы и некоторые из сделанных выводов:

http://openwall.info/wiki/internal/gcc-local-build

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

28. "Релиз набора компиляторов GCC 4.5.0"  +/
Сообщение от Вова on 03-Май-10, 10:27 
>Написал тут пошаговую инструкцию по сборке и использованию gcc 4.5.0 под пользователем
>(без root-доступа), включая сборку и "установку" требуемых им библиотек. В том
>числе - вариант сборки с Graphite (авто-параллелизация). Далее поигрался с авто-параллелизацией
>и с поддержкой OpenMP. Все это см. на wiki (ссылка ниже),
>включая команды шелла, примеры программ, сравнение производительности (для разных сборок примеров
>программ), встреченные проблемы и некоторые из сделанных выводов:
>
>http://openwall.info/wiki/internal/gcc-local-build

по поводу сравнения производительности, нельзя ли сделать примеры с большим числом итераций (хотя бы на минуту выполнения) и глянуть top, сколько процентов цпу - 200? 400?

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

29. "Релиз набора компиляторов GCC 4.5.0"  +/
Сообщение от solardiz on 03-Май-10, 11:11 
>>http://openwall.info/wiki/internal/gcc-local-build
>
>по поводу сравнения производительности, нельзя ли сделать примеры с большим числом итераций
>(хотя бы на минуту выполнения) и глянуть top, сколько процентов цпу
>- 200? 400?

Более длительные тесты я делал и top смотрел. Там ничего нового - то же соотношение, что мы видим в выдаче time - да и неоткуда взяться другому. Разумеется, все 8 thread'ов работают, т.е. top показывает 100% user, 0% idle в "шапке" (при одном работающем он показывает там 12.5% и 87.5%, соответственно). OMP_WAIT_POLICY=PASSIVE эту картину меняет - появляется idle время, но общее время работы (реальное) увеличивается. time и top показывают примерно одно и то же соотношение и в этом случае.

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

31. "Релиз набора компиляторов GCC 4.5.0"  +/
Сообщение от Вова on 04-Май-10, 07:13 
один трид  = 12.5 %% в топе? Какая версия top, либо - что за окружение?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

32. "Релиз набора компиляторов GCC 4.5.0"  +/
Сообщение от solardiz on 04-Май-10, 10:25 
>один трид  = 12.5 %% в топе?

Да, в "шапке", в режиме показа общих данных по всем процессорам сразу (в этой системе их 8 логических). В строке с конкретным процессом - 99.9% CPU, причем эта величина не увеличивается если работает более одного thread'а (NPTL).

> Какая версия top,

procps-3.2.5-owl8

> либо - что за окружение?

Процессор Core i7 920 2.67 GHz (с Turbo Boost до трех с чем-то GHz при работе одного thread'а), Hyperthreading включен (ядро видит 8 siblings), дистрибутив Openwall GNU/*/Linux (Owl) свежий -current, сборка под x86_64 (и ядро и userland). Используется OpenVZ, эксперименты проводятся в контейнере с такой же системой (pre-created OpenVZ template за 23-е марта - раздается с наших FTP mirrors).

Некоторые тестовые примеры я собирал статически и переносил бинарники на другие системы, в том числе Dual Xeon X5460 ("настоящие" 8 ядер) и старенький Dual P4 Xeon Nocona (уже 64-бит). Результаты там схожие - такое же замедление "на всю страницу" (а не только на cache line) при записях и т.п.

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

30. "Релиз набора компиляторов GCC 4.5.0"  +/
Сообщение от solardiz on 03-Май-10, 11:16 
> сколько процентов цпу - 200? 400?

В таком виде выдачу можно получить от внешней команды time (не bash builtin). Вот для первого примера с авто-параллелизацией:

$ OMP_WAIT_POLICY=ACTIVE time ./loop
cf5419a0
19.70user 0.00system 0:02.46elapsed 799%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+1162minor)pagefaults 0swaps

$ OMP_WAIT_POLICY=PASSIVE time ./loop
cf5419a0
8.83user 0.20system 0:04.06elapsed 222%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+1157minor)pagefaults 0swaps

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

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

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема



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