Toon posts:

Hoe lang zou een supercomputer hier over doen.

Pagina: 1
Acties:
  • 122 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik ben bezig met een opdracht voor school, met Entropie, specifiek met extreem grote getallen (in de orde van 10^10^23). Nou heb je zoiets moois als de Stirling benadering, dat is een mathematische benadering om grote faculteiten uit te rekenen.

Nou wil ik graag weten hoe lang het duurt, met een supercomputer ofzo, voordat de berekening zelf is uitgevoerd. De Nec earth-simulator supercomputer heeft een rekenkracht van 35 teraflops (van de top-500 supercomputers boven aan)

De berekening die ik bijvoorbeeld zou willen uitrekenen is:
(3.84E24*3*6.02E23)!/(3.84E24!)*(6.02E23!)

Wat mijn probleem voornamelijk is, is dat ik niets met die Flops kan, ik weet niet hoeveel flops er in een berekening gaan zitten, zeker niet in relatie tot faculteiten berekenen. Ik weet niet of iemand mij aan de exacte getallen kan helpen, dat hoeft ook niet, als iemand me maar opweg kan helpen met faculteiten en de supercomputers.

Het wordt in ieder geval een getal dat uit 10^23 cijfers bestaat, dus zowiezo zal het geheugen een drama worden).

Alvast bedankt.

[ Voor 6% gewijzigd door Verwijderd op 06-11-2003 12:48 ]


  • Rey Nemaattori
  • Registratie: November 2001
  • Laatst online: 04-11-2025
Verwijderd schreef op 06 november 2003 @ 11:44:
Ik ben bezig met een opdracht voor school, met Entropie, specifiek met extreem grote getallen (in de orde van 10^10^23). Nou heb je zoiets moois als de Stirling benadering, dat is een mathematische benadering om grote faculteiten uit te rekenen.

Nou wil ik graag weten hoe lang het duurt, met een supercomputer ofzo, voordat de berekening zelf is uitgevoerd. De Nec earth-simulator supercomputer heeft een rekenkracht van 35 teraflops (van de top-500 supercomputers boven aan)

De berekening die ik bijvoorbeeld zou willen uitrekenen is:
(3.84E24*3*6.02E23)!/(3.84E24!)*(6.02E23!)

Wat mijn probleem voornamelijk is, is dat ik niets met die Flops kan, ik weet niet hoeveel flops er in een berekening gaan zitten, zeker niet in relatie tot faculteiten berekenen. Ik weet niet of iemand mij aan de exacte getallen kan helpen, dat hoeft ook niet, als iemand me maar opweg kan helpen met faculteiten en de supercomputers.

Het wordt in ieder geval een getal dat uit 10^23 cijfers bestaat, dus zowiezo zal het geheugen een drama worden).

Alvast bedankt.
Een p4 2,4 ghz doe al heel lang over de eerste faculteit :P
99.999! duurt hier ong 5 minuten maar het antwoord mag er wezen:
2,8242294079603478742934215780245E456568

Ik denk dat een goede supercomputer er enkele enkele minuten over doet.

[ Voor 7% gewijzigd door Rey Nemaattori op 06-11-2003 13:17 ]

Speks:The Hexagon Iks Twee Servertje

"When everything is allright,there is nothing left."Rey_Nemaattori


  • zeikstraal
  • Registratie: April 2000
  • Laatst online: 13-12-2025
Rey Nemaattori schreef op 06 november 2003 @ 13:13:
Een p4 2,4 ghz doe al heel lang over de eerste faculteit :P
99.999! duurt hier ong 5 minuten maar het antwoord mag er wezen:
2,8242294079603478742934215780245E456568

Ik denk dat een goede supercomputer er enkele enkele minuten over doet.
He maf, Op mijn celeron 1300 met mathematica 5 ben ik in 2 tellen klaar :?
Mooi scherm vol getalletjes krijg je er trouwens van.

Quidquid id est, timeo puellas, et oscula dantes


Verwijderd

Topicstarter
Waarschijnlijk past het programma Mathematica dus ook een truc toe om het te benaderen.

Maar kan iemand mij een hint geven hoe ik zo'n berekening zou kunnen beginnen mbt flops en faculteit. Wat is nou precies 1 flop.

  • Opi
  • Registratie: Maart 2002
  • Niet online

Opi

Via google gevonden:
It's not flop, it's flops. Flops stands for "FLoating-point Operations
Per Second," and we don't use "flop."

A computer has different ways of representing numbers internally.
Integers are the easiest, but they have to be whole numbers between
-32,768 and 32,767. Integers multiply and divide quickly. "Floating
point" numbers are the opposite. They're numbers that can have a
decimal point as part of them, and a power of ten, which is the way
the computer can tell 75.0 from 0.075 or 750,000,000.

Flops are a measure of computer speed. A "1 flops" computer can
perform one multiplication of floating point numbers in a second.

A modern computer can multiply billions of floating point numbers in
one second. Each billion multiplications in a second is a "gigaflops."
A thousand billion multiplications per second is a "teraflops," and I
think the biggest of today's computers can do that.

  • naitsoezn
  • Registratie: December 2002
  • Niet online

naitsoezn

Nait Soez'n!

FLOP (FLoating point OPeration)
Beschrijft een enkelvoudige bewerkingen van een Floating Point getal in een CPU of FPU. Een manier voor het bepalen van de snelheid van een FPU of CPU kan uitgedrukt worden in FLOPs, het aantal FLOP's per seconde.

Je zult dus moeten kijken hoeveel floating point operaties er nodig zijn om jou berekening uit te voeren, om vervolgens uit te rekenen hoe lang het duurt op de desbetreffende supercomputer

't Het nog nooit, nog nooit zo donker west, of 't wer altied wel weer licht


  • Salvatron
  • Registratie: April 2003
  • Niet online

Salvatron

Dispereert niet

Een gewone PC zit denk ik op enkele gigaflops rekenkracht, maar ik kan er naast zitten. Een supercomputer op bijv. 10 teraflops. (wat niet zo vreemd is omdat sommige supercomputers uit beowulf-clusters bestaan en die bestaan uit bijv. 2000 nodes). Dus als je weet hoe lang het gaat op een pc, dan kun je misschien een schatting doen van hoe lang het duurt op een supercomputer.

Lucht en leegte, zegt Prediker, alles is leegte.


  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Het getal in de teller is van orde 1048. Dat getal zou dus uiteindelijk tenminste een 1 met 48 nullen groot worden. Alle RAM op de wereld samen is niet voldoende om dat getal met volledige nauwkeurigheid op te slaan.

Wie trösten wir uns, die Mörder aller Mörder?


Verwijderd

Nu zou je op zich de hele teller nooit in je geheugen hoeven te hebben, door om en om een term uit noemer en teller tegen elkaar weg te delen.

Alleen de complete uitkomst van de hele som is zelfs zo'n 1051 bits groot. Dat is ruim 1039 Terabyte.. dus ik denk inderdaad niet dat het gaat lukken, ongeacht hoeveel flops je compu heeft :)

Hoe kwam je eigenlijk op die 1023 cijfers? Volgens mij zou het ruim 1050 (decimale) digits moeten zijn namelijk..?

[ Voor 18% gewijzigd door Verwijderd op 07-11-2003 13:50 ]


  • Rey Nemaattori
  • Registratie: November 2001
  • Laatst online: 04-11-2025
Verwijderd schreef op 07 november 2003 @ 13:47:
Nu zou je op zich de hele teller nooit in je geheugen hoeven te hebben, door om en om een term uit noemer en teller tegen elkaar weg te delen.

Alleen de complete uitkomst van de hele som is zelfs zo'n 1051 bits groot. Dat is ruim 1039 Terabyte.. dus ik denk inderdaad niet dat het gaat lukken, ongeacht hoeveel flops je compu heeft :)

Hoe kwam je eigenlijk op die 1023 cijfers? Volgens mij zou het ruim 1050 (decimale) digits moeten zijn namelijk..?
1050 neemt lang niet zoveel geheugen in beslag.. anderz zou het verminigvuldigen van zo'n getal met een gemiddelde geheugenbandbreedte van enkele gbits/s jaren zo niet decennia duren. Floating points zij ner niet voor niets:
ze bestaan uit een basisgetal(bijv 2,8653763) en een macht(30) dat neemt hoogstens 16 byte in het geheugen als quadword. vermenigvuldigen gaat simpel: getal met 2 verminugvuldigen en als er een getal hoger dan 9,9999999 uitkomt een shift naar links toe passen en de m8 met 1 verhogen. dat zijn idd tientallen rekenkundige bewerkingen, maar zeker niet zoveel als het getal per 32bits wegschrijven naar het geheugen en vervulgens vermenigvuldigen...

Speks:The Hexagon Iks Twee Servertje

"When everything is allright,there is nothing left."Rey_Nemaattori


  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Rey Nemaattori schreef op 07 november 2003 @ 19:20:
Floating points zij ner niet voor niets:
ze bestaan uit een basisgetal(bijv 2,8653763) en een macht(30) dat neemt hoogstens 16 byte in het geheugen als quadword. vermenigvuldigen gaat simpel: getal met 2 verminugvuldigen en als er een getal hoger dan 9,9999999 uitkomt een shift naar links toe passen en de m8 met 1 verhogen. dat zijn idd tientallen rekenkundige bewerkingen, maar zeker niet zoveel als het getal per 32bits wegschrijven naar het geheugen en vervulgens vermenigvuldigen...
Rey, een quadword heeft een eindige nauwkeurigheid. De topicstarter wil het antwoord met oneindige nauwkeurigheid.

