Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[USE] mmx y sse(X) (cerrado)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Spanish
View previous topic :: View next topic  
Author Message
the incredible hurd
Guru
Guru


Joined: 01 Jan 2007
Posts: 381

PostPosted: Wed Apr 08, 2009 2:48 pm    Post subject: [USE] mmx y sse(X) (cerrado) Reply with quote

Hace poco, curioseando acerca de sse3 y ssse3, me topé con esto:
Quote:
Intel was generally disappointed with their first IA-32 SIMD effort, MMX. MMX had two main problems: it re-used existing floating point registers making the CPU unable to work on both floating point and SIMD data at the same time, and it only worked on integers.

Por lo que estoy pensando en quitar MMX en todos los programas que lo permitan en amd64, y en las máquinas i686 no sé hasta qué punto sería razonable quitar MMX, dado que SSE sin números adicionales sólo soporta single precision arithmetics, por lo que sigue haciendo uso del 387 y acaso parece más adecuado quitar SSE, con mfpmath=387

¿Alguien podría recomendarme algún método para hacer pruebas de rendimiento más o menos fiables a tan bajo nivel?
No tengo ni idea de benchmarking, por lo que cualquier sugerencia será bienvenida... Creo que povray incluía algo muy similar a lo que busco. A ver si indago esta semana de puente...
_________________
Nunca preguntes el camino a alguien que ya lo conoce. Podrías no perderte. (Nahman de Braslaw)


Last edited by the incredible hurd on Thu Jun 25, 2009 9:12 am; edited 1 time in total
Back to top
View user's profile Send private message
gringo
Advocate
Advocate


Joined: 27 Apr 2003
Posts: 3793

PostPosted: Wed Apr 08, 2009 3:10 pm    Post subject: Reply with quote

Quote:
dado que SSE sin números adicionales sólo soporta single precision arithmetics, por lo que sigue haciendo uso del 387 y acaso parece más adecuado quitar SSE, con mfpmath=387


yo pregunté lo mismo una vez y básicamente un dev de gentoo me dijo que no lo hiciera por no sé que rollo del ensamblador, pero no recuerdo si era sólo para amd64 o si era válido tb. para x86. Creo recordar que en amd64 era redundante pero tampoco encuentro el hilo ahora mismo ...

Por lo de las pruebas de rendimiento, nunca me he parao a mirarlo, pero yo entiendo que una forma rápida de ver la diferencia de rendimiento es compilar un paquete como lame o libquicktime con y sin esa USE. En teoría entiendo que el que se haya compilado con esa USE debería aportar un plus de rendimiento, es decir, debería ser mas rápido a la hora de crear un mp3 p.ej.

Pero bueno, seguro que hay formas mas científicas de probar esto.

saluetes
_________________
Error: Failing not supported by current locale
Back to top
View user's profile Send private message
pelelademadera
Veteran
Veteran


Joined: 14 Jul 2008
Posts: 1255
Location: La Plata, Argentina

PostPosted: Mon Apr 13, 2009 4:16 am    Post subject: Reply with quote

si, proba con mplayer y ripeate algun dvd...
compara los tiempos con un time y contanos que paso...
_________________
el pelado de la gente
------
Los habitantes de las islas Malvinas lo llaman gentoo, nombre en el que se basa la distribución GNU/Linux Gentoo, cuyo objetivo es la optimización para conseguir más rendimiento y velocidad en la ejecución.
------
Back to top
View user's profile Send private message
i92guboj
Bodhisattva
Bodhisattva


Joined: 30 Nov 2004
Posts: 10315
Location: Córdoba (Spain)

PostPosted: Mon Apr 13, 2009 7:10 am    Post subject: Reply with quote

No conozco el caso concreto de las cpu's the intel. Pero coincido con los demás que lo más sencillo sería diseñar una batería de pruebas usando tres o cuatro programas distintos. lame, mencoder y povray probablemente sean los candidatos más cercanos. Eso te permitirá ver los resultados en el mundo real.
Back to top
View user's profile Send private message
the incredible hurd
Guru
Guru


Joined: 01 Jan 2007
Posts: 381

PostPosted: Thu Jun 25, 2009 9:09 am    Post subject: Reply with quote

emerge -vp lame wrote:
These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild R ] media-sound/lame-3.98.2-r1 USE="-debug mmx -mp3rtp sndfile" 1,297 kB

Total: 1 package (1 reinstall), Size of downloads: 1,297 kB


Code:
$ time lame -h -V 0 cancion.wav cancion.mp3
LAME 3.98.2 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), 3DNow! (ASM used), SSE (ASM used)
Using polyphase lowpass filter, transition band: 19383 Hz - 19916 Hz
Encoding cancion.wav to cancion.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=0)
    Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
   991/991   (100%)|    0:02/    0:02|    0:02/    0:02|   11.207x|    0:00
 32 [  0]
 40 [  0]
 48 [  0]
 56 [  0]
 64 [  0]
 80 [  0]
 96 [  0]
