Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

Reproduzierbarkeit von Fließkommaberechnungen

Diskussion: Reproduzierbarkeit von Fließkommaberechnungen im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Ich beschäftige mich im Moment ein wenig mit der Reproduzierbarkeit von Fließkommaberechnungen unter C++. Diese Berechnungen beinhalten auch Zufallszahlen, ...

Like Tree2Likes
  • 2 Post By CDW

Antwort
Alt 08.08.11, 22:01   #1 (permalink)
 
Registriert seit: 06.06.09
Thunderb0lt Leistung: 8086
Likes: 6
Standard Reproduzierbarkeit von Fließkommaberechnungen

Anzeige

Ich beschäftige mich im Moment ein wenig mit der Reproduzierbarkeit von Fließkommaberechnungen unter C++. Diese Berechnungen beinhalten auch Zufallszahlen, was aber wohl das kleinere Problem darstellen sollte. Soweit ich das bisher in Erfahrung gebracht habe gibt es eine ganze Reihe von Faktoren, die die tatsächliche Reproduzierbarkeit solcher Berechnungen beeinflussen können.

  • Random Seed
  • FPU
  • Implementierungsdetails von IEEE754
  • Implementierung der cstdlib/libm
  • Kompiler(flags)
  • Approximierung von Denormalen durch SSE
Ich finde dazu zwar eine Menge Material im Internet, aber leider nicht wirklich zitierfähiges Material. Kennt vielleicht jemand von euch ein Buch oder ähnliches zu diesem Thema?
__________________
A good programmer looks both ways before crossing a one-way street.

Die Politik kann uns nur für so dumm verkaufen, wie wir sind.
Thunderb0lt ist offline   Mit Zitat antworten
Alt 08.08.11, 22:21   #2 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 202
Standard

Sowas?
What Every Computer Scientist Should Know About Floating-Point Arithmetic
geht zumindest auf die zahlreichen Fallstricke ein, die man beim "direkten" Umgang mit Floats machen kann.
enkore and Thunderb0lt like this.
__________________
Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf!
Selig, wer nichts zu sagen hat und trotzdem schweigt.
CDW ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 09.08.11, 13:52   #3 (permalink)
Themenstarter
 
Registriert seit: 06.06.09
Thunderb0lt Leistung: 8086
Likes: 6
Standard

Ja, so in diese Richtung. Die Ergänzung zu diesem Artikel (Differences Among IEEE 754 Implementations) beschäftigt sich ja mit dem Problem unterschiedlicher IEEE Implementierungen. Das Paper selbst hatte ich schon gefunden, aber da wird so wie ich das sehe auf dieses Problem leider nicht näher eingegangen.

Reproduzierbarkeit ist vielleicht auch ein missverständlicher Begriff, aber Portierbarkeit trifft es auch nicht so wirklich.
__________________
A good programmer looks both ways before crossing a one-way street.

Die Politik kann uns nur für so dumm verkaufen, wie wir sind.
Thunderb0lt ist offline   Mit Zitat antworten
Alt 09.08.11, 14:02   #4 (permalink)
Member of Honour
 
Benutzerbild von +++ATH0
 
Registriert seit: 02.04.05
+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3
Likes: 76
Standard

Zitat:
Zitat von Thunderb0lt Beitrag anzeigen
Reproduzierbarkeit ist vielleicht auch ein missverständlicher Begriff, aber Portierbarkeit trifft es auch nicht so wirklich.
Kompatibilität?
+++ATH0 ist offline   Mit Zitat antworten
Alt 09.08.11, 16:15   #5 (permalink)
Themenstarter
 
Registriert seit: 06.06.09
Thunderb0lt Leistung: 8086
Likes: 6
Standard

Nun, es geht um einen Algorithmus, bei dem es von wesentlicher Bedeutung ist, dass er auf Benutzerebene deterministisch ist. Wenn jetzt jedoch die verwendete Hardware oder Systembibliotheken, die nicht direkt mit der eingesetzten Software zusammenhängen, einen Einfluss auf das Ergebnis haben, dann ist dieser Determinismus nicht mehr gegeben.

Hier gibts z.B. eine Art Linksammlung zu dem Thema: Floating Point Determinism

Ich suche jetzt zunächst nach Quellen, die belegen, dass ein in C++ geschriebener Algorithmus auf Quelltextebene indeterministisch ist. Ich meine, dass das so ist ist mir ja eigentlich schon klar, aber ich brauche eben leider etwas zitierfähiges

Ich bin mir inzwischen aber auch nicht mehr so sicher, ob die hardwarspezifischen Unterschiede auch dann noch gelten, wenn es sich z.B. um zwei x86 Systeme handelt.

~EDIT~
Ich hab es noch nicht bis zum Ende gelesen, aber in diesem Paper wird zumindest schon mal auf die Probleme durch unterschiedliche Kompiler bzw. Kompileroptionen eingegangen: http://hal.archives-ouvertes.fr/docs...nt-article.pdf
__________________
A good programmer looks both ways before crossing a one-way street.

Die Politik kann uns nur für so dumm verkaufen, wie wir sind.

Geändert von Thunderb0lt (11.08.11 um 23:06 Uhr) Grund: Gefundenes Paper ergänzt
Thunderb0lt ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » Reproduzierbarkeit von Fließkommaberechnungen
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61