Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Your CXXFLAGS ... can break packages
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3369
Location: de

PostPosted: Wed Jan 21, 2009 8:27 pm    Post subject: Your CXXFLAGS ... can break packages Reply with quote

Hallo,

zur Zeit setz ich einen neuen Rechner auf. Und nach langem langem und ewigen Lesen hab ich mich dazu entschlossen, ffast-math in die CFLAGS mit reinzunehmen - einfach mal zum Testen. Jetzt krieg ich bei jedem Compilieren die Meldung:
emerge irgendwas wrote:
Your CFLAGS contains "-ffast-math" which can break packages.
Your CXXFLAGS contains "-ffast-math" which can break packages.


Tja, dass das experimentell ist, weiß ich selbst. Aber langsam und noch sicherer nervt mich die Meldung, weil die sogar bei virtuellen Paketen (z.b. virtual/jre...) kommt. Wie kann ich das abstellen (außer -ffast-math aus den CFLAGS rausnehmen)?
Back to top
View user's profile Send private message
doedel
Guru
Guru


Joined: 05 Feb 2006
Posts: 579
Location: Denmark

PostPosted: Wed Jan 21, 2009 10:03 pm    Post subject: Reply with quote

Ich weiss, das ist jetzt doch ein bisschen OT und mit Sicherheit nicht das, was du gefragt hast, aber das will ich noch kurz loswerden.
Verwende -ffast-math nur auf Testsystemen! Es kann nicht nur Pakete abschiessen, es wird Pakete abschiessen!
Ich habe mal eine Zeit lang mit allen möglichen optimierungen herumgespielt, als ich angefangen habe mehr über Compiler herauszufinden. Mit -ffast-math bekam ich dauernd segfaults und als ich den gcc versucht habe damit zu compilieren ging das erst gar nicht bis zum Ende durch.

Quote:
-ffast-math
Sets -fno-math-errno, -funsafe-math-optimizations,
-fno-trapping-math, -ffinite-math-only, -fno-rounding-math, -fno-signaling-nans and fcx-limited-range.

This option causes the preprocessor macro __FAST_MATH__ to be defined.

This option should never be turned on by any -O option since it can result in incorrect output for programs which depend on an exact implementation of IEEE or ISO rules/specifications for math functions.

(Quelle: http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/Optimize-Options.html )

Es heisst ja schon immer dass -O3 sehr Fehleranfälligen Code Produziert, aber das ist lange nichts im Vergleich zu -ffast-math.
Wie gesagt, ich würde es echt nur auf Testsystemen versuchen!
_________________
1 ha == 1 Hekto-Ar == 1 Hektar
Back to top
View user's profile Send private message
misterjack
Veteran
Veteran


Joined: 03 Oct 2004
Posts: 1657

PostPosted: Wed Jan 21, 2009 10:36 pm    Post subject: Reply with quote

Da gilt für Intel-Prozessoren. Bei AMD kann man -ffast-math problemlos verwenden. https://forums.gentoo.org/viewtopic-p-4383821.html#4383821 - hab mich da eines besseren belehren lassen und habe UTgamers Flags mittlerweile selber problemlos am laufen.

Die Hinweismeldung seitens Portage habe ich aber nicht.
_________________
„Meine Meinung steht fest! Bitte verwirren Sie mich nicht mit Tatsachen.“
Back to top
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3369
Location: de

PostPosted: Thu Jan 22, 2009 8:51 am    Post subject: Reply with quote

Genau das war auch der Grund, warum ich ffast-math reingenommen hab. Scheinbar hat UTGamer da schon bei Einigen erfolgreiche Missionierungsarbeit geleistet.

Was ich bisher noch nicht von seinen Flags übernommen hab, sind mfpmath=sse,387 und m64. Aber gut, das sind dann wahrscheinlich eher Philosophiefragen.

Doedel: sqlite baut nicht mit ffast-math. Das war bisher das einzige Paket.

Außerdem soll das System sowieso auf Performance getrieben werden, auch wenn das vielleicht dämlich klingt. Bisherige Ansätze dafür sind:

  • Unnötige Daemons rauslassen (z.B. HAL)
  • Dateisystem für Root: Reiser4 mit diversen Optimierungsplugins.
  • SquashFS für Portage
  • CCache nur für große Pakete (amarok, gcc, glibc, gtk+, imagemagick, kdelibs, openoffice, php qt, seamonkey, xulrunner,...)
  • Compilieren hauptsächlich über tmpfs, um die Fragmentierung des Dateisystems zu vermeiden (Ja, auch oder besonders Reiser4 fragmentiert gerne nach einiger Zeit)
  • Wenn alles installiert ist, kommt noch ein Prelinking hinzu


Und damit bleibt halt noch immer die nervige Warnmeldung.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6780

PostPosted: Thu Jan 22, 2009 10:25 am    Post subject: Reply with quote

In der Tat ist -ffast-math bei weitem nicht so schlimm wie sein Ruf (auch auf x86 nicht) und erhöht die Geschwindigkeit oft dramatisch (ganz im Gegensatz zu -mfpmath=sse,387, das Berechnungen nicht nur ungenauer sondern auch häufig langsamer macht). Wofür man es nicht benutzen sollte:
-ffast-math böse wrote:
sci-libs/*
sci-mathematics/*

app-office/openoffice
dev-db/sqlite
dev-lang/python
media-libs/plotutils
sci-visualization/gnuplot
sys-apps/paludis
sys-devel/gdb
sys-devel/m4
Back to top
View user's profile Send private message
misterjack
Veteran
Veteran


Joined: 03 Oct 2004
Posts: 1657

PostPosted: Thu Jan 22, 2009 10:32 am    Post subject: Reply with quote

-ffast-math böse wrote:
app-office/openoffice
dev-lang/python


Da ich die zweie installiert habe, warum soll man sie nicht mit -ffast-math kompilieren? Gibt hier keine Probleme mit den Paketen.
_________________
„Meine Meinung steht fest! Bitte verwirren Sie mich nicht mit Tatsachen.“
Back to top
View user's profile Send private message
schachti
Advocate
Advocate


Joined: 28 Jul 2003
Posts: 3765
Location: Gifhorn, Germany

PostPosted: Thu Jan 22, 2009 10:39 am    Post subject: Reply with quote

misterjack wrote:
Bei AMD kann man -ffast-math problemlos verwenden.


Ich habe mich jetzt nicht durch 9 Seiten Thread gewühlt, meine mich aber zu erinnern, dass das nur für 64-Bit-Systeme gilt?
_________________
Never argue with an idiot. He brings you down to his level, then beats you with experience.

How-To: Daten verschlüsselt auf DVD speichern.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6780

PostPosted: Thu Jan 22, 2009 10:42 am    Post subject: Reply with quote

misterjack wrote:
-ffast-math böse wrote:
app-office/openoffice
dev-lang/python


Da ich die zweie installiert habe, warum soll man sie nicht mit -ffast-math kompilieren? Gibt hier keine Probleme mit den Paketen.

Das weiß ich leider nicht mehr - die Liste habe ich meinem package.cflags-File entnommen, in das ich nur Einträge mache, wenn es einmal Ärger aufgrund der cflags gab oder zu erwarten war. Es kann aber auch sein, dass das nur für frühere Versionen der Pakete galt.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6780

PostPosted: Thu Jan 22, 2009 10:47 am    Post subject: Reply with quote

schachti wrote:
misterjack wrote:
Bei AMD kann man -ffast-math problemlos verwenden.

Ich habe mich jetzt nicht durch 9 Seiten Thread gewühlt, meine mich aber zu erinnern, dass das nur für 64-Bit-Systeme gilt?

Ich habe den Thread jetzt auch nicht durchgelesen, aber ich wüsste nicht, was -ffast-math mit 64-Bit oder 32-Bit zu tun hat: Hauptsächlich geht es bei -ffast-math darum, dass automatisch mathematische Formeln anders geklammert werden (was aufgrund von Rundungsfehlern z.B. ein anderes Ergebnis liefern kann) und dass nicht alle Exceptions (Division durch 0, Wurzel negativer Zahl usw) auf die per Sprachstandard definierte Weise behandelt werden.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) 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