gcc 4.0 umask?

Fórumok

gcc 4.0 umask?

Hozzászólások

Milyen optimizacios flag-eket celszeru megadni? gondolok itt az uj dolgokra mint pl:
-ftree-vectorize

a lame alapbol nem lett gyorsabb a 3.3.5-os gcc -hez kepest. :(

[quote:92a176525f="selli"]Milyen optimizacios flag-eket celszeru megadni? gondolok itt az uj dolgokra mint pl:
-ftree-vectorize

a lame alapbol nem lett gyorsabb a 3.3.5-os gcc -hez kepest. :(

Ahol én olvastam, ott csak a -Ox -ftree-vectorize meg a procifüggő kapcsolókat javasolták, hogy ennyi is elég hozzá. De eddig nagy különbséget eddig én sem tapasztaltam a sebességekben...

[quote:b24880269b="Luckyboy"][quote:b24880269b="selli"]Milyen optimizacios flag-eket celszeru megadni? gondolok itt az uj dolgokra mint pl:
-ftree-vectorize

a lame alapbol nem lett gyorsabb a 3.3.5-os gcc -hez kepest. :(

Ahol én olvastam, ott csak a -Ox -ftree-vectorize meg a procifüggő kapcsolókat javasolták, hogy ennyi is elég hozzá. De eddig nagy különbséget eddig én sem tapasztaltam a sebességekben...

ugy nezem a -ffast-math -et erdemes berakni.

http://math.nist.gov/scimark2/index.html ezzel merve sokkal lassabb kodort csinal mint a 3.3.5: ( nagyobb szam gyorsabb kod !)

3.3.5: (-O3 -march=pentium4 -pipe -fomit-frame-pointer -funroll-loops -ffast-math)
** **
** SciMark2 Numeric Benchmark, see http://math.nist.gov/scimark **
** for details. (Results can be submitted to pozo@nist.gov) **
** **
Using 2.00 seconds min time per kenel.
Composite Score: 436.13
FFT Mflops: 244.29 (N=1024)
SOR Mflops: 420.73 (100 x 100)
MonteCarlo: Mflops: 116.71
Sparse matmult Mflops: 595.78 (N=1000, nz=5000)
LU Mflops: 803.14 (M=100, N=100)

4.0.0: (-O3 -march=pentium4 -mtune=pentium4 -pipe -fomit-frame-pointer -funroll-loops -ffast-math -ftree-vectorize -ftree-vectorizer-verbose=1)
** **
** SciMark2 Numeric Benchmark, see http://math.nist.gov/scimark **
** for details. (Results can be submitted to pozo@nist.gov) **
** **
Using 2.00 seconds min time per kenel.
Composite Score: 385.35
FFT Mflops: 242.26 (N=1024)
SOR Mflops: 282.54 (100 x 100)
MonteCarlo: Mflops: 113.74
Sparse matmult Mflops: 508.03 (N=1000, nz=5000)
LU Mflops: 780.19 (M=100, N=100)

Megpróbáltam én is ezzel megmérni a sebesség különbségeket, de szinte kapásból el is szállt ezzel:

/tmp/ccULq9x0.o(.text+0x10d): In function `FFT_transform_internal':
: undefined reference to `sin'
/tmp/ccULq9x0.o(.text+0x121): In function `FFT_transform_internal':
: undefined reference to `sin'
collect2: ld returned 1 exit status

Úgy indítottam ahogy a weboldalon írták. Valami ötlet erre?

[quote:56f6def5f7="Luckyboy"]Megpróbáltam én is ezzel megmérni a sebesség különbségeket, de szinte kapásból el is szállt ezzel:

/tmp/ccULq9x0.o(.text+0x10d): In function `FFT_transform_internal':
: undefined reference to `sin'
/tmp/ccULq9x0.o(.text+0x121): In function `FFT_transform_internal':
: undefined reference to `sin'
collect2: ld returned 1 exit status

Úgy indítottam ahogy a weboldalon írták. Valami ötlet erre?

en leszedtem innen a c forrast:
http://math.nist.gov/scimark2/download_c.html

majd vim Makefile
- CFLAGS = -O
+ CFLAGS = -O3 -march=pentium4 -mtune=pentium4 -pipe -fomit-frame-pointer -funroll-loops -ffast-math -ftree-vectorize

majd: make
es ./scimark2

semmi kulonoset nem csinaltam, kapasbol fordult

Na sikerült rávennem a működésre, én voltam a hülye hozzá elsőre... :wink: Az eredmények:

gcc version 3.4.3-20050110 (Gentoo Linux 3.4.3.20050110-r2, ssp-3.4.3.20050110-0, pie-8.7.7)
** **
** SciMark2 Numeric Benchmark, see http://math.nist.gov/scimark **
** for details. (Results can be submitted to pozo@nist.gov) **
** **
Using 2.00 seconds min time per kenel.
Composite Score: 455.75
FFT Mflops: 394.62 (N=1024)
SOR Mflops: 408.25 (100 x 100)
MonteCarlo: Mflops: 155.17
Sparse matmult Mflops: 428.34 (N=1000, nz=5000)
LU Mflops: 892.37 (M=100, N=100)

gcc version 4.0.0-beta20050409 (Gentoo Linux 4.0.0_beta20050409)
** **
** SciMark2 Numeric Benchmark, see http://math.nist.gov/scimark **
** for details. (Results can be submitted to pozo@nist.gov) **
** **
Using 2.00 seconds min time per kenel.
Composite Score: 471.39
FFT Mflops: 439.36 (N=1024)
SOR Mflops: 417.09 (100 x 100)
MonteCarlo: Mflops: 152.09
Sparse matmult Mflops: 473.18 (N=1000, nz=5000)
LU Mflops: 875.21 (M=100, N=100)

gcc version 4.0.0-beta20050409 (Gentoo Linux 4.0.0_beta20050409)
** **
** SciMark2 Numeric Benchmark, see http://math.nist.gov/scimark **
** for details. (Results can be submitted to pozo@nist.gov) **
** **
Using 2.00 seconds min time per kenel.
Composite Score: 458.63
FFT Mflops: 419.29 (N=1024)
SOR Mflops: 409.99 (100 x 100)
MonteCarlo: Mflops: 152.95
Sparse matmult Mflops: 468.11 (N=1000, nz=5000)
LU Mflops: 842.80 (M=100, N=100)

Az első eredmény 3.4.3-as gcc-vel készült, a második már 4.0-és gcc-vel. Mindkettőnél a -O2 -march=athlon-xp -pipe -fomit-frame-pointer -funroll-loops -ffast-math opciókkal fordítottak. A harmadikat szintén 4-es gcc-vel csináltam, de -ftree-vectorize opcióval pluszban. Érdekes mindenesetre...

probaltam umaskolni a gcc 4.0 de nem sikertult :(

package.keywords:

sys-libs/glibc ~x86
sys-devel/gcc ~x86
sys-libs/libstdc++-v3 ~x86
sys-devel/gcc-config ~x8

package.unmask:
>=gcc-4.0.0_beta20050409.ebuild
de volt mar:
>=sys-devel/gcc-4.0.0_alpha20050123

de a emere gcc -pv meg mindig a 3.4.3 mast akarja felrakni

nincs is senki aki gentoo unmask szakerto? 8O
na ne mar, nem hiszem el. :roll:

Én ~86-os package-eket használok, de még nem láttam a 4.0-ás gcc a portage-ben. Szerintem az még erősen hardmask-olt darab, azt pedig elég nehéz ügy lenne felrakni... Szóval lehet még várnod kell rá kicsit.

[quote:e0e6f94128="Luckyboy"]Én ~86-os package-eket használok, de még nem láttam a 4.0-ás gcc a portage-ben. Szerintem az még erősen hardmask-olt darab, azt pedig elég nehéz ügy lenne felrakni... Szóval lehet még várnod kell rá kicsit.

igazabol csak par progit probaltam volna vele leforditani. csak ugy a hecc kedveert.

ha hardmasked, tehat az /usr/portage/profiles/package.mask hatarozza meg a maskot akkor annak a hasznalhatosagat az /etc/portage/package.unmask fajlban hatarozhatod meg. szintaktika megtalalho a portage manjaban vagy lehet, hogy a package.unmasknak van kulon manja is.

Kicsit most utánanéztem a dolgoknak, tényleg van már gcc4 a portage-ben, de mint gondoltam maskolva van. A gond szerintem ott van az unmasknál nálad, hogy nem elég neki a gcc4-et unmaskolni, hanem kell hozzá másik glibc meg gcc-config is. Én ezeket is unmaskoltam, de még mindig nem akarja feltenni, szóval meg kéne keresni a függőségeit, azokat is unmaskolni és szerintem akkor fel lehetne rakni.
Viszont felkeltette az érdeklődésem a gcc4, érdekeseket írtak róla. Állítólag gyorsabb lesz mint a gcc3, és elég lesz neki egy -Ox flagnek, és már így is sokkal jobban fog optimalizálni. Viszont még nem igazán stabil a beszámolók szerint, és jópár program nem is fordul le vele...

[quote:aceb950610="Luckyboy"]Kicsit most utánanéztem a dolgoknak, tényleg van már gcc4 a portage-ben, de mint gondoltam maskolva van. A gond szerintem ott van az unmasknál nálad, hogy nem elég neki a gcc4-et unmaskolni, hanem kell hozzá másik glibc meg gcc-config is. Én ezeket is unmaskoltam, de még mindig nem akarja feltenni, szóval meg kéne keresni a függőségeit, azokat is unmaskolni és szerintem akkor fel lehetne rakni.
Viszont felkeltette az érdeklődésem a gcc4, érdekeseket írtak róla. Állítólag gyorsabb lesz mint a gcc3, és elég lesz neki egy -Ox flagnek, és már így is sokkal jobban fog optimalizálni. Viszont még nem igazán stabil a beszámolók szerint, és jópár program nem is fordul le vele...

En is jokat olvastam rola. Gyorsan gyors kodot fordit.

package.keywords-be azt ird gcc-hez, hogy sys-devel/gcc -* ugyanis az ebuild nincs benne a ~x86ban tehat hiaba allitod be azt. a tobbi asszem jo.

[quote:f8c9a64e67="whitehawk"]package.keywords-be azt ird gcc-hez, hogy sys-devel/gcc -* ugyanis az ebuild nincs benne a ~x86ban tehat hiaba allitod be azt. a tobbi asszem jo.

Én már kipróbáltam ezzel a módszerrel is és nem ment, legalábbis az update. De kézzel le lehet fordítani, legalábbis nekiáll. Most még fordul, ha meglesz utána többet tudok nyilatkozni róla... :)

[quote:1164470fae="Luckyboy"]Én már kipróbáltam ezzel a módszerrel is és nem ment, legalábbis az update. De kézzel le lehet fordítani, legalábbis nekiáll. Most még fordul, ha meglesz utána többet tudok nyilatkozni róla... :)

nekem ment. unmaskoltam package.unmaskban es package.keywordsben es kesz. amugy alapob ~x86ot hasznalok, szoval a tobbit nem neztem. --pretendre kiirta, h felrakna. egyebkent nem tettem fel, mert mukodo rendszerre vagyom :)

[quote:6e4360f90f="whitehawk"][quote:6e4360f90f="Luckyboy"]Én már kipróbáltam ezzel a módszerrel is és nem ment, legalábbis az update. De kézzel le lehet fordítani, legalábbis nekiáll. Most még fordul, ha meglesz utána többet tudok nyilatkozni róla... :)

nekem ment. unmaskoltam package.unmaskban es package.keywordsben es kesz. amugy alapob ~x86ot hasznalok, szoval a tobbit nem neztem. --pretendre kiirta, h felrakna. egyebkent nem tettem fel, mert mukodo rendszerre vagyom :)

Nekem nem ment, de akkor valszeg én rontottam el valamit. Most kézzel felrakom, de szerintem ezzel nem veszélyeztetem a rendszerem, az egészet nem akarom újrafordítani vele. Meg a 3.4.3-at nem upgradelem, szóval ha gond van csak visszaváltok a régire és minden megy tovább... :) Legalábbis remélem. :wink:

Ha jól látom gentooéknál nem nagyon megy a dolog:
[code:1:9b3f53f3ba]Releases alpha amd64 arm hppa ia64 mips ppc ppc64 ppc macos s390 sh sparc x86
4.0.0_beta20050409 - - - - - - - - - - - - -[/code:1:9b3f53f3ba]

Nem tudom ti hogy csináltátok :wink:

btw a package.* file-okban jobban néz ki csak "gcc"-t írni mint "gcc-*"-ot. de ez csak minority report :)

szóval ez az 4.0.0_alfa mittomén ebuildje.
[code:1:cd07fd37d0]
falcone@nido ~ $ head -n 13 /usr/portage/sys-devel/gcc/gcc-4.0.0_beta20050409.ebuild
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-4.0.0_beta20050409.ebuild,v 1.1 2005/04/12 03:30:16 halcy0n Exp $

ETYPE="gcc-compiler"

inherit toolchain

DESCRIPTION="The GNU Compiler Collection. Includes C/C++, java compilers, pie+ssp extensions, Haj Ten Brugge runtime bounds checking"
HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html"

LICENSE="GPL-2 LGPL-2.1"
KEYWORDS="-*"
[/code:1:cd07fd37d0]

Ha jól megnézzük a KEYWORDS változót, akkor észrevehetjük, hogy nincs benne az ~x86-ban.

Tehát írjuk be az /etc/portage/package.unmask fájlba egy új sorba, hogy:
sys-devel/gcc

valamint az /etc/portage/package.keywords fájl egy új sorába, hogy:
sys-devel/gcc -*

[quote:cd07fd37d0="lacipac"]btw a package.* file-okban jobban néz ki csak "gcc"-t írni mint "gcc-*"-ot. de ez csak minority report Smile

az nem [code:1:cd07fd37d0]sys-devel/gcc-*[/code:1:cd07fd37d0] hanem [code:1:cd07fd37d0]sys-devel/gcc -*[/code:1:cd07fd37d0] mert -*ra van maskolva.

jaja, értem, csak nem vettem észre a space-t. kösz szépen

No hát ide eljutottam:

[1] i386-pc-linux-gnu-3.3.4
[2] i686-pc-linux-gnu-3.4.3-20050110
[3] i686-pc-linux-gnu-3.4.3-20050110-hardened
[4] i686-pc-linux-gnu-3.4.3-20050110-hardenednopie
[5] i686-pc-linux-gnu-3.4.3-20050110-hardenednossp
[6] i686-pc-linux-gnu-4.0.0-beta20050409 *

