LINUX.ORG.RU

[гентушникам-экстемалам]Про -ftree-vectorize


0

2

Привет, ЛОР и особенно гентушники-экстемалы!
Вот думаю я мир собрать с -ftree-vectorize на ~x86 (gcc, соответственно, 4.5.2).

CFLAGS="-O2 -march=core2 -ftree-vectorize -mfpmath=sse -msse4.1 -fexcess-precision=fast --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=3072 -fomit-frame-pointer -pipe"
CXXFLAGS="${CFLAGS}"
Какие проблемы я могу словить и на каких конкретно пакетах? Собираюсь использовать KDE 4.6, в качестве браузера rekonq.
Отпишитесь, пожалуйста, об историях успеха с -ftree-vectorize.


падал firefox и что-то еще, использующее zlib. по непроверенным данным именно zlib криво собирается. версий софта не помню.

mydoom ★★★
()

>Отпишитесь, пожалуйста, об историях успеха с -ftree-vectorize.

скажу кратко: их нет

собирай с векторизацией лишь кодеки да архиваторы, на остальных пакетах он ни к чему

icecat
()
Ответ на: комментарий от mydoom

> падал firefox и что-то еще, использующее zlib
Ну firefox'ом я пользоваться не планирую, а что использует zlib из частоиспользуемого?

tmpusr
() автор топика
Ответ на: комментарий от icecat

Если он не создаёт проблем, то почему бы и нет? А если создаёт, то меня интересуют конкретные пакеты.
И тогда попутно вопрос: как ещё можно заставить систему использовать sse4.1 без сильного вреда стабильности?

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

anonymous

-fomg-optimize помогает

http://www.gentoo.org/doc/en/gcc-optimization.xml

3. Optimization FAQs

But I get better performance with -funroll-loops -fomg-optimize!
No, you only think you do because someone has convinced you that more flags are better

tmpusr
() автор топика

Фрактал очень ругался на -ftree-vectorize :)

На x86 много чего падало, сейчас уже не помню что конкретно. На amd64 примерно с теми же флагами как у тебя все работает стабильно, но у меня всего ~350 пакетов.

partyzan ★★★
()

у меня только один вопрос: зачем на core2 исползовать 32-битную ось? к тому же генту, что ещё более странно. если простоперейдёшь на x86-64 получишь прирост до 50+ процентов(правда не везде, однако на глаз заметно)

Deleted
()
Ответ на: комментарий от tmpusr

Я пользовался этой опцией, но после того, как начал падать firefox в сегфолт из-за zlib, убрал ее.
Посмотри список зависящих от zlib командой «query d zlib»

AbbaT
()
CFLAGS="-march=native -O2 -pipe -mfpmath=both -msse4.1 -mstackrealign -ftree-vectorize -floop-interchange -floop-block -floop-strip-mine -ffast-math"

Собралось не все, работает вполне стабильно, прироста производительности не заметил.

CFLAGS="-march=native -O2 -pipe" + новый процессор сэкономит тебе много времени, избавит от визитов к офтальмологу и сделает неотразимым в глазах девушек.

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

>Если он не создаёт проблем, то почему бы и нет?

создаёт, в том-то и дело

А если создаёт, то меня интересуют конкретные пакеты.

полчища их

меня больше всего бесило то, что кде-приложения валились на ровном месте

как ещё можно заставить систему использовать sse4.1 без сильного вреда стабильности?

а как могут sse-инструкции повлиять на стабильность? включи -sse4.1 в CFLAGS и наслаждайся

icecat
()
Ответ на: комментарий от AbbaT

ещё раз: пересобирать мир с графитом - очень дурная затея, которая гарантированно не приведёт к росту производительности

в лучшем случае всё останется как было

icecat
()

про zlib тут зря пишут, у меня нормально работает с -ftree-vectorize

в целом рекомендации те же , что и по использованию -O3 ,
рекомендуется для отдельных пакетов, а вот все подряд собирать не стоит, где-нибудь в второстепенной библиотеке будет глюк, и потеряете больше времени

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

и до сих пор ругаюсь

лично я сделал так: мир собран с более-менее безопасными флагами:

CFLAGS="-march=core2 -mtune=core2 -O2 -pipe -mfpmath=sse -msse4.1 -funroll-loops -fno-align-functions -fno-align-labels -fexcess-precision=fast -ffast-math -Wno-all"

а кодеки, базы данных, архиваторы собраны с:

CFLAGS="-march=core2 -mtune=core2 -O3 -pipe -mfpmath=sse -msse4.1 -floop-interchange -floop-strip-mine -floop-block -ftree-loop-distribution -ftree-vectorize -fgraphite-identity -funroll-loops -fno-align-functions -fno-align-labels -fexcess-precision=fast -ffast-math -Wno-all"

пробовал включать во втором случае -ftree-parallelize-all, но с этим флагом программы либо не собираются, либо не работают

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

>безопасными флагами

ffast-math

fexcess-precision=fast


мир собран


funroll-loops


Я всегда знал, что гентушники — ненормальные.

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

наверное, приятно выдумывать подтверждения своим фантазиям?

icecat
()
Ответ на: комментарий от Deleted

на 2-х гигах оперативы получишь куда более ранний своп
К.О.
у 64 профит в мультимедии (например перегони из * в *) криптография...ну и ещё пару вещеё
остальное не особо заметно

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

> -floop-interchange -floop-block -floop-strip-mine
регресс форева! :3
проверено лично - графит пока что не годен для всей системы

-mfpmath=both

поставь sse и не выё***ся - с этой опцией почти в 100% регресс

-ffast-math

...
короче - ты себя ненавидишь :3

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

То есть, совет: валить с 32 бит на 64? Просто много приложений 64-битных приходится использовать, в т.ч. скайп, а в арче он у меня не подхватывал тему qtcurve. Боюсь именно борьбы с оформлением. Но ежели там стабильней работает, то, наверное, оно стоит того...

tmpusr
() автор топика
Ответ на: комментарий от Deleted

2Гб ОЗУ, рационально ли здесь 64 бит? Да и слышал, мол, 64 бит на коре2 толи кривое, то ли неполное...
И серьёзно ли, что хорошо отточенная amd64 производительнее и отзывчивее не менее отточенной x86?

tmpusr
() автор топика
Ответ на: комментарий от icecat

кде-приложения валились на ровном месте

Мда, это уже как-то невесело(

а как могут sse-инструкции повлиять на стабильность? включи -sse4.1 в CFLAGS и наслаждайся

Так эти инструкции что-то должно использовать. А -ftree-vectorize, ЕМНИП, активней всего их использует.

tmpusr
() автор топика
Ответ на: комментарий от icecat

ещё раз: пересобирать мир с графитом - очень дурная затея, которая гарантированно не приведёт к росту производительности

В gcc 4.5.x вроде как рост производительности таки есть.

tmpusr
() автор топика
Ответ на: комментарий от Sylvia

> где-нибудь в второстепенной библиотеке будет глюк, и потеряете больше времени
Это реально отловить или слишком долго и нудно?

tmpusr
() автор топика
Ответ на: комментарий от tmpusr

на фоне обильно валящихся багов ты на производительность не будешь обращать внимания

icecat
()
Ответ на: комментарий от tmpusr

мало - для 64 хотя бы 3 надо - на 2-х кроме раннего свопа ( а отсюда тормоза) ты ничего особо не получишь
хотя если только перегонять из * в * в tty через менкодер...:3

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

>У меня все собрано с -O3.
ССЗБ
меняй флаги - пересобирай лучший мир :3

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

Значит буду чинить поломанное гнездо для оперативки и саму планку, верну бывшие 4Гб)

tmpusr
() автор топика
Ответ на: комментарий от megabaks

>мало - для 64 хотя бы 3 надо
Я и на одном гиге жил. 2 не представляю куда деть. Хотя из жирных приложений только огнелис и anki постоянно запущены.

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

>2 не представляю куда деть

пользователи гуглхрома смотрят на тебя с недоумением

icecat
()
Ответ на: комментарий от x3al

ну дооо - мне бы твои проблемы )
ты видимо ничем кроме сёрфинга (по крайней мере на той машине) не занимался
потому и не знаешь куда память девается

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

С 512 мегабайтами летает, и наблюдается прирост в скорости работы. Никакого восьмикратно большего потребления памяти нет.

Что касается оптимизаций. Когда я этим интересовался, я прочитал, что та программа, которую просто запустили на 64 битах, теоретически работает быстрее засчет того что она использует оптимизированные для 64 битов основные системные библиотеки. Затем программу можно оптимизировать под особенности 64-битного процессора и она действительно будет быстрее хорошо оптимизированной для 32-битного процессора программы.

Что касается «неполного функционала». Когда сделали amd64, то некоторые общепризнанные архаизмы убрали. И вдруг VMWare забили тревогу: одна убранная штука сделала так, что виртуализация не работала! В первых сериях процессоров AMD64 ее нет, а в следующих - вернули. Когда появилась аппаратная виртуализация, про архаизм совсем забыли. Intel кстати говоря его не возвращал. Подробнее - на Википедии.

Ты это имел в виду, говоря о неполной реализации у интелов?

Zenitar
()

Да, кстати, какие флаги из перечисленных в первом сообщении треда по умолчанию включены в gcc 4.5.2 на amd64?
А то, может, и впрямь на amd64 свалить...

tmpusr
() автор топика
Ответ на: комментарий от megabaks

>ты видимо ничем кроме сёрфинга (по крайней мере на той машине) не занимался
Просто vim на фоне огнелиса незаметен.

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

а дело не в кадые )
попробуй пару пдф/дежавю+браузер с «в районе 10 вкладок»+несокль одновременно редактируемых текстовых файлов+гимп+инкскейп+фоном im да плеер
а я буду посмотреть :3

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

Хм, значит, мне есть смысл ставить amd64. Жручим я ничем не пользуюсь (благо, гентушные кеды — почти эталон нежручести), в том числе и браузер использую, который небыстр, но и не такой любитель жрать память аки ФФ или хром(иум).
Про неполность я передал чей-то слух. А виртуализацию мой процессор всё равно не умеет.

tmpusr
() автор топика
Ответ на: комментарий от tmpusr

а что значит «неполное 64»?
если про адресное пространство, то на сегодняшний день оно везде 40+бит, но никак не 64 - это если без костылей

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

> пдф/дежавю

несокль одновременно редактируемых текстовых файлов

гимп


инкскейп


Одновременно? О_о

браузер с «в районе 10 вкладок»

В 2-2.5 раза больше вкладок — _максимум_ 600Мб.

tmpusr
() автор топика
Ответ на: комментарий от megabaks

>попробуй пару пдф/дежавю+браузер с «в районе 10 вкладок»+несокль одновременно редактируемых текстовых файлов+гимп+инкскейп+фоном im да плеер
На двух гигабайтах? Запросто. 2 apvlv+firefox(+bartab)+vim+gimp+inkscape+irssi+barnowl+cmus влезут и в полтора гига. Независимо от аптайма.

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