Forum: PC Hard- und Software GPT4All mit Nvidia Tesla K80: CUDA oder nicht?


von Frank E. (Firma: Q3) (qualidat)


Angehängte Dateien:

Lesenswert?

Wir basteln in der Firma an einer lokalen KI auf Basis von GPT4All unter 
Windows 10. Die neueste Version unterstützt nun auch GPU-Karten, die mit 
"Vulkan" laufen, deshalb hab ich günstig eine Nvidia Tesla K80 beschafft 
und eingebaut habe. Noch wird diese jedoch nicht genutzt ...

Auf Youtube gibts ein Video, wo jemand vorführt, wie sich dadurch die 
"Denkleistung" von 4 Token/s (nur CPU, Intel i7 4GHz) auf über 25 
Token/s ändert (mit K80).

Als Nicht-Windows-Kenner quält mich vorab eine Frage: Muss ich nur das 
Vulkan-Paket installieren oder auch den "normalen" Nvidia-Treiber? Ist 
"Cuda" ein Zusatz (und wird der für die KI überhaupt benötigt?) oder ist 
das DER Treiber? Ich will ja keine Grafik ausgeben.

Für Windows-Kenner scheint das so selbstverständlich sein, dass es 
nirgendwo im Detail erläutert wird. Danke.

https://www.youtube.com/watch?v=TcXzyutfmOw

von Frank K. (fchk)



Lesenswert?

Frank E. schrieb:

> Als Nicht-Windows-Kenner quält mich vorab eine Frage: Muss ich nur das
> Vulkan-Paket installieren oder auch den "normalen" Nvidia-Treiber? Ist
> "Cuda" ein Zusatz (und wird der für die KI überhaupt benötigt?) oder ist
> das DER Treiber? Ich will ja keine Grafik ausgeben.

Vulkan brauchst Du sicher nicht.

Du brauchst den Hardwaretreiber und das dazu passende (!) CUDA Toolkit. 
Das CUDA Toolkit muss versionsmäßig zum Hardwaretreiber und zur 
Applikation passen. Wenn Die Applikation Cuda 12 haben will, die Karte 
aber nur Cuda 10 kann, dann hast Du ein Problem. Deine K80 scheint bis 
11.4 zu gehen.

Hier kannst Du Dir ein Kombipaket mit Cuda runterladen.
https://www.nvidia.com/download/index.aspx?lang=en-us

fchk

von 1N 4. (1n4148)


Lesenswert?

Normalerweise braucht es auch unter Windows das Cuda Toolkit sowie 
cuDNN, die beide zusätzlich zu GPU-Treiber installiert werden müssen.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Frank K. schrieb:

> Vulkan brauchst Du sicher nicht.

Also erstmal danke, dass du dir die Mühe machst zu antworten.

Aber die "Macher" von GPT4All schreiben definitiv, dass sie die GPUs in 
der Tesla-Karte über Vulkan ansprechen, das hab ich mir nicht 
ausgedacht.

Anscheinend ist das deren favorisierte API, die Prozessoren der K80 fürs 
"Denken" zu benutzen ...

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

1N 4. schrieb:
> Normalerweise braucht es auch unter Windows das Cuda Toolkit sowie
> cuDNN, die beide zusätzlich zu GPU-Treiber installiert werden müssen.

Ok, es könnte sein, dass Cuda erstmal die hardware-nahe Voraussetzung 
dafür ist, um überhaupt mit der Karte zu kommunizieren - da bin ich mir 
eben unsicher.

Dass GPT4All Vulkan benötigt, steht ausser Frage, das schreibt NomicAI 
selber. Ich bin nur unsicher, ob dazu auch Cuda nötig ist.

Falls es "nicht stört" hab ich auch kein Problem damit, beides zu 
installieren, wollte nur vermeiden, am Ende stundenlang die Platte zu 
putzen, weil sich da irgendwas beisst ...

: Bearbeitet durch User
von Frank K. (fchk)


Lesenswert?

Frank E. schrieb:

> Dass GPT4All Vulkan benötigt, steht ausser Frage, das schreibt NomicAI
> selber. Ich bin nur unsicher, ob dazu auch Cuda nötig ist.

Ich verstehe das anders. Vulkan ist eine Option, aber Cuda und OpenCL 
werden von den Backends auch unterstützt und sind im Zweifelsfall 
leistungsfähiger, weil dichter an der Hardware dran. Ich hab eben mal in 
den Llama Source geschaut und Cuda, OpenCL und (für Mac) Metal Backends 
gefunden, aber kein Vulkan-Backend, jedenfalls nicht im Main Branch. 
Deswegen war ich da etwas verwundert.

