Fibonacci-Folge / Benchmarks

Pascal, Basic und andere nicht aufgelistete
Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8843
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Fibonacci-Folge / Benchmarks

Beitrag von Xin » Di Aug 27, 2019 9:27 am

mfro hat geschrieben:
Mo Aug 26, 2019 7:23 pm
Es ging mir hier nur darum auszuprobieren, ob "rekursive Hardware" überhaupt möglich ist und erstaunlicherweise ist sie das - mit der Einschränkung, dass man eben die Rekursionstiefe beschränken muss. Der Hauptspeicherverbrauch des Synthesetools beim "Bauen" ist für das Ergebnis einigermassen unerheblich: das belegt nämlich tatsächlich locker auch im kleinsten verfügbaren FPGA weniger als 10%.
Schon klar, dass der den Hauptspeicher für die Berechnung des Layouts braucht.
mfro hat geschrieben:
Mo Aug 26, 2019 7:47 pm
VHDL ist eine vollwertige Programmiersprache (die unverkennbar von Ada abstammt), mit Packages, Funktionen, Prozeduren, Records und Pointern (wollte man, könnte man damit auch einen Editor schreiben), aber nur ein Subset davon lässt sich tatsächlich in Hardware (Flipflops und kombinatorische Logik als Netzliste) umsetzen (man muss sich also einschränken, wenn Hardware draus werden soll). Aus der Netzliste baut der Fitter (ähnlich des Autorouters bei einem Platinenlayoutprogramm), das Ergebnis kann man auf ein FPGA laden oder - wenn man sich's leisten kann - in der nächsten Chipschmiede um die Ecke in Silikon "giessen" lassen.
Das klingt nicht uninteressant....

Gibt's da ein passendes Tutorial zu, bzw. wo lernt man sowas? Ich habe da keine Ahnung von, aber ich spiele gerade gedanklich ein paar Ideen durch, zum einen als Compilerbauer, zum anderen als Softwareentwickler von Software, die rechenaufwendig ist...
Die 60ns für eine rekursive Abarbeitung eines fib(20) klingen nämlich durchaus interessant, dass man da mal etwas mit experimentieren könnte.
Ich stelle mir eine PCIe Karte vor, auf der dann rechenintensive Algorithmen ausgelagert werden.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

mfro
Beiträge: 346
Registriert: Mi Jan 16, 2013 4:58 pm

Re: Fibonacci-Folge / Benchmarks

Beitrag von mfro » Fr Aug 30, 2019 5:53 am

Xin hat geschrieben:
Di Aug 27, 2019 9:27 am
Ich stelle mir eine PCIe Karte vor, auf der dann rechenintensive Algorithmen ausgelagert werden.
Das ist genau der Grund, warum Intel vor nicht allzu langer Zeit Altera (einen der beiden grössten Hersteller von FPGAs) gekauft hat. Die wollen wohl künftig Server-Boards mit integrierter, konfigurierbarer Hardware anbieten.

Den Kauf fanden wohl auch alle ganz toll - ausser den Jungs von Altera. Leider scheint sich Intel nun mit der Integration ein wenig schwer zu tun, seither ist von dort praktisch nichts Neues gekommen. Die scheinen sich nur damit beschäftigt zu haben, auf das Altera-Zeugs überall das Intel-Logo draufzukleben.
It's as simple as that. And remember, Beethoven wrote his first symphony in C.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8843
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Fibonacci-Folge / Benchmarks

Beitrag von Xin » Fr Aug 30, 2019 3:44 pm

Was gibt da für Erfahrungen?

Bist Du da losgezogen, hast Dir ein Board gekauft und dann damit gearbeitet oder ist das alles simuliert?
Und ich sehe vor allem kleine Mainboards mit zig Anschlüssen. Für mich stellt sich gerade die Frage, ob man gewisse rechenintensive Algorithmen auf eine PCI-Karte auslagern könnte.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

mfro
Beiträge: 346
Registriert: Mi Jan 16, 2013 4:58 pm

Re: Fibonacci-Folge / Benchmarks

Beitrag von mfro » Fr Aug 30, 2019 5:32 pm

Xin hat geschrieben:
Fr Aug 30, 2019 3:44 pm
Was gibt da für Erfahrungen?

Bist Du da losgezogen, hast Dir ein Board gekauft und dann damit gearbeitet oder ist das alles simuliert?
Und ich sehe vor allem kleine Mainboards mit zig Anschlüssen. Für mich stellt sich gerade die Frage, ob man gewisse rechenintensive Algorithmen auf eine PCI-Karte auslagern könnte.
Genau. Board kaufen und loslegen. Und dann sich erst mal monate- bis jahrelang wundern, was da alles anders ist :lol:
Ernsthaft: am besten vergisst man erstmal alles (oder das meiste davon), was man bis dahin über Programmieren gelernt hat. Man fängt praktisch bei NULL an. Das ist nicht Programmieren (auch wenn's so aussieht), das ist digitale Schaltungen entwickeln.

Wenn ein FPGA ernsthaft mit einem modernen Vielkern-GHz-PC konkurrieren (bzw. ihn überflügeln) soll, muss sowohl das Problem geeignet sein (überlange Bitbreiten, massiv parallele Algorithmen, möglichst Integer- oder Fixpunktarithmetik) als auch der Entwickler was drauf haben (Pipelining, z.B.). Ansonsten zieht er den Kürzeren.
It's as simple as that. And remember, Beethoven wrote his first symphony in C.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8843
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Fibonacci-Folge / Benchmarks

Beitrag von Xin » Sa Okt 22, 2022 9:49 am

Mal ein Update. :-)

Ich hab die Tage erste Teile einer großen Baustelle geschlossen, um sich aufbauende Code-Redundanz abzubauen. Das neue Konzept ist einfacher, allgemeiner und auch noch schneller. Entsprechend fliegt das bisherige raus und ich werde in den nächsten Tagen zwei Tonnen Code wegwerfen können, den ich entsprechend nicht mehr warten muss. :-)

Außerdem wurde der Xeon-Rechner wiederbelebt, auf dem die bisherigen Messungen gemacht wurden. Der musste nach einem Mainboard-Schaden einem Ryzen weichen, weil ich sofort einen neuen Rechner für's Homeoffice brauchte, entsprechend keine Zeit hatte auf ein billiges Board bei ebay zu warten. Das damalig gekaufte Austauschmainboard ist dann vor ein paar Wochen kaputt gegangen, das dann gekaufte Austauschmainboard lässt kein BIOS Update zu, ohne das meine "neueren" Xeons nicht drauf laufen. Also nach zwei Tagen Recherche und Rumprobieren noch ein Austauschmainboard gekauft, das meine CPUs schon kennt und sich dann auch problemlos auf den aktuellen Stand bringen ließ. Und nun läuft er wieder, um mit den oben stehenden Tests vergleichbare Werte zu erzeugen. :-)

Der Interpreter brauchte bisher für das Testprogramm 6,5 Sekunden und ist jetzt auf 5,7 Sekunden runter. 13%. Das ist nicht konkurrenzfähig, aber dank JIT ja auch nicht nötig.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten