Intel C/C++

Fórumok

Intel C/C++

Hozzászólások

Az icc-vel probaltam leforditani a gimp-et:
( de persze nem jott ossze, vmi linkelesi baja van )
( CFLAGS="-O2 -tpp7 -fno-alias -xB -ipo -unroll )

make[2]: Entering directory `/var/tmp/portage/gimp-2.2.3/work/gimp-2.2.3/libgimpbase'
/bin/sh ../libtool --mode=link icc -O2 -tpp7 -fno-alias -xB -ipo -unroll -Wall -o libgimpbase-2.0.la -rpath /usr/lib -version-info 200:3:200 gimpbasetypes.lo gimpbase-private.lo gimpchecks.lo gimpdatafiles.lo gimpenv.lo gimpmemsize.lo gimpparasite.lo gimpparasiteio.lo gimpprotocol.lo gimpsignal.lo gimpunit.lo gimputils.lo gimpwire.lo gimpbaseenums.lo -lgobject-2.0 -lglib-2.0
icc -shared .libs/gimpbasetypes.o .libs/gimpbase-private.o .libs/gimpchecks.o .libs/gimpdatafiles.o .libs/gimpenv.o .libs/gimpmemsize.o .libs/gimpparasite.o .libs/gimpparasiteio.o .libs/gimpprotocol.o .libs/gimpsignal.o .libs/gimpunit.o .libs/gimputils.o .libs/gimpwire.o .libs/gimpbaseenums.o /usr/lib/libgobject-2.0.so /usr/lib/libglib-2.0.so -Wl,-soname -Wl,libgimpbase-2.0.so.0 -o .libs/libgimpbase-2.0.so.0.200.3
/usr/bin/ld:.libs/gimpbasetypes.o: file format not recognized; treating as linker script
/usr/bin/ld:.libs/gimpbasetypes.o:1: syntax error
make[2]: *** [libgimpbase-2.0.la] Error 1
make[2]: Leaving directory `/var/tmp/portage/gimp-2.2.3/work/gimp-2.2.3/libgimpbase'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/gimp-2.2.3/work/gimp-2.2.3'
make: *** [all] Error 2

a object file tartalma:

Intel(R) IPO compilation -- dummy object file

kivettem a -ipo opciot, most tovabbment :)

icc -shared .libs/gimpmodule.o .libs/pygimp-image.o .libs/pygimp-drawable.o .libs/pygimp-tile.o .libs/pygimp-display.o .libs/pygimp-parasite.o .libs/pygimp-pdb.o -Wl,--rpath -Wl,/var/tmp/portage/gimp-2.2.3/work/gimp-2.2.3/libgimp/.libs -Wl,--rpath -Wl,/var/tmp/portage/gimp-2.2.3/work/gimp-2.2.3/libgimpcolor/.libs -Wl,--rpath -Wl,/var/tmp/portage/gimp-2.2.3/work/gimp-2.2.3/libgimpbase/.libs ../../libgimp/.libs/libgimp-2.0.so ../../libgimpcolor/.libs/libgimpcolor-2.0.so ../../libgimpbase/.libs/libgimpbase-2.0.so /usr/lib/libgobject-2.0.so /usr/lib/libglib-2.0.so -Wl,-soname -Wl,gimpmodule.so -Wl,-version-script -Wl,.libs/gimpmodule.ver -o .libs/gimpmodule.so
/usr/bin/ld: anonymous version tag cannot be combined with other version tags
make[4]: *** [gimpmodule.la] Error 1
make[4]: *** Waiting for unfinished jobs....

Na eleg volt a gimp-bol: egy kis lame:

gcc 3.4.3 : (-O2 -march=pentium-m -pipe -fomit-frame-pointer)

