Effekt-Algorithmen etc. mit Grafikkarte berechnen

  • Ersteller r!vf4d3r
  • Erstellt am
r!vf4d3r
r!vf4d3r
Registrierter Benutzer
Zuletzt hier
17.12.17
Registriert
10.12.05
Beiträge
286
Kekse
41
Ort
Darmstadt
Ich habe grade einen ziemlich Interessanten Artikel gelesen, dass man rausgefunden hat, dass GPU's wesentlich schneller Rechenoperationen ausführen können, solang diese nicht allzu Komplex sind (was man jetzta uhc immer darunter versteht), als eine CPU. Diese Technik nennt sich GPGPU. Es ist nun möglich neben Grafikberechnungen auch andere Komplexe Berechnungen auszuführen. Dies wäre nun wieder für den Recording PC stark von Vorteil, da man nun die Rechenlast auf CPU und GPU verteilen könnte, sofern dies ginge.

Das ist der Artikel den ich gelesen hatte und noch ein dazugehöriger Wiki-Eintrag, welcher allerdings auch nihct auf dme neuestem Stand ist.

GMX - Superrechner Grafikkarte - Grafikkarte als Supercomputer (16.10.2006)

GPGPU - Wikipedia


Nun wäre meine Frage, wisst ihr ob es spezielle Treiber bzw. Programme gibt, welche die Rechenlast auf beide Prozessoren aufteilen?


mfg r!v


(falls das hier der falsche Thread ist bitte verschieben^^)
 
Eigenschaft
 
Also du beziehst dich jetzt auf eine Audioanwendung oder?

Grundsätzlich klingt es schon einleuchtend, das eine unterforderte (!) Grafikkarte ihre Rechenleistung auch für andere Sachen verwenden könnte.

Ich sehe die "Problematik" aber eher im Nutzen: wenn ich keine große Grafik brauche, reicht mir der Intel Extreme 2 (oder so) Onboardchip. D.h., hier ist mit Sicherheit gar keine Leistungsreserve vorhanden um was anderes zu berechnen, auch aufgrund der Selbstbedienung des Chips am RAM etc.

Wenn ich ein ambitionierter Spieler bin, habe ich ja eine leistungsfähige Grafikkarte, um eigentlich genau diese Art von Symbiose zu vermeiden: die Grafik soll komplett (naja, weiß nicht ob das so den Fakten entspricht, aber angepeilt ist es wohl - bin da kein Experte ;)) von der Graka abgearbeitet werden, und die CPU(s) kümmern sich um das "unsichtbare".

Jetzt könnte man natürlich sagen: ok, ich bin beides. Spieler und Soundbastler. Und verwenden die Grafikpower halt auch für mein Cubase.
Hier kommt dann denke ich aber die Problematik der internen Kommunikation mit der Soundkarte ober besser gesagt ihrem Treiber. Man müsste dem gesamten System ja sagen: CPU, Grafik- und Soundkarte: ihr arbeitet jetzt bitte zusammen. Die Soundkarte schickt die Daten nach der AD-Wandlung sowohl an die CPU als auch an die Graka. Und wenn beide fertig sind schicken sie es an die Festplatte.

Da kündigt sich wohl auch eine Hürde an. Der Flaschenhals beim Recording ist ja so oder so die Soundkarte mit den Wandlern - wenn die nicht mehr als eine bestimmte Kanalzahl schafft, bringt mir die Leistung der Graka dahinter ja nichts...

Die einzige sinnvolle Anwendung die mir da einfällt wäre also die Berechnung von Effekten via PlugIns, wie es die DSP Karten ja bereits tun. Ob das allerdings "einfache Aufgaben" sind wie im Artikel geschrieben - keine Ahnung.


Ist aber unterm Strich definitiv eine interessante Sache, wobei ich den Nutzen für den Audiobereich wie gesagt etwas anzweifle.
 
Die Grafikkarte (bzw. dessen Shader) ist theoretisch sehr gut für Audioanwendungen geeignet. Aus eigener Erfahrung (als professioneller 3D-Programmierer) kann ich aber sagen, dass der Geschwindigkeitsgewinn bei Echtzeitanwendungen von der schlechten Transferleistung vom Hauptspeicher zum Grafikspeicher und zurück wieder zunichte gemacht würde. Für normale Plugins lohnt sich der Aufwand nicht und wäre (ja nach Karte) sogar kontraproduktiv.

Wenn es darum geht, eine große Menge von Daten in einem Rutsch zu verarbeiten, würde man das schon spüren. Das Freezen einer Spur in Cubase würde dann vielleicht 15 anstelle von 30 Sekunden dauern. Für so ein (ziemlich aufwendiges) Feature gibt aber leider (seufz) kein Chef Geld aus und es wird wohl bei akademischen Spielereien bleiben.
 
Schade, dass ein fachlich erfahrener Mensch (rollo69) uns da etwas enttäuschen muss. Ich hatte das auch fürher schon mal gelesen, und ja kfir, ich habe es damals so verstanden, dass es genau darum geht:
Die einzige sinnvolle Anwendung die mir da einfällt wäre also die Berechnung von Effekten via PlugIns, wie es die DSP Karten ja bereits tun
Da haben weclhe eben Echtzeiteffekte für die GPU programmiert (quasi die Audiodaten als Texturen dargesteltl und dann passende Pixelshader programmiert oder so...).
Aber zu dem Einwand von rollo69:
ass der Geschwindigkeitsgewinn bei Echtzeitanwendungen von der schlechten Transferleistung vom Hauptspeicher zum Grafikspeicher und zurück wieder zunichte gemacht würde.
Was passiert denn bei einer echten DSP-Karte? Ok, da fließen dann die Daten aus dem RAM über den PCI-Verbidnung direkt durch den Chip. Eine GPU dagegen ist ja keine Digitaler SIgnal Prozessor, sondern muss erst den Frame im Grafik-RAM buffern? ist da das Problem?
 
@Kifr

Also ich dachte mir ja auch wie schon gesagt das man für Effektberechnungen, oder das sie die Rechenleistung eines Digitalsamplers übernehmen würde, weil ich kenne es von mir, dass mein ProteusX ziemlich viel an Leistung frisst. die GPU verwenden könnte. weil das wäre natürlich schon eine gute Sache.
Klar wäre die Sache bei einem Gamer, dass er dann warscheinlich einen anderen Treiber benutzen müsste udn somit vllt seine Spiele nicht mehr in gewohnter Weise spielen kann. Aber ich dachte jetzt auch eher an reine Audiobearbeitung. Jedoch denke ich, dass rollo69 da wohl eher was zu sagen kann also ich, da ich mich nun doch nicht so gut damit auskenne.

@ars ultima

Was passiert denn bei einer echten DSP-Karte? Ok, da fließen dann die Daten aus dem RAM über den PCI-Verbidnung direkt durch den Chip. Eine GPU dagegen ist ja keine Digitaler SIgnal Prozessor, sondern muss erst den Frame im Grafik-RAM buffern? ist da das Problem?

Das würde mich auch mal Interessieren, weil soviel Unterschied dürfte doch da nihct sein, oder doch?


Ich denke zwar mal, dass eine DSP-Karte, wie UAD u.ä., warscheinlich besser sind für effektberechnungen, sie sind ja schließlich extra dafür entwickelt worden, aber es wäre halt schon Interessant zu wissen ob man mit einen Grafikkarte z.B. wie oben angesprochen, andere Rechenprozesse entlasten kann, wie Freezen usw...
 
Was passiert denn bei einer echten DSP-Karte? Ok, da fließen dann die Daten aus dem RAM über den PCI-Verbidnung direkt durch den Chip. Eine GPU dagegen ist ja keine Digitaler Signal Prozessor, sondern muss erst den Frame im Grafik-RAM buffern? ist da das Problem?

Normalerweise läuft das ganze bei der GPU so ab: Man konvertiert die Audiodaten in eine Textur und lädt diese in die Grafikkarte. Dort läßt man dann die Shader rüberrauschen. Das Resultat ist wieder eine Textur. Diese muss dann wieder zurück in den Rechner. Für die meisten Effektberechnungen benötigt man aber noch weitere Texturen, um die Zwischenschritte zu speichern. Diese wollen auch erzeugt und befüllt werden. Ein Audio-DSP macht das alles automatisch innerhalb der Karte. Man lädt einmal am Start den Code auf die Karte und übergibt nachher nur die rohen Daten.

Wie gesagt, theoretisch könnte man ziemlich viel mit den modernen Karten machen. Bei den paar Samples, die heutzutage bei Echtzeitanwendungen am Stück bearbeitet werden, ist der Overhead einfach zu gross.

Interessant sind aber die modernen Physik-Beschleuniger. Diese Karten könnte man, nach allem was man so liest, auch gut als Audio-DSP missbrauchen. Mal schauen, was uns die Zukunft alles so bringt.
 

Unser weiteres Online-Angebot:
Bassic.de · Deejayforum.de · Sequencer.de · Clavio.de · Guitarworld.de · Recording.de

Musiker-Board Logo
Zurück
Oben