Woche #31

(Zeitraum: 21.5.2012 – 25.5.2012)

Die Woche ausschließlich mit Übungen verbracht.

Bochum:
Den Hauptteil hatte ich schon fertig. Die letzte Aufgabe bestand darin, ein ROOT-Makro anzupassen, dass die Virtual-Monte-Carlo-Schnittstelle benutzt um Teilchen durch eine einfache Detektoranordnung zu propagieren. Leider läuft das Makro weder auf meinem Laptop, noch auf meinem Institutsrechner. Krieg ich trotzdem hin, mit der Hilfe der Kollegen. Yay, Kollegen!

CUDA:
Ich nähere mich der Lösung für die dieswöchige Übung. Allerdings nur langsam, warte ich doch drei Tage darauf, dass der Administrator sich meines PCs an nimmt. Hier funktioniert meine CUDA-fähige Grafikkarte nämlich immer noch nicht.
Die Geräte /dev/nvidia0 und /dev/nvidiactl sind nicht für meinen Benutzer lesbar. Zwar können wir manuell die Berechtigungen setzen, aber nach einem Reboot werden die zurückgesetzt. Mich der Gruppe der Benutzer der Grafikkarte hinzuzufügen scheint auch nicht zu klappen, da dies eine lokale Gruppe ist, die nicht mit den Netzwerk-Gruppen des NIS-Servers des Instituts interagieren. Wir schreiben uns Start-Skripte, die nicht funktionieren – ehe ich im Internet einen Hinweis auf eine Konfigurationsdatei finde, bei der man sagen kann, mit welchen Berechtigungen die virtuellen Geräte unter /dev angelegt werden sollen. 0660 –> 0666 hilft. Noch während wir daran rumfummeln, sehen wir, dass ich nun doch in der richtigen Gerätegruppe bin. Problem gelöst.
Während dieser Zeit klappt mein Programmieren nur schleppend. Der Workflow ist einfach umständlich: Ändern der Datei lokal. Kopieren ins SSHFS-gemountete Verzeichnis des Gateway-Clusters in Ohio (direktes Dateiändern dort führt zu extrem langsamen Quelltextbearbeiter). Kopieren vom Gateway-System auf den GPU-Supercomputer. Kompilieren. Ausführen. Ändern der Datei… Umständlich.

Aber! Meine erste Anpassung einer Gaußfunktion, die auf der GPU läuft, funktioniert. Yay!