Egyelőre egy kernelt próbáltam meg fordítani (linux-2.6.11-gentoo-r6), de az i2c fordításnál behalt, lehet a kernel még nem gcc4 kompatibilis... :D

Luckyboy és most kézzel csináltad?

[quote:aa2f517b7d="whitehawk"]Luckyboy és most kézzel csináltad?

Mármint a felrakást?

emerge /usr/portage/sys-devel/gcc/gcc-4.0.0_beta20050409.ebuild

Ezzel raktam fel, nem használtam az "emerge -u"-t. Így megmaradt a régi gcc-m... :)

[quote:9b86d05a37="Luckyboy"]

emerge /usr/portage/sys-devel/gcc/gcc-4.0.0_beta20050409.ebuild

Ezzel raktam fel, nem használtam az "emerge -u"-t. Így megmaradt a régi gcc-m... :)

LOL :lol: :lol: :lol: Nem azért maradt meg a régi, hanem azért mert a 4.0 új slotba települ!!!

[code:1:9b86d05a37]
nido falcone # etcat versions gcc
[ Results for search key : gcc ]
[ Candidate applications found : 15 ]

Only printing found installed programs.

* sys-devel/gcc :
[M ] 2.95.3-r8 (2.95)
[M ] 3.1.1-r2 (3.1)
[M ] 3.2.3-r4 (3.2)
[M ] 3.3.2 (3.3)
[M ] 3.3.2-r5 (3.3)
[M ] 3.3.2-r7 (3.3)
[ ] 3.3.5-r1 (3.3)
[ ~ ] 3.3.5.20050130 (3.3)
[ ] 3.3.5.20050130-r1 (3.3)
[ ~ ] 3.3.5.20050130-r2 (3.3)
[ ~ ] 3.4.1-r3 (3.4)
[ ~ ] 3.4.3-r1 (3.4)
[ ~ ] 3.4.3.20050110-r1 (3.4)
[ I] 3.4.3.20050110-r2 (3.4)
[M ] 4.0.0_beta20050409 (4.0)
[/code:1:9b86d05a37]

