Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Dúvida sobre CFLAGs (AMD64)
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Portuguese
View previous topic :: View next topic  
Author Message
BaYGoN
Tux's lil' helper
Tux's lil' helper


Joined: 21 Sep 2004
Posts: 109
Location: Brasília - DF (Brasil)

PostPosted: Wed Mar 01, 2006 8:01 pm    Post subject: Dúvida sobre CFLAGs (AMD64) Reply with quote

Olá, pessoal.

Tenho Gentoo instalado num sistema com a configuração da minha assinatura, e gostaria de tirar uma dúvida sobre CFLAGs. Atualmente uso a seguinte: "-march=k8 -O2 -pipe -fomit-frame-pointer". Como meu processador possue instruções SSE3, eu gostaria de adicionar -msse3 às minhas CFLAGs. Gostaria de saber o que preciso fazer depois, para que meus programas possam fazer uso de SSE3 (ex: Xorg). Eu normalmente atualizo meu sistema rodando primeiro emerge --sync e depois emerge -uD world. Qual(is) comando(s) devo passar, para recompilar os programas que fazem uso de SSE3? Devo adicionar alguma USE flag, ex sse3? Não estou em casa agora, mas quando chegar posto meu emerge info, make.conf e qq outro que vcs precisarem.

Obrigado.
_________________
Linux User #433896
HP DV6-6190US / Linux 3.4.6-pf #1 SMP PREEMPT Fri Aug 10 13:19:26 BRT 2012 x86_64 Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz GenuineIntel GNU/Linux
"The destiny of every guru is to be a noob for eternity"
Back to top
View user's profile Send private message
MetalGod
Bodhisattva
Bodhisattva


Joined: 10 Mar 2003
Posts: 816
Location: Portugal

PostPosted: Thu Mar 02, 2006 12:09 am    Post subject: Reply with quote

deves usar

Code:
-march=k8 -O2 -pipe -msse3
o -fomit-frame-pointer ja está incluido no -O2 em amd64.

Se pretenderes recompilar com essas flags basta fazeres emerge -uDav world e conseguentemente etc-update (ou dispatch-conf) a USE flag sse3 nao existe logo nao precisas de adcionar as USE.
_________________
ex: Gentoo Linux Developer: amd64 media-optical sound gnome
ex: Portuguese Moderator
------------------------------------------------------------------------------
God Doesn't Play Dice
Back to top
View user's profile Send private message
BaYGoN
Tux's lil' helper
Tux's lil' helper


Joined: 21 Sep 2004
Posts: 109
Location: Brasília - DF (Brasil)

PostPosted: Fri Mar 03, 2006 1:48 pm    Post subject: Reply with quote

Obrigado, MetalGod.

Eu imaginei que seria emerge world o comando, mas eu tinha dúvidas se era só esse mesmo, e não quis arriscar. Eu uso esse comando regularmente, mas nunca havia alterado as CFLAGS depois da instalação.

Sobre o fomit-frame-pointer, eu vi no wiki que amd64 não precisa colocar mas não vi nenhuma explicação do porquê. E como nunca tive problemas, deixei assim mesmo. Chegando em casa vou alterar as flags. Só espero que não demore muito a recompilação. :D

[]'s
_________________
Linux User #433896
HP DV6-6190US / Linux 3.4.6-pf #1 SMP PREEMPT Fri Aug 10 13:19:26 BRT 2012 x86_64 Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz GenuineIntel GNU/Linux
"The destiny of every guru is to be a noob for eternity"
Back to top
View user's profile Send private message
MetalGod
Bodhisattva
Bodhisattva


Joined: 10 Mar 2003
Posts: 816
Location: Portugal

PostPosted: Fri Mar 03, 2006 1:55 pm    Post subject: Reply with quote

ja te expliquei porque nao vale a pena adicionar o -fomit-frame-pointer.
_________________
ex: Gentoo Linux Developer: amd64 media-optical sound gnome
ex: Portuguese Moderator
------------------------------------------------------------------------------
God Doesn't Play Dice
Back to top
View user's profile Send private message
BaYGoN
Tux's lil' helper
Tux's lil' helper


