Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index International Gentoo Users Spanish
  • Search

Saludos y duda con Core I7

Foro en español para los usuarios Hispanos de Gentoo.

Moderator: Stolz

Post Reply
  • Print view
Advanced search
12 posts • Page 1 of 1
Author
Message
Noss
Guru
Guru
User avatar
Posts: 420
Joined: Sun Jul 09, 2006 9:34 pm

Saludos y duda con Core I7

  • Quote

Post by Noss » Sat Jun 27, 2009 10:37 pm

Buenas, antes que nada saludaros a todos, que hacía ya mucho tiempo que no entraba por aquí...

Lo siguiente es que he comprado un core I7 y me preguntaba si alguno tiene uno y me enseña su make.conf .... Es que tengo duda si hay un march específico o si poner -j9 ( por eso de que el procesador tiene 8hilos dos por cada procesador con el hyperthreading)....

En fin que si podeis me conteis como hacer un buen make.conf para ese procesador, porque por inet no encuentro nada..

Un saludo a todos!
Registered Linux user number 448342
My machines registered: 355201 - 355202
Top
Inodoro_Pereyra
Advocate
Advocate
User avatar
Posts: 2632
Joined: Fri Nov 03, 2006 4:56 pm
Location: En la otra punta del cable
Contact:
Contact Inodoro_Pereyra
Website

  • Quote

Post by Inodoro_Pereyra » Sat Jun 27, 2009 11:00 pm

http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel#Core_i7 wrote:Core i7
vendor_id : GenuineIntel
cpu family : 6
model : 26
model name : Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz

32 bit profile (x86) - for <sys-devel/gcc-4.3:
CHOST="i686-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=nocona -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

32 bit profile (x86) - for >=sys-devel/gcc-4.3:
CHOST="i686-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=core2 -msse4 -mcx16 -msahf -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

64 bit profile (amd64) - for <sys-devel/gcc-4.3
CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe"
CXXFLAGS="${CFLAGS}"

64 bit profile (amd64) - for >=sys-devel/gcc-4.3
CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -msse4 -mcx16 -msahf -O2 -pipe"
CXXFLAGS="${CFLAGS}"
Note: You can also add -msse4.1 -msse4.2 for increased xml support as the cpu supports parsing 16 bytes at once
No tengo un core i7 pero me encantaría :D
Acerca de si lanzar 9 hilos de gcc o mas, yo empezaría probando con 9 que debe ir sobrado, no?

Salud!
Mi Blog.

Si no fuera por C, estaríamos escribiendo programas en BASI, PASAL y OBOL.
Top
ESF
n00b
n00b
User avatar
Posts: 31
Joined: Fri Aug 18, 2006 11:08 am
Location: /proc/1077

i7 i7 i7 i7

  • Quote

Post by ESF » Wed Sep 16, 2009 1:56 am

Tengo un par de dudejas y cuatro núcleos :lol:

hay alguna diferencia entre poner "-march=nocona -mssse3" y "-march=core2" ?

A parte:

Ya que parece que es compatible con sse4 sse4.1 y sse4.2 no deberían ponerse todas?

Y bueno, esto como curiosidad:
qué hacen -mcx16 -msahf -fomit-frame-pointer ?

mcx16 y msahf son instrucciones atómicas (utilísimas), pero fomit frame pointer? esque no lo pillo... no sé que hace.

Gracias por leer y por contestar (si tal).
Top
asph
l33t
l33t
User avatar
Posts: 741
Joined: Mon Aug 25, 2003 8:52 am
Location: Barcelona, Spain

  • Quote

Post by asph » Wed Sep 16, 2009 7:27 am

se me hace dificil explicarlo en español, pero digamos que -fomit-frame-pointer guarda menos información de las lineas que se van ejecutando, reduciendo el tamaño y la velocidad de ejecución pero haciendo que el programa no se pueda debuguear.

a no ser que seas un desarrollador, es una flag recomendada.
gentoo sex is updatedb; locate; talk; date; cd; strip; look; touch; finger; unzip; uptime; gawk; head; emerge --oneshot condom; mount; fsck; gasp; more; yes; yes; yes; more; umount; emerge -C condom; make clean; sleep
Top
gringo
Advocate
Advocate
User avatar
Posts: 3793
Joined: Sun Apr 27, 2003 10:25 am

  • Quote

