Closed donEnno closed 3 years ago
Moin, hast du das Skript schon gequed? Inhaltlich ist das zwar richtig, die Progress berechnung ist aber fehlerhaft und die hätte ich im Zweifel noch rausgenommen.
Moin, bisher noch nicht, ich hatte noch auf dein "Go!" gewartet 😅 Also ist die aktuelle Version im main Branch die richtige?
Auf dem ML Branch ist jetzt die finale Version und ich gebe hiermit das GO 👍
Top, starte ich dann morgen ✌🏻
Gibst du mir dann Bescheid, wie lange die Queue ist bzw wann mit den Ergebnissen zu rechnen ist?
Ja, kann ich machen. Ich bin gerade noch dabei, dass ganze vielleicht auf deNBI laufen zu lassen (beantrage gerade eine custom VM für dich), der Kollege kann sich am Donnerstag darum kümmern. Das hätte den Vorteil, dass wir keine Probleme mit dem Scheduling der Queue kriegen. Außerdem sind die Kerne pro Node auf der ML Cloud leider doch gar nicht so viele und du hast vermutlich keine Erfahrung in MPI-Programmierung, richtig?
Nein, mit MPI-Programmierung kann ich leider nicht dienen.
Alles klar, dann jetzt folgender Fahrplan: bis spätestens Freitag sollte sich das mit der deNBI-Instanz geklärt haben. Ich habe sicherheitshalber nochmal nachgefragt, ob das da dann ohne MPI funktioniert (ich denke schon). Der ITler würde dann deine bisherige Instanz darauf klonen, dann sparen wir uns die Konfiguration.
Falls das auch nur mit MPI geht, müssen wir dann über die Parameter parallelisieren und zig verschiedene Jobs starten.
Das ist der Link zu dem requirements.txt. Gibt es einen besseren Weg die modules an das Script zu binden?
Methode Nr.1, die die Batches (das Aufteilen der Reihen der DM auf die Jobs) und die Parallelisierung initialisiert. https://github.com/donEnno/gamma_delta/blob/33b89e69ba6e407215d562445024bbcbd3d12aa8/ML_cloud.py#L19-L44
Methode Nr. 2, die sich die einzelnen Batches vornimmt und paarweise Distanzen berechnet. Der Großteil des Codes ist da, um den Progress zu printen. Wirklich releveant sind eigentlich nur lines 79-83. https://github.com/donEnno/gamma_delta/blob/33b89e69ba6e407215d562445024bbcbd3d12aa8/ML_cloud.py#L47-L148
Methode Nr. 3, die die Batches generiert. Der Kerngedanke ist hier, dass pro Job ungefähr
[total number of pairs / number of jobs]
Paare berechnet werden. Der letzte Job kriegt dabei den "Rest" ab, was eher wenig Paare sind. https://github.com/donEnno/gamma_delta/blob/33b89e69ba6e407215d562445024bbcbd3d12aa8/ML_cloud.py#L151-L181Zu guter Letzt noch die main. Hier muss ich noch schauen, welche SMs und Penalties tatsächlich auf ML Cloud laufen sollen. https://github.com/donEnno/gamma_delta/blob/33b89e69ba6e407215d562445024bbcbd3d12aa8/ML_cloud.py#L184-L207