LINUX.ORG.RU

GCC 4.0 нуждается в существенной доработке


0

0

Как заметил ведущий разработчик Марк Митчелл в интервью: "Он (GCC 4.0) получил полностью новую инфраструктуру оптимизации. Но вся она еще не была достаточно хорошо настроена — так, как в предыдущем релизе".

Одной из первых проблем GCC 4.0 стала невозможность сборки популярнейшей графической среды для UNIX/Linux-систем KDE. В результате проект KDE временно занес GCC 4.0 в "черный список". На данный момент ошибка с компиляцией KDE решена, и патч появится в ближайшее время: "Возможно, мы выпустим релиз 4.0.1 раньше, чем планировалось". Причем ожидалось, что 4.0.1 появится через два месяца, а выйти он может на месяц раньше.

О другой проблеме GCC 4.0 на этой неделе сообщил Скотт Лэдд. Сравнив GCC 4.0 с его предшественником (3.4.3), программист обнаружил, что новая версия зачастую не просто работает медленнее, но и собранные с ней приложения по скорости также уступают сборкам с GCC 3.4.3.

Реакция Митчелла на это оказалась достаточно нейтральной: "Полностью переписать оптимизатор и не ухудшить положение вещей в значительной степени — это настоящее достижение".

>>> Подробности

★★★★★

Проверено: Demetrio ()
Ответ на: комментарий от Whoo

>Мне? - никак. Я GCC не пользуюсь.

Видимо поэтому такую пургу несёшь ? ;)

PS: Я уже как то бросал некоторым обитателям LOR примерчик реальной числодробильной задачи на котором gcc аккуратно и вдумчиво рвёт icc с его векторизацией на P4...не то чтобы очень сильно но свои 10% он имеет всегда.

автовекторизация она для ленивых ... кстати OpenMP это по большей части _полуручная_ векторизация. Без нормального дизайна паралельной задачи от неё никакой пользы кроме вреда не наблюдается...

sS ★★★★★
()
Ответ на: комментарий от JB

2JB  (*) (08.05.2005 18:49:10)

Кусочек из info gcc:

