... de az ubench és a scimark2c programok eredményét a különféle fordítókkal az alábbi táblázatban megtaláljátok:
ubench -s | gcc | gcc -O2 | gcc -O2 -march=pentium4 | gcc42 -O2 -march=pentium4 | pcc | pcc -O2 | icc | icc -O2 | icc -O2 -march=pentium4 |
Ubench Single CPU | 82944 | 87744 | 133896 | 134579 | 84613 | 86836 | 126521 | 126708 | 136132 |
Ubench Single MEM | 84092 | 153943 | 177588 | 181453 | 83627 | 129809 | 156780 | 156398 | 219659 |
Ubench Single AVG | 83518 | 120843 | 155742 | 158016 | 84120 | 108322 | 141650 | 141553 | 177895 |
scimark2c | gcc -O2 | gcc -O2 -march=pentium4 | gcc42 -O2 | gcc42 -O2 -march=pentium4 | pcc -O2 | icc -O2 | icc -O2 -march=pentium4 | tcc -O2 |
Composite Score | 549.19 | 579.64 | 584.84 | 599.17 | nan | 657.54 | 665.31 | 314.96 |
FFT | 555.38 | 589.08 | 686.96 | 699.88 | 161.32 | 643.41 | 598.56 | 327.36 |
SOR | 612.04 | 590.07 | 622.85 | 612.04 | 613.56 | 824.92 | 841.81 | 612.04 |
MonteCarlo | 113.03 | 165.99 | 120.98 | 177.57 | nan | 118.89 | 128.21 | 95.98 |
Sparse matmult | 525.93 | 592.83 | 568.72 | 566.80 | 185.59 | 601.33 | 655.36 | 191.96 |
LU | 939.58 | 960.23 | 924.67 | 939.58 | 506.56 | 1099.14 | 1102.60 | 347.44 |
A használt fordítók verziói:
gcc -v
Using built-in specs.
Configured with: FreeBSD/i386 system compiler
Thread model: posix
gcc version 3.4.6 [FreeBSD] 20060305
gcc42 -v
Using built-in specs.
Target: i386-portbld-freebsd6.2
Configured with: ./..//gcc-4.2-20061014/configure --disable-nls
--with-system-zlib --with-libiconv-prefix=/usr/local --program-suffix=42
--libdir=/usr/local/lib/gcc-4.2.0
--with-gxx-include-dir=/usr/local/lib/gcc-4.2.0/include/c++/
--infodir=/usr/local/info/gcc42 --disable-rpath --prefix=/usr/local
i386-portbld-freebsd6.2
Thread model: posix
gcc version 4.2.0 20061014 (experimental)
pcc -v
pcc 0.9.8 for i386-portbld-freebsd6.2, root@maszoka.private Tue Sep 18 20:25:19 CEST 2007
no input files
tcc -V
tcc: Version: 4.0, Machine: freebsd-*-80x86, Release: TenDRA-5.0.0-dev
icc -V
Intel(R) C Compiler for 32-bit applications, Version 8.1 Build 20060606Z Package ID: l_cc_pc_8.1.038
Copyright (C) 1985-2006 Intel Corporation. All rights reserved.
FOR NON-COMMERCIAL USE ONLY
A használt operációs rendszer a FreeBSD 6.2-es kiadása i386-os platformon, alaptelepítéssel. A számítógép egy HP DL145, egy darab 2,6 GHz-es Opteron processzorral, 2 GB memóriával.
A fordítókkal kapcsolatban egy fontos megjegyzés:
az Intel icc fordítója két szempontból is hátrányosnak mondható FreeBSD-n. Egyrészt a jelenleg elérhető legfrissebb verzió már a 10-es, de ezt még (tudommal) senki sem portolta erre a platformra, másrészt pedig a binárisokat a linuxos (mivel natív FreeBSD-s nincs) icc-vel fordítottam, ami elképzelhető, hogy nem olyan optimális, mint ha ugyanezt teljesen linuxos környezetben, vagy natív, platformra optimalizált fordítóval tettem volna.
- A hozzászóláshoz be kell jelentkezni
- 2306 megtekintés
Hozzászólások
Esetleg ha hozzáfűznéd azt az egyszerű tényt, hogy konkrétan a kisebb a jbb, avagy a nagyobb az egyes esetekben (lévén nem néztem eddig ezeket a teszteket, utána kéne járni.) Azaz a piros jó és a zöld a rossz, vagy fordítva?
Ja és miért nincs a TenDRA az első tesztben?
- A hozzászóláshoz be kell jelentkezni
Mindegyik esetben a nagyobb a jobb, a piros a legrosszabb, a zöld a legjobb.
TenDRA azért nincs, mert nem fordult le vele én meg lusta voltam nekiállni kijavítani.
- A hozzászóláshoz be kell jelentkezni
Akkor ha jobban megnézem a táblázatot, a TenDRA és a PCC a leggyengébbek. De legalább a PCC-ről elmondható, hogy: pici, gyorsan fordít, a végeredmény viszont nagy és lassú :-)
- A hozzászóláshoz be kell jelentkezni
mivel PCC-t pont arra talaltak ki, hogy gyorsan portoljak az uj vasra (hence the name) es ott leforgassa a rendszert meg majd a nativ forditot, ami hosszu tavon kivaltja
--
Bow down and admit defeat. | Old, weak and obsolete.
- A hozzászóláshoz be kell jelentkezni
Egy kis e-penis lengetes:
ubench (-O2 -march=prescott):
- CPU: 166875
- MEM: 151009
- AVG: 158942
ubench (-03 -march=prescott):
- CPU: 169226
- MEM: 151009
- AVG: 160117
scimark (-O2 -march=prescott):
- Composite Score: 387.59
- FFT: 349.78
- SOR: 557.47
- MonteCarlo: 87.79
- Sparse matmult: 392.65
- LU: 550.26
scimark (-O3 -march=prescott):
- Composite Score: 393.22
- FFT: 359.42
- SOR: 558.94
- MonteCarlo: 85.68
- Sparse matmult: 413.96
- LU: 548.11
Core Duo @ 1.83GHz, MacOSX, gcc (4.0.1).
---
pontscho / fresh!mindworkz
- A hozzászóláshoz be kell jelentkezni
-ffast-math tud valamit ?
-mfpmath=sse,387 , -mfpmath=387 , -mfpmath=sse
-funroll-all-loops , -funroll-loops
- A hozzászóláshoz be kell jelentkezni
Ubench Single CPU: 169226 (0.39s)
Ubench Single MEM: 156151 (0.41s)
-----------------------------------
Ubench Single AVG: 162688
-O3 -march=prescott -ffast-math -mfpmath=sse,387 -funroll-all-loops -fprefetch-loop-arrays
---
pontscho / fresh!mindworkz
- A hozzászóláshoz be kell jelentkezni
osx? akkor nem inkabb iPenis? :D
--
Peace, Love, Unity, Respect
- A hozzászóláshoz be kell jelentkezni
És az icc mennyire lenne gyorsabb?
---------
"Ha igazat mondasz azt végig unják, ha feldíszíted azt jól meg dugják"
szerény blogom -- új címen!
- A hozzászóláshoz be kell jelentkezni
Nem tudom, nincs olyanom.
---
pontscho / fresh!mindworkz
- A hozzászóláshoz be kell jelentkezni
Using 2.00 seconds min time per kenel.
make CFLAGS="-O2 -march=athlon64"
Composite Score: 424.99
FFT Mflops: 419.29 (N=1024)
SOR Mflops: 393.26 (100 x 100)
MonteCarlo: Mflops: 206.49
Sparse matmult Mflops: 490.91 (N=1000, nz=5000)
LU Mflops: 615.02 (M=100, N=100)
make CFLAGS="-O2 -march=athlon64 -ffast-math"
Composite Score: 427.61
FFT Mflops: 431.74 (N=1024)
SOR Mflops: 391.66 (100 x 100)
MonteCarlo: Mflops: 200.32
Sparse matmult Mflops: 490.91 (N=1000, nz=5000)
LU Mflops: 623.44 (M=100, N=100)
make CFLAGS="-O2 -march=athlon64 -mfpmath=sse,387"
Composite Score: 437.96
FFT Mflops: 369.54 (N=1024)
SOR Mflops: 408.25 (100 x 100)
MonteCarlo: Mflops: 201.08
Sparse matmult Mflops: 474.90 (N=1000, nz=5000)
LU Mflops: 736.03 (M=100, N=100)
make CFLAGS="-O2 -march=athlon64 -mfpmath=387"
Using 2.00 seconds min time per kenel.
Composite Score: 432.41
FFT Mflops: 427.51 (N=1024)
SOR Mflops: 398.13 (100 x 100)
MonteCarlo: Mflops: 118.25
Sparse matmult Mflops: 480.12 (N=1000, nz=5000)
LU Mflops: 738.02 (M=100, N=100)
make CFLAGS="-O2 -march=athlon64 -funroll-all-loops"
Composite Score: 491.28
FFT Mflops: 461.44 (N=1024)
SOR Mflops: 398.13 (100 x 100)
MonteCarlo: Mflops: 198.11
Sparse matmult Mflops: 485.45 (N=1000, nz=5000)
LU Mflops: 913.27 (M=100, N=100)
make CFLAGS="-O2 -march=athlon64 -funroll-loops"
Composite Score: 482.89
FFT Mflops: 455.42 (N=1024)
SOR Mflops: 398.13 (100 x 100)
MonteCarlo: Mflops: 177.19
Sparse matmult Mflops: 485.45 (N=1000, nz=5000)
LU Mflops: 898.25 (M=100, N=100)
make CFLAGS="-O2 -march=athlon64 -funroll-all-loops -mfpmath=sse,387"
Composite Score: 478.51
FFT Mflops: 385.89 (N=1024)
SOR Mflops: 403.13 (100 x 100)
MonteCarlo: Mflops: 191.06
Sparse matmult Mflops: 483.66 (N=1000, nz=5000)
LU Mflops: 928.80 (M=100, N=100)
make CFLAGS="-O2 -march=athlon64 -funroll-all-loops -mfpmath=sse,387 -ffast-math"
Composite Score: 462.64
FFT Mflops: 429.62 (N=1024)
SOR Mflops: 306.84 (100 x 100)
MonteCarlo: Mflops: 157.90
Sparse matmult Mflops: 483.66 (N=1000, nz=5000)
LU Mflops: 935.16 (M=100, N=100)
make CFLAGS="-O3 -march=athlon64 -funroll-all-loops -mfpmath=sse,387 -ffast-math"
Composite Score: 468.29
FFT Mflops: 431.74 (N=1024)
SOR Mflops: 308.81 (100 x 100)
MonteCarlo: Mflops: 183.86
Sparse matmult Mflops: 481.88 (N=1000, nz=5000)
LU Mflops: 935.16 (M=100, N=100)
Meglep, hogy icc -t veri gcc FFT -ben ,pedig ott lehetne SIMD -vel játszani.
-funroll-all-loops csak a kódba nézés után jutott eszembe, nem véletlenül :)
Ilyen rövid idejű mérésnél, úgy, hogy közben más is fut a gépen ~3% kisebb elterés gyakran nem megbízható.
Mindent csak egyszer teszteltem.
szerk:
Ha nem válaszoltok átszerkeszten táblázattá..
- A hozzászóláshoz be kell jelentkezni
Bocs, mi lesz, ha csatolod a -fprefetch-loop-arrays -ot? Nekem sokszor bevált.
- A hozzászóláshoz be kell jelentkezni
make CFLAGS="-O3 -march=athlon64 -funroll-all-loops -mfpmath=sse,387 -ffast-math -fprefetch-loop-arrays"
Using 2.00 seconds min time per kenel.
Composite Score: 363.74
FFT Mflops: 429.62 (N=1024)
SOR Mflops: 309.80 (100 x 100)
MonteCarlo: Mflops: 180.76
Sparse matmult Mflops: 398.40 (N=1000, nz=5000)
LU Mflops: 500.12 (M=100, N=100)
make CFLAGS="-O2 -march=athlon64 -fprefetch-loop-arrays"
Composite Score: 376.23
FFT Mflops: 453.05 (N=1024)
SOR Mflops: 403.13 (100 x 100)
MonteCarlo: Mflops: 205.70
Sparse matmult Mflops: 426.94 (N=1000, nz=5000)
LU Mflops: 392.34 (M=100, N=100)
make CFLAGS="-O2 -march=athlon64 -fprefetch-loop-arrays -funroll-all-loops"
Composite Score: 391.81
FFT Mflops: 461.44 (N=1024)
SOR Mflops: 406.53 (100 x 100)
MonteCarlo: Mflops: 187.06
Sparse matmult Mflops: 402.06 (N=1000, nz=5000)
LU Mflops: 501.96 (M=100, N=100)
Az én procim nagyon utalja prefetcheket :)
- A hozzászóláshoz be kell jelentkezni
scimark2c | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Composite Score | 424.99 | 427.61 | 437.96 | 432.41 | 491.28 | 482.89 | 478.51 | 462.64 | 468.29 | 435.82 |
FFT | 419.29 | 431.74 | 369.54 | 427.51 | 461.44 | 455.42 | 385.89 | 429.62 | 431.74 | 457.81 |
SOR | 393.26 | 391.66 | 408.25 | 398.13 | 398.13 | 398.13 | 403.13 | 306.84 | 308.81 | 394.87 |
MonteCarlo | 206.49 | 200.32 | 201.08 | 118.25 | 198.11 | 177.19 | 191.06 | 157.90 | 183.86 | 213.04 |
Sparse matmult | 490.91 | 490.91 | 474.90 | 480.12 | 485.45 | 485.45 | 483.66 | 483.66 | 481.88 | 492.75 |
LU | 615.02 | 623.44 | 736.03 | 738.02 | 913.27 | 898.25 | 928.80 | 935.16 | 935.16 | 620.61 |
1: CFLAGS="-O2 -march=athlon64"
2: CFLAGS="-O2 -march=athlon64 -ffast-math"
3: CFLAGS="-O2 -march=athlon64 -mfpmath=sse,387"
4: CFLAGS="-O2 -march=athlon64 -mfpmath=387"
5: CFLAGS="-O2 -march=athlon64 -funroll-all-loops"
6: CFLAGS="-O2 -march=athlon64 -funroll-loops"
7: CFLAGS="-O2 -march=athlon64 -funroll-all-loops -mfpmath=sse,387"
8: CFLAGS="-O2 -march=athlon64 -funroll-all-loops -mfpmath=sse,387 -ffast-math"
9: CFLAGS="-O3 -march=athlon64 -funroll-all-loops -mfpmath=sse,387 -ffast-math"
10: CFLAGS="-O3 -march=athlon64"
gcc version 4.2.0 (Gentoo 4.2.0)
- A hozzászóláshoz be kell jelentkezni
a -ffast-math kapcsolót nem éri meg használni, mert sok esetben téves eredményhez vezet...
---------
"Ha igazat mondasz azt végig unják, ha feldíszíted azt jól meg dugják"
szerény blogom -- új címen!
- A hozzászóláshoz be kell jelentkezni
OS elvileg nem számít ebben a tesztben.
- A hozzászóláshoz be kell jelentkezni
-march=opteron
Ne csapjuk be gcc -t !
make clean;make LDFLAGS="-m32" CFLAGS="-m32 -O2 -march=athlon64"
Using 2.00 seconds min time per kenel.
Composite Score: 418.38
FFT Mflops: 446.10 (N=1024)
SOR Mflops: 398.13 (100 x 100)
MonteCarlo: Mflops: 130.94
Sparse matmult Mflops: 392.43 (N=1000, nz=5000)
LU Mflops: 724.31 (M=100, N=100)
make LDFLAGS="-m32" CFLAGS="-m32 -O2 -march=pentium4"
Composite Score: 415.20
FFT Mflops: 437.15 (N=1024)
SOR Mflops: 415.29 (100 x 100)
MonteCarlo: Mflops: 123.70
Sparse matmult Mflops: 392.43 (N=1000, nz=5000)
LU Mflops: 707.43 (M=100, N=100)
- A hozzászóláshoz be kell jelentkezni
The ultimate weapon of war!
make clean ;make CFLAGS="-O2 -march=athlon64 -fprofile-generate" ; ./scimark2 #+ néhány régebbi etetés
make clean ;make CFLAGS="-O2 -march=athlon64 -fprofile-use" ; ./scimark2
Composite Score: 505.01
FFT Mflops: 479.19 (N=1024)
SOR Mflops: 406.53 (100 x 100)
MonteCarlo: Mflops: 197.38
Sparse matmult Mflops: 510.01 (N=1000, nz=5000)
LU Mflops: 931.97 (M=100, N=100)
Tud ilyet az icc ?
- A hozzászóláshoz be kell jelentkezni
Mi lenne ha letöltenéd és kipróbálnád?
- A hozzászóláshoz be kell jelentkezni
Valami license regisztrációval zaklat, ez eléggé elveszi kedvem. És még direkt linket sem kaptam licesne letöltésre.
- A hozzászóláshoz be kell jelentkezni
Egy perc az egész, meg míg megérkezik az e-mail...
- A hozzászóláshoz be kell jelentkezni
Mezei -O2 -vel jobbat ér el az icc kb. 470 pont. Bármilyen opcio nem sokat változtat ezen.
icc is tud profilingozni , de úgy csak 480 pontot ér el.
A mérések gyakran nem voltak repdukálhatók. pl. gcc -O2 nél volt már 417 -em 440 em is. Nem vágom mitől függ, mivel 500 pötyit vitte profilos gcc -ha kettőt futtattam párhuzamosan akkor is, de talán a böngésző futása huzta le ugyan azt a kódot 470 pötyire (talán több megszakitás lenne ? ).
507 pötyit hozott most a gcc profilos cuccom ezek mérésekor.
Majd dobok néhány kimenetet is ide.
(Most más csinál gépem , és nem mentettem a kimeneteket)
(scimark2.o nem törli clean, de ez nem sokat számít,de azért szoktam törölni)
- A hozzászóláshoz be kell jelentkezni