Weitere Verwendungsmöglichkeiten von Grafikkarten

raphe

Lt. Junior Grade
Registriert
Nov. 2017
Beiträge
443
Grafikkarten werden im Firmenbereich hauptsächlich für CAD und im Privatbereich für Gaming und Mining gekauft.

Ich bin z.B. bei nVidia auf eine Software-Liste gestoßen, die Software aufliststet, welche wiederum mit der CUDA-Schnittstelle Berechnungen auf der Grafikkarte durchführt.

https://www.nvidia.com/en-us/data-center/gpu-accelerated-applications/catalog/

Ich habe mich damit etwas beschäftigt und bin z.B. auf Videoencodierung gestoßen. Ich wollte ein paar Aufnahmen in MP4 umwandeln mit meiner nVidia GPU und FFMpeg

.. mit dem Ergebnix, das der CPU-barsierte Encoder x264 so gut optimiert ist, dass die CUDA-Version immer langsamer ist. Selbst bei einer GTX 1080TI. (https://stackoverflow.com/a/44518814/)


Meine Frage - kann es sein, dass CUDA ein totes Projekt ist oder allgemein die Grafikkartenbeschleunigung im Privatsegment keine Anwendung findet ausser bei den o.g. beiden Punkten?

Alle namenhaften Bild/Videobearbeitungs-Tools unterstützen es aber der Mehrwert ist nicht wirklich da oder?
 
Zuletzt bearbeitet:
Im privaten Bereich ist die Verwendung vielleicht nicht so verbreitet weil es einfach nicht genügend Anwendungsfälle gibt.
Im professionellen Umfeld sieht das allerdings ganz anders aus!
 
Sobald du mit 3D Daten arbeitest, ist ein potente Grafikkarte zwingend erforderlich. Insbesondere im Rendering dauern Berechnungen oftmals Tage und Wochen. Hier kommt es natürlich auch auf den Detaillierungsgrad an.

Encodierungen und Decodierungen wird über die Hardware gemacht, das macht eine GPU in der Regel nicht über Schnittstellen, da es sich nicht lohnt.
 
Zuletzt bearbeitet:
Für x264 etc. haben Grafikkarten inzwischen dedizierte Schaltkreise und "brauchen" für Video(en)coding kein CUDA mehr.
Sonst zitier ich mal Wikipedia:
Anwendungsbeispiele sind die Lösung seismologischer oder geologischer Probleme oder die Simulation elektromagnetischer Felder. Anwendung findet CUDA unter anderem bei dem Projekt SETI@home im Rahmen der Berkeley Open Infrastructure for Network Computing (BOINC). Allgemein lässt es sich nur dort effizient anwenden, wo (neben anderen Bedingungen) Berechnungen stark parallelisiert werden können.
 
Der weitere Einsatzzweck von CUDA, findet in maschinelem Lernen statt. Da sind die GPUs wesentlich schneller als die CPUs. Wenn du sowas machen willst und z.B. eine 1080i dein eigen nennst, bist du damit wesentlich schneller unterwegs als mit einem Threadripper oder einem Xeon.
 
@emeraldmine danke für den Link, ich werde das mal probieren, war genau mein Einsatzfall .ts zu .mp4. Welches System hattest du da verwendet konnte nur Kepler (7er?) architektur herauslesen
 
Sollte mit allen Karten gehen, die NVENC können. Also alles ab Keppler (GTX-600)
 
Ja, hab in Nvidia nur die Kepler Architektur, aber mit ner Radeon RX 560 gehts ratz fatz in h.265 mit 175fps mit "StaxRip".
 
Da gehts um "combined", also das gleichzeitige nutzen. Das ist nochmal was ganze anderes.
Hier gehts es ja um das Video transcoding auf der GPU und das geht auf jeder aktuellen GPU auch ohne CUDA etc, weil die eben schon dedizierte Schaltkreise dafür haben.
 
@topic:
GPUs sind - aufgrund ihrer Architektur - überall da gut wo viele Fließkommazahlen parallel berechnet werden müssen. Oder bei teureren Karten (bei NVIDIA z.B. Titan & aufwärts) auch noch INT8 Operationen.

Möglicherweise hast du ja schonmal "Datacenter first" gehört. Das hat NVIDIA's CEO Jensen Huang kurz nach dem Launch von Pascal gesagt und zielt auf folgendes ab: zukünftig wird NVIDIA ihre Prioritäten immer weiter zu datacenter use-cases shiften, d.h. insbesondere Gaming ist ihnen mittlerweile Wumpe - ein uninteressanter Markt den man nebenbei mitnimmt.

Früher z.B. wurden immer primär die Gamingkapazitäten angepriesen, auch wurden die Gamingprodukte sehr früh gelaunched. Die meisten Entwickler waren früher auch Treiber/Gamingzeug beschäftigt. Vor kurzem habe ich einen Artikel gelesen, dass mittlerweile mehr Devs an CUDA, deren Libs usw. für datacenter und andere professional use cases sitzen, als in deren Gaming-Dev-Sparte, wo sie etwa Gameworks und Ähnliches basteln.

Bei Pascal hat NVIDIA ja auch schon die Teslakarten, also HPC-Karten, Monate vor allen GeForce-Produkten rausgebracht. Nach Pascal gab es sogar Volta - eine GANZE GPU-Generation ausschließlich für CUDA. Ampere (also GeForce/Gaming) diesmal über ein Jahr später.
Du kannst dir ausmalen, wie das in Zukunft weitergeht. Wenn überhaupt, dann kannst du sagen "Gaming ist tot" :D

Das liegt daran, dass Konzerne an Wachstumsmärkten interessiert sind (man will ja nicht nur den "Status Quo" halten, sondern wachsen) und Gaming ist da mittlerweile mit am wenigsten interessant von allen Märkten. Datacenter & Mining hingegen haben die höchsten Wachstumsraten.

Deshalb will AMD z.B. mit sowas hier AMD Radeon Instinct ja auch auf den CUDA-Erfolgszug aufsteigen.


Für Workstations oder im Datacenter werden Grafikkarten dann als Rechner für stark parallele Simulationen genutzt. Das ist alles mögliche von Physikberechnungen, Wettersimulationen, Atombombentests und natürlich auch einer der heutzutage stärksten Wachstumsmärkte überhaupt: Deep Learning (also KI).


Und zur Eingangsfrage: Nein, CUDA ist nicht tot. Wie beschrieben ist NVIDIA's Aufwand für CUDA mittlerweile größer als fürs Gaming.
 
Zuletzt bearbeitet:
Zurück
Oben