Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
CFLAGS, gcc i procesory - 2012
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Polskie forum (Polish)
View previous topic :: View next topic  
Author Message
Xywa
l33t
l33t


Joined: 23 Jul 2005
Posts: 821
Location: /mnt/Gentoo/

PostPosted: Tue May 01, 2012 9:11 am    Post subject: CFLAGS, gcc i procesory - 2012 Reply with quote

Witam,

Chciałbym odświeżyć stary wątek z 2009 roku:
http://forums.gentoo.org/viewtopic-t-801907-start-0.html

Sprawa dotyczy - jakie CFLAGS użyć aby w pełni wykorzystać nowy procesor.

Za godzine kurier przywiezie mi nowego lapka z prcesorem:
Intel® Core™i5 Dual Core Mobile Processor i5-2450M (2.50GHz) 3MB

Mam takie informacje podstawowe:

Safe Cflags
http://en.gentoo-wiki.com/wiki/Safe_Cflags

i tam jest link do Processor Specific CFLAGS - np. Intel:
http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel

Tam znalazłem rozdział Core i7 and Core i5, Xeon 55xx:
http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel#Core_i7_and_Core_i5.2C_Xeon_55xx

Czyli rozumiem że dla mojego laptopa powinienem użyć tego zestawu (gcc 4.5.3-r2)
64 bit profile (amd64) for GCC 4.3
Code:
CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -mtune=generic -O2 -pipe"
CXXFLAGS="${CFLAGS}


Czy jest jakaś możliwość używania w Gento gcc 4.6, bo w portage dostępny jest tylko jak na razie 4.5.3-r2:
http://packages.gentoo.org/package/sys-devel/gcc

Czy wtedy powinienem użyć:
64 bit profile (amd64) for GCC 4.6
Code:
CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=corei7 -O2 -pipe"
CXXFLAGS="${CFLAGS}"


I jeszcze jedno pytanie, czy ten procesor (Intel® Core™i5 Dual Core Mobile Processor i5-2450M (2.50GHz) 3MB) należy do grupy AMD64? W podręczniku instalacji jest tylko info Core 2 Duo & Quad processors are EM64T.
http://www.gentoo.org/doc/en/handbook/handbook-amd64.xml?part=1&chap=2
Back to top
View user's profile Send private message
sherszen
Apprentice
Apprentice


Joined: 28 Jul 2006
Posts: 210

PostPosted: Tue May 01, 2012 5:34 pm    Post subject: Reply with quote

Ja posiadam coś takiego:
Code:
 % cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 37
model name      : Intel(R) Core(TM) i5 CPU       M 450  @ 2.40GHz
stepping        : 5
microcode       : 0x2
cpu MHz         : 1199.000
cache size      : 3072 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt lahf_lm ida arat dts tpr_shadow vnmi flexpriority ept vpid
bogomips        : 4787.76
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:


Jednak nigdy się nie zastanawiałem nad dokładniejszą optymalizacją. Wydaje mi się, że gdybym nawet spróbował coś optymalizować, to i tak efekt nie byłby zbyt widoczny. Nie ten sprzęt, nie te czasy.
Code:

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CXXFLAGS="${CFLAGS}"
LDFLAGS="-Wl,--as-needed"


Polecam taką konfigurację - bezproblemowa. Co do LDFLAGS, nie trzeba tego dodawać, bo jest aktywna out of box. Taka pozostałość po starym konfigu.
Back to top
View user's profile Send private message
Jacekalex
Guru
Guru


Joined: 17 Sep 2009
Posts: 492

PostPosted: Wed May 02, 2012 2:08 am    Post subject: Reply with quote

Ja mam gcc-4.6.2 na amd64 i system działa eleganckko, tylko kilka rzeczy z overlaya kde-sunset wymagało starszego gcc.
Mam na myśli programy z kde3.
Wszystko śmiga całkiem przyzwoicie.
Code:
qlist -ICvUq sys-devel/gcc
sys-devel/gcc-4.5.3-r1 hardened mudflap multilib nptl openmp
sys-devel/gcc-4.6.2 cxx fortran go graphite gtk hardened mudflap multilib multislot nls nptl openmp
sys-devel/gcc-config-1.5-r2


Code:

gcc-config -l
.....
 [6] x86_64-pc-linux-gnu-4.6.2 *
.....


Pozdrawiam
8)
Back to top
View user's profile Send private message
SlashBeast
Moderator
Moderator


Joined: 23 May 2006
Posts: 2828

PostPosted: Wed May 02, 2012 9:20 am    Post subject: Reply with quote

@sherszen: as-needed jest juz w profilu portage od dawna, nie potrzebujsz takich LDFLAGS.

Ja z flag dal bym po prostu: '-march=native -mtune=generic -O2 -pipe -fno-var-tracking'