`-mfpmath=UNIT'
     Generate floating point arithmetics for selected unit UNIT.  The
     choices for UNIT are:

    `387'
          This is the default choice for i386 compiler.
          [skip - потому как неинтересно]
    `sse'
          Use scalar floating point instructions present in the SSE
          instruction set.  This instruction set is supported by
          Pentium3 and newer chips, in the AMD line by Athlon-4,
          Athlon-xp and Athlon-mp chips.  The earlier version of SSE
          instruction set supports only single precision arithmetics,
          thus the double and extended precision arithmetics is still
          done using 387.  Later version, present only in Pentium4 and
          the future AMD x86-64 chips supports double precision
          arithmetics too.

          For i387 you need to use `-march=CPU-TYPE', `-msse' or
          `-msse2' switches to enable SSE extensions and make this
          option effective.  For x86-64 compiler, these extensions are
          enabled by default.

sS ★★★★★
()
Ответ на: комментарий от sS

> PS: Я уже как то бросал некоторым обитателям LOR примерчик реальной числодробильной задачи на котором gcc аккуратно и вдумчиво рвёт icc с его векторизацией на P4...не то чтобы очень сильно но свои 10% он имеет всегда.

(Зевая) И чо? Или ваш случай дихотомии - это "GCC или ICC"?

> автовекторизация она для ленивых ...

Да-да. Ручками надо, ручками! Да на машинных кодах - ибо ЯВУ для чайников, а настоящие гуру машкод влёт и пишут, и читают! Причём тумблерами - а то понаделали клавиатур, и каждый школьник себя программистом мнит!

> кстати OpenMP это по большей части _полуручная_ векторизация. Без нормального дизайна паралельной задачи от неё никакой пользы кроме вреда не наблюдается...

Поздравляю вас, мсье Колумб!

Whoo ★★
()
Ответ на: комментарий от Whoo

2Whoo (*) (08.05.2005 21:01:18)

Молодой человек, давайте вы не будете смешить дядей своими познаниями в области массового параллелизма. OK ?

Судя по: "и каждый школьник себя программистом мнит!" вы или студент или только-только перестали им быть ? У меня сейчас дочь примерно в таком же тоне общается ... это возрастное, попытка самоутверждения...ничего, со временем это пройдёт.

sS ★★★★★
()
Ответ на: комментарий от sS

у виндузятников это на уровне ДНК. не проходит и не лечится.

доктор сказал в морг (с)

ЗЫ: не распыляйтесь вы на них. их надо или игнорировать или на винфак посылать

anonymous
()
Ответ на: комментарий от sS

У некоторых товарищей аллергия на слово GPL и все, что написано под ним. Этот Whoo из таких чудачков, не обращай внимания, вылезет из подросткого возраста и прыщи пройдут.

anonymous
()
Ответ на: комментарий от sS

> Молодой человек, давайте вы не будете смешить дядей своими познаниями в области массового параллелизма. OK ?

Ой (густо краснея), извините меня, пожалуйста, дядя! Я очень сожалею, что ваши великие открытия "полуручности" параллелизации (или всё-таки векторизации? Объясните мне, пожалуйста, я ещё только учусь в ПТУ программистов-параллелизаторов) в OpenMP и важности изначального дизайна задачи оказались мною недостаточно оцененными! В следующий раз обещаю восторженно ахать при каждой сказанной вами банальности!

> Судя по: "и каждый школьник себя программистом мнит!" вы или студент или только-только перестали им быть ? У меня сейчас дочь примерно в таком же тоне общается ... это возрастное, попытка самоутверждения...ничего, со временем это пройдёт.

Ооо, уже на личности переходите... Нет бы работающую реализацию OpenMP под GCC откопать, как я первоначально спрашивал - вместо этого интереснее начать разбираться, давно ли я студентом быть перестал; нет бы между собой выяснить, таки может GCC самостоятельно SIMD задействовать хоть на x86-ых, а если нет, то когда в конце концов сможет (лично я уже нашёл, что таки до сих пор нет - но к 4.1 обещаютъ) - вместо этого лучше пообсуждать тон высказывания, поинтересоваться, являются ли такие нескромные вопросы возрастным явлением...

Дополнение:

Один из безликих красноглазых анонимусов в очередной раз продемонстрировал ложность мнения, что "все, кто не линуксоиды -виндузятниками"; второй посчитал, что у меня аллергия на слово GPL, которое во всём обсуждении до той секунды ни разу не звучало... Хороший вечер выдался, спасибо - посмеялся.

Уважаемые красноглазики - мир не заканчивается на линухе, бзде и винде; я вам больше скажу - мир не заканчивается на x86! И я ещё больше скажу (внимание, это важно, и это может изменить всю последующую жизнь!) - те, кто разрабатывает не-опенсорсные решения,

1. вовсе не обязательно негативно относятся к опенсорсу (будь то GPL или что угодно ещё),

2. вовсе не обязательно не пользуются при написании не-опенсорсных программ опенсорсными программами,

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

PS Но и это ещё не всё. Сказать, что ли, четвёртый пункт?... А скажу.

4. те, кто разрабатывает не-опенсорсные решения, при этом используя благодаря тем дыркам в GPL, про которые я говорил, труд опенсорсщиков, не давая им взамен наработок по использованному софту, вовсе не обязательно делают это по причине ненависти (или чего-то подобного) к опенсорсу. Мои собственные патчи есть в тулах, которые входят в почти любой дистрибутив линукса (многие из анонимусов могут этим похвастаться?); и при этом ни одной наработки по другим использованным мною (и коллегами) в собственных проектах опенсорсным компонентам, сэкономившим нам несколько десятков человеколет, в комьюнити не ушло. (Только, я вас умоляю, не надо сразу взвиваться стремительным домкратом - всё абсолютно легально и по букве лицензии!) Откуда ж у нас "аллергия на GPL"? - как можно хоть сколь-нибудь негативно относиться к лицензии, позволяющей легально получать чужой труд нахаляву?

Задумайтесь об этом.

Whoo ★★
()
Ответ на: комментарий от Whoo

2Whoo (*) (09.05.2005 0:50:11)

Про SIMD и gcc вам уже один из анонимусов ответил. Учитесь читать.

Про остальное это к Вашим папе с мамой. Это уже Их и Ваши проблемы.

Свободны.

sS ★★★★★
()
Ответ на: комментарий от sS

> Про SIMD и gcc вам уже один из анонимусов ответил. Учитесь читать.

Ага. Перечитал - нашёл. У меня при первом проходе анонимусовые слова отфильтровались как потенциально малозначащие.

> Про остальное это к Вашим папе с мамой. Это уже Их и Ваши проблемы.

Пойду спрошу у папы с мамой, неужто на самом деле OpenMP GCC-ями не поддерживается.

Впрочем, с учётом разницы между временем появления в продаже процессоров x86 с SIMD-расширениями и появлением в GCC умения оптимизировать под эти расширения, сроков появления массовых многоядерных процессоров и, следовательно, ориентировочных сроков появления в GCC умения использовать преимущества многоядерности, я примерно догадываюсь, куда папа с мамой меня пошлют, а главное - насколько.

> Свободны.

Я в курсе.

Whoo ★★
()
Ответ на: комментарий от anonymous

ждем продолжения банкета. Тамада пьян, да здравствует тамада.

anonymous
()
Ответ на: комментарий от Whoo

> Впрочем, с учётом разницы между временем появления в продаже процессоров x86 с SIMD-расширениями и появлением в GCC умения оптимизировать под эти расширения, сроков появления массовых многоядерных процессоров и, следовательно, ориентировочных сроков появления в GCC умения использовать преимущества многоядерности, я примерно догадываюсь, куда папа с мамой меня пошлют, а главное - насколько.

а в чем качественные изменения многоядерных процессоров по сравнению с smp-системами? что-то мне подсказывает что компилеру вообще на это фиолетово, тут дело скорее за шедулером

HellAngel ★★
()
Ответ на: комментарий от HellAngel

> а в чем качественные изменения многоядерных процессоров по сравнению с smp-системами?

В (потенциальной) массовости.

Whoo ★★
()
Ответ на: комментарий от Whoo

это не по существу. блок sse(altivec) совсем не относится никаким боком к smp (которое уже давно и успешно используется)

HellAngel ★★
()
Ответ на: комментарий от HellAngel

> блок sse(altivec)

А я разве про SSE?

> smp (которое уже давно и успешно используется)

Но не так массово, как. Да хоть как тот же гипертрединг.

В общем, подождём немного. Появления в продаже реальных процессоров.

Whoo ★★
()
Ответ на: комментарий от anonymous

он со товарищами _наверное_ куски GPLного кода тырит, поскольку энти куски не продукт, полученный модернизацией исходного, а всего лишь "рожки да ножки" от последнего (хотя энти рожки могут быть ценнее всего остального), то и считает, что имеет право на сваво козла о чужих рогах и копытах клейма с чужим копирайтом и лицензией не ставить, Остап Бендер хренов.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.