112 [  0]
128 [  0]
160 [  2] %
192 [150] %%%%%%%%%%%%%%%%%%%%%%
224 [789] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
256 [ 49] %%%%%%%%
320 [  1] %
----------------------------------------------------------------------------------------------------------------------------
   kbps        LR    MS  %     long switch short %
  220.7       99.9   0.1        99.6   0.2   0.2
Writing LAME Tag...done
ReplayGain: -11.9dB

real   0m2.593s
user   0m2.276s
sys   0m0.052s


# USE="-mmx" emerge lame

reinicio y...

Code:
$ time lame -h -V 0 cancion.wav cancion.mp3
LAME 3.98.2 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), 3DNow! (ASM used), SSE (ASM used)
Using polyphase lowpass filter, transition band: 19383 Hz - 19916 Hz
Encoding cancion.wav to cancion.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=0)
    Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
   991/991   (100%)|    0:02/    0:02|    0:02/    0:02|   11.354x|    0:00
 32 [  0]
 40 [  0]
 48 [  0]
 56 [  0]
 64 [  0]
 80 [  0]
 96 [  0]
112 [  0]
128 [  0]
160 [  2] %
192 [150] %%%%%%%%%%%%%%%%%%%%%%
224 [789] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
256 [ 49] %%%%%%%%
320 [  1] %
----------------------------------------------------------------------------------------------------------------------------
   kbps        LR    MS  %     long switch short %
  220.7       99.9   0.1        99.6   0.2   0.2
Writing LAME Tag...done
ReplayGain: -11.9dB

real   0m2.960s
user   0m2.250s
sys   0m0.059s


NOTA> con USE -mmx sigue indicando CPU features: MMX (ASM used)

Por lo que lo compilo con el parametro -mno-mmx y USE -mmx, reinicio y

Code:
$ time lame -h -V 0 cancion.wav cancion.mp3
LAME 3.98.2 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), 3DNow! (ASM used), SSE
Using polyphase lowpass filter, transition band: 19383 Hz - 19916 Hz
Encoding cancion.wav to cancion.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=0)
    Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
   991/991   (100%)|    0:02/    0:02|    0:02/    0:02|   10.923x|    0:00
 32 [  0]
 40 [  0]
 48 [  0]
 56 [  0]
 64 [  0]
 80 [  0]
 96 [  0]
112 [  0]
128 [  0]
160 [  2] %
192 [150] %%%%%%%%%%%%%%%%%%%%%%
224 [789] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
256 [ 49] %%%%%%%%
320 [  1] %
----------------------------------------------------------------------------------------------------------------------------
   kbps        LR    MS  %     long switch short %
  220.7       99.9   0.1        99.6   0.2   0.2
Writing LAME Tag...done
ReplayGain: -11.9dB

real   0m2.796s
user   0m2.323s
sys   0m0.065s

Ummmmm, USE -mmx y CFLAG -mmmx, reinicio y

Code:
$ time lame -h -V 0 cancion.wav cancion.mp3
LAME 3.98.2 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), 3DNow! (ASM used), SSE (ASM used)
Using polyphase lowpass filter, transition band: 19383 Hz - 19916 Hz
Encoding cancion.wav to cancion.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=0)
    Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
   991/991   (100%)|    0:02/    0:02|    0:02/    0:02|   11.158x|    0:00
 32 [  0]
 40 [  0]
 48 [  0]
 56 [  0]
 64 [  0]
 80 [  0]
 96 [  0]
112 [  0]
128 [  0]
160 [  2] %
192 [150] %%%%%%%%%%%%%%%%%%%%%%
224 [789] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
256 [ 49] %%%%%%%%
320 [  1] %
----------------------------------------------------------------------------------------------------------------------------
   kbps        LR    MS  %     long switch short %
  220.7       99.9   0.1        99.6   0.2   0.2
Writing LAME Tag...done
ReplayGain: -11.9dB

real   0m2.733s
user   0m2.252s
sys   0m0.072s

USE -mmmx deberia comprobar las CFLAGS y filtrarlas, es un gran BUG, en mi opinion.

El 3dnowext de AMD es genial, dado que incorporaba un cambio rapido de 387 a SIMD y se nota, lo que hace que usar mmx y mmxext en procesadores de AMD sea muy recomendable, dudo que lo sea tanto en los de intel, a menos que lo hayan copiado y no hayan dicho nada.

Ah! A todo esto, mis CFLAGS son en esta i686>
CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"

Si alguien me cuenta como hacer pruebas con mencoder y povray las hare, no dispongo de mucho tiempo para aprender a hacerlas.

Acentos omitidos inintencionadamente, con xorg-server y hal tengo el teclado en ingles estadounidense irremediablemente en esta i686....... que ascazo!!!! :evil:
_________________
Nunca preguntes el camino a alguien que ya lo conoce. Podrías no perderte. (Nahman de Braslaw)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Spanish All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum