LINUX.ORG.RU

[gentoo] снова оптимизация


0

2

Установил icc. Пересобираю например ffmpeg (компилятор ICC)

[ebuild   R    ] media-video/ffmpeg-0.7.3  USE="X aac alsa amr bzip2 dirac encode faac frei0r hardcoded-tables mmx mmxext mp3 schroedinger sdl static-libs theora threads truetype vaapi vorbis vpx x264 xvid zlib -3dnow -3dnowext (-altivec) -avx -bindist (-celt) -cpudetection -custom-cflags -debug -doc -gsm -ieee1394 -jack -jpeg2k -network -oss -pic -qt-faststart -rtmp -speex -ssse3 -test -v4l -v4l2 -vdpau" VIDEO_CARDS="nvidia" 0 kB

#make.conf
CFLAGS="-march=corei7 -mtune=corei7 -O2 -pipe -mmmx -msse4.2 -ftracer -mfpmath=sse,387"
CXXFLAGS="${CFLAGS}"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
ICCCFLAGS="-O3 -fomit-frame-pointer -xSSE4.2 -g0 -w"
ICCCXXFLAGS="${ICCCFLAGS}"

1. Нужно ли оставлять поддержку всяких sse? (попробовал убрать -mmx -mmxext, конвертирует на одном ядре.) Ведь, по идее sse и mmx написаны на ассемблере, компилятор их не будет оптимизировать.
2. Есть ли в icc что-то наподобие -march=corei7
3. Как лучше в плане скорости: -mfpmath=sse,387 или -mfpmath=sse
4. Какие кодеки/пакеты можно перекомпилировать с помощю icc? Пересоберет ICC к примеру VLC?
5. можно собрать GCC с помощью ICC?Будет выиграш в скорости компиляции?
6. Влияет оптимизация на время роботы от батареи (ноутбука)?

CPU-corei5 (не sandybridge), ram 4gb

> Ведь, по идее sse и mmx написаны на ассемблере, компилятор их не будет оптимизировать.

Это что значит?

> Какие кодеки/пакеты можно перекомпилировать с помощю icc? Пересоберет ICC к примеру VLC?

Пробуй.

damnemall ()

>1. Нужно ли оставлять поддержку всяких sse?

да

>3. Как лучше в плане скорости: -mfpmath=sse,387 или -mfpmath=sse


мда.... мой тебе совет - не трогай, если не знаешь. Чревато большим геморроем

>5. можно собрать GCC с помощью ICC?Будет выиграш в скорости компиляции?


мдааа... молчу...

>6. Влияет оптимизация на время роботы от батареи (ноутбука)?


а сам как думаешь?

Pinkbyte ★★★★★ ()

Тогда уж советую совсем хитрую оптимизацию: собери ekopath. собранный gcc, который собран icc. Прирост скорости будет до 103%, я гарантирую это.

Ну, а серьёзно, какой смысл мучиться с icc? Тем более не всякий софт может быть им собран. Многое пишется с оглядкой на gcc, к сожалению.

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

>> Многое пишется с оглядкой на gcc, к сожалению.

К счастью, друг мой, к счастью! Не пропадать же трудам Столлмана. Даешь опенсорс-лок на gcc!

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

Особенно круто, когда нужно числодробилку кодить, и как первая итерация используется gcc, код компилится, всё норм, а при попытке скомпилировать интеловским компиллятором - облом. Так что на фиг не нужны такие труды Столлмана. Пусть по стандарту делают.

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

>> Пусть по стандарту делают.

Если бы все делали по стандарту, жил бы ты сейчас в 3.11 винде.

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

Крутость и «ненужность» компилятора определяется количеством софта, который он может собрать, а так же количеством софта который _хочет_ этот самый компилятор...

Ну вот предположим что какойнить ллвм/ицц безбожно неймоверно божественно крут и стандартен... И что ? Кому он нафик нужен если он не может собрать ядро ОСи ? Прикладной софт? Зачем он? Смотреть на него и радоваться?

Так что гнать на гцц просто глупо. На текущий момент это реально найкрутейший компилятор из всех существующих, а его ближайший «соперник»(mscc) просто меркнет в свете гцц. Где будет твой ицц если надо скомпилить для арм/мипс? А если божественно древний код надо скомпилить?

Jetty ★★★★★ ()

linuxtuxyura
Ответь, пожалуйста, на один вопрос: какой выигрыш перформанса в работе чего угодно - кодеков, батареи и т. д. - ты расчитываешь получить от использования icc? В процентах?

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

>>3. Как лучше в плане скорости: -mfpmath=sse,387 или -mfpmath=sse
>мда.... мой тебе совет - не трогай, если не знаешь. Чревато большим геморроем
Ну и что что спросил? Я в интернете не смог найти вот и спрашиваю.

>>6. Влияет оптимизация на время роботы от батареи (ноутбука)?
>а сам как думаешь?
Думаю да. Правильно думаю?

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

>Тем более не всякий софт может быть им собран.

4.2 злобнейшее! ядро собирается без проблем! Если верить wiki и инфа еще не устарела… то не собираются: [qoute]app-shells/bash sys-apps/sed sys-devel/binutils sys-devel/gcc sys-libs/glibc sys-libs/ncurses sys-libs/libstdc++-v3 sys-libs/zlib sys-process/procps

А все остальное гарантированно не соберется с icc если переборщить с флагами… Равносильно собственно как и в gcc…

init_6 ★★★★★ ()

Сделай, если не сложно, тест-сравнение производительности какой-нибудь связанной с интенсивными вычислениями программы, собранной со всеми возможными оптимизациями и icc, и с той же программой, собранной под общий профиль amd64 в какой-нибудь убунте.

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