
Ich habe einen Haufen alter Grafikkarten herumliegen. Sie sind alle 10 bis 15 Jahre alt und haben keinen Zweck, außer Platz wegzunehmen. Wie kann ich ihre Rechenleistung nutzen, ohne sie an einen PC anzuschließen? Kann ich eine GPU mit einem Raspberry Pi mit einem PCI-x16-zu-USB-Konverter einschalten oder Kabel an die Platine löten und sie mit dem GPIO eines RPI verbinden? Kann ich mit diesen Karten tatsächlich etwas Sinnvolles anfangen oder sind sie völlig wertlos? Zeit und Effizienz sind hier kein Problem, da ich dies nur zum Experimentieren mache und um zu lernen, wie GPUs wirklich funktionieren.
Antwort1
Treiber sind Ihr Problem. Grafikkarten sind kleine, in sich geschlossene Computer, die speziell für die Arbeit mit ihren integrierten Komponenten entwickelt wurden und ein Design namens „Referenzkarte“ verwenden. Sie haben diesen Begriff vielleicht schon einmal gehört, der sich auf die einfachste Version einer Grafikkarte bezieht, die im Einzelhandel für Grafikkarten von Drittanbietern erhältlich ist. Die Karte selbst verfügt über Firmware, die die integrierten Komponenten wie das BIOS Ihres Motherboards verwaltet, und die Treiber werden im Betriebssystem installiert, um dem Betriebssystem mitzuteilen, wie die Karte verwendet werden soll. Ohne die Schnittstellenbuchse und Treiber für Ihr System kann dieses System die Karte nicht nutzen und ist unzuverlässig, wenn es einen „Standard-Grafiktreiber“ hat.
Meine Regeln zum Aufbewahren von Grafikkarten lauten wie folgt:
Wenn die Karte PCI ist, behalten Sie sie oder versuchen Sie, sie zu verkaufen. Es gibt noch einige PCI-Classic-fähige Motherboards für HTPC-Setups mit ARM-Chips und ähnlichen nicht standardmäßigen CPUs. PCI-Grafikkarten sind schwer zu finden, da sie nur diese Nischennachfrage bedienen, und viele sind nicht so leistungsstark wie die integrierten AMD Radeon, die ihre Prozessoren unterstützen.
Wenn es sich bei der Karte um eine PCI-E-Karte handelt, behalten Sie sie. Wenn Sie sie nicht verwenden können und sie neu genug ist, verkaufen Sie sie. Wenn Sie sie verwenden können, aber nicht brauchen, behalten Sie eine als Ersatz, falls Ihre Grafikkarte jemals den Geist aufgibt und Sie eine andere anschließen müssen, um über die Runden zu kommen, während Sie eine neue kaufen.
Wenn es sich bei der Karte um eine AGP-Karte der letzten Generation handelt, wie etwa die frühen GeForce-Karten oder die Voodoo5- und Voodoo6-Karten, können Sie sie möglicherweise an Enthusiasten verkaufen. Handelt es sich um eine frühere AGP-Karte, recyceln Sie sie.
Antwort2
Ich werde den Aspekt der physischen Verbindung ignorieren, da dies wahrscheinlich auch über USB möglich ist. Wenn Ihr Projekt rechenintensiv ist, wird Sie die geringe Bandbreite von USB nicht wesentlich behindern.
Wenn OpenCL (beide/generisch), AMD (Stream-Prozessoren) oder CUDA (NVIDIA) nicht unterstützt werden, gibt es keine einfachen Möglichkeiten, die Leistung zu nutzen.
Es ist unwahrscheinlich, dass alle Karten außer den neuesten OpenCL unterstützen.
https://en.wikipedia.org/wiki/CUDA
https://en.wikipedia.org/wiki/Liste_der_AMD-Grafikprozessoren
https://en.wikipedia.org/wiki/OpenCL
Wenn Sie Software finden, die eine der drei oben genannten Methoden unterstützt, können Sie einfach die Treiber und die Software installieren und sie anschließend ausführen. Kompatible Hardware wird dann erkannt und automatisch verwendet.
Andernfalls müssen Sie lernen, für alle drei Standards zu programmieren, um sicherzugehen. Dann können Sie Ihren eigenen Code schreiben.
Selbst dann werden so alte Karten wahrscheinlich nur 30-80 Kerne haben und keine lebensverändernden Verbesserungen bringen. Im Vergleich dazu können moderne Karten mit 1.000-4.000 Kernen ein Video-Rendering-Projekt von 2 Stunden auf Minuten verkürzen.
Selbst 14 gleichzeitig arbeitende CPU-Kerne schaffen im Vergleich zur GPU in der gleichen Zeit nur 7.537.