Post by gringo » Wed Sep 16, 2009 7:40 am

coño, asph, cuanto tiempo sin leerte por aqui ! :-)
hay alguna diferencia entre poner "-march=nocona -mssse3" y "-march=core2" ?
puedes comprobarlo tu mismo con algo como esto :

Code: Select all

echo 'int main(){return 0;}' > test.c && gcc -v -Q -march=core2 -O2   test.c -o test && rm test.c test
cambia core2 por nocona para ver las diferencias.

por lo del fomit-frame-pointer ya te conestó asph, realmente lo que se hace es liberar un registro lo que siempre es bueno si no se va a depurar código, pero una cosa de la que me acordé ahora mismo : no era que -fomit-frame-pointer en amd64 no valía para nada o algo asi ?

saluetes
Error: Failing not supported by current locale
Top
asph
l33t
l33t
User avatar
Posts: 741
Joined: Mon Aug 25, 2003 8:52 am
Location: Barcelona, Spain

  • Quote

Post by asph » Wed Sep 16, 2009 8:21 am

hola gringo! si la verdad es que llevaba tiempo usando freebsd y tenia la particion de gentoo un poco olvidada.. ahora hace unas semanas he vuelto a retomarla :)

lo que comentas del -fomit-frame-pointer, mas que nada la diferencia es que en 32bits el codigo generado es un poco mayor, mientras que en 64bits el codigo es mas pequeño (además de más rápido claro). también es cierto que en algunas arquitecturas no sirve de nada pero no se cuales son la verdad, supongo que vendra en el manual de gcc.

***edit***

On some machines, such as the VAX, this flag has no effect, because the standard calling sequence automatically handles the frame pointer and nothing is saved by pretending it doesn't exist. The machine-description macro FRAME_POINTER_REQUIRED controls whether a target machine supports this flag.

***edit***
gentoo sex is updatedb; locate; talk; date; cd; strip; look; touch; finger; unzip; uptime; gawk; head; emerge --oneshot condom; mount; fsck; gasp; more; yes; yes; yes; more; umount; emerge -C condom; make clean; sleep
Top
ESF
n00b
n00b
User avatar
Posts: 31
Joined: Fri Aug 18, 2006 11:08 am
Location: /proc/1077

  • Quote

Post by ESF » Wed Sep 16, 2009 10:13 am

]coño, asph, cuanto tiempo sin leerte por aqui ! :-)

puedes comprobarlo tu mismo con algo como esto :

Code: Select all

echo 'int main(){return 0;}' > test.c && gcc -v -Q -march=core2 -O2   test.c -o test && rm test.c test
cambia core2 por nocona para ver las diferencias.
Lo he probado, ambos ocupan lo mismo. Pero la salida de md5sum es distinta y un diff revela que no son identicos.

Ahora bien: Una explicación un poco didáctica o link a dondequiera que se expliquen las diferencias?

Gracias de antemano
Top
gringo
Advocate
Advocate
User avatar
Posts: 3793
Joined: Sun Apr 27, 2003 10:25 am

  • Quote

Post by gringo » Wed Sep 16, 2009 10:30 am

si la verdad es que llevaba tiempo usando freebsd y tenia la particion de gentoo un poco olvidada
yo tb. he vuelto a fbsd hace algún tiempo pero gentoo lo echo de menos de vez en cuando, como suele decirse : "once gentoo, always gentoo" :-P
también es cierto que en algunas arquitecturas no sirve de nada pero no se cuales son la verdad, supongo que vendra en el manual de gcc.
si, yo lo leí en el manual en algún lao ( o eso creo), pero ahora mismo no lo encuentro ...
Una explicación un poco didáctica o link a dondequiera que se expliquen las diferencias?
no me atrevería a dar una explicación porque queda mas allá de mis conocimientos cuál es la diferencia técnica entre usar nocona y core2.
Una rápida búsqueda en google me saca la propuesta inicial para implementar core2 en la que se habla un poco de las microoptimizaciones y cosas de estas :