Also: Installiere das Kombi-Paket, da sollte alles drin sein, was Du 
brauchst.

fchk

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Frank K. schrieb:
> Frank E. schrieb:
>
>> Dass GPT4All Vulkan benötigt, steht ausser Frage, das schreibt NomicAI
>> selber. Ich bin nur unsicher, ob dazu auch Cuda nötig ist.
>

> Also: Installiere das Kombi-Paket, da sollte alles drin sein, was Du
> brauchst.
>
> fchk

ok, ich werde es probieren und berichten ... morgen.

von Rene K. (xdraconix)


Lesenswert?

Ich betreibe einen Server mit 4 VGPUs

Bedenkt bitte das die K80 extreme Hitze produziert die abgeführt gehört. 
Euch ist bewusst das diese Karten ausschließlich mit externe Belüftung 
in Servergehäuse gehören?

Die K80 hat eine Kepler GPU einen GK210 - schon seeehr betagt die Gute - 
Denk daran das sie ausschließlich Compute Model 3.7 unterstützt und 
Vulkan nur bis 1.2.1


https://docs.nvidia.com/deploy/cuda-compatibility/index.html#binary-compatibility__table-toolkit-driver

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Rene K. schrieb:
> Ich betreibe einen Server mit 4 VGPUs
>
> Bedenkt bitte das die K80 extreme Hitze produziert die abgeführt gehört.
> Euch ist bewusst das diese Karten ausschließlich mit externe Belüftung
> in Servergehäuse gehören?

Ja, danke. Habe einen Lüfterzusatz im 3D-Drucker gemacht, der 
durchpustet

> Die K80 hat eine Kepler GPU einen GK210 - schon seeehr betagt die Gute -
> Denk daran das sie ausschließlich Compute Model 3.7 unterstützt und
> Vulkan nur bis 1.2.1

Ja, deshalb ist sie auch rel. günstig. Allerdings wird sie von diversen 
Insidern wegen des sehr guten Preis-Leistungsverhältnises für private 
KI-Projekte empfohlen, hat immerhin fast 5000 GPU-Einheiten. Modernere 
Karten haben zwar schnellere aber dafür weniger GPUs. Für KI soll die 
größere Zahl wichtiger sein als der pure Speed ...

Vulkan 1.2.x wird explizit für GPT4All mit dieser Karte angegeben.

> 
https://docs.nvidia.com/deploy/cuda-compatibility/index.html#binary-compatibility__table-toolkit-driver

von Rene K. (xdraconix)


Lesenswert?

Super, dann lass mal hören wie der Test gelaufen ist - würde mich auch 
interessieren! :-)

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Nachdem die Karte eingebaut und die Stromversorgung verbunden war, 
stellte ich fest, dass sie nicht im System gefunden wurde. Nach einigen 
Recherchen fand ich heraus, dass man im BIOS eine Einstellung vornehmen 
muss "4G decoding" ...

Leider kam ich beim Herumstöbern im BIOS auf die (im Nachhinein) blöde 
Idee, ein BIOS-Update (Stand 2016) zu machen. Das ließ sich auch 
problemlos machen, allerdings bootet mein Test-PC nun nicht mehr. Das 
liegt wohl zuerst daran, dass ich vorher im BIOS (MSI-Mainboard) zwei 
SSDs im RAID-1-Modus verknüpft hatte, was nach dem Update zunächst 
"vergessen" war. Der Bootvorgang blieb mittendrin stecken. Trotz 
erneutem Aktivieren der Raid-Einstellung hab ich nun erstmal einen 
Boot-Loop, muss wohl das ganze Ding neu aufsetzen ... was für ein 
Scheiss!

Langer Rede kurzer Sinn: Wird wohl noch ein paar Tage dauern, bevor ich 
zu Tests mit der KI komme ...

: Bearbeitet durch User
von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

So, der PC läuft (fast) wieder. Weil die GPU-Karte 2x 12GB Speicher hat, 
muss im BIOS bei den PCI-Einstellungen die Option "4G above..." gesetzt 
werden. DAS hat allerdings zur Folge, dass der Rechner nicht mehr bootet 
:-(
Ohne diese Einstellung bootet er, aber dann ist die GPU-Karte definitiv 
"unsichtbar".

Es ist ein MSI-Mainboard "x99 SLI Plus" mit einem i7 und 32GB RAM. Ist 
nicht das Neueste, klar, aber immerhin produziert GPT4All darauf bereits 
4..5 Token/s, auch ganz ohne GPU. Mit (so sie denn irgendwann läuft) 
sollen es dann um die 20...25 sein.

Vlt. kennt ja jemand das Board und hat eine hilfreiche Idee.

von Frank K. (fchk)


Lesenswert?

Frank E. schrieb:
> So, der PC läuft (fast) wieder. Weil die GPU-Karte 2x 12GB Speicher hat,
> muss im BIOS bei den PCI-Einstellungen die Option "4G above..." gesetzt
> werden. DAS hat allerdings zur Folge, dass der Rechner nicht mehr bootet
> :-(

Wie weit kommt er denn? Kommt der BIOS-Bildschirm, oder bleibt der 
Rechner tot? Heißt: Hat das BIOS/UEFI ein Problem mit der Karte, oder 
nur Windows? Kannst ja mal eine Gegenprobe mit einer aktuellen (!) 
Linux-Distribution machen.

fchk

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

So wie es aussieht haben wir ein Problem mit der Stromversorgung der 
K80. Die schluckt bis zu 25A aus 12V. Wir haben zwar extra ein 
800W-Netzteil, das angeblich bis zu 50A aus 12V liefern kann ...

Wir forschen gerade bezüglich des Kabels für die K80. Die käuflichen 
Y-Kabel, speziell für die K80 (hat eine Nicht-Standard-Belegung!) sind 
zwar auf Seite der Karte einheitlich, aber nicht am anderen Ende. Unser 
"modulares" Netzteil hat zwar eine Menge mechnisch passender 
Anschlussbuchsen ("6 plus 2"), die sind aber nicht beschriftet. Manche 
liefern auch 5V und 12V, die bei falschem Anschlusskabel kurzgeschlossen 
werden ... Nun kann man ja auch nicht einfach so messen, weil aus dem 
Netzteil ohne Last nix rauskommt :-(

Es ist kompliziert ... aber wir bleiben dran, dauert aber noch ...

von 1N 4. (1n4148)


Lesenswert?

> Nun kann man ja auch nicht einfach so messen, weil aus dem
> Netzteil ohne Last nix rauskommt :-(

Onboard Grafik oder billige Graka rein, booten, messen?

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

1N 4. schrieb:
>> Nun kann man ja auch nicht einfach so messen, weil aus dem
>> Netzteil ohne Last nix rauskommt :-(
>
> Onboard Grafik oder billige Graka rein, booten, messen?

Ja klar, so ist auch der Plan. Aber wir haben viel zu tun, für das 
KI-Projekt sind nur einige Stunden pro Woche verfügbar ...

von Michael O. (michael_o)


Lesenswert?

Um am NT zu messen müssen nur zwei Kontackte am 24Pin Stecker gebrückt 
werden. Das macht auch jeder billige Netzteiltester so. Danach kann man 
alle anderen Leitungen durchklingeln.
Die Stromaufname aktueller GPUs ist heftig. Das 700Watt NT hat zwar mit 
einer 3090 noch gestartet, für eine 4090 durfte ich aber dann einen 1kW 
Kraftzwerg einbauen.

MfG
Michael

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

So, das Ding läuft, zumindest wird es nun in der Windows-Umgebung 2 mal 
als "3D Grafikadapter" angezeigt. Das doppelte Erscheinen hatte ich 
erwartet, laut Beschreibung stecken da zwei GK zu je 12GB drin ...

Wie so oft in Windows-Angelegenheiten weiss ich nicht wirklich warum, 
irgendwann ging es einfach. Was solls ...

Ich kann nun mit der Installation und dem Training der KI fortfahren, 
ich werde berichten.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Wie bereits beschrieben, die Tesla-Karte läuft jetzt, zumindest wird sie 
fehlerfrei im Geräte-Manger angezeigt. Nächstes Problem:

Als "Bindeglied" zu GPT4All soll die Vulkan-API V.1.2 dienen.

Das Problem: Im Vulkan-Konfigurator ist zu sehen, dass sich Vulkan 
blöderweise die normale Grafikkarte (Radeon HD 7700) "geschnappt" hat, 
nicht etwa die Tesla K80. Wie kann ich das ändern?

Notfallplan ist, die Radeon komplett zu entfernen (u. Vulkan neu zu 
installieren) und auf den PC per RDP zuzugreifen. Was ich nicht 
abschätzen kann, bootet Windows überhaup ohne Grafikkarte? Das MSI-Board 
hat keine Onboard-Grafik.

Danke für Tips.

: Bearbeitet durch User
von Εrnst B. (ernst)


Angehängte Dateien:

Lesenswert?

Vulkan sollte kein Problem mit mehreren Grafikkarten haben, die werden 
einfach durchnummeriert.
Einfach mal "vulkaninfo" laufen lassen, nachschauen, was dir das für 
GPU0, GPU1, GPU2 usw. ausgibt...
nicht verwirren lassen wenn da zusätzlich noch "virtuelle" GPUs für 
Software-Rendering oder zum Geometrie-Capture z.B. mit RenderDoc 
auftauchen

von Manfred B. (manfred_b393)


Lesenswert?

Es gab vor ein paar Wochen ein Issue auf 
https://github.com/nomic-ai/gpt4all .
Eine Cuda-Karte erscheint unter Windows nach Installation des 
Nvidia-Data-Treibers im Windows-Gerätemanager als separate Grafikkarte.
Gpt4all setzt aber nicht auf Cuda auf, und daher ist ein Cudnn-Treiber 
unwirksam.
Momentan kann gpt4all keine Cuda-Karte einbinden. Es geht auch keine P4 
oder P40 oder T4. ( ...Nomai müsse erst die Software schreiben...)
Wer inverstieren will, kann sich eine rtx-A6000 mit 48GB kaufen.

Unter LM-Studio wird die Cuda-Karte  erkannt (einstellbarer 
Speicheranteil). Nur kann es  keine Localdocs.

P.S. Eine billige K80 mit 24 GB ist relativ langsam. Ein Rechner mit 
32-64 GB DDR5-Ram und i9-13900-T ( -KS frisst 240Watt) ist eine echte 
Alternative

: Bearbeitet durch User
von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Ich hab das hier gefunden:

Using LM Studio for PDF Editing and AI Features

In addition to running language models, LM Studio offers various 
features for PDF editing. One such feature is Optical Character 
Recognition (OCR), which allows you to convert images or scanned 
documents into searchable PDFs. You can easily highlight text, add 
notes, protect PDFs with passwords, and even add stamps for annotation 
or confidentiality. The AI feature in LM Studio enables you to ask 
questions from the document itself, making it convenient for extracting 
specific information effortlessly.

auf

https://www.toolify.ai/ai-news/run-opensource-models-locally-with-lmstudio-981755

Da steht nur nicht, wie ...

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Als Nicht-Win- und Nicht-Games-Experte mal eine blöde Frage an die 
Wissenden:

Bei NVIDIA gibt es "Vulkan"-Treiber, siehe Link. Nun ist Vulkan eine API 
und eigentlich kein Gerätetreiber, soviel weiss ich.

Ist in diesen Treibern von NVIDIA nun Vuklan schon mit drin oder sind 
die nur dazu geeignet, mit Vulkan verwendet zu werden (was dann wohl 
extra installiert werden muss)?

Danke für Aufklärung.

https://www.deskmodder.de/blog/2020/03/25/nvidia-vulkan-1-2-treiber-442-81-steht-zum-download-bereit/

von Εrnst B. (ernst)


Lesenswert?

Schau in die Release-Notes vom aktuellen Treiber für deine K80:

https://docs.nvidia.com/datacenter/tesla/tesla-release-notes-470-223-02/index.html
1
This release supports the following APIs:
2
3
- NVIDIA® CUDA® 11.4 for NVIDIA® KeplerTM, MaxwellTM, PascalTM, VoltaTM, TuringTM, and NVIDIA Ampere architecture GPUs
4
- OpenGL® 4.6
5
- Vulkan® 1.2
6
- DirectX 11
7
- DirectX 12 (Windows 10)
8
- Open Computing Language (OpenCLTM software) 3.0


Ansonsten, hab ich oben schonmal geschrieben: Einfach mal "vulkaninfo" 
in der Powershell ausführen. Funktioniert genauso wie unter Linux, und 
gibt dir sehr detailliert Auskunft darüber welche Grafikkarten zur 
Verfügung stehen.

: Bearbeitet durch User
von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Εrnst B. schrieb:
> Ansonsten, hab ich oben schonmal geschrieben: Einfach mal "vulkaninfo"
> in der Powershell ausführen. Funktioniert genauso wie unter Linux, und
> gibt dir sehr detailliert Auskunft darüber welche Grafikkarten zur
> Verfügung stehen.

Also "supports" heisst unterstützt, nicht enthält, oder? Gut ...

von Εrnst B. (ernst)


Lesenswert?

Frank E. schrieb:
> Also "supports" heisst unterstützt, nicht enthält, oder?

"enthalten" tut das m.W. Windows von sich aus, zumindest das 11er.
Hab z.B. auf meinem Notebook nie Vulkan installiert, und auch keinen 
Gaming-Grafikkarten-Treiber, Spiele oder sowas.

Trotzdem existiert "vulkaninfo" und erkennt eine "GPU0"="Intel UHD 
Graphics"...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.