1 (21.03.2012 09:32:30 отредактировано zenon)

Вот такое нашёл.
http://en.gentoo-wiki.com/wiki/Safe_Cfl … lldozer.29
4.6.2 все равно хард маскед сейчас, но похоже для FX процессоров вариантов нет.
С 4.6.2 всё бы ничего, но посмотрел после сборки им - из 8Гб памяти - около 7-ми выделяется под кэш, при сбросе - в пределах нормы, других неудобств, не заметил, хотя может это и не неудобство.
...
И насчет graphite? Надо оно или нет?
Сейчас сделал так:

GRAPHITE="-ftree-vectorize --param l2-cache-size=4096 -fgraphite-identity -floop-interchange -floop-block -floop-strip-mine -ftree-loop-distribution -ftree-loop-linear"
CFLAGS="-O2 -pipe -fomit-frame-pointer -march=bdver1 -mtune=bdver1 -mcx16 -msahf -maes -mpclmul -mpopcnt -mabm -mlwp -mavx  --param l2-cache-size=4096 -pipe -g0 -Wno-all ${GRAPHITE}"
CXXFLAGS="${CFLAGS}"

--param l2-cache-size=4096
Сколько указывать, не понял 2048 или 4096, если сам FX смотреть L2 cache=2x2048?
Проц у меня этот.
Поставил пересобирать тулчейн.

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

2 (21.03.2012 07:36:49 отредактировано zenon)

Да, уж, достаточно:

gcc -march=native -E -v - </dev/null 2>&1 | sed -n 's/.* -v - //p'

Чтобы узнать какие опции включит -march=native, и можно ничего больше и не указывать.
У меня выдало:

-march=bdver1 -mcx16 -msahf -mno-movbe -maes -mpclmul -mpopcnt -mabm -mlwp -mno-fma -mfma4 -mxop -mno-bmi -mno-tbm -mavx -msse4.2 -msse4.1 --param l1-cache-size=16 --param l1-cache-line-size=64 --param l2-cache-size=2048 -mtune=bdver1

C предидущими флагами ~1067 попугаев в firefox 11, хило как-то. http://peacekeeper.futuremark.com/

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

3 (21.03.2012 09:37:11 отредактировано zenon)

Поставил firefox-bin (11.0)
peacekeeper = 2273
sunspider = 196.6ms +/- 0.8%
Теперь хотя бы такого результата добиться, при собственной сборке.

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

4 (21.03.2012 17:17:37 отредактировано virxak)

newzenon, можете описать как gcc4.6.2 размаскировал? а то у меня говорит что новее 4,5,3 нет ничего) и не говорит что замаскирован

P5Q/Q9550@3.867/8GB/GF560TI@TOP
Gentoo Linux 3.12.9 ~amd64

5

virxak,
/etc/portage/package.keywords

=sys-devel/gcc-4.6.2 **

или есле в make не ~amd64

=sys-devel/gcc-4.6.2 ** ~amd64

и в /etc/portage/package.unmask

=sys-devel/gcc-4.6.2

....
ы firefox с USE="custom-flags custom-oimization" = 1399 попугаев, жуть. Пока не могу бинарник догнать.

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

6

newzenon, спс

newzenon пишет:

ы firefox с USE="custom-flags custom-oimization" = 1399 попугаев, жуть. Пока не могу бинарник догнать.

Оо. бульдозера совсем недавно вышли. Компилятор под эти процы еще не очень отладили. Может в 4,7,0 дооптимизируют.

P5Q/Q9550@3.867/8GB/GF560TI@TOP
Gentoo Linux 3.12.9 ~amd64

7 (21.03.2012 17:33:38 отредактировано zenon)

virxak, Ну есть у 4.6.2 -march=bdver1 -mtune=bdver1 только максимум (с bdver1) firefox показал ~2130 против 2273 у бинарника.
Где-то я явно что-то упускаю.

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

8

newzenon пишет:

или есле в make не ~amd64
=sys-devel/gcc-4.6.2 ** ~amd64

вот это не нужно только...

95% процентов проблем находятся между клавиатурой и стулом.

9

ты накрутил слишком много флагов
1. графит - от него больше вреда чем пользы
2. -mtune=bdver1 лишнее, по умолчанию оно равно -mtune
    я бы посоветовал попробовать mtune задать как generic
3. судя по -mcx16 -msahf  у тебя 64 - зачем тогда -fomit-frame-pointer?
    или это как-то связано с мультилиб, т.е. для 32-х битных либ/софтин?
у меня на 32 битах лис из сорсов показывает таки больше бинарного

10

ы firefox с USE="custom-flags custom-oimization" = 1399 попугаев, жуть. Пока не могу бинарник догнать.

графит - угощайтесь ab
графит может дать профит лишь на небольшом кол-ве софта

11 (22.03.2012 00:55:12 отредактировано zenon)

megabaks, да сначала понакрутил дофига.
В итоге, пока:
CFLAGS="-march=native -mtune=generic -O2 -pipe -g0 -Wno-all"  =2141 попугаев. Все равно не дотянул.
Еще грешу на glibc, зря до 2.15 наверное обновил, в обратную никак.
На Funtoo надо глянуть.

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

12

хм...
бинарный 1591
самосбор 1598
это на 32
-O2 -march=core2 -mtune=generic -mfpmath=sse -msse4.1 -fomit-frame-pointer -pipe
alsa crashreporter custom-cflags custom-optimization dbus ipc linguas_ru minimal

13

gcc -march=native -E -v - </dev/null 2>&1 | sed -n 's/.* -v - //p'

хреновенькая команда
только для натива и катит

echo "int main() { return 0; }" |LANG=en gcc ${CFLAGS} -v -Q -x c - 2>&1

куда лучше и универсальней

14 (22.03.2012 17:11:33 отредактировано virxak)

тоже решил оптимизировать под quad9550.
CFLAGS="-march=core2 -O2 -pipe -msse4.1 --param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=6144"
И так, хочу разобрать почему именно так написал.
сюда "-march=core2" я так понимаю уже входят флаги -mmmx -msse -msse2 -msse3 mssse3 поэтому вписывать я их не стал. Так как мой проц держит sse4.1. то вписал соответствующий флаг ибо core2 его не включает почему то -msse4.1(может для совместимости с другими цпу) -mtune=core2 вписывать не стал ибо включен в march. Ну с этим все понятно "--param l1-cache-size=64" кэш 1го уровня у проца 64кб. Теперь есть 2 непонятка: --param l1-cache-line-size=64 это что такое? кэш такой же выставлять на 1й уровень? и флаг --param l2-cache-size=6144 выставил значение 6метров кэша 2го левела, НО q9550 имеет 12 метров кэша L2. Дело в том что этот кэш у него разделен на 2 части, т.е 2 по 6мб L2. Как следует вписать этот параметр? ввести 12288 вместо 6144?

P5Q/Q9550@3.867/8GB/GF560TI@TOP
Gentoo Linux 3.12.9 ~amd64

15

сюда "-march=core2" я так понимаю уже входят флаги -mmmx -msse -msse2 -msse3 mssse3 поэтому вписывать я их не стал. Так как мой проц держит sse4.1. то вписал соответствующий флаг ибо core2

да, core2 включает эти флаги
но даже без этого -msse4.1 их тоже включает
игры с кэшами особого профита не дадут
так же ты не сказал - 32 или же 64 у тебя
по поводу -mtune - оно, если не задано явно, принимает значение -march
но я таки советую -mtune=generic
как ни странно, это часто даёт профит, хоть и не большой

16

virxak, что в выхлопе на

gcc -march=native -E -v - </dev/null 2>&1 | sed -n 's/.* -v - //p'

??

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

17 (22.03.2012 17:28:44 отредактировано virxak)

megabaks, 64 конечно у меня) х86 прошлый век.
может кэш профита и не даст, но всетаки хочу явно указать точные значения

P5Q/Q9550@3.867/8GB/GF560TI@TOP
Gentoo Linux 3.12.9 ~amd64