http://gcc.gnu.org/ml/gcc-patches/2006-11/msg00860.html

pero para ver las diferencias exactas en versiones actuales imagino que habrá que acudir al código.

De cualquier manera, si no tienes intención de usar distcc, simplemente usa -march=native con el nivel de optimización -O2, verás que versiones modernas del compilador gcc detectan automáticamente el tamaño de las cachés de tu procesador p.ej.

saluetes
Error: Failing not supported by current locale
Top
luispa
Guru
Guru
Posts: 359
Joined: Fri Mar 17, 2006 10:46 pm
Location: España

  • Quote

Post by luispa » Mon Sep 28, 2009 7:47 pm

Ahí va mi make.conf para el Core i7. Por cierto, vas a ver volar al ordenador :-), es impresionante. Te recomiendo instalarte gkrellm2 para ver a las 8 cpus a tope gráficamente cuando compiles.

* Este es el que uso yo. Importante: válido desde >= GCC 4.3.3

Code: Select all

$ cat /etc/make.conf
# Configuración para Nehalem Intel core i7
CFLAGS="-O2 -pipe -march=native"
CHOST="x86_64-pc-linux-gnu" 
CXXFLAGS="${CFLAGS}" 
MAKEOPTS="-j9"
* Si tienes GCC inferior, entonces usa lo siguiente, y en cuanto puedas actualiza a GCC >= 4.3.3, cambia el make.conf y recompila todo de nuevo (hay varias guías por ahí al respecto).

Code: Select all

# Configuracion valida para el Core i7  con GCC < 4.3.3 (aunque no es la optima)
# del manual, nocona: Improved version of Intel Pentium4 CPU with 64-bit extensions, MMX, SSE, SSE2 and SSE3 instruction set support.
CFLAGS="-O2 -pipe -march=nocona"    
CHOST="x86_64-pc-linux-gnu" 
CXXFLAGS="${CFLAGS}" 
MAKEOPTS="-j9"

Aquí tienes el manual que usé en su día.

Luis
Top
ESF
n00b
n00b
User avatar
Posts: 31
Joined: Fri Aug 18, 2006 11:08 am
Location: /proc/1077

  • Quote

Post by ESF » Mon Sep 28, 2009 9:42 pm

Hay alguna manera de que gcc te diga que flags de compilación va a usar cuando tu le dices que el -mtune te lo ponga en "native" ?

Sería bueno saberlo, para posterior compatibilidad de binarios con sistemas superiores.

(De momento he utilizado las flags que en gentoo-wiki dicen ser seguras)
Top
luispa
Guru
Guru
Posts: 359
Joined: Fri Mar 17, 2006 10:46 pm
Location: España

  • Quote

Post by luispa » Tue Sep 29, 2009 2:10 pm

ESF wrote:Hay alguna manera de que gcc te diga que flags de compilación va a usar cuando tu le dices que el -mtune te lo ponga en "native" ?

Sería bueno saberlo, para posterior compatibilidad de binarios con sistemas superiores.

(De momento he utilizado las flags que en gentoo-wiki dicen ser seguras)
supongo que te refieres a querer compilar en tu equipo hoy y poder usar esos binarios en otro hardware, verdad?.

la verdad es que no lo se, quizá haya alguna opción, no he tenido la necesidad,

Luis
Top
ESF
n00b
n00b
User avatar
Posts: 31
Joined: Fri Aug 18, 2006 11:08 am
Location: /proc/1077

  • Quote

Post by ESF » Wed Sep 30, 2009 2:50 pm

Sí bueno. Es una utilidad, pero casi era un interes más didáctico que práctico.
Si gcc sabe escoger flags de optimización por sí mismo y de manera segura, estaría bien saber cuales son, para no tener que ir haciendo una recopilación gigante de casos de gente que ha creído que sus flags eran óptimos.

No pongo en duda la credibilidad de nadie, de hecho soy el último mono de la cadena: sólo pongo lo que la mayoría pone.

Pero ahí la curiosidad del sysadmin...

Un saludo.
Top
Post Reply
  • Print view

12 posts • Page 1 of 1

Return to “Spanish”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic