WHZ-Mathe Nutzerinformationen#

Der JupyterHub WHZ-Mathe dient Lehre und Forschung an der Fachgruppe Mathematik der Westsächsischen Hochschule Zwickau. Diesem JupyterHub stehen vier GPUs NVIDIA Tesla V100 (je 32 GB Speicher) zur Verfügung. Für die Nutzung durch Studierende und Mitarbeiter der WHZ stehen 18 CPU-Cores (von 20) und 224 GB Arbeitsspeicher (von 256) zur Verfügung.

Update 30. August 2024#

Der Hub wurde auf Ananke 0.5 umgestellt. Sowohl Jupyter selbst als auch Ananke haben wesentliche strukturelle Änderungen erfahren. Änderungen aus Nutzersicht:

  • JupyterLab samt Erweiterungen bietet einige neue Features.

  • Für Lehrende gibt es in JupyterLab nun einen Menüpunkt ‚Kore‘ für das Verwalten von Nbgrader-Kursen.

  • TensorFlow wartet wieder mit neuen und alten Warnungen und Fehlern auf, funktioniert aber trotzdem. Die Warnung zu unterschiedlichen CUDA- bzw-Treiberbversionen und damit eventuell einhergehenden Performance-Einbußen lässt sich momentan nicht beheben ohne die Systemstabilität zu gefährden. Am inzwischen traditionellen Fehler bei der Registrierung von gewissen TensorFlow-Komponenten sind die Entwickler (nicht) dran: TensorFlow Issue 62075.

Update 24. Februar 2024#

Der Hub wurde auf Ananke 0.4 umgestellt. Wesentliche Änderung aus Nutzersicht:

  • Die etwas störanfällige Alpha-Version von Jupyter RTC wurde durch eine stabile Version ersetzt.

  • Die via jupyter-fs erstellten File-Browser bieten einige neue Features.

Update 12. November 2023#

Der Hub wurde auf Ananke 0.3 umgestellt, was einige Änderungen mit sich bringt:

  • Das Collaboration-Feature ist für normale Nutzersitzungen deaktiviert. Deshalb findet auch kein Autosave mehr statt; also bitte selbst ans Speichern der Notebooks denken. Die Collaboration-Rooms stehen weiterhin zur Verfügung. Das Collaboration-Feature für normale Nutzersitzungen kann bei Bedarf vom Nutzer wieder aktiviert werden.

  • TensorFlow läuft nun in Version 2.14. Beim Start erscheinen unter Umständen ein paar Fehlermeldungen. Diese können ignoriert werden (Ursache bekannt, aber aus Gründen noch nicht abgestellt).

  • In jedem JupyterLab wird automatisch ein zweiter File-Browser für das Home-Verzeichnis mit jupyter-fs angelegt. Nutzer, die dies bisher manuell getan hatten (zum Datenaustausch mit Cloud-Diensten) sehen nun zwei zusätzliche File-Browser für das Home-Verzeichnis. In den Lab-Einstellungen kann einer davon wieder entfernt werden.

  • Die Anbindung von Conda-Umgebungen wurde auf ein anderes System umgestellt. Wer eigene Conda-Umgebungen angelegt hat, sieht diese nun eventuell doppelt in JupyterLab. Wenn in diesem Zusammenhang Probleme auftreten, bitte beim Admin melden.

  • JupyterLab bietet jetzt diverse Features, die beim Coden unterstützen (Autovervollständigung, Codeformatierung usw.). Siehe unten für Details und Erstkonfiguration.

  • Das Paket gausstools gibt es nicht mehr. Auflisten und Auswahl von GPUs erfolgen nun anders. Siehe unten.

  • In einem Terminal kann nun mit htop die aktuelle Systemauslastung angezeigt werden (Verlassen mit Q).

  • Weitere Änderungen stehen im Changelog zur Ananke-Jupyter-Distribution.

Datentransfer#

Up- und Download im Browser#

Zum Download einer Datei aus JupyterLab Rechtsklick auf die Datei. Dann „Download“.

Upload via Klick auf das entsprechende Icon oberhalb des File-Browsers in JupyterLab.

TUCcloud und andere Cloud-Dienste#

Auf NextCloud basierende Cloud-Dienste und alle anderen Speicherdienste, die eine WebDAV-Schnittstelle bieten, können an Gauss angebunden werden. Dazu gehört insbesondere die auch für WHZ-Angehörige nutzbare TUCcloud der TU Chemnitz.

Mitarbeiter und Studierende der WHZ können den Cloud-Dienst der TU-Chemnitz kostenfrei nutzen. Dieser basiert auf Nextcloud und bietet damit alle von kommerziellen Cloud-Anbietern gewohnten Features unter Einhaltung strengen Datenschutzregelungen. Es stehen 5 GB Cloud-Speicher zur Verfügung.

Auf dem Heim-/Bürocomputer sollte der Nextcloud Desktop Client installiert werden. Dieser integriert die Cloud in die lokale Verzeichnisstruktur (automatische Synchronisation). Linux-Systeme bringen den überlicherweise in den Standardpaketquellen mit. Für Windows und andere Systeme gibt es den als Download.

Die Cloud-Anbindung auf Gauss erfolgt über WebDAV. Wird ein Cloud-Dienst über WebDAV angebunden, werden die Daten nicht auf Gauss übertragen, sondern stets nur in der Cloud abgelegt. Die Zugriffsgeschwindigkeit auf die Daten hängt also von der Qualität der Internetverbindung zwischen Gauss und Cloud ab.

Zunächst muss im Web-Interface der Cloud unter „Einstellungen“ ein App-Passwort erstellt werden. Dann in JupyterLab im Menü auf ‚Settings‘, ‚Advanced Settings Editor‘, ‚jupyter-fs‘, ‚Add‘ klicken. Dort einen Name (z.B. TUCcloud) wählen und die URL angeben:

webdavs://NUTZERKUERZEL%40fh-zwickau.de:{{password}}@tuc.cloud/remote.php/dav/files/NUTZERKUERZEL@fh-zwickau.de/

Bei jedem Start von JupyterLab wird das Passwort erfragt. Ist dies nicht erwünscht, so kann {{password}} in der URL auch durch das Passwort ersetzt werden.

In der linken vertikalen Symbolleiste von JupyterLab erscheint ein neues Symbol. Dieses öffnet den Cloud-Speicher in einem eigenen File-Browser.

Hinweis

Dateien können nur zwischen mit jupyter-fs erstellten File-Browsern kopiert werden, nicht zwischen jupyter-fs und dem Standard-File-Browser. Deshalb wird automatisch von jupyter-fs ein zweiter File-Browser für das Home-Verzeichnis angelegt.

Gemeinsame Verzeichnisse#

Die Verzeichnisse /data/datasets (nur lesen) und /data/share (auch schreiben) können von allen Nutzern gemeinsam genutzt werden. Letzteres kann für den Dateiaustausch zwischen Nutzern verwendet werden.

Für das /data-Verzeichnis steht ein eigener File-Browser in der linken vertikalen Symbolleiste zur Verfügung.

GPU-Nutzung#

Gauss verfügt über vier Grafikkarten (GPUs), welche für Brechnungen benutzt werden können. Die Nutzung der GPUs ist momentan nicht beschränkt. Sind keine weiteren Nutzer aktiv, können also auch alle vier GPUs parallel durch einen einzelnen Nutzer belegt werden.

In der Ananke-Dokumentation finden Sie Informationen zum Anzeigen der GPU-Auslastung und zur Auswahl von einzelnen oder mehreren GPUs.

JupyterLab Real-Time Collaboration#

Auf Gauss können mehrere Nutzer gemeinsam an einem Notebook arbeiten. Jeder sieht die Änderungen der anderen Nutzer in (nahezu) Echtzeit. Um gemeinsam zu arbeiten, müssen alle Nutzer folgende Schritte ausführen:

  1. Im eigenen JupyterLab auf ‚File‘, dann ‚Hub Control Panel‘ klicken.

  2. Im Hub-Control-Panel ganz oben auf ‚Services‘ klicken.

  3. Raum auswählen. Die Räume, die mit public beginnen, können von allen genutzt werden. Die anderen Räume stehen nur bestimmten Nutzern zur Verfügung.

  4. Alle Eingaben und Änderungen im sich öffnenden JupyterLab sehen alle Nutzer.

Wenn Bedarf an einem privaten Raum besteht, bitte E-Mail an Jens Flemming mit Wunsch-Raumname und Liste der Nutzer, die Zugang bekommen sollen.

Jupyter Language Server Protocol (LSP)#

JupyterLab bietet zahlreiche Coding-Hilfen, welche umfangreich konfiguriert werden können (‚Settings‘, ‚Settings Editor‘, dort alle Punkte mit ‚Code …‘). Für die volle Funktionsfähigkeit muss einmalig in einem Terminal der Befehl

ln -s / ~/.lsp_symlink

ausgeführt werden.