18

newzenon, приду домой посмотрю) просто пока делаю наброски.

P5Q/Q9550@3.867/8GB/GF560TI@TOP
Gentoo Linux 3.12.9 ~amd64

19

virxak пишет:

megabaks, х86 прошлый век.

таки нет
наличие мультилиба опровергает это высказывание
моё имхо
если комп не занят только считалками float-point, то 64 - это попытка бежать впереди паровоза
а на десктопе 64 без мультилиба вообще не юзабельно
особенно касается некоторых проприетарных софтин, которые 32-онли

20

megabaks, мультилиб я тож использую, но  у меня 8гб озу+х64 инструкции на проце они должны быть задействованы. И тут тока х64

P5Q/Q9550@3.867/8GB/GF560TI@TOP
Gentoo Linux 3.12.9 ~amd64

21

у меня тоже 8 гигов
это никак не мешает использовать 32
но ставить 64 и получить:
мультилиб - просто лишние файлы в системе
проблемы с мультилибом при хотелке странного
небольшой профит в FP
бОльший расход рамы
...
не, не вкусно

22

Какие ядра в gentoo для bigmem 32-bit?

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

23

любые
в генте сам же компиляешь ядро
а как ты его соберёшь, зависит только от тебя

24 (22.03.2012 17:59:22 отредактировано zenon)

Я просто как-то не задумывался на эту тему, на gentoo все-то пол-года с небольшим как, и 32-bit ничего нет.

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

25

CONFIG_X86_PAE=y
CONFIG_HIGHMEM=y
CONFIG_HIGHMEM64G=y
и всё

26

Чрут, новая установка.
::

[ebuild   R    ] sys-devel/binutils-2.22-r1  USE="nls zlib -multislot -multitarget -static-libs -test -vanilla" 0 kB
[ebuild   R    ] sys-libs/glibc-2.14.1-r2  USE="gd (multilib) -debug -glibc-omitfp (-hardened) -profile (-selinux) -vanilla" 0 kB
[ebuild   R   #] sys-devel/gcc-4.6.2  USE="cxx gtk mudflap (multilib) nls nptl openmp (-altivec) -bootstrap -build -doc (-fixed-point) -fortran -gcj -go -graphite (-hardened) (-libssp) -multislot -nocxx -nopie -nossp -objc -objc++ -objc-gc -test -vanilla" 0 kB

::
make.conf

CFLAGS="-march=native -O2 -pipe -g0 -Wno-all -ftree-vectorize -march=generic"
CHOST="x86_64-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
LDFLAGS="${LDFLAGS} -Wl,-O1 -Wl,--sort-common -Wl,--as-needed"
MAKEOPTS="-j5 -l5 -s"
ACCEPT_KEYWORDS="~amd64"
CC=gcc
CXX=g++
AUTOCLEAN="yes"
PORTAGE_ELOG_CLASSES="warn error log qa"
PORTAGE_ELOG_SYSTEM="save"

LINGUAS="ru ru_RU en en_US"
VIDEO_CARDS="nvidia"
INPUT_DEVICES="evdev"
ACCEPT_LICENSE="*"
PORTAGE_NICENESS="19"
FEATURES="parallel-fetch protect-owned splitdebug"
EMERGE_DEFAULT_OPTS="--verbose --keep-going --jobs=1 --quiet-build=n"

LINGUAS="ru ru_RU en en_US"

ENB="3dnow a52 aac aalib acl acpi alsa ao apm atm audiofile bash-completion bcmath \
   bzip2 cairo cdda cddb cdparanoia cdr cgi clamav cracklib crypt cscope css ctype \
   curl curlwrappers cxx dbus dga djvu dri dts dv dvd dvdr encode         \
   enscript exif fam fastcgi fbcon ffmpeg firefox flac fontconfig ftp gd gdbm      \
   geoip gif gimp gnuplot gnutls gphoto2 gpm gstreamer gtk gtkhtml gzip iconv icq  \
   icu idn ieee1394 imagemagick imap imlib inifile jbig jpeg \
   jpeg2k lame lcms libnotify lm_sensors lua lzma lzo mad matroska memlimit   \
   mhash mikmod mime minimal mmap mms mmx mng modules motif mozilla mp3 mp4 mpeg   \
   mpi mplayer mtp multilib musepack mysql mysqli nas ncurses netboot nls nntp     \
   nptl nsplugin ogg openal openexr opengl openmp oscar pam pch pcre pdf perl php  \
   png policykit posix qt4 quicktime raw readline rss sdl session shorten          \
   simplexml sndfile snmp soap sockets socks5 sound speex spell sqlite sqlite3     \
   startup-notification svg symlink syslog szip taglib tcl tcpd theora threads     \
   tiff truetype udev unicode usb v4l vhosts vim-syntax vnc vorbis wavpack         \
   win32codecs wmf wxwidgets X x264 xcb xcomposite xine xinerama xml xmlrpc xmp    \
   xscreensaver xulrunner xv xvid zlib zsh-completion"

BAD="-3dfx -accessibility -adns -afs -aim -altivec -apache2 -aqua -avahi -ayatana  \
   -berkdb -bidi -blas -bluetooth -cjk -coreaudio -cups -cdinstall -debug          \
   -dedicated -doc -dvb -eds -emacs -emboss -evo -examples -foomaticdb -freetds    \
   -freewnn -frontbase -gps -gsm -handbook -hardened -hddtemp -ios -ipod -ipv6     \
   -iwmmxt -jabber -jack -jingle -joystick -kde -kdeprefix -kerberos -kolab        \
   -kontact -ldap -libcaca -matrox -migemo -modplug -mono -msn -msql -mssql -mule  \
   -musicbrainz -neon -networkmanager -oci8 -oci8-instant-client -old-linux -oss   \
   -pcmcia -pda -plasma -ppds -postgres -pulseaudio -samba -scanner -seamonkey     \
   -selinux -semantic-desktop -svga -sybase -sybase-ct -sysvipc -test -tidy        \
   -timidity -vanilla -vcd -videos -wifi -xemacs -xmpp -yahoo -introspection       \
   -static-libs -static -fortran -lirc"

USE="${ENB} ${BAD}"

XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip  \
                fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac \
                ipp2p delude chaos account checksum dnetmap echo gradm"

NGINX_MODULES_HTTP="access auth_basic autoindex browser charset empty_gif fastcgi geo
                    gzip limit_req limit_zone map memcached proxy referer rewrite scgi
                    split_clients ssi upstream_ip_hash userid uwsgi addition cache_purge
                    dav degradation flv geoip gzip_static headers_more image_filter
                    perl push random_index realip secure_link slowfs_cache
                    stub_status sub upload upload_progress xslt mp4"
NGINX_MODULES_MAIL="imap pop3 smtp"

PATCH_OVERLAY=/etc/portage/autopatch
GENTOO_MIRRORS="http://mirror2.corbina.ru/gentoo-distfiles/
                http://mirror.yandex.ru/gentoo-distfiles/
                http://gentoo.bloodhost.ru/"

QEMU_SOFTMMU_TARGETS="x86_64 i386"
QEMU_USER_TARGETS="i386 x86_64"
USE_PYTHON="2.7"
PHP_TARGETS="php5-3"
RUBY_TARGETS="ruby18"

Попугаи = 2183.
::
Ubuntu 12.04 = 2193.
::
Задолбался, так бинарник и не догнал.

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

27

-ftree-vectorize

зачем?
и включи уже оба custom юза

28 (22.03.2012 20:39:19 отредактировано zenon)

megabaks пишет:

-ftree-vectorize

зачем?

Попробую, если не надоест...

megabaks пишет:

и включи уже оба custom юза

Они регрессят гады, на той странице пробовал.

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

29

регрессят с твоими дикими флагами графита и прочим шлаком?

30

megabaks пишет:

регрессят с твоими дикими флагами графита и прочим шлаком?

Хде дикие?
Хотя ладно сейчас попробую еще разок.

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