Joined: 21 Sep 2004
Posts: 109
Location: Brasília - DF (Brasil)

PostPosted: Fri Mar 03, 2006 7:41 pm    Post subject: Reply with quote

Sim. Eu entendi. Já que vou adicionar -msse3 aproveito para retirar -fomit-frame-pointer, já que é redundante.

Procurando um pouco mais no fórum e no wiki, achei alguns posts como o último deste tópico (https://forums.gentoo.org/viewtopic-t-439533.html), para um rebuild normal do sistema, eu deveria usar

Code:
emerge -uavDN system && emerge -uavDN world


Eu sei que system está incluído em world, mas o que vc acha deste comando?
É melhor? Pior? Não faz diferença alguma?
Eu quero que tudo que suporte sse3, seja recompilado para tirar vantagem destas instruções.

Obrigado.
_________________
Linux User #433896
HP DV6-6190US / Linux 3.4.6-pf #1 SMP PREEMPT Fri Aug 10 13:19:26 BRT 2012 x86_64 Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz GenuineIntel GNU/Linux
"The destiny of every guru is to be a noob for eternity"
Back to top
View user's profile Send private message
MetalGod
Bodhisattva
Bodhisattva


Joined: 10 Mar 2003
Posts: 816
Location: Portugal

PostPosted: Fri Mar 03, 2006 7:53 pm    Post subject: Reply with quote

eu uso emerge -euD world apenas pois o world contem o system
_________________
ex: Gentoo Linux Developer: amd64 media-optical sound gnome
ex: Portuguese Moderator
------------------------------------------------------------------------------
God Doesn't Play Dice
Back to top
View user's profile Send private message
S4M4R0N3
n00b
n00b


Joined: 21 Jun 2005
Posts: 37
Location: Brazil

PostPosted: Tue Mar 21, 2006 1:40 pm    Post subject: Reply with quote

Aproveitando a duvida aqui sobre SSE3 , queria saber:
Quote:

cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 44
model name : AMD Sempron(tm) Processor 3000+
stepping : 2
cpu MHz : 2208.764
cache size : 128 KB
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni lahf_lm
bogomips : 4422.24
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc


Estou usando a flag -msse3 , meu sistema foi contruido do stage 3 , mais sempre com essa flag no make.conf , queria saber se mesmo a instrucao não sendo reconhecida no /proc/cpuinfo eu estou tirando proveito dela ? Queria saber tb porque meu processador que contem a sse3 não foi reconhecido com tal flag , valeu

Code:
CFLAGS="-mtune=k8 -O2 -pipe -msse3"

_________________
Amd64 \o/
Back to top
View user's profile Send private message
MetalGod
Bodhisattva
Bodhisattva


Joined: 10 Mar 2003
Posts: 816
Location: Portugal

PostPosted: Tue Mar 21, 2006 10:09 pm    Post subject: Reply with quote

segundo isso nao tens sse3 (nem conheço semprons com sse3) logo nao vale a pena adicionar nem deves.
_________________
ex: Gentoo Linux Developer: amd64 media-optical sound gnome
ex: Portuguese Moderator
------------------------------------------------------------------------------
God Doesn't Play Dice
Back to top
View user's profile Send private message
S4M4R0N3
n00b
n00b


Joined: 21 Jun 2005
Posts: 37
Location: Brazil

PostPosted: Tue Mar 21, 2006 10:37 pm    Post subject: Reply with quote

MetalGod wrote:
segundo isso nao tens sse3 (nem conheço semprons com sse3) logo nao vale a pena adicionar nem deves.


Os semprons socket 754 baseados no nucleo Venice dos 939 , possuem as instruçoes sse3. O nucleo eh chamado de palermo revisão E6, o windows o reconhece perfeitamente , queria saber porque não é reconhecido aqui no linux , detalhe ele esta overclockado por isso esta com 2.2 mhz , a velocidade real eh de 1.8 :D Ate mais
_________________
Amd64 \o/
Back to top
View user's profile Send private message
MetalGod
Bodhisattva
Bodhisattva


Joined: 10 Mar 2003
Posts: 816
Location: Portugal

PostPosted: Wed Mar 22, 2006 2:14 am    Post subject: Reply with quote

pronto ja fiquei a saber mais qq coisa heheeh. Eu reconheço que nao sou grande entendido de hardware mas segundo o cpuinfo nao possues sse3.

Code:
darksystem muine # cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 7
model name      : AMD Athlon(tm) 64 Processor 3500+
stepping        : 10
cpu MHz         : 2211.371
cache size      : 512 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm 3dnowext 3dnow
bogomips        : 4425.55
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp



quais sao as opçoes que tens no kernel para o processador ?
_________________
ex: Gentoo Linux Developer: amd64 media-optical sound gnome
ex: Portuguese Moderator
------------------------------------------------------------------------------
God Doesn't Play Dice
Back to top
View user's profile Send private message
S4M4R0N3
n00b
n00b


Joined: 21 Jun 2005
Posts: 37
Location: Brazil

PostPosted: Wed Mar 22, 2006 5:21 am    Post subject: Reply with quote

Realmente o linux não está reconhecendo a flag, porém o windows sim, veja:
http://www.portalcatita.com/temp/sempron-sse3-809x607.jpg

E aqui esta o meu .config
Quote:

#
# Processor type and features
#
CONFIG_MK8=y
# CONFIG_MPSC is not set
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_L1_CACHE_BYTES=64
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_TSC=y
CONFIG_X86_GOOD_APIC=y
# CONFIG_MICROCODE is not set
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_MTRR=y
# CONFIG_SMP is not set
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_SPARSEMEM_STATIC is not set
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y
CONFIG_HPET_TIMER=y
CONFIG_X86_PM_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_GART_IOMMU=y
CONFIG_SWIOTLB=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
CONFIG_PHYSICAL_START=0x100000
# CONFIG_KEXEC is not set
CONFIG_SECCOMP=y
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_ISA_DMA_API=y


Se precisar de mais alguma informação pra fazer a analise so falar.

Ate mais
_________________
Amd64 \o/
Back to top
View user's profile Send private message
bbj
Retired Dev
Retired Dev


Joined: 24 Jan 2003
Posts: 36
Location: Brazil

PostPosted: Wed Mar 22, 2006 6:55 am    Post subject: Reply with quote

S4M4R0N3 wrote:
Aproveitando a duvida aqui sobre SSE3 , queria saber:
cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 44
model name : AMD Sempron(tm) Processor 3000+
stepping : 2
cpu MHz : 2208.764
cache size : 128 KB
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni lahf_lm
bogomips : 4422.24
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc


Repare que você possui a "flag" pni, que significa "prescott new instructions" (bastante comentado na lkml, cujo nome foi escolhido por motivos históricos). Esta é a indicação de que você possui suporte a sse3. Portanto, você pode utilizar o -msse3. Não sei se trará um aumento de performance significativo, mas se isso lhe faz sentir melhor, "manda bala".

Boa sorte.
Back to top
View user's profile Send private message
MetalGod
Bodhisattva
Bodhisattva


Joined: 10 Mar 2003
Posts: 816
Location: Portugal

PostPosted: Wed Mar 22, 2006 1:58 pm    Post subject: Reply with quote

bem ja estou a aprender qq coisa... realmente nao sabia disto. :cry:
_________________
ex: Gentoo Linux Developer: amd64 media-optical sound gnome
ex: Portuguese Moderator
------------------------------------------------------------------------------
God Doesn't Play Dice
Back to top
View user's profile Send private message
bbj
Retired Dev
Retired Dev


Joined: 24 Jan 2003
Posts: 36
Location: Brazil

PostPosted: Wed Mar 22, 2006 11:37 pm    Post subject: Reply with quote

Eu acabei me esquecendo de deixar um comentário sobre o SSE no manual do gcc. Eu acho o manual um pouco obscuro em certas partes, as quais me deixam em dúvida. O manual diz:
    For the i386 compiler, you need to use -march=cpu-type, -msse
    or -msse2 switches to enable SSE extensions and make this
    option effective. For the x86-64 compiler, these extensions
    are enabled by default.

    prescott
    Improved version of Intel Pentium4 CPU with MMX, SSE, SSE2 and
    SSE3 instruction set support.

    nocona
    Improved version of Intel Pentium4 CPU with 64-bit extensions,
    MMX, SSE, SSE2 and SSE3 instruction set support.


Eu interpretaria o seguinte: já que determinadas variantes possuem suporte a estas "flags", elas seriam habilitadas com o uso do -march=variante. No meu caso, tenho um P4 prescott, onde utilizo apenas:
Code:
CFLAGS="-march=prescott -O2 -pipe"


Acredito (mas não tenho certeza) que o SSE3 está embutida (-msse3) com o uso da variável acima. No caso do k8, opteron, athlon64 e athlon-fx, o manual não diz sobre SSE3, mas sabemos que há suporte em alguns hardwares (nesses casos, eu interpretaria que haveria a necessidade de se explicitar o -msse3).

De tudo isso, eu poderia dizer, por experiência e benchmarks, que a utilização do -march, ao invés do -mtune/-mcpu, traria um maior benefício ao desempenho do que a utilização isolada de alguma outra "flag", como -msse3.
Back to top
View user's profile Send private message
S4M4R0N3
n00b
n00b


Joined: 21 Jun 2005
Posts: 37
Location: Brazil

PostPosted: Thu Mar 23, 2006 5:47 am    Post subject: Reply with quote

Ola a todos,
Quote:
Repare que você possui a "flag" pni, que significa "prescott new instructions" (bastante comentado na lkml, cujo nome foi escolhido por motivos históricos). Esta é a indicação de que você possui suporte a sse3. Portanto, você pode utilizar o -msse3. Não sei se trará um aumento de performance significativo, mas se isso lhe faz sentir melhor, "manda bala".

Eu realmente me sinto bem de ter o sse3 , serve em muito para emulacao de plataformas
Sobre isto:
Eu uso
Code:
CFLAGS="-mtune=k8 -O2 -pipe -msse3"

http://gcc.gnu.org/onlinedocs/gcc-3.4.6/gcc/i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Options
Veja que lá esta especificado que:

Code:
k8, opteron, athlon64, athlon-fx
    AMD K8 core based CPUs with x86-64 instruction set support. (This supersets MMX, SSE, SSE2, 3dNOW!, enhanced 3dNOW! and 64-bit instruction set extensions.)


A flag k8 não possue a flag sse3 como padrão, penso eu, que seja para ter compatibilidade com processadores que não o possue como o 3500+ do amigo a cima. Ao contrario da flag prescott, que:

Code:
prescott
    Improved version of Intel Pentium4 CPU with MMX, SSE, SSE2 and SSE3 instruction set support.


Resumindo eu uso -msse3 por vi ali que a flag k8 por si so não possue a SSE3.

Agora referente a desempenho, gostaria de perguntar:
Pelo que eu entedi , para o melhor desempenho deveriamos usar -march=cpu-type , como ressaltou bbj o pois essa inclue a -mtune e a -mcpu.

Code:
-march=cpu-type
    Generate instructions for the machine type cpu-type. The choices for cpu-type are the same as for -mtune. Moreover, specifying -march=cpu-type implies -mtune=cpu-type.
-mcpu=cpu-type
    A deprecated synonym for -mtune.


bbj
Queria perguntar: Quais programas vc usa para fazer benchmarks no linux ?
E que motivos historicos são esses ?
Moro em Viçosa - Mg , bem pertim de mineiro =)
_________________
Amd64 \o/
Back to top
View user's profile Send private message
bbj
Retired Dev
Retired Dev


Joined: 24 Jan 2003
Posts: 36
Location: Brazil

PostPosted: Thu Mar 23, 2006 3:06 pm    Post subject: Reply with quote

S4M4R0N3 wrote:

bbj Queria perguntar: Quais programas vc usa para fazer benchmarks no linux ?

Eu uso o app-benchmarks/acovea.

S4M4R0N3 wrote:

E que motivos historicos são esses ?

Você pode ver aqui.

S4M4R0N3 wrote:
Moro em Viçosa - Mg , bem pertim de mineiro =)

Eu vejo bastante gente de Viçosa aqui na minha Universidade (UNIFEI, ex EFEI).
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portuguese 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