Wie trösten wir uns, die Mörder aller Mörder?


Verwijderd

Rey Nemaattori schreef op 07 november 2003 @ 19:20:
1050 neemt lang niet zoveel geheugen in beslag.. anderz zou het verminigvuldigen van zo'n getal met een gemiddelde geheugenbandbreedte van enkele gbits/s jaren zo niet decennia duren. Floating points zij ner niet voor niets:
Ik weet wel hoe IEEE floating points werken, maar dat is hier niet echt van toepassing. Het ging niet om een getal ter grootte van 1050, maar van een getal met zo'n 1050 digits. Da's ff wat anders :)

  • Rey Nemaattori
  • Registratie: November 2001
  • Laatst online: 04-11-2025
Confusion schreef op 07 november 2003 @ 19:45:
[...]

Rey, een quadword heeft een eindige nauwkeurigheid. De topicstarter wil het antwoord met oneindige nauwkeurigheid.
Maar ja in zo'n geval zou zelfs 1 / 3 al zware problemen opleveren 8)7
Verwijderd schreef op 08 november 2003 @ 02:24:
[...]

Ik weet wel hoe IEEE floating points werken, maar dat is hier niet echt van toepassing. Het ging niet om een getal ter grootte van 1050, maar van een getal met zo'n 1050 digits. Da's ff wat anders :)
Denk je echt dat je als je twee getallen met een macht van 50 optelt de pc daadwerkelijk dit hele getal in je geheugen keilt?(dat zou, zelfs met 6 tot 7gbit/s geheugebandbreedte) jaaaren duren, zeker omdat het binaire stelsel zo veel karacters nodig heeft om zo'n grootgetal neer te zetten

Speks:The Hexagon Iks Twee Servertje

"When everything is allright,there is nothing left."Rey_Nemaattori


  • Brent
  • Registratie: September 2001
  • Laatst online: 23:25
zeikstraal schreef op 06 november 2003 @ 13:25:
[...]

He maf, Op mijn celeron 1300 met mathematica 5 ben ik in 2 tellen klaar :?
Mooi scherm vol getalletjes krijg je er trouwens van.
Jouw Celeron heeft een Tualatin-core en die is heel goed in dit soort rekenwerk (veel beter dan de P4).

Humanist | Kernpower! | Determinist | Verken uw geest | Politiek dakloos


  • Lord Daemon
  • Registratie: Februari 2000
  • Laatst online: 08-01 13:31

Lord Daemon

Die Seele die liebt

Is het idee om statistische mechanische berekeningen deeltjesgewijs te gaan uitvoeren? Dat is natuurlijk volstrekte waanzin, en het feit dat dat niet kan was nu precies de reden dat er een statistische mechanica is ontworpen.

Welch Schauspiel! Aber ach! ein Schauspiel nur!
Wo fass ich dich, unendliche Natur?


  • Rey Nemaattori
  • Registratie: November 2001
  • Laatst online: 04-11-2025
Breepee schreef op 08 november 2003 @ 11:39:
[...]

Jouw Celeron heeft een Tualatin-core en die is heel goed in dit soort rekenwerk (veel beter dan de P4).
Ik mag aan nemen dat dit rekenkundigesnelheidsverschil niet 5 minuten P4 werk veranderd in 2 sec Tutalin arbeied...

Speks:The Hexagon Iks Twee Servertje

"When everything is allright,there is nothing left."Rey_Nemaattori


Verwijderd

De snelheid van een PC wordt meestal uitgedrukt in flops, tenminste dit is een gedeelte van de snelheid. Vroeger konden CPU's helemaal geen floating point instructies aan, later kreeg je daarvoor de co-processor en tegenwoordig zijn ze samen een.

De kracht van de vroege 3d games (denk aan Wolfenstein, Doom ed) was dat de programmeurs heel lang en hard hadden nagedacht om de ingewikkelde floating point operaties die je nodig hebt bij bijvoorbeeld ray-tracing (wat al die oude games gebruikte) efficient om te zetten in integer instructies. Als je dat eenmaal voor elkaar hebt dan kun je zelfs op de trage computers van toen toch een behoorlijke framerate krijgen.

Het is wel mogelijk om met computers een ingewikkelde berekening te doen waarvan het antwoord niet in het geheugen van een PC past, denk bijvoorbeeld aan de berekening van Pi die inmiddels al heel erg ver gevorderd is.

Wat je moet doen is voor deze berekening een programma schrijven, dat programma bevat dan een aantal instructies en aan de hand van die instructies (in de datasheet is terug te vinden hoe lang de instructies duren, daarnaast moet je rekening houden met in-cpu optimalisaties en parallele bewerkingen) kun je dan bekijken hoe lang 1 cycle zou duren en hoeveel cycles er voor nodig zijn om tot het antwoord te komen.

Je begrijpt dus dat het heel lastig om zoiets te bepalen.
Pagina: 1