Unterschiede zwischen den Revisionen 1 und 8 (über 7 Versionen hinweg)
Revision 1 vom 2025-11-30 12:03:44
Größe: 2934
Kommentar: Ein paar Infos zu cogito
Revision 8 vom 2025-12-02 19:13:37
Größe: 5771
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 4: Zeile 4:
 * CPU AMD Threadripper Pro 5955WX 16 cores 32 threads 4.5Ghz,         boxed  * CPU AMD Threadripper Pro 5955WX 16 cores 32 threads 4.5Ghz, boxed
Zeile 6: Zeile 6:
 * 2x RAM Corsair Dominator Platinum RGB White UDIMM 64GB Kit         DDR4-3600 CL18-19-19-39 (128GB gesamt)  * 2x RAM Corsair Dominator Platinum RGB White UDIMM 64GB Kit DDR4-3600 CL18-19-19-39 (128GB gesamt)
Zeile 8: Zeile 8:
 * GPU Zotac Gaming GeForce RTX 3090 Trinity OC 24 GB mit Noctua         Lüftern
 * Fractal Design Define 7 XL Black TG Dark Tint schallgedämmt         Big-Tower
 * GPU Zotac Gaming GeForce RTX 3090 Trinity OC 24 GB mit Noctua Lüftern
 * Fractal Design Define 7 XL Black TG Dark Tint schallgedämmt Big-Tower
Zeile 23: Zeile 23:
Der Hauptspeicher ist auf 8 Module verteilt und nutzt so die 8 Speicherkanäle der AMD Threadripper Pro Architektur. Der Hauptspeicher ist auf 8 16GB-Module verteilt und nutzt so die 8 Speicherkanäle der AMD Threadripper Pro Architektur.
Zeile 28: Zeile 28:
Die 4 Lexar NMVe SSDs bilden ein RAID0 das unter '''/opt''' eingehängt ist. Das Konzept sieht vor, die Dienste als Docker Container laufen zu lassen. Die compose Dateien liegen in Unterverzeichnissen unter /opt.
Zeile 34: Zeile 34:
== Storage ==
Die 4 Lexar NMVe SSDs bilden ein RAID0 das unter '''/opt''' eingehängt ist. Dadurch können große LLMs schnell in den Speicher geladen werden.

Die S-ATA SSD ist unter /var/local eingehängt.

Die PM951 NVMe SSD dient als Bootlaufwerk und enthält auch das OS.

{{{
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 465.8G 0 disk
└─sda1 8:1 0 465.8G 0 part /var/local
nvme0n1 259:0 0 953.9G 0 disk
└─md0 9:0 0 3.7T 0 raid0 /opt
nvme1n1 259:1 0 953.9G 0 disk
└─md0 9:0 0 3.7T 0 raid0 /opt
nvme3n1 259:2 0 953.9G 0 disk
└─md0 9:0 0 3.7T 0 raid0 /opt
nvme2n1 259:3 0 953.9G 0 disk
└─md0 9:0 0 3.7T 0 raid0 /opt
nvme4n1 259:8 0 476.9G 0 disk
├─nvme4n1p1 259:9 0 1G 0 part /boot/efi
├─nvme4n1p2 259:10 0 2G 0 part /boot
└─nvme4n1p3 259:11 0 473.9G 0 part
  └─ubuntu--vg-ubuntu--lv 252:0 0 445G 0 lvm /

$ blkid
/dev/nvme0n1: UUID="ebe75b1c-af8f-5e3a-aa0f-9464c3951451" UUID_SUB="1d5de863-0634-7dd3-0e97-7dec7f076aea" LABEL="cogito:0" TYPE="linux_raid_member"
/dev/nvme3n1: UUID="ebe75b1c-af8f-5e3a-aa0f-9464c3951451" UUID_SUB="440d89df-a9d1-bfc9-3634-e57bd579023e" LABEL="cogito:0" TYPE="linux_raid_member"
/dev/md0: LABEL="RAID" UUID="f57d1a53-8b0c-4119-a02b-e06632c7933d" BLOCK_SIZE="4096" TYPE="ext4"
/dev/nvme2n1: UUID="ebe75b1c-af8f-5e3a-aa0f-9464c3951451" UUID_SUB="eb15293d-d63b-c940-841d-a918a0ea0cba" LABEL="cogito:0" TYPE="linux_raid_member"
/dev/mapper/ubuntu--vg-ubuntu--lv: UUID="98bd9894-3827-42bb-a0f4-d92931530cab" BLOCK_SIZE="4096" TYPE="ext4"
/dev/nvme1n1: UUID="ebe75b1c-af8f-5e3a-aa0f-9464c3951451" UUID_SUB="797f9137-3a34-2689-5d0b-a294ee05c9e4" LABEL="cogito:0" TYPE="linux_raid_member"
/dev/sda1: LABEL="ssd500" UUID="c57d324d-3c4f-4f5d-90ca-3859ca87f550" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="ssd500" PARTUUID="48cd0c6a-827f-4882-ad1a-74e38e473d6b"
/dev/nvme4n1p3: UUID="XbVKNc-zwqt-qe2c-fj2e-8MRA-p8e0-XDQdsz" TYPE="LVM2_member" PARTUUID="5f6534ab-7909-40c3-b0b3-4865c7f90e5b"
/dev/nvme4n1p1: UUID="7006-F657" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="f57a2cbc-da3a-4322-8921-42b86e1fc564"
/dev/nvme4n1p2: UUID="8256bdab-088d-437e-a82b-b94470729f4c" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="6a4a7fc5-0f1a-4c23-8591-414239e1ebd8"

$ cat /proc/mdstat
Personalities : [raid0] [linear] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid0 nvme3n1[3] nvme2n1[2] nvme0n1[0] nvme1n1[1]
      4000288768 blocks super 1.2 512k chunks

unused devices: <none>
}}}
Zeile 39: Zeile 84:
Diese Dienste laufen alle in Docker Containern. Das Docker compose file liegt unter /'''opt/ollama/''' Das Docker compose file liegt unter /'''opt/ollama/'''
Zeile 51: Zeile 96:

PING hat 2025 einen KI-Server angeschafft. Er heißt cogito.ping.de und befindet sich im Rechnerraum des Gebäudes in der Joseph-von-Fraunhofer-Strasse.

Technische Daten

  • CPU AMD Threadripper Pro 5955WX 16 cores 32 threads 4.5Ghz, boxed
  • Mainboard Asus Pro WS WRX80E Sage SE Wifi
  • 2x RAM Corsair Dominator Platinum RGB White UDIMM 64GB Kit DDR4-3600 CL18-19-19-39 (128GB gesamt)
  • GPU NVIDIA GeForce RTX 3090 Founders Edition 24 GB

  • GPU Zotac Gaming GeForce RTX 3090 Trinity OC 24 GB mit Noctua Lüftern

  • Fractal Design Define 7 XL Black TG Dark Tint schallgedämmt Big-Tower
  • Enermax LiqTech TR4 II 280 CPU-Wasserkühlung

  • Antec Neo Eco Gold Modular NE1300G m 1300W ATX 3.0 Netzteil
  • 4x SSD Lexar NM790 1TB M.2 NVMe PCIe 4.0
  • SSD Samsung EVO 850 500GB S-ATA
  • SSD Samsung PM951 512GB M.2 NVMe
  • 4x Noctua NF-P12 redux-1700 PWM 120mm Lüfter

siehe auch https://geizhals.de/wishlists/3870524

Zu dem Mainboard gehört auch eine PCIe 4.0 x16 Karte um vier PCIe 4.0 x4 NVMe SSDs anzuschließen. Dort befinden sich die 4 Lexar SSDs.

Durch die 2 GPUs stehen derzeit 48GB schnelles VRAM zur Verfügung.

Der Hauptspeicher ist auf 8 16GB-Module verteilt und nutzt so die 8 Speicherkanäle der AMD Threadripper Pro Architektur.

Software

Auf dem Rechner läuft derzeit Ubuntu 24.04 LTS.

Das Konzept sieht vor, die Dienste als Docker Container laufen zu lassen. Die compose Dateien liegen in Unterverzeichnissen unter /opt.

Mit nvtop kann der Status der GPUs angezeigt werden.

Über das Script /usr/local/bin/set-gpu-power.sh sind die GPUs aktuell auf 280W gedrosselt. Das führt zu nur sehr geringen Leistungseinbußen.

Storage

Die 4 Lexar NMVe SSDs bilden ein RAID0 das unter /opt eingehängt ist. Dadurch können große LLMs schnell in den Speicher geladen werden.

Die S-ATA SSD ist unter /var/local eingehängt.

Die PM951 NVMe SSD dient als Bootlaufwerk und enthält auch das OS.

$ lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
sda                         8:0    0 465.8G  0 disk
└─sda1                      8:1    0 465.8G  0 part  /var/local
nvme0n1                   259:0    0 953.9G  0 disk
└─md0                       9:0    0   3.7T  0 raid0 /opt
nvme1n1                   259:1    0 953.9G  0 disk
└─md0                       9:0    0   3.7T  0 raid0 /opt
nvme3n1                   259:2    0 953.9G  0 disk
└─md0                       9:0    0   3.7T  0 raid0 /opt
nvme2n1                   259:3    0 953.9G  0 disk
└─md0                       9:0    0   3.7T  0 raid0 /opt
nvme4n1                   259:8    0 476.9G  0 disk
├─nvme4n1p1               259:9    0     1G  0 part  /boot/efi
├─nvme4n1p2               259:10   0     2G  0 part  /boot
└─nvme4n1p3               259:11   0 473.9G  0 part
  └─ubuntu--vg-ubuntu--lv 252:0    0   445G  0 lvm   /

$ blkid
/dev/nvme0n1: UUID="ebe75b1c-af8f-5e3a-aa0f-9464c3951451" UUID_SUB="1d5de863-0634-7dd3-0e97-7dec7f076aea" LABEL="cogito:0" TYPE="linux_raid_member"
/dev/nvme3n1: UUID="ebe75b1c-af8f-5e3a-aa0f-9464c3951451" UUID_SUB="440d89df-a9d1-bfc9-3634-e57bd579023e" LABEL="cogito:0" TYPE="linux_raid_member"
/dev/md0: LABEL="RAID" UUID="f57d1a53-8b0c-4119-a02b-e06632c7933d" BLOCK_SIZE="4096" TYPE="ext4"
/dev/nvme2n1: UUID="ebe75b1c-af8f-5e3a-aa0f-9464c3951451" UUID_SUB="eb15293d-d63b-c940-841d-a918a0ea0cba" LABEL="cogito:0" TYPE="linux_raid_member"
/dev/mapper/ubuntu--vg-ubuntu--lv: UUID="98bd9894-3827-42bb-a0f4-d92931530cab" BLOCK_SIZE="4096" TYPE="ext4"
/dev/nvme1n1: UUID="ebe75b1c-af8f-5e3a-aa0f-9464c3951451" UUID_SUB="797f9137-3a34-2689-5d0b-a294ee05c9e4" LABEL="cogito:0" TYPE="linux_raid_member"
/dev/sda1: LABEL="ssd500" UUID="c57d324d-3c4f-4f5d-90ca-3859ca87f550" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="ssd500" PARTUUID="48cd0c6a-827f-4882-ad1a-74e38e473d6b"
/dev/nvme4n1p3: UUID="XbVKNc-zwqt-qe2c-fj2e-8MRA-p8e0-XDQdsz" TYPE="LVM2_member" PARTUUID="5f6534ab-7909-40c3-b0b3-4865c7f90e5b"
/dev/nvme4n1p1: UUID="7006-F657" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="f57a2cbc-da3a-4322-8921-42b86e1fc564"
/dev/nvme4n1p2: UUID="8256bdab-088d-437e-a82b-b94470729f4c" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="6a4a7fc5-0f1a-4c23-8591-414239e1ebd8"

$ cat /proc/mdstat
Personalities : [raid0] [linear] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid0 nvme3n1[3] nvme2n1[2] nvme0n1[0] nvme1n1[1]
      4000288768 blocks super 1.2 512k chunks

unused devices: <none>

Ollama mit Open-WebUI

Für Inferenz läuft i.d.R ein Ollama Server. Als WebUI gibt es dafür ein open-webui.

Für das Umwandeln von Office Dokumenten (zum Beispiel ODT) läuft Apache Tika.

Das Docker compose file liegt unter /opt/ollama/

Auf buero.ping.de läuft ein nginx der open-webui unter https://buero.ping.de erreichbar macht. Für den Login nutzt bitte unser Single Sign-On.

Im Model-Selektor von Open-WebUI erscheint ein grüner Punkt neben den LLMs, die derzeit im GPU Speicher sind.

Der Ollama Server ist auch aus dem Internet erreichbar. Details dazu findet ihr unter Ollama-Brave-Leo-AI

Das Script /usr/local/bin/ollama-nogpu.sh ist dafür da den Ollam Container neu zu starten falls dieser mal wieder die GPUs nicht erkennt.

ComfyUI

ComfyUI (primär für KI-Bildergenerierung) ist noch nicht fertig installiert, es liegt unter /opt/comfyui und kann bei Bedarf gestartet werden. Vorher sollte ollama gestoppt werden, weil nicht genügend GPU VRAM für beide Dienste gleichzeitig vorhanden ist.

Systeme/KI-Server (zuletzt geändert am 2026-01-28 18:54:53 durch SvenNeuhaus)