PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : GPUs fürs Soundrendering?


Dunkeltier
2006-09-03, 08:32:35
Nachdem nun schon längere Zeit bekannt ist, das man GPUs auch für andere Dinge hernehmen kann, frage ich mich, ob man diese nicht noch viel universeller einsetzen könnte. Den rein rechnerisch trumpfen schon preiswerte (70-120 Euro) Mainstreamkarten mit Rechenleistungen über denen einer Soundkarte auf. Wäre es nicht denkbar, den VPU als DSP herzunehmen, und damit den Sound in Hardware berechnen zu lassen? Also das vom on Board Coded auf die GPU umgeschaltet wird, wenn eine solcherlei zustäzliche Grafikkarte eingesteckt ist? Als Anschlüsse nimmt man weiterhin die vom Board her.

Somit könnte man demnächst seinen Rechner mit 4x Grafikkarten zupflastern: 2x für den Quad-Betrieb, eine als Physik-Rechenknecht und eine weitere als DSP. Mit der dann zum Soundrendering zur Verfügung stehenden Leistung würden sich sicherlich noch einige aufwendigere Hall-/ Echo-/ etc.-Effekte realisieren lassen.

Gast
2006-09-03, 09:03:37
Sicher geht das. Das Problem ist nur mal wieder das sich niemand 4 GPUs in den Rechner stecken wird...

ESAD
2006-09-03, 09:12:19
wie würde es denn mit den latenzen ausschauen?? das signal müsste ja vom prozessor zur grafikkarte und dann wieder zurück zur soundkarte die es ausgibt? muss es bei der übergabe auch durch den prozessor oder gibt es da eine möglichkeit zur direktverbindung wie bei dma?

Ganon
2006-09-03, 11:16:15
ATi und NVidia müssten nur Soundkarten bauen. ;)

Aber ich glaube nicht das der Grafikchip jetzt unbedingt schneller wäre als der Chip auf der X-Fi. Aber er wäre sicherlich freier programmierbar. Aber das liegt eher an Creative, als am Chip. ;)

deekey777
2006-09-03, 11:51:45
Erinnert mich an das: http://www.forum-3dcenter.org/vbulletin/showthread.php?t=299080

Avalox
2006-09-03, 18:00:58
Es gibt zahlreiche Bemühungen in diese Richtung.

Hier mal zwei interessantere Quellen

http://www-sop.inria.fr/reves/Nicolas.Tsingos/publis/posterfinal.pdf#search=%22GPU%20Audio%20Rendering%22

http://www-sop.inria.fr/reves/publications/data/2003/TGD03/RR-4734.pdf

Fruli-Tier
2006-09-03, 18:11:54
Nur frage ich mich dabei, was es denn bringen soll, alles auf die Grafikkarten auszulagern?

Gmax
2006-09-03, 18:17:02
Passt vielleicht auch zu diesem Thema: > klick < (http://www.techreport.com/onearticle.x/10680)

gammelsess
2006-09-03, 20:25:28
Nur frage ich mich dabei, was es denn bringen soll, alles auf die Grafikkarten auszulagern?

dat meine ich auch was soll das bringen?;D

Gast
2006-09-03, 20:32:41
dat meine ich auch was soll das bringen?;D

von der theoretischen rechenleistung ist die GPU mit abstand das leistungsfähigste im PC, deshalb ist es nur logisch diese imense leistung auch für andere gebiete als grafikberechnungen zu nutzen.

DrEAmEr291
2006-09-04, 12:52:25
Wann kommt ein Treiber, das man den GrakaRAM als zusätzlichen Systemspeicher
und/oder cache oder als Ramdisk nutzen kann?

256 hat mittlerweile jede Karte,
512 wird gerade zum Standard
und bei PCIe ist ja auch genügend Bandbreite vorhanden.

#44
2006-09-04, 13:30:34
von der theoretischen rechenleistung ist die GPU mit abstand das leistungsfähigste im PC, deshalb ist es nur logisch diese imense leistung auch für andere gebiete als grafikberechnungen zu nutzen.

Die Frage ist nur wieviel von der Rechenleistung übrig bleibt wenn man sie zweckentfremdet einsetzt und ob nicht ein Audiochip bei gleicher Leistung billiger wäre... Auch im Stromverbrauch sollte ein Soundchip einer GPU massiv überlegen sein.

sanni
2006-09-04, 13:32:55
Da wär es mir lieber wenn mein Hauptspeicher genauso schnell wäre wie der GPU Ram.

Gast
2006-09-04, 14:01:05
Die Frage ist nur wieviel von der Rechenleistung übrig bleibt wenn man sie zweckentfremdet einsetzt und ob nicht ein Audiochip bei gleicher Leistung billiger wäre... Auch im Stromverbrauch sollte ein Soundchip einer GPU massiv überlegen sein.

stimmt, nur bräuchtest du dann für jedes spezialgebiet einen eigenen spezialisierten chip, der natürlich effektiver als ein zweckentfremdeter rechenknecht aus einer anderen sparte ist.

ein rechenmonster in form einer GPU hat nun fast jeder pc, und selbst der auf audio spezialisierte rechenchip einer x-fi hat "nur" die rechenleistung von ungefähr einem 3GHz P4. damit ist er selbst jeder einsteiger-gpu um längen unterlegen.

die GPU für soundberechnungen zu verwenden bietet sich natürlich auch an weil sich beides sehr gut vektorisieren lässt.

Gast
2006-09-04, 14:02:38
Da wär es mir lieber wenn mein Hauptspeicher genauso schnell wäre wie der GPU Ram.

dann müsstest du aber den speicher fix am mainboard verlöten mit optimierten leitungswegen etc.

wenn sich der speichercontroller dann noch in der cpu befindet müsste auch diese fix auf das mainboard.

wechseln und aufrüsten ist dann nicht mehr drinnen.

ethrandil
2006-09-04, 14:57:59
Naja ich könnte mir schon vorstlleen, dass es Anwendungsgebiete gibt, wo ne graka herkömmlichen DSPs überlegen wäre. Sicherlich nicht für Spiele-Hintergrundsound.

Ne Graka könnte sicherlich sehr viel Audiomaterial parrallel berechnen. Allerdings bin ich nicht aufm aktuellen Stand was die Rechengenauigkeit betrifft.
Audio braucht idR sehr hohe Genauigkeit (24Bit-Integer ist Minimum). Und mit verlustbehafteter Texturkomprimierung ist auch schlecht.

Um nur ein Audiosignal zu verarbeiten wär sie aber sicherlich zu schade, da ein einziger Audiostream nur recht wenig Daten enthält, und eine GPU sich wohl ziemlich langweilen würde bei der Berechnung.

- eth

Gast
2006-09-04, 15:02:18
Audio braucht idR sehr hohe Genauigkeit (24Bit-Integer ist Minimum). Und mit verlustbehafteter Texturkomprimierung ist auch schlecht.


das ist richtig, 24bit integer ist standard für audioverarbeitung, aktuelle grafikkarten rechnen mit FP32-genauigkeit, das reicht also auf jeden fall.

wishnu@sonstwo
2006-09-05, 12:59:41
das ist richtig, 24bit integer ist standard für audioverarbeitung, aktuelle grafikkarten rechnen mit FP32-genauigkeit, das reicht also auf jeden fall.

Rechnen die gängigen Audio-DSPs nicht schon seit längerem intern mit 32Bit?

Gast
2006-09-05, 13:10:03
Rechnen die gängigen Audio-DSPs nicht schon seit längerem intern mit 32Bit?

normalerweise wird in studios mit 24bit-int gerechnet, was auch vollkommen ausreichend ist, wobei ich nicht ausschließen will dass manche auch noch genauer rechnen.

Avalox@Gast
2006-09-05, 13:52:07
@wishnu@sonstwo

Ja, die Audio DSPs rechnen i.d.R. mit 32Bit. Sehr gebräuchlich sind z.B. die Sharc DSPs von Analog Devices. 32Bit Fliesskomma DSPs. Macht ja auch Sinn mit 32Bit zu rechnen, auch wenn man dann in 24Bit ausgibt.

Auch der fx8010 (Emu10kx) ist übrigens ein 32Bit Fliesskomma DSP.

Gmax
2006-09-08, 23:41:54
Jetzt kann ich mich wieder erinnern, es gab mal ein Start-Up, welches versprochen hatte, Audio auf nvidia Karten laufen zu lassen, und zwar BionicFX.
Leider ist die Seite down und es hat sich nichts weiter getan.
Weiterführende Infos gibts hier (http://www.tgdaily.com/2004/09/02/audio_supercomputer_hidden_in_your_graphics_card/index.html).

Xonotron
2006-09-15, 11:55:35
Wäre es nicht denkbar, den VPU als DSP herzunehmen, und damit den Sound in Hardware berechnen zu lassen?

Das ist in der digitalen Pro-Audio Welt schon seit Jahren Praxis :rolleyes:
Die Firma UniversalAudio benutzt den "uralten" MPACTII Multimedia-Chip (da gab es vor zig Jahren mal Grakas mit...) auf Ihren UAD-1 Karten als Audio-DSP!

Sie haben sich darauf spezialisiert, klassische Studio Hardware physikalisch zu emulieren, d.h. sie gehen hin und messen die analogen Geräte akribisch durch. Die einzelnen elektronischen Komponenten werden dann "gemodelt" und interagieren zusammen wie das analoge Vorbild: Der Sound aus highend-Studiohardware Marke "Apothekerpreise" als Plugin-Schnäppchen mit allen Vorteilen die die digitale Automatisierung bietet ;D

Die neuesten Plugins sind allerdings schon so komplex, dass sie den Großteil eines DSPs ausnutzen, naja der gute MPACTII ist ja auch schon in die Jahre gekommen :biggrin: Von den mittelDSPhungrigen Plugins passen so ca. 10 auf einen DSP/eine Karte.

Avalox
2006-09-15, 13:34:32
Ja. ist ein interessanter Chip. Die Einheit zum Video Hardware Decoding wird benutzt. Diese MCP Einheit des MPACT 2 war mal als CoProzessor zum x86 vorgesehen.
Sind später übrigens von ATI gekauft worden.(später wohl wieder abgestosssen worden)

Monger
2006-09-15, 14:32:14
Nur frage ich mich dabei, was es denn bringen soll, alles auf die Grafikkarten auszulagern?

Simpelstes Argument: Kostenersparnis.


Denk mal über Office Rechner nach. Bei denen wird die CPU halbwegs gefordert, die GPU bis auf Ausnahmefälle nur sehr gering, und die Soundkarte praktisch gar nicht. Trotzdem muss man alles drei haben, und für alles bezahlen.

Wenn du jetzt (so wie AMD schon spekuliert hat) CPU und GPU in ein Chipdesign reinpackst, und den Sound auch noch gleich davon berechnen lässt, brauchst du auf dem Mainboard nur noch ein paar Anschlüsse, und kannst damit relativ günstige Office-Rechner bauen.

nino
2006-09-15, 16:47:52
ein rechenmonster in form einer GPU hat nun fast jeder pc, und selbst der auf audio spezialisierte rechenchip einer x-fi hat "nur" die rechenleistung von ungefähr einem 3GHz P4. damit ist er selbst jeder einsteiger-gpu um längen unterlegen.


woher weißt du wie effizient eine gpu bei soundberechnung sind? die angabe zur 3ghz cpu ist nicht übertragbar auf diese marketing angaben, dass ne radeon sonstwas bei grafikberechnungen so schnell ist wie ein xxghz p4.

Gast
2006-09-15, 18:55:34
Ist aber schon richtig, eine GPU ist ein extrem leistungsfähiger DSP, das sollte für Soundberechnungen aller Art locker reichen.

Gast
2006-09-15, 19:03:35
woher weißt du wie effizient eine gpu bei soundberechnung sind? die angabe zur 3ghz cpu ist nicht übertragbar auf diese marketing angaben, dass ne radeon sonstwas bei grafikberechnungen so schnell ist wie ein xxghz p4.

klar ist das ganze nicht direkt übertragbar, allerdings sind sich grafik- und soundberechnungen sehr ähnlich.

in beiden fällen müssen gleiche operationen auf sehr viele, kleine datenstücke angewendet werden.

dementsprechend ist eine GPU für das soundprozessing natürlich wesentlich besser als beispielsweise eine CPU geeignet.

Liszca
2006-09-17, 00:11:33
Somit könnte man demnächst seinen Rechner mit 4x Grafikkarten zupflastern: 2x für den Quad-Betrieb, eine als Physik-Rechenknecht und eine weitere als DSP. Mit der dann zum Soundrendering zur Verfügung stehenden Leistung würden sich sicherlich noch einige aufwendigere Hall-/ Echo-/ etc.-Effekte realisieren lassen.

hoffentlich verschwinden alle (entschuldigung) scheiss physik beschleuniger bald in der versenkung. den spielspass kann man auch nicht mit realitätsnaher physik sicher, ich finde ganz im gegenteil.

ich finde es cool wenn ein auto unrealistisch über die karte fliegt, und dabei explodiert. (und das die physik durch so eine karte besser ins gameplay passt bezweifel ich in jedem fall.)

grafikleistung z.b.: 2x gf7 7900gt für grafik und eine gf7 7600gs für sound finde ich schon sinnvoller, aber dann bitte auf neustem stand der mehrkanal hifitechnik. habe echt keine lust mehr auf sachen die soviel einschränkungen mit sich bringt, dass man sich echt überlegen muss habe ich das falsche gekauft? nicht klar was ich meine?

wie wäre es mit AA und hdr auf einer nv karte? wie braucht ihr nicht? ich schon, mein display hat eine auflösung von 2560x1600. nun ist diese auflösung aber für jede karte in einem aktuellen spiel. denn eben die halbe auflösung pro seite mit 1280x800. sieht nun aber verdammt pixelig aus. nun geht halt leider kein hdr mit aa, jetzt ist es total ärgerlich.

also ich finde das dell 30" display geil, besonders beim mashed spielen mit vier xbox 360 controller ;D

DrumDub
2012-01-17, 17:46:40
ein bisschen leichenschändung ... :ugly:

gibts zu dem thema eigentlich was neues? wäre doch nen interessantes anwendungsgebiet bei der heutigen leistungsfähigkeit und programmierbarkeit von gpus.

Raff
2012-01-17, 19:40:14
Bitte nicht. Grafikkarten können nie schnell genug sein, während moderne Mehrkern-CPUs geradezu um Arbeit betteln und auch moderne Sound-DSPs fast immer nur Däumchen drehen.

MfG,
Raff

Avalox
2012-01-17, 20:00:20
Bitte nicht. Grafikkarten können nie schnell genug sein, während moderne Mehrkern-CPUs geradezu um Arbeit betteln und auch moderne Sound-DSPs fast immer nur Däumchen drehen.



“I have a Brain the size of a planet and
you want me to convolve two buffers?” aus

http://www.nvidia.com/content/GTC/documents/1011_GTC09.pdf

@DrumDub

Ich glaube es gibt ein wenig was konkret benutzbares mit CUDA beschleunigten VST Plugins für den Musik Sequenzer .

Ansonsten gibt es mW nur etwas im Ideen, oder akademischen Stadium http://www.khronos.org/assets/uploads/developers/library/2011-siggraph-opencl-bof/OpenCL-BOF-Intel-Sound-Rendering_SIGGRAPH-Aug11.pdf

ethrandil
2012-01-17, 23:19:18
Na das holt sogar mich aus der Versenkung ;-)

Ich arbeite inzwischen bei einer Audio-Software Firma und wir rühmen uns aktuelle CPUs an ihre Leistungsgrenze zu pushen. Wozu könnten wir eine Grafikkarte nutzen?

Also zu erst mal: Es ist schwierig, sequenzielle Systeme zu berechnen. Viele handelsübliche Audioeffekte sind nicht darauf ausgelegt, parallel berechnet zu werden und sie dürften darum kaum profitieren. ("Richtig" lohnt sich die Grafikkarte nicht unter 16 Threads.) Das Problem besteht, weil in diesen Fällen das Audio nacheinander berechnet werden muss also gibt es nur einen Thread. Falls hunderte solcher Systeme berechnet werden die sich nicht beeinflussen (z.B. alle Soundquellen in einem Game) ist die Grafikkarte super.

Zweitens: Manche Algorithmen, die bisher nicht oft eingesetzt werden (FIR Filter z.B.), können massiv von der Grafikkarte profitieren.

Drittens: Dynamische Systeme, die 'live' Gleichungssysteme lösen müssen, könnten deutlich profitieren weil verschiedene Lösungsvarianten massiv parallel berechnet werden können. Das ist aber für Games relativ irrelevant.

Ergo: Die richtigen Algorithmen müssen noch entwickelt oder angepasst werden bevor es sich richtig lohnt. Wir arbeite dran aber bisher ist die Technologie nicht 100% da...

Die meisten Paper sind noch zu speziell um von allgemeiner Bedeutung zu sein.

- Eth

DrumDub
2012-01-18, 11:41:35
danke euch allen für die interessanten informationen.

habe ich immerhin schon ein paar vst-effekt-plugins gefunden:

LiquidSonics' Reverberate LE (http://www.liquidsonics.com/software_reverberate_le.htm) (nur cuda)
GPU Impulse Reverb VST (http://gpuimpulsereverb.de/?page_id=38) (cuda & open-cl)
Nebula 3 (http://www.acustica-audio.com/index.php?option=com_content&view=article&id=20&Itemid=101) (nur cuda)

das scheint aber wirklich bisher alles zu sein, was es da gibt.

Avalox
2012-01-18, 11:52:04
das scheint aber wirklich bisher alles zu sein, was es da gibt.


Es gibt halt interessante Demos, wenn man ein wenig rum sucht (aus der Präsentation oben verlinkt).

http://gamma.cs.unc.edu/Sound/iSound/

Ihm
2012-01-18, 14:28:30
danke euch allen für die interessanten informationen.

habe ich immerhin schon ein paar vst-effekt-plugins gefunden:

LiquidSonics' Reverberate LE (http://www.liquidsonics.com/software_reverberate_le.htm) (nur cuda)
GPU Impulse Reverb VST (http://gpuimpulsereverb.de/?page_id=38) (cuda & open-cl)
Nebula 3 (http://www.acustica-audio.com/index.php?option=com_content&view=article&id=20&Itemid=101) (nur cuda)

das scheint aber wirklich bisher alles zu sein, was es da gibt.

Herrlich, auch mein Thema, wie bei ethrandil. :D
Nein, es gibt natürlich noch mehr. Aber es sind wirklich hauptsächlich akademische Projekte. In meiner damaligen Bachelorarbeit (Mitte 2008) war GPGPU bzw. genauer die Audioberechnung auf GPUs mit CUDA mein Thema. Ich hatte damals auch einige Benchmarks mit GPU-Audioplugins unter Nuendo durchgeführt, speziell mit FFT-Algorithmen.
Der Leistungszuwachs war gegenüber den damals aktuellen Intel Xeons schon heftig (ich meine es war im Schnitt eine ca. 5-fache Leistungssteigerung).
Testkarte war eine 8800GT, also G80-Architektur. Die Plugins machten natürlich auch von den SSE-Befehlssätzen der CPUs Gebrauch, da diese eigentlich die wirklichen Leistungsträger für die AV-Berechnung sind. Kann man im Übrigen herrlich selber testen, wenn man SSE manuell deaktiviert. Sofern die Applikation nicht schon beim Start meckert. ;)

Latenzprobleme hatte ich bei einem Testsystem mit AGP. Bei PCIe weniger. Davon abgesehen sind die neueren Architekturen in Sachen GPGPU mächtig aufgebohrt worden.
Nur leider lohnt sich der programmiertechnische Aufwand heute kaum noch, weil bei aktuellen CPUs genügend Leistungsreserven vorhanden sind.
Die Qualität der Plugins ist mittlerweile deutlich wichtiger, als deren Leistungshunger. So bekommt man heute bei Universal Audio eine Pseudo-DSP-Karte mit Analog-Devices-Chips, welche faktisch aber eigentlich nur ein Hardware-Dongle ist. So stellt Universal Audio aber sicher, dass deren Plugins nur in Verbindung mit der Karte laufen, welche wiederum preistechnisch so hoch angesetzt sind, dass man zum grössten Teil eigentlich die Plugin-Entwicklung bezahlt.
Einen ähnlichen Weg wollte auch schon Waves gehen. Aber die schützen ihre Software mittlerweile klassisch über einen iLok.

Heutzutage stösst man bei DAWs kaum noch an Leistungsgrenzen.
Eine DAW-Workstation mit aktuellem QC, 16GB RAM und SSD muss man erstmal ausgelastet bekommen. Und wenn es dann wirklich mal soweit ist, dann freezt man im Sequencer eben Tracks.
Oder holt sich eine DAW auf Dual-Prozessor-Xeon-Basis mit acht Kernen. ;)

Fazit:
Noch nie war es so günstig selber Musik zu produzieren.
Leistung satt, gute Qualität und so ziemlich alles für Hobbymusiker bezahlbar.
Wer deutlich mehr braucht, der holt sich meist eh ein fertiges System. Da ist es egal ob 500€, 1000€ oder 5000€. Also auch egal, ob 400€ für eine Grafikkarte zur Audioberechnung oder 5000€ für eine DSP-Lösung.
Wobei wie gesagt die Qualität der Plugins eher eine Rolle spielt. Und die wird bei der 5000€ Lösung sicherlich besser sein, weil es sich finanzieren lässt.
Wie soll man hingegen Plugins für GPUs vor dem kopieren und cracken schützen? ;) Glaube nicht, dass da ein Hersteller die Laborratte spielt und ein potenzielles Geldgrab eröffnet. :freak: