Supercomputer

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
Bill987654321
User
Beiträge: 136
Registriert: Sonntag 8. März 2020, 10:56

Hallo,

es gibt immer größere Supercomputer, die sehr viele Rechenoperationen (pro Sekunde) durchführen. Die Rechenoperationen, die sie durchführen müssen, müssen (von einem Menschen) programmiert werden. Jedoch dauert das Programmieren sehr viel länger, als die Rechenoperationen.

Ich frage mich, warum man Supercomputer überhaupt braucht? Es müsste doch Jahre dauern, Programme zu schreiben, die die gesamte Leistungsfähigkeit von Supercomputern benötigen.?

Wer kann mir hier weiterhelfen?

Gruß

Bill
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

Die Laufzeit eines Programms hat nichts damit zu tun, wie lange man benötigt hat, um es zu schreiben.
Schau dir mal an, wie man die Genauigkeit der Kreiszahl Pi errechnen kann. Je nach Variante ist der Code dafür wenige Zeilen lang und die Laufzeit für die unendliche Genauigkeit ist theoretisch unendlich.
nezzcarth
User
Beiträge: 1764
Registriert: Samstag 16. April 2011, 12:47

Ich würde sogar umgekehrt sagen, dass es meistens einfacher ist, ein Programm mit hoher Laufzeit zu schreiben, als eines mit geringerer (gerade auch für Einsteiger). Naive Ansätze, die schnell implementiert sind, brauchen oft länger, effiziente Ansätze können mehr Vorwissen erfordern oder aufwendiger zu implementieren sein. Der Sinn an Programmiersprachen ist ja außerdem gerade, dass man eben nicht jede tatsächlich ausgeführte Operation hinschreiben muss, sondern man diverse Abstraktionen hat, die das vereinfachen. Und wenn man etwa eine 20gb XML Datei verarbeitet, skaliert das Tempo im Verhältnis zur Eingabe.
Benutzeravatar
__blackjack__
User
Beiträge: 14052
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Bill987654321: Der Programmierer schreibt ja nicht linear jede Rechenoperation die der Rechner durchführt. Programme enthalten in der Regel Schleifen und damit können dann sehr wenige Zeilen Code sehr viele Rechenoperationen zur Folge haben. Und insgesamt läuft Code den man geschrieben hat in der Regel ja nicht nur ein einziges mal sondern immer wieder. Und bei einigen Programmen macht es auch Sinn die für ganz viele Leute oder Probleme nebenläufig auszuführen.

Neben Code bestimmen auch Daten und Datenmengen was an Rechenleistung benötigt wird. Auf solchen Supercomputern laufen oft Simulationen (Wetter, chemische/biologische Reaktionen, Optimierungsprobleme, Signalauswertung, …) wo die Laufzeit nicht von der Programmlänge sondern von den Eingabeparametern (wie genau soll simuliert werden) und der Datenmenge abhängen die man da rein füttert.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Benutzeravatar
Bill987654321
User
Beiträge: 136
Registriert: Sonntag 8. März 2020, 10:56

Vielen Dank für die Antworten. :D
Antworten