Guten Tag,
Ich würde gerne wissen ob eine schwache CPU einen GPU im Zusammenhang
mit maschinellem Lernen drosselt?
Bei Computerspielen kann ein schwacher CPU ja dazu führen, dass das
Potenzial einer stärken GPU nicht ausgeschöpft werden kann.
Ist dies bei AI Geschichten (Tensorflow, Torch, etc.) auch der Fall wenn
die Neuronalen Netze o.ä. auf der GPU Version ausgeführt werden und die
CPU bspw. Im Extremfall nur einen niedrigtaktenden Single Core hat?
Normal sollte dies ja nicht zu Problemen bzw Leistungseinbußen führen
wenn wirklich ausschließlich auf der GPU gerechnet wird. Aber ist das
auch so?
Ein weiteres Problem welches ich sehe, ist das "schwächere" bzw. ältere
Prozessoren manche Prozessorinstruktionen wie AVX nicht unterstützen,
wobei hierfür Lösung bestehen.
Leider konnte ich auf den Websiten der genannten Tools keine
Informationen dazu finden.
Was meint Ihr dazu?
Danke.
ttom schrieb:> Normal sollte dies ja nicht zu Problemen bzw Leistungseinbußen führen> wenn wirklich ausschließlich auf der GPU gerechnet wird. Aber ist das> auch so?
Nein, ist es nicht. Auf der GPU können nur Sachen effizient gerechnet
werden, die im Sinne der Programmkomplexität sehr einfach, aber sehr gut
parallelisierbar sind. Alles andere bleibt zwangsläufig auf der CPU,
auch fast die gesamte Programmlogik. Die CPU muss dafür natürlich eine
gewisse Mindestleistung haben.
Des weiteren geht es auch nicht unbedingt um die CPU-Kerne, sondern auch
um das ganze Drumherum. Die Anbindung der GPU spielt eine Rolle, die
Speicherbandbreite des Hauptspeichers, wie schnell Daten zwischen
CPU-RAM und GPU-RAM hin- und herkopiert werden können, Geschwindigkeit
des angeschlossenen Massenspeichers, etc etc. Ältere Systeme scheiden
dann z.B. ganz einfach wegen langsamem Hauptspeicher oder
PCIe-Gernaration älter als Gen3 aus.
Das gesamte System muss passen, es darf keinen Flaschenhals an einer
entscheidenden Stelle geben.
So, und jetzt erzählst DU uns, was für ein KONKRETES Problem DU hast und
weswegen DU diese Frage überhaupt stellst.
fchk
ttom schrieb:> Ich würde gerne wissen ob eine schwache CPU einen GPU im Zusammenhang> mit maschinellem Lernen drosselt?
Ja.
ttom schrieb:> Leider konnte ich auf den Websiten der genannten Tools keine> Informationen dazu finden.
"Vorsicht! Unsere Software läuft auf langsamen Rechnern langsamer als
auf schnellen!"
Oder wie hast du dir das vorgestellt?
Viele Dank für diese Antwort.
Ich habe mich gefragt ob man diverse GPU lastige Prozesse nicht
kostengünstig auslagern könnte indem man eben ein System mit älterer
Hardware aufbaut und nur die Grafikkarte neueren Jahrgangs einbaut.
Falls das funktioniert wäre das natürlich bei weitem günstiger als ein
komplettes System aufzubauen. Falls besagte Tools wirklich nur auf der
GPU und dem GPU Speicher laufen würden wäre dies ja kein Problem
gewesen. Scheint aber nicht der Fall zu sein. Schade.
nicht so schrieb:> ttom schrieb:> Ich würde gerne wissen ob eine schwache CPU einen GPU im Zusammenhang> mit maschinellem Lernen drosselt?>> Ja.>> ttom schrieb:> Leider konnte ich auf den Websiten der genannten Tools keine> Informationen dazu finden.>> "Vorsicht! Unsere Software läuft auf langsamen Rechnern langsamer als> auf schnellen!">> Oder wie hast du dir das vorgestellt?
Nein so natürlich nicht aber eine Mindestanforderung für CPU und GPU
etc.
ttom schrieb:> Nein so natürlich nicht aber eine Mindestanforderung für CPU und GPU> etc.
Die Mindestanforderung resultiert aber nicht aus den verwendeten Tools,
sondern aus den genutzten Modellen. Und da ist die einzige wirklich
harte Anforderung, dass das Modell in den Speicher passt.
(Stimmt nicht ganz, CUDA setzt eine GPU mit einer bestimmten Compute
Capability vorraus, aber daraum gehts dir ja nicht)
Du kannst NNs auch auf dem Raspberry Pi laufen lassen, wenn dir danach
ist. Macht halt tendentiell keinen Spaß.
nicht so schrieb:> Du kannst NNs auch auf dem Raspberry Pi laufen lassen, wenn dir danach> ist. Macht halt tendentiell keinen Spaß.
Es gibt aber auch z.B. den Jetson Nano von NVidia. Dessen CPU ist eher
langsamer als die des neuesten RPi, aber er hat eine flotte GPU für
neuronale Netze.
Wäre die CPU-Leistung tatsächlich so eine Spaßbremse, dann hätte NVidia
den SOC doch sicher nicht so gebaut.
Rolf M. schrieb:> Wäre die CPU-Leistung tatsächlich so eine Spaßbremse, dann hätte NVidia> den SOC doch sicher nicht so gebaut.
Wie meinst du das? Nicht in jeder Anwendung kommt nunmal ein
ausgewachsener PC infrage, aus Kosten-, Platz- und Energiegründen.
Wir testen auch gerade einen Jetson als möglichen Ersatz für die
Industrie-PC mit RTX2080 (ok, wir waren dabei zu testen, dann kam
Corona).
Zum Entwickeln macht das keinen Spaß und die Objekterkennung läuft etwa
20x langsamer, aber für die Anwendung in der Serie könnte es reichen,
weil die Bilderkennung nur einen sehr kleinen Teil der Taktzeit der
Maschine darstellt.
In einem anderen Projekt wird derselbe PC verwendet, aber da ist selbst
die RTX2080 grenzwertig langsam, da käme ein Jetson nicht infrage, die
Maschine würde damit >90% der Zeit stehen und warten.
nicht so schrieb:> Rolf M. schrieb:>> Wäre die CPU-Leistung tatsächlich so eine Spaßbremse, dann hätte NVidia>> den SOC doch sicher nicht so gebaut.>> Wie meinst du das?
Die Frage war: Wenn ich ein neuronales Netz betreiben will, brauche ich
dann nur eine starke GPU, oder muss auch die CPU leistungsfähig sein,
weil die GPU sonst nicht ausgelastet wird? Wenn aber auf einem Raspi
schon die CPU zu langsam für die GPU wäre, müsste sie es nach der
Theorie auf einem Jetson Nano ganz bestimmt sein. Trotzdem baut NVidia
ihn.
> Zum Entwickeln macht das keinen Spaß und die Objekterkennung läuft etwa> 20x langsamer, aber für die Anwendung in der Serie könnte es reichen,> weil die Bilderkennung nur einen sehr kleinen Teil der Taktzeit der> Maschine darstellt.
Es ging nicht um die Geschwindigkeit allgemein, sondern um das
Verhältnis zwischen der Leistung der CPU und der Leistung der GPU.
Dass rechenintensive Aufgaben auf langsamen Rechnern weniger Spaß machen
als auf schnellen, ist ja nun keine Überraschung.
Rolf M. schrieb:> Es gibt aber auch z.B. den Jetson Nano von NVidia. Dessen CPU ist eher> langsamer als die des neuesten RPi, aber er hat eine flotte GPU für> neuronale Netze.> Wäre die CPU-Leistung tatsächlich so eine Spaßbremse, dann hätte NVidia> den SOC doch sicher nicht so gebaut.
Das ist noch etwas anders. Die Jetson-Boards haben Unified Memory, d.h.
nicht nur die CPU, sondern auch die GPU kann auf den gesamten
Hauptspeicher zugreifen. Das macht schon viel aus, weil Du dann einfach
nicht mehr kopieren musst.
Eine normale PCIe-Grafikkarte kann das nicht. Da hast Du nur kleine
Speicherfenster, durch die Du Daten durchreichen kannst. Und nur bei den
großen Quadros kannst Du per 64 Bit Adressierung das ganze RAM auf
einmal sehen.
fchk