Gentoo Archives: gentoo-user-cs

From: "Honza Macháček" <Hloupy.Honza@×××××××.cz>
To: gentoo-user-cs@l.g.o
Subject: [gentoo-user-cs] Pozor na optimalizaci
Date: Sat, 01 Oct 2005 15:53:26
Message-Id: 433EB0E5.70109@centrum.cz
1 Prave hledam, co a jak bych mel vsechno prekompilovat (nejspis
2 vsechno), jak nastavit miru optimalizace pro jadro (nejspis rucne,
3 respektive kombinaci find -exec sed se spravnymi argumenty), a tak
4 podobne, tak me napadlo, ze bych se mel o zjisteni, jez me k tomu
5 privedlo, podelit.
6 Mam Gentoo (vice mene pravidelne aktualizovane) na stolnim pocitaci s
7 Athlonem XP 2500+ (Socket A) a na notebooku s Mobile Sempronem 2600+
8 (Socket 754), na obou jsem mel sklon -- pry casty mezi uzivateli Gentoo
9 -- vyzadat si maximalni optimalizaci, a na obou jsem narazil na problemy
10 s -O2 (o -O3 nemluve; -march athlon-xp, respektive -march k8 -m32, ovsem
11 nijak nevadi). Nevystopoval jsem primo zdroj chyby, ani jsem nemel
12 trpelivost na to, abych vyzkousel vse, cim se -O2 lisi od -O1
13 jednotlive, ale nejmene jedna z optimalizaci aktivovanych -O2 zpusobuje
14 za nejmene jednech okolnosti nejake preteceni nebo podteceni. Zda se to
15 tyka vsech verzi gcc, nebo jen nekterych, a zda je tomu tak i na
16 procesorech od Intelu, nebo jen od AMD, nevim.
17 Chybu jsem vypozoroval na mkvtoolnix v zaznamech sampling frequency
18 pri baleni zvukovych stop -- mkvinfo ukaze chybne udaje na souborech
19 zabalenych mkvmerge.
20 Dlouho jsem pozoroval jenom to, ze kvantove chemicky program mpqc mi
21 pri slozitejsich vypoctech selhava, zhusta az absurdnim zpusobem, ale
22 chybu jsem pricital programu a opakovane jsem se marne pokousel o
23 analyzu jeho kodu a lokalizaci chyby v nem. Tim spis, ze kdyz jsem mel
24 vazne problemy s jinym kvantove chemickym programem, daltonem, nasel
25 jsem https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=138447 a
26 zavedeni -ffloat-store mezi CFLAGS, hlavne pro kompilaci knihoven
27 blas-atlas a lapack-atlas, problemy daltonu odstranilo, zatimco mpqc
28 nepomohlo. Nedavno jsem ovsem pouzil mkvmerge (z mkvtoolnix) k prebaleni
29 jedne matrjosky do druhe (s pribalenim titulku), a vysledek se nedal
30 prehrat -- mkvmerge zapsalo spatne vsechny polozky sampling frequency
31 pro zvukove stopy (nektere jako 0.000000, jine -0.000029). Po nekolika
32 neuspesnych pokusech se zmenami verzi mkvtoolnix, libmatroska a libebml
33 jsem zkusil snizit optimalizaci, a prekompilovat ty tri balicky bez
34 optimalizace nebo s -O1 pomohlo. Verze kompilovana s -O0 prebalovala
35 matrjosku 33 s, verze s -O1 22 s, -O2 a -O3 rovnez 22 s, tedy o nic
36 rychleji, a jeste k tomu spatne. Po teto zkusenosti jsem dal do CFLAGS v
37 make.conf -O1, a zda se, ze po prekompilovani se vsim, na cem zavisi, mi
38 i mpqc pocita spravne. Podle vyse citovaneho zdroje bych mozna pri -O1
39 mohl odstranit -ffloat-store, ale to jsem zatim nezkousel.
40 Mejte se krasne.
41 Honza Machacek
42
43 --
44 gentoo-user-cs@g.o mailing list