Ta ostatnia flaga pomaga na abusowanie ramu przez gcc, jest regresja (ponoc zalatana w 4.4 ale nie wyszlo najwyrazniej) ktora ma wyciek pamieci, np. przy kompilacji qemu-kvm gcc potrafilo zjesc 2G ramu i 2G swapa, z ta flaga w 1.5G ramu bez swapa sie qemu-kvm miesci. Podobnie z firefoksem.
_________________
BitBucket -- better-initramfs
Back to top
View user's profile Send private message
Garrappachc
Guru
Guru


Joined: 26 Dec 2008
Posts: 356
Location: Kraków

PostPosted: Wed May 02, 2012 12:16 pm    Post subject: Reply with quote

Ja polecam -flto, ale od gcc:4.7.
_________________
De profundis clamavi ad Te, Domine

emerge --info | virtual aviation
Back to top
View user's profile Send private message
Xywa
l33t
l33t


Joined: 23 Jul 2005
Posts: 821
Location: /mnt/Gentoo/

PostPosted: Thu May 31, 2012 7:28 am    Post subject: Reply with quote

Witam,

Dziś pojawiło się gcc 4.6.3 w portage a wraz z nim nowe możliwości.

Mam pytanie o opcję corei7 (bazuje na manualu gcc):
http://gcc.gnu.org/onlinedocs/gcc-4.7.0/gcc/i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Options

Czy mając procesor i5 mogę użyc opcji corei7?
Wg Gentoo Wiki tak, ale chciałem się upewnić:
http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel#Core_i7_and_Core_i5.2C_Xeon_55xx

Gentoo Wiki mówi tak:
Quote:
64 bit profile (amd64) for GCC 4.6

Code:
CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=corei7 -O2 -pipe"
CXXFLAGS="${CFLAGS}"


Mój procesor:
Code:
$ cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 42
model name      : Intel(R) Core(TM) i5-2450M CPU @ 2.50GHz
stepping        : 7
microcode       : 0x12
cpu MHz         : 2501.000
cache size      : 3072 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid
bogomips        : 4988.46
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 42
model name      : Intel(R) Core(TM) i5-2450M CPU @ 2.50GHz
stepping        : 7
microcode       : 0x12
cpu MHz         : 2501.000
cache size      : 3072 KB
physical id     : 0
siblings        : 2
core id         : 1                                                                                                                                     
cpu cores       : 2                                                                                                                                     
apicid          : 2                                                                                                                                     
initial apicid  : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid
bogomips        : 4988.46
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:
Back to top
View user's profile Send private message
Jacekalex
Guru
Guru


Joined: 17 Sep 2009
Posts: 492

PostPosted: Mon Jul 09, 2012 7:19 am    Post subject: Reply with quote

Garrappachc wrote:
Ja polecam -flto, ale od gcc:4.7.

W zwiazku z cytowanym poleceniem, i faktem zwolnienia (planowanego) partycji "laboratorium", mam kilka pytań:

System szybciej działa kompilowany z -flto?
Który linker lepiej wziąsć do flto:
Code:
/usr/x86_64-pc-linux-gnu/binutils-bin/2.21.1/ld.gold

czy standardowy:
Code:
/usr/x86_64-pc-linux-gnu/binutils-bin/2.22/ld

Sznurek http://wiki.gentoo.org/wiki/Gold

I jakie są szanse na skompilowanie Gnome-2.32 na gcc:4.7?

Pozdrawiam
8)
Back to top
View user's profile Send private message
Garrappachc
Guru
Guru


Joined: 26 Dec 2008
Posts: 356
Location: Kraków

PostPosted: Mon Jul 09, 2012 8:47 pm    Post subject: Reply with quote

Tzn póki co odradzam gcc 4.7. Pobawiłem się tym, ale nawet KDE 4.8 nie chciało wstać, więc z Gnomem byłbym tutaj tym bardziej ostrożny.
LTO jest dostępne już od gcc-4.5, ale dopiero od wersji 4.7 zużycie pamięci operacyjnej jest na tyle małe, że da się to to wykorzystać na domowych pecetach. Ponoć kompilacja firefoksa zajmuje tylko nieco ponad 4 GB.

LTO, przynajmniej w teorii, powinno rzeczywiście przyspieszyć system. Może nie zdziała cudów, ale różnica powinna być odczuwalna. Niestety, coś za coś - binarki skompilowane z lto są znacznie większe (nawet 5 razy), a sama kompilacja może trwać dwukrotnie dłużej.
_________________
De profundis clamavi ad Te, Domine

emerge --info | virtual aviation
Back to top
View user's profile Send private message
Jacekalex
Guru
Guru


Joined: 17 Sep 2009
Posts: 492

PostPosted: Mon Jul 09, 2012 9:46 pm    Post subject: Reply with quote

Zobaczę w "laboratorium", przebuduję stage, i sprawdzę, ile zajmują poszczególne programy.
Potem, jak to będzie miało sens oczywiście, to powolutku Xorga, potem Gnome lub Xfce, i może urodzi się z tego jakiś system ;)

Podobno większość problemów z kompilacją z LTO rozwiązuje linker ld.gold, także od niego zacznę.

Pozdrawiam
8)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Polskie forum (Polish) 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