LOL :lol: :lol: :lol: Nem azért maradt meg a régi, hanem azért mert a 4.0 új slotba települ!!!

Most miért kell kinevetni a kisebbet? :cry:

Na sikerült rávennem a működésre, én voltam a hülye hozzá elsőre... :wink: Az eredmények:

gcc version 3.4.3-20050110 (Gentoo Linux 3.4.3.20050110-r2, ssp-3.4.3.20050110-0, pie-8.7.7)

Az első eredmény 3.4.3-as gcc-vel készült, a második már 4.0-és gcc-vel. Mindkettőnél a -O2 -march=athlon-xp -pipe -fomit-frame-pointer -funroll-loops -ffast-math opciókkal fordítottak. A harmadikat szintén 4-es gcc-vel csináltam, de -ftree-vectorize opcióval pluszban. Érdekes mindenesetre...

erdekes, neked legalabb gyorsabb kodod produkal. Nekem a 3.3.5 os csinalta a legjobb kodod. 3.4.3 rosszabb volt, 4.0 meg rosszabb.

Most probaltam remergelni a system-et, de mar a gpm -nel meghalt :(

[quote:b8b2b6fffc="Luckyboy"]Most miért kell kinevetni a kisebbet? :cry:

Jaj bocs. :( Csak elképzeltem ahogy röhögsz a markodban, h jól kicselezted a csomagkezelőt :D Egyébként semmi lenézés vagy hasonlók.

[quote:fa76a7cb52="whitehawk"][quote:fa76a7cb52="Luckyboy"]Most miért kell kinevetni a kisebbet? :cry:

Jaj bocs. :( Csak elképzeltem ahogy röhögsz a markodban, h jól kicselezted a csomagkezelőt :D Egyébként semmi lenézés vagy hasonlók.

Örültem is, nem tagadom... :P De hát mindig tanul az ember, a portage és a gentoo meg örök téma. A jó pap is holtodig tanul... :wink:

ujabb benchmark: ( itt jobb a gcc 4.0 )

OPTS="-d -q9 +w400 +h300 +b1000 +r3 +a0.300 +ft"
POVDIR="/usr/share/povray-3.6/"
echo "chess2 ..."
time povray $OPTS -i$POVDIR/scenes/advanced/chess2.pov -L$POVDIR/include/
-----------------------------------------------------------------

P4-2000Mhz / gcc 3.3.5 / CFLAGS="-O3 -march=pentium4 -pipe -fomit-frame-pointer -funroll-loops -falign-functions=4"

real 1m31.168s
user 1m30.202s
sys 0m0.059s

----

P4-2000Mhz / gcc 3.3.5 / +++ "-ffast-math"

real 1m28.884s
user 1m28.493s
sys 0m0.061s

----

P4-2000Mhz / gcc 4.0-beta20050409 / +++ ""

real 1m20.670s
user 1m20.346s
sys 0m0.060s

P4-2000Mhz / gcc 4.0-beta20050409 / +++ "-ftree-vectorize -ftree-vectorizer-verbose=1"

real 1m21.071s
user 1m20.720s
sys 0m0.056s

[quote:f67397c9d6="whitehawk"]package.keywords-be azt ird gcc-hez, hogy sys-devel/gcc -* ugyanis az ebuild nincs benne a ~x86ban tehat hiaba allitod be azt. a tobbi asszem jo.

koszi, muxik :)
most fordul, igaz csak egy chroot-ba. Nem szeretnem a jol mukodo rendszeremet elrondtani.
Ha chroot-ban lefordul minden (haha) amit nem hiszek , akkor majd meglatjuk.