LAME version 3.96.1 (http://lame.sourceforge.net/)
CPU features: MMX (ASM used), SSE, SSE2
Using polyphase lowpass filter, transition band: 17249 Hz - 17782 Hz
Encoding 01-Emil.Rulez_-_Bolcsidal-adr.mp3.wav
to 01-Emil.Rulez_-_Bolcsidal-adr.mp3.wav.mp3
Encoding as 44.1 kHz 128 kbps j-stereo MPEG-1 Layer III (11x) qval=3
Frame | CPU time/estim | REAL time/estim | play/CPU | ETA
8022/8025 (100%)| 0:18/ 0:18| 0:18/ 0:18| 11.590x| 0:00
average: 128.0 kbps LR: 94 (1.171%) MS: 7931 (98.83%)

icc 8.0.055 (CFLAGS="-O2 -tpp7 -fno-alias -xB -unroll )
LAME version 3.96.1 (http://lame.sourceforge.net/)
Using polyphase lowpass filter, transition band: 17249 Hz - 17782 Hz
Encoding 01-Emil.Rulez_-_Bolcsidal-adr.mp3.wav
to 01-Emil.Rulez_-_Bolcsidal-adr.mp3.wav.mp3
Encoding as 44.1 kHz 128 kbps j-stereo MPEG-1 Layer III (11x) qval=3
Frame | CPU time/estim | REAL time/estim | play/CPU | ETA
8022/8025 (100%)| 0:21/ 0:21| 0:21/ 0:21| 9.9645x| 0:00
average: 128.0 kbps LR: 94 (1.171%) MS: 7931 (98.83%)

Ami erdekes hogy a lame lassabb lett, igaz az elejen nem irja ki hogy MMX (ASM used), SSE, SSE2.

Mi lenne, ha bekapcsolnad az SSE2-t az icc-ben?

Nem lehet, hogy a LAME kodolojanak kenyesebb reszeit assemblyben irtak meg? Mert ha igen, akkor nem fogsz erdemi kulonbseget latni a ketto kozott.

Jobban jarnal, ha olyan tesztprogramokat valasztanal, aminek a kernele is C/C++.

[quote:87f0a33492="Andrei"]Mi lenne, ha bekapcsolnad az SSE2-t az icc-ben?

Nem lehet, hogy a LAME kodolojanak kenyesebb reszeit assemblyben irtak meg? Mert ha igen, akkor nem fogsz erdemi kulonbseget latni a ketto kozott.

Jobban jarnal, ha olyan tesztprogramokat valasztanal, aminek a kernele is C/C++.

igazad lehet, kozben en is rajottem. ha emerge lame -el rakom fel akkor hasznalja az sse2 es akkor:
LAME version 3.96.1 (http://lame.sourceforge.net/)
CPU features: MMX (ASM used), SSE, SSE2
Using polyphase lowpass filter, transition band: 17249 Hz - 17782 Hz
Encoding 01-Emil.Rulez_-_Bolcsidal-adr.mp3.wav
to 01-Emil.Rulez_-_Bolcsidal-adr.mp3.wav.mp3
Encoding as 44.1 kHz 128 kbps j-stereo MPEG-1 Layer III (11x) qval=3
Frame | CPU time/estim | REAL time/estim | play/CPU | ETA
8022/8025 (100%)| 0:20/ 0:20| 0:20/ 0:20| 10.400x| 0:00
average: 128.0 kbps LR: 94 (1.171%) MS: 7931 (98.83%)

meg is is picit lassab, de legalabb hasznalja az sse-t.

Ezert is akartam a gimp effektekkel jatszani. mert azok szerintem nincsenek asm-ben megirva es optimizalva mmx/sse-re. csak hat ne m fordult le :(

icc-vel en is kuzdottem anno, de sztem csak nagyon spec celokra erdemes hasznalni. Sok csomag nem fordul vele. A kulonosen erzekeny progik, mint pl multimedias alkalmazasok nem igazan szivlelik az icc-t, ha azok gcc-re vannak hajlitva. :)

En inkabb visszakanyarodtam a gcc fele.

Ha valamit le akarsz forgatni icc-vel, az altalaban portolas nelkul nem nagyon megy. Bar ha jol emlexem az icc-nek is van gcc emulacioja.

Teljes rendszert meg nem erdemes forgatni vele, amig nincs icc portja. :)

[quote:7e48e7fdbd="rigidus"]icc-vel en is kuzdottem anno, de sztem csak nagyon spec celokra erdemes hasznalni. Sok csomag nem fordul vele. A kulonosen erzekeny progik, mint pl multimedias alkalmazasok nem igazan szivlelik az icc-t, ha azok gcc-re vannak hajlitva. :)

En inkabb visszakanyarodtam a gcc fele.

Ha valamit le akarsz forgatni icc-vel, az altalaban portolas nelkul nem nagyon megy. Bar ha jol emlexem az icc-nek is van gcc emulacioja.

Teljes rendszert meg nem erdemes forgatni vele, amig nincs icc portja. :)

Sajnos, pedig meg az elejen naivan azt hittem hogy majd jol ujra forditom az egesz rendszert icc-vel es akko milyen jo lesz :)
De rajottem hogy ez ongyilkos vallakozas, mivel minden csomag gcc-vel van tesztelve, icc-vel meg nem. szoval unmerge-eltem. :(