Einfach handhabbare Umgebung für GRAKA-Berechnung

Gast #3821667
Ich bin auf der Suche nach einer möglichst einfach erlernbaren und 
handhabbaren Entwicklungs-Umgebung für das parallele Berechnen mit 
Grafikarten. Umgeschaut habe ich mich bei NVIDA und AMD, die soetwas 
anbieten.

Welche Entwicklungsumgebung wäre da für einen Anfänger in der Materie 
das Beste? Ich habe Erfahrungen mit DSPs, MicroControllern und 
Windows-Programmierung, Visual Studio und CodeComposer z.B.

Mir geht es zunächst um die Möglichkeit, einfache, aber umfangreiche 
Berechnungen, die ich in MATLAB erzeuge, mit Varianten zu berechnen. 
Dazu habe ich fertige C-Algorithmen, die momentan als einfaches 
C-Programm laufen, sich Daten von der Platte holen und die Ergebnisse 
ausgeben. Ich arbeite sozusagen offline. MATLAB wird nur hin und wieder 
benutzt, um an der Physik zu schrauben und ein bischen zu simulieren.

Massgeblich ist letztlich der Algo in C. Der wird mit Szenarien 
gefüttert, um ihn zu optimieren. Am Ende soll der Algo auch in einem PC 
laufen, d.h. er bekommt dann Daten in Echtzeit und rechnet parallel 
mehrere Variationen desselben Szenarios aus. Die Varianten unterscheiden 
sich etwas in den Parametern, die Ergebnisse sind aber ziemlich 
abweichend, daher kann das nicht analytisch gemacht werden, sondern muss 
"durchgespielt" werden. Vom Prinziop ist es ähnlich einer 
Wettersimulation ausgehend von Messungen.
Gast #3821673
Vielleicht noch ein paar Randbedinungen:

Ich weiss, dass MATLAB das automatisch integriert anbietet und auch 
Infrastruktur bereitstellt. Mit MATLAB möchte ich aber ausdrücklich 
nicht arbeiten, um nicht von denen abhängig zu sein. Am liebsten wäre 
mir ein OpenSource System. Bevor ich da was ausprobiere, dachte ich, 
mich erstmal umzuhören, ob wer Tipps geben kann.

Ich verspreche mir von der parallelen Berechnung eine ganze Reihe von 
Vorteilen. Wenn möglich und machbar würde ich gerne einen ganzen PC mit 
Leistungskarten vollknallen. Wäre weniger eine Kostenfrage, ein 
Finanzier ist verfügbar :-)
Gast #3869944
Schau dich mal bei sgminer & co. um, die haben die komplette 
Infrastruktur für mehrere Karten (ati/amd) implementiert. Für nvidia 
findest du in diese Richtung auch etwas.
Gast #3901204
Die üblichne verdächtigen:
http://de.wikipedia.org/wiki/General_Purpose_Computation_on_Graphics_Processing_Unit#Programmierung
http://en.wikipedia.org/wiki/CUDA
http://en.wikipedia.org/wiki/OpenCL


Bevor du aber anfängt dir über die Programmierung von GraKas Gedanken zu 
machen wäre es vielleicht nicht verkehrt sich erstmal mit den Grundlagen 
zu beschäftigen welche Randbedingungen für die verschiedenen Arten von 
Parallelisierung es so alles gibt und dann zu überlegen welch bei deinen 
Daten und der gewünschten Berechnung überhaupt Vorteile bringt.

Irgendwie liest sich das bei dir nicht so als würde dich der bei GraKas 
gebräuchliche SIMD Ansatz überhaupt weiterbringen:
http://en.wikipedia.org/wiki/Flynn's_taxonomy

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.